文档名称 文档密级
Web安全测试规范
缩略语清单
缩略语 CRLF LDAP MML SessionID Web Service
全称 \\r\\n回车换行
Lightweight Directory Access Protocol 轻量级目录访问协议
man-machine language 人机交互语言 标志会话的ID
Web服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。
SOAP XFS XSS
Simple Object Access Protocol 简单对象访问协议 Cross Frame Script 跨帧脚本 Cross Site Script 跨站脚本
2013-8-9
华为机密,未经许可不得扩散 第6页, 共63页
文档名称 文档密级
1 概述
1.1 背景简介
在Internet大众化、Web技术飞速演变、黑客工具日益普及的今天,针对Web的攻击和破坏不断增多,在线安全面临日益严峻的挑战,安全风险达到了前所未有的高度。
为了规避Web安全风险、规范Web安全开发,公司已经制定并发布了《Web 应用安全开发规范》;但如何系统的进行Web安全性测试,目前缺少相应的理论和方法支撑。为此,我们制定《Web 安全测试规范》,本规范可让测试人员针对Web常见安全漏洞或攻击方式,系统的对被测Web系统进行快速安全性测试。
1.2 适用读者
本规范的读者及使用对象主要为Web相关的测试人员、开发人员、专职的安全测试评估人员等。
1.3 适用范围
本规范主要针对基于通用服务器的Web应用系统,其他Web系统也可以参考,如基于嵌入式系统的Web维护接口等。
如下图例说明了一种典型的基于通用服务器的Web应用系统:
2013-8-9
华为机密,未经许可不得扩散 第7页, 共63页
文档名称 文档密级 客户端 Web应用 Web服务器 ? IIS ? Apache ? ?? 应用服务器 ? Uniportal ? JBoss ? ?? 数据库服务器 ? Oracle ? DB2 ? ?? 本规范中的方法以攻击性测试为主。除了覆盖业界常见的Web安全测试方法以外,也借鉴了一些业界最佳安全实践,涵盖Web安全开发规范的内容。 1.4 安全测试在IPD流程中所处的位置 一般建议在TR4前根据产品实现架构及安全需求,完成Web安全性测试需求分析和测试设计,准备好Web安全测试用例。 在TR4版本正式转测试后,即可进行Web安全测试。如果产品质量不稳定,前期功能性问题较多,则可适当推后Web安全测试执行,但最迟不得超过TR5。 1.5 安全测试与安全风险评估的关系说明 安全风险是指威胁利用脆弱性对目标系统造成安全影响的可能性及严重程度。其中威胁(Threat)是指可能对目标系统造成损害的潜在原因,包括物理环境威胁、人为威胁等。脆弱性(Vulnerability)也称弱点,是应用系统本身存在的,包括系统实现中的缺陷、配置中的弱点等。外部威胁利用系统的脆弱性达到破坏系统安全运行的目的。
本规范所描述的安全测试仅是安全风险评估中的一个活动,对应于安全风险评估过程中的脆弱性识别部分,特别是技术性的脆弱性识别。
2013-8-9
华为机密,未经许可不得扩散
第8页, 共63页
文档名称 文档密级
完整的安全风险评估过程、概念见GB/T 20984-2007《信息安全技术 信息安全风险评估规范》。
1.6 注意事项
? Web安全测试的执行,对于被测系统,或多或少都会存在一些影响(比如性能、垃
圾数据),建议只在测试环境中进行;如果一定要在现网运行环境中执行,那么务必配置专门的测试数据,测试执行是应该非常慎重,只能修改或删除这些测试数据,禁止修改、删除现网其他数据。
? 本规范最主要目的是为了发现安全弱点,至于发现一个弱点以后更深一步的渗透测
试在这里不会涉及。例如针对暴力破解测试,我们只给出验证存在暴力破解漏洞的可能,但不会提供暴力破解的方法。
? 本文档中所有提及的测试工具的申请和使用,请遵循公司信息安全相关规定。 ? 如果是内部试验环境进行测试,可以考虑去除一些防护措施或设备(如防火墙),
这样能保证发现问题的全面性。
? 本文档根据最严格的方式对目标进行测试,如果产品线对安全的要求不高且有自身
的安全策略规定时,可以视情况对测试项进行部分测试。例如密码策略测试项中,测试人员可以根据测试目标的密码位数要求进行测试,而不需要完全依照测试项里面规定的位数进行测试。
1.7 测试用例级别说明
一个安全漏洞的风险程度受危害程度和概率的影响,我们定义了如下所示的关系:
危害程度 高 中 低 发生概率 高 高 高 中 中 高 中 低 低 中 低 低 表1 风险等级界定表 本测试规范用例根据上面的定义分为四个测试级别:
测试用例级别 1
2013-8-9
说明 基本:该类用例涉及可能导致风险程度为高的安全漏洞,在任何情况下
华为机密,未经许可不得扩散
第9页, 共63页
文档名称
都必须进行测试。
2
文档密级
重要:该类用例涉及可能导致风险程度为中的安全漏洞,在条件允许(时间、人力充沛)情况下必须进行测试。
3 一般:该类用例涉及可能导致风险程度为低的安全漏洞,测试结果可能对其他测试有帮助。测试与否根据业务系统的重要性来判断。
4 生僻:该类用例涉及可能导致风险程度为极低的安全漏洞,攻击者只能收集到很少且无关紧要的信息。一般情况下不建议进行测试。
表2 测试级别说明表
2 测试过程示意图
本测试主要包括主动模式和被动模式两种。在被动模式中,测试人员尽可能的了解应用逻辑:比如用工具分析所有的HTTP请求及响应,以便测试人员掌握应用程序所有的接入点(包括HTTP头,参数,cookies等);在主动模式中,测试人员试图以黑客的身份来对应用及其系统、后台等进行渗透测试,其可能造成的影响主要是数据破坏、拒绝服务等。一般测试人员需要先熟悉目标系统,即被动模式下的测试,然后再开展进一步的分析,即主动模式下的测试。主动测试会与被测目标进行直接的数据交互,而被动测试不需要。
2013-8-9
华为机密,未经许可不得扩散 第10页, 共63页