1、网站应用评估白皮书网站应用评估白皮书目录一. 概述11.1 基本概念11.2 WEB应用评估服务与风险评估服务11.3 WEB应用评估服务的必要性11.4 客户收益2二. 评估内容32.1 评估范围32.2 外部评估32.2.1 系统、应用漏洞扫描32.2.2 WEB安全测试42.3 内部评估42.3.1 系统安全配置42.3.2 应用安全配置52.3.3 数据库安全配置52.3.4 恶意代码检测62.3.5 Web日志分析62.3.6 网页挂马检测62.3.7 WebShell检测72.4 评估流程7三. 相关技术83.1 信息采集技术83.1.1 系统和应用信息收集83.1.2 应用信息收
2、集83.2 溢出攻击83.3 口令猜解83.4 WEB漏洞挖掘技术93.4.1 跨站脚本93.4.2 注入漏洞93.4.3 参数错误103.4.4 信息泄露103.4.5 其他10四. 风险规避104.1 时间114.2 工具使用114.3 技术手段114.4 监控114.5 目标的选择114.6 操作记录文档12五. 报告输出12六. 常用工具126.1 日志分析工具126.2 信息收集工具126.3 溢出及口令猜解工具136.4 WEB漏洞挖掘工具136.5 数据库工具13概述一.1 基本概念WEB应用评估服务是由具备高技能和高素质的安全服务人员来进行的,通过对目标WEB应用系统进行一系列
3、的深入检查和测试,来综合评估应用系统存在的漏洞和脆弱性问题,并针对存在的问题提出确实可行的改进建议的一种安全服务形式。WEB应用评估服务的目的在于发现和指导客户解决其WEB应用系统存在的安全性问题和隐患,解决长期困扰管理人员的应用是否真正安全的疑问。一.2 WEB应用评估服务与风险评估服务WEB应用评估服务并不等同于传统的风险评估服务,他们的区别主要体现在服务的目标和服务实施时间的跨度上。WEB应用评估服务是一种针对性很强的服务,它所服务的目标就是以WEB应用为核心的应用系统,强调的是保证了WEB应用的安全也就是保证了整个业务系统安全的理念。而风险评估则不局限于只针对WEB应用,它可以面向整个
4、企业的信息安全体系架构,也可以仅针对某个具体的业务系统。另一方面,WEB应用评估注重快速反应,与传统风险评估服务冗长的周期相比,WEB应用评估能够让客户在更短的时间内掌握应用所面临的问题,并准确地进行修补。WEB应用评估中的每一个评估项都是非常细致和专业的,它主要从应用中相对较脆弱的软件部分着手来发现应用的安全问题;这与传统风险评估服务的全面覆盖截然不同。例如:传统风险评估中涉及的物理安全问题,在WEB应用评估中将不会涉及。一.3 WEB应用评估服务的必要性进入二十一世纪以后,互联网飞速发展,WEB应用凭借其开发成本低、表现能力强、使用方便、稳定性好等特点开始逐渐替代大多数C/S模式应用,成为
5、应用面最广的网络应用形式。目前,它已经广泛适用于企业门户、OA、电子邮件、财务、电子商务等领域。随着应用范围的扩大,随之而来的安全问题也在与日俱增,如何保证基于WEB的应用系统安全可靠运行已经成为企业管理人员的头疼的大事。过去,WEB应用评估问题上,管理人员认为最为直接有效地评估安全性的手段是渗透测试。这种模拟黑客攻击思路的黑盒测试方法确实在一定程度上提高了WEB应用的安全性,但这种方式就真的能够彻底解决网站的安全性问题吗?答案当然是否定的。纵观以往曾发生过的很多安全事件,通过渗透测试的应用不在少数,但往往还是会出现各种安全问题。主要是因为渗透测试工作的成效与服务人员的知识技能、工作时间、环境
6、等因素有着密切地联系,可见,渗透测试并不能百分之百发现WEB应用存在的问题。那么,究竟怎样做才能更加有效地保证WEB应用的安全呢?WEB应用评估服务正是专门服务于这样一个需求的新型服务形态。严格来说,WEB应用平复服务并非一种全新的服务,它只是将一些传统的风险评估服务经过改良后有机地结合起来,使其更加适用于WEB应用的安全评估。它从网络、系统、应用、管理等多个层面和角度来分析WEB应用的脆弱性及可能面临的威胁,病针对发现的问题提出确实可行的解决方案,帮助企业管理者保证其应用的安全。一.4 客户收益对于客户而言,WEB应用评估服务可以为其带来以下收益: 全面掌握应用的脆弱性和面临的威胁评估人员会
7、从影响应用安全性的各个层面、各种角度来细致地分析应用是否存在特定的安全问题。所有的分析和评判都不再是停留于表面,而是要深入挖掘问题的根本,使客户准确地认识到应用在哪方面存在脆弱性和可能面临怎样的安全威胁。 提高了客户安全技能在评估过程中,评估人员会经常与客户进行沟通交流。在这些交互过程中,无论是在安全技术、还是安全管理方面,评估人员都能以自己专业的知识和技能来影响客户,最终达到共同提高的目的。 帮助客户提高了安全意识在评估过程中,评估人员通常会进行一系列的安全测试来验证应用是否存在问题,这些测试的一旦成功必定会在一定程度上对管理人员的意识残生冲击,颠覆管理人员对应用安全性的理解。通过这些过程,
8、必然能够促使客户管理人员安全意识的提高。二. 评估内容二.1 评估范围绿盟科技WEB应用评估服务的目标只有一个,那就是所有WEB应用。无论是一个简单的WEB站点,还是一个复杂的WEB应用系统,WEB应用评估服务都可以为其提供确实有效的安全建议和意见。由于WEB应用所处的系统平台、所使用的应用软件、数据库软件、开发语言、应用架构等各不相同,绿盟科技可以在下列范围内为客户提供专业的评估服务。网络方面:常见交换机、路由器、防火墙设备操作系统方面:Solaris、AIX、HP-UX等主流Unix操作系统,Redhat、SUSE等主流Linux系统、Windows操作系统WEB应用软件方面:Apache
9、(IBM HTTP Server)、IIS等主流WEB服务器,Tomcat、Weblogic、Websphere、JBOSS等主流应用服务器。数据库方面:Oracle、SQL Server、Sybase、DB2、Informix等主流数据库WEB程序包括:JAVA、PHP、ASP.NET等语言编写的WEB程序。二.2 外部评估二.2.1 系统、应用漏洞扫描操作系统及应用服务器的安全性主要通过使用远程安全评估系统(RSAS),对操作系统和应用服务器进行远程测试,测试中包含了常见的安全问题: 远程缓冲区溢出漏洞 远程拒绝服务漏洞 远程信息泄漏漏洞 远程身份验证漏洞 二.2.2 WEB安全测试WEB
10、安全测试主要包括业务测试和渗透测试两部分。业务测试主要是根据业务的特点测试应用与客户业务流程的符合程度,而渗透测试主要通过使用远程Web评估系统,手工辅助测试,对Web应用程序进行远程测试,手工辅助测试不仅可以验证远程Web评估系统结果的准确性,排除误报,还能发现一些自动化工具无法发现的漏洞,测试中包含了常见的Web安全问题: 跨站脚本漏洞 SQL注入漏洞 文件包含漏洞 命令执行漏洞 目录遍历漏洞 信息泄漏漏洞 暴力破解漏洞 二.3 内部评估二.3.1 系统安全配置 操作系统的安全性,主要通过安全策略检查工具进行,测试中包括以下内容: 补丁管理:操作系统是否安装了最新的安全补丁,安全补丁更新是
11、否及时 用户管理:操作系统内是否有多余用户,例如:开发用户,测试用户 口令相关:操作系统是否设置了口令策略,是否存在弱口令用户,对密码的长度、复杂度是否进行了限制,是否锁定多次登录失败的用户 不必要服务:是否存在不必要的网络服务,例如:DHCP、DNS、FrontPage扩展等服务 文件共享:是否存在不必要的文件共享:例如:Windows默认共享,unix的NFS共享 文件系统:是否使用安全性较高的文件系统,例如:NTFS文件系统 权限设置:是否对重要的配置文件进行了严格的权限设置,防止未授权用户修改配置文件 访问控制:是否对远程登录的IP地址进行了限制 审计设置:是否对操作系统启用了审计功能
12、,审计日志的权限是否进行了严格的设置 二.3.2 应用安全配置 Web服务器的安全性,主要通过安全策略检查工具进行,测试中包括以下内容: Web服务器当前是否安装了最新的安全补丁,安全补丁更新是否及时 Web服务器是否安装了不必要的组件 Web服务器的运行身份是否正确设置 Web服务器的版本信息是否隐藏 Web服务器的目录遍历功能是否启用 Web服务器是否启用IP访问限制 Web服务器是否启用SSL传输加密 Web服务器是否启用了日志记录 Web服务器是否进行了严格的权限设置 二.3.3 数据库安全配置数据库安全在Web评估中也是很重要的一部分,主要通过安全策略检查工具和人工进行检查,测试中包
13、括以下内容: 数据库当前是否安装了最新的安全补丁,安全补丁更新是否及时 数据库是否安装了不必要的组件 数据库服务的运行身份是否正确设置 数据库中是否有不必要的用户,例如:测试用户 数据库中是否为各用户设置了复杂的密码,并启用了密码复杂度策略 数据库是否为应用程序建立了单独的帐号,避免帐号共享 数据库是否为各用户划分了角色,使权限最小化,避免分配给DBA权限 数据库是否启用了访问控制列表ACL,防止未授权地址连接数据库端口 数据库是否对PUBLIC用户进行了限制 数据库是否启用了审计功能,在不影响业务的前提下,记录必要的审计日志 二.3.4 恶意代码检测恶意代码检测对于发现潜伏的入侵者非常有用,
14、它主要通过专门的检查工具辅于人工分析的方式进行,主要包括以下几个方面: 检查操作系统中是否存在可疑进程 检查操作系统是否开放了可疑端口或存在可以的网络连接 二.3.5 Web日志分析WEB应用日志广义来说包括用户访问日志、应用错误日志、操作系统日志、其它日志。通过分析这些日志,我们不难发现如WEB访问情况、应用自身的问题、曾经发生过的攻击等等。对于日志分析,主要是通过专门的日志分析工具来完成,有时也需要评估人员的参与,主要包括以下内容: 对用户访问日志进行分析,了解访问情况,发现部分历史攻击行为 对应用错误日志进行分析,发现应用自身程序上的问题 二.3.6 网页挂马检测攻击者在探测到Web应用
15、程序存在漏洞,并成功利用、获得权限后,可能会向网页文件或数据库中添加挂马链接,正常用户在访问该网页后,可能会执行恶意代码,导致感染木马,从而危害用户的安全,对企业的声誉造成影响。在WEB应用评估过程中,评估人员会使用专门的工具对所有Web页面和数据库相关内容进行检查,确认是否存在挂马内容。二.3.7 WebShell检测WebShell是最初是一种方便站长管理服务器的脚本应用程序,通常可以进行在线编辑文件、上传下载文件、查看数据库、执行任意程序命令等操作,后被攻击者所利用。攻击者可以通过Web应用程序上的漏洞上传Webshell脚本,进而控制WEB服务器。在Web评估过程中,评估人员会对所有W
16、eb页面进行扫描,确认是否存在Webshell。二.4 评估流程图 二.1 WEB应用评估流程图三. 相关技术三.1 信息采集技术在评估过程中,为了帮助分析工作,评估人员需要根据各评估项的要求来采集必要的信息,用于辅助分析和为安全性测试提供依据。无论是WEB应用评估还是传统的风险评估,这都是一项必不可少的工作。三.1.1 系统和应用信息收集通过对远程服务器所启动的服务进行扫描和手工提交等工作,根据其返回信息可以获取远程系统及应用的版本号等信息,对于存在弱点的应用还可以进一步挖掘更多的系统信息,例如:SMB、SNMP等。三.1.2 应用信息收集应用信息主要包括三个部分:WEB服务信息,数据库信息
17、和WEB应用结构。通过上面所介绍的手段可获取WEB和数据库信息。而若想进一步获取WEB应用结构,需要使用爬虫程序。目前,一般WEB扫描器都具备比较强大的爬虫功能,通过爬虫程序可以快速的遍历出站点结构,这对于后期的漏洞挖掘是必不可少的基础信息。三.2 溢出攻击溢出是比较传统却又很常见的一种漏洞。溢出攻击的测试过程中,测试人员将根据收集的信息以确认应用或系统的版本,从而判断在当前应用或系统上是否存在已知溢出漏洞和可利用的攻击程序,同时,测试人员会在攻击程序对系统的稳定运行不产生影响的前提下使用攻击程序发起溢出攻击。三.3 口令猜解大部分常见的操作系统及应用均使用帐号/口令的认证方式,因此,在配置检
18、查和安全测试过程中,对用户口令的猜解测试也是一个重要的工作环节,绿盟科技在评估过程中,根据系统的不同,至少可以进行以下服务或应用的口令猜解测试: SMB/CIFS TELNET SSH FTP POP/SMTP/IMAP Terminal Service MySQL MSSQL Oracle HTTP HTTP Form三.4 WEB漏洞挖掘技术WEB应用与操作系统不同,WEB应用可很容易的根据用户需求而进行编写,因此,大部分WEB应用并不具备“通用的漏洞”。因此,这就决定了安全测试人员需具备一定的WEB漏洞挖掘能力,这样才能保证在面对陌生系统时进行有针对性的测试工作。三.4.1 跨站脚本跨站
19、脚本(XSS,Cross Site Script),指服务端程序在接收用户提交信息时没有对信息进行必要的检查或编码而导致页面包含了可能对客户端造成伤害的脚本。跨站脚本直接对客户端浏览器产生影响,如:窃取敏感信息、下载恶意程序、钓鱼等,而由于跨站而形成的XSS Worm可能造成更大的威胁。测试人员根据经验,在可能出现程序交互的位置插入自己构造的测试脚本进行提交,观察返回结果并判断插入的测试脚本是否生效,如不生效则结合返回结果对测试脚本进行进一步的修正,如此反复最终形成可利用的攻击脚本。三.4.2 注入漏洞注入漏洞中常见的为SQL注入(SQL Injection),SQL注入是指当服务端接受客户端
20、信息时,未对客户端信息进行任何校验就将其送入数据库中进行查询操作,而恶意用户只需对客户端提交信息进行一定的构造,就可以导致数据执行一些危险操作。类似的,注入漏洞还存在其他方式,如:LDAP注入、XPath注入、系统命令注入等。测试人员在测试注入漏洞前,会先根据收集到的一些信息判断远程目标系统类型、编写程序脚本所使用的语言以及后台数据库类型等信息,然后结合交互查询过程中产生的信息提交测试脚本,以确认系统是否存在注入漏洞。三.4.3 参数错误参数错误与注入漏洞相似,但一般参数错误漏洞是直接作用在WEB程序本身,而不像注入漏洞那样作用于后台支撑的应用。参数错误主要是指在程序接收客户端参数时(一般为G
21、ET和POST两种参数),对客户端提交参数未做过滤,而同时WEB脚本之间又不具备严格的访问控制,进而导致通过错误的参数直接浏览、修改甚至获得WEB Shell。对于错误参数的测试,测试人员需对网站的整体结构有一定的了解,通过测试人员对站点结构的精确掌握,构造错误的参数便可能造成恶意修改站点数据。三.4.4 信息泄露信息泄露往往来自多个层面,而其中由于服务配置错误引起的信息泄露最为常见。测试人员在测试信息泄露时,需收集应用服务器的信息,结合该信息测试人员可确认该应用上可能出现的错误配置,并通过各种手段针对每种可能的错误配置进行逐一排查。除此之外,测试人员还会结合个人经验对站点的一些目录或文件进行
22、猜解,例如:针对后台管理地址的猜解。三.4.5 其他除以上四种常见WEB漏洞外,还有很多可能造成WEB应用被入侵的问题。例如,最为常见的是口令易被猜解和用户之间存在越权访问,这些问题在漏洞挖掘过程中,测试人员都会根据现场情况并结合个人经验进行必要的测试工作。四. 风险规避WEB应用评估的大部分工作对于客户的应用系统来说都是绝对安全的,不会造成任何破坏性的影响,唯一可能对系统产生影响的只有WEB安全测试中的应用测试这部分内容,为保障客户的系统在应用测试过程中稳定、安全的运转,我们将提供以下多种方式来进行风险规避。四.1 时间从时间安排上,评估人员将尽量避免在数据高峰时段进行应用测试,以此来减小测
23、试工作对被测试系统带来的压力。另外,评估人员在每次测试前也将通过电话、邮件等方式告知相关人员,以防止测试过程中出现意外情况。四.2 工具使用在使用工具测试的过程中,评估人员会通过设置线程、插件数量等参数来减少其对系统的压力,同时还会去除任何可能对目标系统带来危害的插件,如:远程溢出攻击类插件、拒绝服务攻击类插件等等。四.3 技术手段绿盟科技的评估人员都具有丰富的经验和技能,在每一步测试前都会预估可能带来的后果,对于可能产生影响的测试(如:溢出攻击)将被记录并跳过,并在随后与客户协商决定是否进行测试及测试方法。四.4 监控在对WEB应用进行测试前,评估人员会告知相关管理人员,并且在测试过程中会随
24、时关注目标系统的负荷等信息,一旦出现任何异常,将会停止测试。四.5 目标的选择为更大程度的避免风险的产生,应用测试可以选择对应用的备份系统进行测试。因为备份系统与在线系统所安装的应用和承载的数据差异较小,而其稳定性要求又比在线系统低,因此,选择对备份系统进行测试也是规避风险的一种常见方式。四.6 操作记录文档评估人员会在测试过程中形成操作记录文档,以便出现意外后进行追溯。五. 报告输出在评估工作完成后两个工作日内,评估人员将出示一份WEB应用评估报告。根据评估的结果,绿盟科技评估人员将针对每种威胁进行详细描述,描述内容至少包括了评估过程、使用的技术手段以及获得的成果。除此之外,绿盟科技评估人员
25、还将结合评估目标的具体威胁内容编写解决方案和相关的安全建议,为管理员的维护和修补工作提供参考。六. 常用工具本章节列出部分常见的评估工具,但并不能完整包括真实环境下全部评估工具。六.1 日志分析工具工具名称官方地址AWStatsLogs2Intrusions日志分析工具六.2 信息收集工具工具名称官方地址RSASNmaphttp:/nmap.org/HTTPReconputec.ch/projekte/httprecon/niktoWapitiNChttp:/joncraton.org/files/nc111nt.zipOScannerHTTPPrint-NT Scan信息收集工具六.3 溢出
26、及口令猜解工具工具名称官方地址Metasploitmilw0rm(网站)Hydrahttp:/freeworld.thc.org/thc-hydra/CAINhttp:/www.oxid.it/Fast HTTP Auth Scannerhttp:/www.tarasco.org/security溢出及口令破解工具六.4 WEB漏洞挖掘工具工具名称官方地址Absinthehttp:/0x90.org/Tamper Datahttps:/addons.mozilla.org/zh-CN/firefox/addon/966FiddlerPerlhttp:/www.perl.org/AppScanIIS PUT Scannerhttp:/www.nosec.orgNBSIWEB漏洞挖掘工具六.5 数据库工具工具名称官方地址SQL Exechttp:/www.sunx.org数据库工具
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1