导图社区 信息安全技术动态应用安全测试系统安全技术要求与测试评价方法
动态应用安全测试系统旨在实时识别和评估网络应用程序中存在的安全漏洞。该系统基于应用程序协议识别、功能点识别、数据解析能力等功能,以自动化和综合的方式审查应用程序的安全性能。动态应用安全测试系统可在开发、测试和生产等场景下,对目标系统进行深入的安全分析,并提供详尽的漏洞报告和修复建议。
编辑于2024-07-23 15:09:51这是一个关于供应链安全基本调研(需方)的思维导图。供应链安全对于需方企业至关重要,它直接关系到企业的正常运营、产品质量以及市场竞争力。
软件供应链安全检测是确保软件在整个生命周期内的安全性、稳定性和可靠性的重要环节。以下是对软件供应链安全检测的详细解答:一、软件供应链安全检测的重要性防范安全风险:通过安全检测,可以及时发现并修复软件中的安全漏洞,从而有效防范潜在的安全风险。提高软件质量:安全检测能够确保软件的质量和稳定性,提升用户体验和满意度。 符合法规要求:许多行业对软件的安全性有严格的法规要求,进行安全检测有助于确保软件符合相关法规标准。二、软件供应链安全检测的主要内容源码检测:对软件的源代码进行审查,以发现潜在的安全漏洞和不合规的代码实践。组件检测:检测软件中所使用的第三方组件的安全性,确保这些组件没有已知的安全漏洞。应用功能检测:对软件的功能进行全面测试,以确保其功能正常且没有安全隐患。渗透测试:通过模拟黑客攻击的方式,测试软件的防御能力,以发现潜在的安全漏洞。环境检测:检测软件运行环境的安全性,包括操作系统、数据库、网络等,以确保软件在安全的环境中运行。
容器镜像安全检测工具是深度融合云原生特性,将安全能力左移到构建阶段,利用数据驱动安全的创新技术路线,主动持续开展风险分析,并通过独有的近源端控制实现安全防护,构建高效的云原生安全防护体系。
社区模板帮助中心,点此进入>>
这是一个关于供应链安全基本调研(需方)的思维导图。供应链安全对于需方企业至关重要,它直接关系到企业的正常运营、产品质量以及市场竞争力。
软件供应链安全检测是确保软件在整个生命周期内的安全性、稳定性和可靠性的重要环节。以下是对软件供应链安全检测的详细解答:一、软件供应链安全检测的重要性防范安全风险:通过安全检测,可以及时发现并修复软件中的安全漏洞,从而有效防范潜在的安全风险。提高软件质量:安全检测能够确保软件的质量和稳定性,提升用户体验和满意度。 符合法规要求:许多行业对软件的安全性有严格的法规要求,进行安全检测有助于确保软件符合相关法规标准。二、软件供应链安全检测的主要内容源码检测:对软件的源代码进行审查,以发现潜在的安全漏洞和不合规的代码实践。组件检测:检测软件中所使用的第三方组件的安全性,确保这些组件没有已知的安全漏洞。应用功能检测:对软件的功能进行全面测试,以确保其功能正常且没有安全隐患。渗透测试:通过模拟黑客攻击的方式,测试软件的防御能力,以发现潜在的安全漏洞。环境检测:检测软件运行环境的安全性,包括操作系统、数据库、网络等,以确保软件在安全的环境中运行。
容器镜像安全检测工具是深度融合云原生特性,将安全能力左移到构建阶段,利用数据驱动安全的创新技术路线,主动持续开展风险分析,并通过独有的近源端控制实现安全防护,构建高效的云原生安全防护体系。
信息安全技术 动态应用安全测试系统安全技术要求与测试评价方法
前言
参考:
《标准化工作导则 第1部分:标准化文件的结构和起草规则》
起草单位:
公安部网络安全等级保护评估中心
上海数字安全科技有限公司
杭州默安科技有限公司
悬镜安全(北京安普诺信息技术有限公司)
杭州孝道科技有限公司
华为技术有限公司
墨菲未来科技(北京)有限公司
起草人:
赵雨雨、王勇、韩清华、魏东、孟瑾、焦洋、陈伟煌、张阳东、欧阳强斌
引言
1 范围
本文件规定了动态应用安全测试系统的安全技术要求和测试评价方法。
本文件适用于动态应用安全测试系统的设计、开发和测试。
2 规范性引用文件
GB/T 25069 信息安全技术 术语
GB/T 30279 网络安全漏洞分类分级指南
GB/T 20278 信息安全技术 网络脆弱性扫描产品安全技术要求和测试评价方法
3 术语和定义
应用程序协议识别 Application Protocol Identification
指通过检查网络通信中的数据流量,识别出网络中正在使用的具体应用程序协议的过程。
身份认证控制检测 Identity Authentication Control Detection
指在计算机系统和网络中对用户身份认证进行控制和检测的过程,确保只有经过合法身份认证的用户或实体被允许访问系统中的敏感资源和信息。
数据格式解析 Data Format Parsing
在计算机科学和信息技术领域,通过分析数据的结构和语法,将原始数据解释为可理解和处理的形式的过程
应用程序依赖识别 Application Dependency Identification
指对一个应用程序所需的外部组件、库、服务或其他软件资源进行分析和确认的过程。
会话管理分析 Session Management Analysis
指对网络会话的创建、维持和终止过程的分析。
漏洞严重性评级 Vulnerability Severity Rating
指对计算机系统、软件、网络应用等存在的安全漏洞进行严重程度评估的过程,通常基于漏洞的潜在影响程度、利用的难易程度以及可能对系统造成的损害程度。
漏洞利用难度 Vulnerability Exploitability
指成功利用漏洞的难易程度,评估因素通常包括漏洞利用的复杂度、漏洞被利用的触发条件、漏洞被利用的可靠性等方面。
4 缩略语
HTTP 超文本传输协议 (Hypertext Transfer Protocol)
HTTPS 安全超文本传输协议(Hypertext Transfer Protocol Secure)
API 应用程序接口(Application Programming Interface)
OWASP 开放网络应用安全项目(Open Web Application Security Project)
TCP 传输控制协议 (Transmission Control Protocol)
UDP 用户数据报协议 (User Datagram Protocol)
JSON JavaScript对象表示法 (JavaScript Object Notation)
XML 可扩展标记语言 (Extensible Markup Language)
5 产品概述
动态应用安全测试系统旨在实时识别和评估网络应用程序中存在的安全漏洞。该系统基于应用程序协议识别、功能点识别、数据解析能力等功能,以自动化和综合的方式审查应用程序的安全性能。动态应用安全测试系统可在开发、测试和生产等场景下,对目标系统进行深入的安全分析,并提供详尽的漏洞报告和修复建议。
该类产品的部署方式如下图1:
6 安全技术要求
6.1 安全功能要求
6.1.1 应用程序分析和识别
6.1.1.1 应用程序入口识别
a)产品应支持应用程序使用的各种协议,包括 HTTP、HTTPS、TCP、UDP 等。
b)产品应具备对应用程序各个功能点的识别能力,包括但不限于Web界面、目录、API、文件上传、表单提交、数据库连接等功能点。
c)产品应具备特定请求顺序功能点的识别能力,比如添加商品应在确定订单之前。
6.1.1.2 数据格式解析
a)产品应支持常见数据格式的解析,包括JSON、XML、键值对等,以适应不同的数据交换场景。
b)产品数据解析功能需要具备高容错性,能处理格式不正确或损坏的数据。
6.1.1.3 应用程序依赖识别
产品应支持识别应用程序所依赖的外部组件、库、框架和服务,包括但不限于数据库引擎、开发框架、缓存以及应用程序所使用的第三方API。
6.1.1.4 身份认证解析识别
a)产品应支持对应用程序的身份认证措施进行全面检测,这涉及到对账号注册、登录、密码重置功能等身份认证功能点的识别与处理。
b)产品应支持识别和处理来自不同设备、不同浏览器上请求,以确保应用程序在多个条件下的认证措施都能检测到。
c)产品应支持对认证前后请求的识别与分类,以识别到哪些请求是未经认证的尝试,哪些是已经通过认证的正常请求。并支持用户配置请求头以直接模拟不同身份的请求。
6.1.1.5 安全控制机制识别
产品应支持检测应用程序是否具有安全控制措施,如访问控制、授权机制、输入验证等,需要确认这些措施是否正确实施,以及是否存在被绕过的可能性。
6.1.1.6 会话管理分析
产品应支持检测应用程序是否采用了有效的机制来管理用户会话,这包括对会话标识、过期时间、注销等功能点的识别,以支持识别是否具有未授权、数据泄露的风险。
6.1.1.7 客户端与服务端交互解析
产品应支持客户端与服务端交互解析,主要涉及如下场景:
a) 支持导入并解析客户端与服务端的交互录制文件;
b) 支持以树型目录结构解析并呈现客户端与服务端的交互接口;
c) 支持通过树型目录展示任务扫描命中的漏洞所对应的网页地址及整体站点结构。
6.1.1.8 运行时请求发送和响应分析
产品应支持运行时请求发送和响应分析,主要涉及如下场景:
a) 支持展示运行时请求详情与响应详情;
b) 支持根据响应内容自动判断漏洞是否存在,当命中漏洞时,产品应支持展示漏洞命中详情;
c) 支持展示漏洞详情、漏洞简介与修复建议。
6.1.1.9 错误和异常处理解析
产品应支持错误和异常处理解析,主要涉及如下场景:
a) 登录信息错误和异常:如果登录信息存在问题,产品将无法成功登录访问测试目标,只能进行测试目标外围的信息探测,从而影响扫描结果,因此当扫描发生登录信息错误和异常时,产品应支持给出登录信息错误和异常的提示;
b) 网络错误或异常:在扫描过程中,如果出现了网络错误或异常,产品将无法访问测试目标,此时产品应支持根据网络问题自动取消扫描任务。因网络问题导致扫描任务失败时,产品应支持网络错误和异常报错提示;
c) 其他错误或异常:除了登录信息和网络状况外,产品应支持针对其他错误或异常的处理解析和报错提示,包括但不限于响应内容动态变化、反爬虫机制、WAF机制、测试目标本身稳定性等。
6.1.1.10 超时和特殊情况处理
产品应支持超时和特殊情况处理,主要涉及如下场景:
a) 产品应支持根据网站规模、网站响应速度、页面复杂度、网络环境等设置不同的扫描时长,通常扫描时长为小时级别,最长不超过24小时;
b) 扫描任务因超时而失败时,产品应支持自动取消扫描任务,并提示报错为扫描超时。
6.1.2 安全漏洞扫描和检测
6.1.2.1 应用程序流量收集
产品应能够对应用程序流量进行收集,包括:
a)应支持流量镜像等方式收集网络设备端流量;
b)应支持代理、VPN、Agent、日志导入等方式收集PC端流量;
c)应支持VPN、代理等方式收集移动端流量;
d)应支持https流量收集,对用户凭证进行设置;
e)应支持流量镜像服务器管理,包括但不限于服务器IP、在线状态、性能等;
f)应支持Agent管理,包括在线状态、监听端口、占用资源、熔断阈值等。
6.1.2.2 安全漏洞类型
产品应能够检测应用程序安全漏洞,包括:
a)应支持对已知和未知漏洞的检测。
b)应支持检测常见通用漏洞(如SQL注入、XSS、反序列化、文件上传等)、框架漏洞、逻辑漏洞、加密问题漏洞(如空口令、弱口令)等;
6.1.2.3 恶意请求构造和发送
产品应支持恶意请求构造和发送,包括:
a)应支持编辑请求包进行恶意请求构造,并提供响应包和web页面等验证结果信息;
b)应支持随机生成恶意请求载荷。
6.1.2.4 检测结果验证
产品应能够对检测结果进行验证,包括:
a)应支持对漏洞进行主动验证,并记录验证结果;
b)应支持回归测试,并记录测试结果。
6.1.3 漏洞风险评估和严重性分类要求
6.1.3.1 漏洞风险评估和严重性等级划分
a)产品应参考CVSS3.1评分标准进行等级评定,如果漏洞有CVSS评分的则可以直接沿用CVSS3.1评分等级。
b)如果没有CVSS评分,整体上需要从下面的维度进行分析并评定漏洞等级:
漏洞影响程度:保密性影响,完整性影响,可用性影响
漏洞利用难度:访问路径,触发要求,权限要求,交互条件
漏洞环境因素:利用成本,修复难度,影响资产等级,影响资产范围
c)漏洞等级可以划分为:严重、高危、中危、低危等。
6.1.3.2 漏洞影响范围
产品应综合考虑漏洞对系统机密性、完整性、可用性的影响,评估漏洞的影响程度。
可以参考CVSS3.1的环境评价要素。
6.1.3.3 漏洞利用难度
指触发漏洞需具备的条件,可以参考CVSS3.1的可利用性评分标准,应考虑的因素包括但不限于:
a)攻击途径:包括远程网络、临近网络、本地环境、物理接触等;
b)系统环境:指触发漏洞需要特定的系统的版本、配置、运行环境等;
c)权限要求:指触发漏洞是否需要特定的角色权限,包括匿名用户、普通用户权限、管理员权限等,可以分为无权限,低权限,高权限;
d)攻击复杂度:低,高;
e)用户交互:无交互,有交互。
6.1.3.4 漏洞修复建议
产品应针对每种漏洞类型提供合理、可行的漏洞修复建议。
6.1.4 分析结果处理
6.1.4.1 结果浏览与检索
产品应提供安全测试结果浏览和检索功能。
6.1.4.2 结果统计分析
产品应提供数据统计分析功能,包括漏洞数量统计、漏洞类型统计、漏洞级别统计、漏洞分布等,对分析结果进行图形化展示。
6.1.4.3 结果审计
产品应能够对测试结果进行审计,支持对误报、已修复、无风险漏洞等进行标记。
6.1.4.4 漏洞描述
产品应能够对测试结果中的漏洞给出具体描述,包括:
a)漏洞的基本信息,包括漏洞所在的路径或组件、漏洞名称、漏洞的CVE或CNNVD编号等。
b)漏洞的详细信息,包括漏洞级别和定级依据、漏洞原理、漏洞可能造成的影响等。
c)漏洞的概念性验证信息,包括验证漏洞所发送的请求信息、所接收的响应信息、监控状态等。
d)漏洞对应的安全检测规则信息。
6.1.4.5 漏洞处置建议
产品应能够对测试结果中的漏洞给出处置建议,包括漏洞修复方案和缓解措施,处置建议具备合理性、时效性、可用性。
6.1.4.6 测试报告
6.1.4.6.1 报告生成
产品应支持根据测试结果生成相应的报告,报告展示动态应用安全测试各项内容及多个目标的汇总结果,包括测试任务的摘要信息、测试结果的统计信息、漏洞描述、漏洞处置建议等。
6.1.4.6.2 报告管理
产品应支持报告管理,包括报告导出内容自定义和报告删除。
6.1.4.6.3 报告导出
产品应支持通用格式报告导出,包括但不限于PDF、DOC、HTML、EXCEL等。
6.1.4.6.4 报告发送
产品应支持将报告发送至指定位置,包括但不限于邮箱、FTP服务器等。
6.1.5 策略及配置管理
6.1.5.1 策略配置
产品应能够对策略进行配置,包括:
a)支持配置检测策略:应包括OWASP TOP检测、弱口令检测、资产发现检测、流行漏洞检测、主机检测、端口扫描策略等,并支持自定义策略配置。
b)支持风险忽略策略:应包括配置忽略检测的对象IP\站点\域名、路径、参数等进行配置。
6.1.5.2 爆破配置
产品应能够对爆破进行配置,包括:
a)支持弱口令字典配置:系统弱口令内置字典优化,针对不同的系统服务形成不同的弱口令字典,提高检测效率。
b)支持配置弱口令策略:系统弱口令检测支持“爆破时长”和“爆破次数”的配置。
6.1.5.3 检测范围
产品应能够对检测范围进行配置,包括:
a)IP段配置,包括IPV4、IPV6,支持C段、B段、端口检测。
b)域名\站点解析规则配置。
6.1.5.4 任务配置
产品应能够对任务进行配置,包括:
a)支持配置检测时长超出阈值自动停止任务。
b)支持配置任务执行优先级。
c)支持配置任务并发数。
6.1.5.5 漏洞配置
产品应支持用户自定义漏洞POC策略集合,并支持对不同检测POC配置对应的漏洞分类、漏洞等级。
6.1.5.6 用户安全配置
产品应能够对用户安全进行配置,包括:
a)支持配置账号密码复杂度。
b)支持配置暴力破解次数和防喷洒次数。
c)支持配置IP白名单。
d)支持配置操作超时时长。
6.2 自身安全要求
6.2.1 身份鉴别
6.2.1.1 管理员鉴别
产品应在管理员执行任何与安全功能相关的操作之前对管理员身份进行鉴别。
6.2.1.2 鉴别信息要求
产品应提供以下鉴别功能:
a)在采用基于口令的鉴别信息时,产品应对管理员设置的口令进行复杂度检查,确保管理员口令满足定的复杂度要求;
b)当存在默认口令时,系统应提示管理员对默认口令进行修改,以减少用户身份被冒用的风险;
c)产品应提供鉴别信息定期更换功能,当鉴别信息使用时间达到使用期限阈值前,应提示管理员进行修改。
6.2.1.3 鉴别失败处理
当管理员鉴别尝试失败连续达到指定次数后,产品应阻止管理员进一步的鉴别请求,并将有关信息生成审计事件。最多失败次数仅由授权管理员设定。
6.2.1.4 鉴别数据保护
产品应保护鉴别数据不被未授权查阅和修改。
6.2.1.5 超时设置
产品应具有管理员登录超时重新鉴别功能,在设定的时间段内没有任何操作的情况下,锁定或终上会话,需要再次进行身份鉴别才能够重新使用产品,最大超时时间仅由授权管理员设定。
6.2.1.6 管理地址限制
产品应对管理员登录的地址进行限制。
6.2.1.7 会话锁定
产品应允许管理员锁定当前的交互会话,锁定后需要再次进行身份鉴别才能够重新管理产品。
6.2.2 管理员管理
6.2.2.1 标识唯一性
产品应保证所设置的管理员标识全局唯一。
6.2.2.2 管理员属性定义
产品应为每一个管理员保存安全属性表,属性应包拈:管理员标识、鉴别数据、授权信息或管理组信息、其他安全属性等。
6.2.2.3 安全行为管理
产品应仅允许授权管理员对产品进行功能设置、参数修改、安全策略变更,以及启用/停用等操作。
6.2.2.4 管理员角色
产品应能设置多个不同权限的角色,并应保证每一个角色标识是全局唯一的。
6.2.3 安全审计
6.2.3.1 审计日志生成
产品应生成以下事件的审计日志:
a)管理员的登录成功和失败;
b)对扫描策略进行设置、修改、启用/停用等操作;
c)对管理员或者角色进行增加、删除和属性修改的操作。
d)增加过程审计的要求(含入侵连接请求的审计过程记录等) 产品应在每一个审计日志记录中记录事件发生的日期、时间、用户标识、事件描述和结果。若采用远程登录方式还应记录管理主机的IP地址。
6.2.3.2 审计日志查阅
产品应为授权管理员提供审计日志查阅功能,方便管理员查看审计结果。
6.2.3.3 受限的审计日志查阅
除了具有明确的访问权限的授权管理员之外,产品应禁止所有其他用户对审计日志的访问。
6.2.3.4 可选审计查阅
产品应支持按照一定条件对审计日志进行检索或排序。
6.2.4 数据安全
6.2.4.1 安全管理
产品应能够对分析数据进行安全管理,包括:
a) 在分析完成后删除缓存的目标软件数据;
b) 采取措施保障存储数据的安全性。
6.2.4.2 数据存储告警
产品应在数据存储空间将耗尽等情况时,自动产生告警,产生告警的剩余存储空间大小应由管理员自主设定。
6.2.5 通信安全
若产品组件间通过网络进行通信,应采取措施保障传输数据的安全性。
6.2.6 支撑系统安全
产品的支撑系统应:
a) 进行必要的裁剪,不提供多余的组件或网络服务;
b) 重启过程中,分析任务配置和日志信息不丢失;
c) 不含已知中、高、超危安全漏洞。
6.3 环境适应性要求
6.3.1 支持纯IPv6网络环境
产品应支持纯IPv6网络环境,能够在纯IPv6网络环境下下正常工作,实现对目标对象的扫描和产品的管理。
6.3.2 支持双协议栈
产品应支持IPv4/IPv6双栈网络环境,能够在IPv4/IPv6双栈网络环境下正常工作,实现对目标对象的扫描。
6.4 安全保障要求
6.4.1 开发
6.4.1.1 安全架构
开发者应提供动态应用安全测试系统安全功能的安全架构描述,安全架构描述应满足以下要求:
a)与产品设计文档中对安全功能实施抽象描述的级别一致;
b)描述与安全功能要求一致的动态应用安全测试系统安全功能的安全域;
c)描述动态应用安全测试系统安全功能初始化过程为何是安全的;
d)证实动态应用安全测试系统安全功能能够防止被破坏;
e)证实动态应用安全测试系统安全功能能够防止安全特性被旁路。
6.4.1.2 功能规范
开发者应提供完备的功能规范说明,功能规范说明应满足以下要求:
a)完全描述动态应用安全测试系统的安全功能;
b)描述所有安全功能接口的目的与使用方法;
c)标识和描述每个安全功能接口相关的所有参数;
d)描述安全功能接口相关的安全功能实施行为;
e)描述由安全功能实施行为处理而引起的直接错误消息;
f)证实安全功能要求到安全功能接口的追溯。
6.4.1.3 产品设计
开发者应提供产品设计文档,产品设计文档应满足以下要求:
a)根据子系统描述动态应用安全测试系统结构;
b)标识和描述动态应用安全测试系统安全功能的所有子系统;
c)描述安全功能所有子系统间的相互作用;
d)提供的映射关系能够证实设计中描述的所有行为能够映射到调用它的安全功能接口。
6.4.2 指导性文档
6.4.2.1 操作用户指南
开发者应提供明确和合理的操作用户指南,操作用户指南与为评估而提供的其他所有文档保持一致,对每一种用户角色的描述应满足以下要求:
a)描述在安全处理环境中被控制的用户可访问的功能和特权,包含适当的警示信息;
b)描述如何以安全的方式使用动态应用安全测试系统提供的可用接口;
c)描述可用功能和接口,尤其是受用户控制的所有安全参数,适当时指明安全值;
d)明确说明与需要执行的用户可访问功能有关的每一种安全相关事件,包括改变安全功能所控制实体的安全特性;
e)标识动态应用安全测试系统运行的所有可能状态(包括操作导致的失败或者操作性错误),以及它们与维持安全运行之间的因果关系和联系;
f)充分实现安全目的所必须执行的安全策略。
6.4.2.2 准备程序
开发者应提供动态应用安全测试系统及其准备程序,准备程序描述应满足以下要求:
a)描述与开发者交付程序相一致的安全接收所交付动态应用安全测试系统必需的所有步骤;
b)描述安全安装动态应用安全测试系统及其运行环境必需的所有步骤。
6.4.3 生命周期支持
6.4.3.1 配置管理能力
开发者的配置管理能力应满足以下要求:
a)为动态应用安全测试系统的不同版本提供唯一的标识;
b)使用配置管理系统对组成动态应用安全测试系统的所有配置项进行维护,并唯一标识配置项;
c)提供配置管理文档,配置管理文档描述用于唯一标识配置项的方法。
6.4.3.2 配置管理范围
开发者应提供动态应用安全测试系统配置项列表,并说明配置项的开发者。配置项列表至少包含动态应用安全测试系统、安全保障要求的评估证据和动态应用安全测试系统的组成部分。
6.4.3.3 交付程序
开发者应使用一定的交付程序交付动态应用安全测试系统,并将交付过程文档化。在给用户方交付动态应用安全测试系统的各版本时,交付文档应描述为维护安全所必需的所有程序。
6.4.4 测试
6.4.4.1 覆盖
开发者应提供测试覆盖文档,测试覆盖描述应表明测试文档中所标识的测试与功能规范中所描述的动态应用安全测试系统的安全功能间的对应性。
6.4.4.2 功能测试
开发者应测试动态应用安全测试系统安全功能,将结果文档化并提供测试文档。测试文档应包括以下内容:
a)测试计划,标识要执行的测试,并描述执行每个测试的方案,这些方案包括对于其它测试结果的任何顺序依赖性;
b)预期的测试结果,表明测试成功后的预期输出;
c)实际测试结果和预期的测试结果一致。
6.4.4.3 独立测试
开发者应提供一组与其自测安全功能时使用的同等资源,以用于安全功能的抽样测试。
6.4.5 脆弱性评定
基于已标识的潜在脆弱性,动态应用安全测试系统能够抵抗具有基本攻击潜力攻击者的攻击。
7 测试评价方法
7.1 测试环境
动态应用安全测试系统功能测试评价的典型网络拓扑结构如图 2 所示:
测试设备包括所需的交换机/路由器、Web应用系统,以及动态应用安全测试系统的管理客户端和服务端。其中,产品管理客户端应安装有主流浏览器、文字处理办公软件;产品服务端应准备不同CPU架构、操作系统的多套环境;交换机/路由器应完成网络配置,正确转发待测协议数据;Web应用系统应完成待测功能的配置。
7.2 安全功能要求
7.2.1 应用程序分析和识别
7.2.1.1 应用程序入口识别
a)测评方法:
1)配置产品检测 Web 应用基于各种协议实现的请求,需要检测引擎识别包括但不限于 HTTP、HTTPS、TCP、UDP 等不同类型协议的请求。
2)执行配置的检测任务,产品对应用程序进行检测,识别并记录入口点、功能点。
b)预期结果:
1)产品能正确处理基于各种协议实现的请求。
2)产品正确识别应用程序的各种入口点,如Web界面、目录、API、文件上传、表单提交、数据库连接等。
3)产品能正确识别和报告特定请求顺序的功能点关系。
c)结果判定:
实际测评结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.1.2 数据格式解析
a)测评方法:
1)配置产品进行数据解析测试,提供包括 JSON、XML、键值对在内的多种数据格式的样本数据。
2)配置产品进行数据解析测试,提供格式错误或者损坏的数据。
b)预期结果:
1)产品能正确识别并解析各种常见的数据格式。
2)产品在处理格式不正确或者损坏的数据时具有一定的容错性,能提取有效信息而不至于完全失效。
c)结果判定:
实际测评结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.1.3 应用程序依赖识别
a)测评方法:
产品对应用程序检测时,能根据应用程序的请求包、响应包数据的特征检测其中可能涉及的外部依赖。
b)预期结果:
产品能准确识别应用程序所依赖的外部组件、框架、服务。
c)结果判定:
实际测评结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.1.4 身份认证解析识别
a)测评方法:
1)配置产品执行身份认证解析识别的检测任务,使其能模拟用户进行身份认证,例如账号注册、登录、密码重置等功能。
2)配置产品模拟未经认证的请求和已认证的请求,并且支持自定义配置认证信息,检测应用是否正确分类并处理这些请求。
3)配置产品模拟不同设备和浏览器的请求,验证应用程序在多个条件下的认证措施。
b)预期结果:
1)产品正确识别需要身份认证的功能点。
2)产品正确处理并分类认证、未认证请求。
3)产品正确模拟来自不同设备的请求。
c)结果判定:
实际测评结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.1.5 安全控制机制识别
a)测评方法:
配置产品尝试绕过应用程序的安全控制机制,包括尝试越权访问、绕过授权机制、输入不符合要求的数据。
b)预期结果:
产品能成功模拟各种场景,并正确执行应用程序安全控制机制的检测任务。
c)结果判定:
实际测评结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.1.6 会话管理分析
对会话管理分析的测试评价方法如下所示。
a)测试方法:
1)在虚拟机或者真实主机上开启或者安装应用服务,该应用服务作为扫描对象进行扫描;
2)根据产品说明书设置扫描策略,使用产品对目标设备进行扫描;
3)检查产品是否具备识别会话管理的功能,主要包括:会话标识、会话超时、会话注销、会话鉴权、加密保护等。
b)预期结果:
1)产品能够识别会话标识、会话超时、会话注销、会话鉴权、加密保护,以及其他方面会话管理是否存在漏洞的功能。
c)结果判定:
上述预期结果均满足判断为符合,其他情况判断为不符合。
7.2.1.7 客户端与服务端交互解析
对客户端与服务端交互解析的测试评价方法如下所示。
a)测试方法:
1)检查产品是否具备导入并解析客户端与服务端交互录制文件的功能;
2)检查产品是否具备以树型目录结构解析并呈现客户端与服务端交互接口的功能;
3)当任务扫描命中漏洞时,检查产品能否在整体站点结构中标注漏洞所处位置。
b)预期结果:
1)产品具备导入并解析客户端与服务端的交互录制文件的功能;
2)产品具备以树型目录结构解析并呈现客户端与服务端的交互接口的功能;
3)产品能够在整体站点结构中标注漏洞所处位置。
c)结果判定:
上述预期结果均满足判断为符合,其他情况判断为不符合。
7.2.1.8 运行时请求发送和响应分析
对运行时请求发送和响应分析的测试评价方法如下所示。
a)测试方法:
1)在虚拟机或者真实主机上开启或者安装应用服务(如Web应用服务),该应用服务作为扫描对象进行扫描,根据产品说明书设置扫描策略,使用产品对目标设备进行扫描,检查产品是否具备查看请求详情与响应详情的功能;
2)当命中漏洞时,检查产品是否具备展示漏洞命中详情的功能;
3)检查产品是否具备展示漏洞等级、漏洞简介与修复建议的功能。
b)预期结果:
1)产品具备查看请求详情与响应详情的功能;
2)产品具备展示漏洞命中详情的功能;
3)产品具备展示漏洞等级、漏洞简介与修复建议的功能。
c)结果判定:
上述预期结果均满足判断为符合,其他情况判断为不符合。
7.2.1.9 错误和异常处理解析
对错误和异常处理解析的测试评价方法如下所示。
a)测试方法:
1)在虚拟机或者真实主机上开启或者安装应用服务(如Web应用服务),预置需登录认证通过方可访问的页面,作为扫描对象进行扫描,根据产品说明书设置扫描策略,使用产品对目标设备进行扫描,检查扫描结果中是否给出登录信息错误和异常的提示;
2)使用产品对一个网络不可达的应用服务地址进行扫描,检查扫描结果中是否给出网络错误和异常报错提示;
3)在虚拟机或者真实主机上开启或者安装应用服务,预置反爬虫或WAF机制,作为扫描对象进行扫描,根据产品说明书设置扫描策略,使用产品对目标设备进行扫描,检查扫描结果中是否给出相应错误和异常的提示。
b)预期结果:
1)产品能够给出登录信息错误和异常的提示。
2)产品能够给出网络错误和异常报错提示。
3)产品能够给出其他错误和异常的提示。
c)结果判定:
上述预期结果均满足判断为符合,其他情况判断为不符合。
7.2.1.10 超时和特殊情况处理
对超时和特殊情况处理的测试评价方法如下所示。
a)测试方法:
1)在虚拟机或者真实主机上开启或者安装应用服务,作为扫描对象进行扫描;
2)根据产品说明书设置扫描超时策略为最短时长,使用产品对目标设备进行扫描,检查扫描结果中是否给出相应错误和异常的提示。
b)预期结果:
1)产品能够自动取消扫描任务,并提示报错为扫描超时。
c)结果判定:
上述预期结果均满足判断为符合,其他情况判断为不符合。
7.2.2 安全漏洞扫描和检测
7.2.2.1 应用程序流量收集
应用程序流量收集的测试评价方法如下所示。
a)测试方法:
1)使用包含漏洞的软件作为分析对象;
2)根据产品说明书对目标软件实现流量镜像方式收集流量,使用产品对目标软件进行安全漏洞扫描;
3)根据产品说明书对目标软件实现代理方式收集PC端和移动端流量,使用产品对目标软件进行安全漏洞扫描;
4)根据产品说明书对目标软件实现VPN方式收集PC端和移动端流量,使用产品对目标软件进行安全漏洞扫描;
5)根据产品说明书对目标软件实现主机端Agent方式收集PC端流量,使用产品对目标软件进行安全漏洞扫描;
6)根据产品说明书对目标软件实现日志导入方式收集PC端流量,使用产品对目标软件进行安全漏洞扫描;
7)根据产品说明书进行https用户凭证配置,实现https流量收集,使用产品对目标软件进行安全漏洞扫描;
8)根据产品说明书查看流量镜像服务器管理界面,检查服务器状态信息;
9)根据产品说明书查看Agent管理界面,检查Agent状态信息。
b)预期结果:
1)能够使用产品实现流量镜像方式收集流量,检测结果与目标软件预期结果一致;
2)能够使用产品实现代理方式收集流量,包括PC端和移动端流量,检测结果与目标软件预期结果一致;
3)能够使用产品实现VPN方式收集流量,包括PC端和移动端流量,检测结果与目标软件预期结果一致;
4)能够使用产品实现Agent方式收集流量,检测结果与目标软件预期结果一致;
5)能够使用产品实现日志导入方式收集流量,检测结果与目标软件预期结果一致;
6)能够使用产品实现https流量收集,检测结果与目标软件预期结果一致;
7)查看流量镜像服务器管理界面,包含服务器IP、在线状态、性能等状态信息;
8)查看流量镜像Agent管理界面,包含在线状态、监听端口、占用资源、熔断阈值等状态信息。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.2.2 安全漏洞类型
安全漏洞类型的测试评价方法如下所示。
a)测试方法:
1)使用包含常见通用漏洞、框架漏洞、逻辑漏洞、加密问题漏洞以及未知漏洞的软件作为分析对象;
2)根据产品说明书使用产品对目标软件进行安全漏洞扫描;
3)查看扫描结果是否能够检测出目标软件包含的所有漏洞。
b)预期结果:
1)能够检测出目标软件包含的所有类型的漏洞;
2)能够检测出目标软件包含的未知漏洞。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.2.3 恶意请求构造和发送
恶意请求构造和发送的测试评价方法如下所示。
a)测试方法:
1)使用包含漏洞的软件作为分析对象;
2)根据产品说明书使用产品对目标软件进行安全漏洞扫描;
3)根据产品说明书进行恶意请求构造和发送;
4)查看响应结果是否包含响应包内容和web页面显示。
5)根据产品说明书进行随机恶意请求构造,查看响应结果。
b)预期结果:
1)产品支持编辑请求包,能够自行编辑恶意请求;
2)产品支持响应包内容展示;
3)产品支持响应web页面展示;
4)产品支持随机恶意请求构造,并显示响应结果。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.2.4 检测结果验证
检测结果验证的测试评价方法如下所示。
a)测试方法:
1)使用包含漏洞的软件作为分析对象;
2)根据产品说明书使用产品对目标软件进行安全漏洞扫描;
3)使用抓包工具查看产品发送的数据包,是否通过模拟攻击行为进行检测,查看检测结果。
4)根据产品说明书,对漏洞修复的软件进行回归测试,检查检测结果。
b)预期结果:
1)产品通过模拟攻击行为进行主动验证检测并记录检测结果,测试结果准确;
2)产品能够进行回归测试并记录测试结果,测试结果准确。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.3 漏洞风险评估和严重性分类要求
7.2.3.1 漏洞风险评估和严重性等级划分
漏洞风险评估和严重性等级划分的测试评价方法如下所示。
a)测试评价方法:
1)影响程度:对于发现的漏洞,评估其对产品系统机密性、完整性、可用性的影响。确定漏洞是否会影响敏感数据、关键功能或整个系统。
2)利用难度:评估攻击者利用漏洞所需的技能和资源。考虑漏洞是否容易被利用,以及攻击者可能需要哪些特殊条件。
3)漏洞环境因素:检查漏洞是否会持续存在,或者是否仅在特定条件下出现。评估漏洞是否容易被检测和发现。考虑漏洞的修复成本和漏洞影响的资产范围。
b)预期结果:
登录产品漏洞管理界面,检查每一个发现的漏洞要素,评估漏洞等级,如严重、高危、中危、低危漏洞等级。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合
7.2.3.2 漏洞影响程度
漏洞影响程度的测试评价方法如下所示。
a)测试评价方法:
1)系统机密性影响:评估漏洞可能对系统中敏感信息的机密性造成的影响。考虑漏洞是否可能导致未经授权的信息泄露。
2)系统完整性影响:评估漏洞可能对系统完整性造成的影响。考虑漏洞是否可能导致数据篡改或系统文件的损坏。
3)系统可用性影响:评估漏洞可能对系统可用性造成的影响。确定漏洞是否可能导致拒绝服务或系统不稳定。
b)预期结果
登录产品漏洞管理界面,查看漏洞的影响范围划分:对于每个发现的漏洞,根据以上综合影响因素,划分漏洞的影响范围,如仅影响机密性、可用性、完整性等,或者同时影响多个方面。
c)结果判定
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.3.3 漏洞利用难度
漏洞利用难度的测试评价方法如下所示。
a)测试评价方法
1)利用条件:确定漏洞被利用所需的特定条件,包括但不限于输入数据、系统状态、用户权限等。这些条件构成漏洞的触发条件。
2)漏洞利用难度:评估攻击者利用漏洞所需的技能水平和资源成本。考虑漏洞是否容易被利用,以及攻击者可能需要满足哪些特殊条件。
b)预期结果
3)利用条件明确:对于每个发现的漏洞,明确漏洞被触发所需的具体条件,例如输入恶意数据、具备特定权限等。
4)漏洞利用难度等级:根据触发条件的复杂性和漏洞被利用的难度,划分漏洞的利用难度等级,如低、中、高等。
c)结果判定
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.3.4 漏洞修复建议
漏洞修复建议的测试评价方法如下所示。
a)测试评价方法
1)漏洞类型明确:对于每种发现的漏洞,明确漏洞所属的类型,例如代码注入、身份验证问题、访问控制等。
2)合理性评估:评估产品提供的漏洞修复建议是否合理。考虑修复建议是否能够解决根本漏洞还是有局限性,如临时缓解。
3)可行性评估:评估产品提供的漏洞修复建议是否在实践中是可行的。考虑修复建议的实施成本、是否会引入新的问题或影响系统正常运行。
b)预期结果
登录产品漏洞详情页面,查看漏洞修复建议详情。确认是否符合如下要求。
1)漏洞类型明确: 对于每个发现的漏洞,产品应清晰地标识漏洞所属的具体类型。
2)合理的修复建议: 针对每种漏洞类型,产品提供合理、切实可行的修复建议,以解决漏洞。
3)可行性评估明确: 对于每个漏洞修复建议,产品明确评估其在实践中的可行性,并提供实施建议。
c)结果判定
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.3.5 用户定制漏洞评级和分类支持
用户定制漏洞评级和分类支持的测试评价方法如下所示。
a)测试评价方法
1)漏洞信息字段:评估产品是否支持用户自定义漏洞信息字段,包括漏洞名称、漏洞分类、漏洞等级、检测规则、漏洞描述、修复方案等。
2)灵活性:评估用户能否自由定义漏洞信息,以满足组织特定的需求。考虑产品是否提供足够的灵活性,允许用户根据实际情况进行定制,如漏洞等级、变更影响范围(如全部、本项目、应用等)。
3)界面友好性:评估产品界面是否友好,使用户能够轻松地进行漏洞信息的自定义。考虑是否提供清晰的界面和文档,帮助用户进行自定义设置。
4)继承性:目标复测时,同一漏洞风险等级修改等标记是否继承。
b)预期结果
登录产品漏洞管理界面,检查每一个发现的漏洞是否影响范围。
1)漏洞信息字段明确:产品应提供用户自定义漏洞信息字段的明确功能,包括支持的字段类型和格式。
2)灵活性明确:产品应确保用户可以根据需要自定义漏洞信息,如漏洞等级、变更影响范围(如全部、本项目、应用等)。
3)界面友好:产品的用户界面应友好且易于使用,用户可以进行漏洞信息的自定义。
4)风险修改状态继承:产品对同一应用同一漏洞复测,继承之前修改的漏洞风险等级。
c)结果判定
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4 分析结果处理
7.2.4.1 结果浏览与检索
结果浏览与检索的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书使用产品对测试目标进行动态应用安全测试;
2)测试完成后,检查产品是否提供对检测结果的浏览功能;
3)使用模糊搜索或组合搜索等方式,检查产品是否能根据搜索条件查询检测结果。
b)预期结果:
产品提供检测结果浏览和查询功能。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4.2 结果统计分析
结果统计分析的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书,查看统计分析结果;
2)检查统计分析结果是否使用可视化图表展示;
3)检查统计分析结果是否包含漏洞数量统计、漏洞类型统计、漏洞级别统计、漏洞分布等统计信息。
b)预期结果:
1)产品提供统计分析功能;
2)统计分析结果使用可视化图表展示;
3)统计分析结果中包含洞数量统计、漏洞类型统计、漏洞级别统计、漏洞分布等统计信息等统计信息;
d)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4.3 结果审计
结果审计的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书使用产品对测试目标进行动态应用安全测试;
2)根据产品说明书,对检测结果执行审计操作;
3)检查是否支持对检测结果进行误报、已修复、无风险漏洞等状态进行标记。
b)预期结果:
1)产品提供结果审计功能;
2)能够对组件识别和漏洞检测结果进行误报、已修复、无风险漏洞等状态标记。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4.4 漏洞描述
漏洞描述的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书使用产品对测试目标进行动态应用安全测试;
2)根据产品说明书,查看测试结果;
3)查看测试结果是否包含漏洞的基本信息,包括漏洞所在的路径或组件、漏洞名称、漏洞的CVE或CNNVD编号等。
4)查看测试结果是否包含漏洞的详细信息,包括漏洞级别和定级依据、漏洞原理、漏洞可能造成的影响等。
5)查看测试结果是否包含漏洞的概念性验证信息,包括验证漏洞所发送的请求信息、所接收的响应信息、监控状态等。
6)查看测试结果是否包含漏洞对应的安全检测规则信息。
b)预期结果:
1)测试结果包含漏洞的基本信息,包括漏洞所在的路径或组件、漏洞名称、漏洞的CVE或CNNVD编号等。
2)测试结果包含漏洞的详细信息,包括漏洞级别和定级依据、漏洞原理、漏洞可能造成的影响等。
3)测试结果包含漏洞的概念性验证信息,包括验证漏洞所发送的请求信息、所接收的响应信息、监控状态等。
4)测试结果包含漏洞对应的安全检测规则信息。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4.5 漏洞处置建议
漏洞处置建议的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书使用产品对测试目标进行动态应用安全测试;
2)根据产品说明书,查看测试结果;
3)查看测试结果是否包含漏洞处置建议,包括漏洞修复方案和缓解措施。
b)预期结果:
1)测试结果包含漏洞处置建议,包括漏洞修复方案和缓解措施;
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4.6 测试报告
7.2.4.6.1 报告生成
报告生成的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书,检查产品是否能够生成测试结果报告;
2)检查报告是否展示动态应用安全测试各项内容及多个目标的汇总结果;
3)检查报告是否生成测试任务的摘要信息、测试结果的统计信息、漏洞描述、漏洞处置建议等。
b)预期结果:
1)测试结果报告展示动态应用安全测试各项内容及多个目标的汇总结果;
2)测试结果报告具有测试任务的摘要信息、测试结果的统计信息、漏洞描述、漏洞处置建议等。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4.6.2 报告管理
报告管理的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书,对产品进行报告导出和删除操作;
2)检查报告导出时是否能自定义报告内容;
3)检查报告删除后是否还能查看到该份报告。
b)预期结果:
1)报告导出时能够自定义选择报告内容;
2)下载的报告内容与自定义内容一致;
3)删除后的报告无法查看。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4.6.3 报告导出
报告导出的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书,进行报告导出操作;
2)检查产品是否能够按照PDF、DOC、HTML、EXCEL等多种通用文档格式中的一种或者多种导出。
b)预期结果:
1)报告能够按照PDF、DOC、HTML、EXCEL等多种通用文档格式中的一种或者多种导出且内容无错误。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4.6.4 报告发送
报告发送的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书,指定地址和协议进行报告发送操作;
b)预期结果:
1)能够成功按照指定的地址和协议将报告发送。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.5 策略及配置管理
7.2.5.1 策略配置
策略配置的测试评价方法如下所示:
a)测试评价方法:
1)检查产品是否能够支持配置漏洞检测策略,包括OWASP TOP检测、弱口令检测、资产发现检测、流行漏洞检测、主机检测、端口扫描策略、自定义策略等,执行检测任务,查看检测结果;
2)检查产品是否能够支持配置忽略特定的检测对象,包括IP\站点\域名、路径、参数等,执行检测任务,查看检测结果。
b)预期结果:
1)产品能够根据指定的漏洞检测策略进行检测,且检测结果符合指定的漏洞检测策略范围;
2)产品能够根据指定的检测对象进行检测,且未对纳入忽略范围的检测对象进行检测。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.5.2 爆破配置
爆破配置的测试评价方法如下所示:
a)测试评价方法:
1)检查产品是否能够支持弱口令字典配置,包括优化系统内置弱口令字典、自定义弱口令字典、针对不同的系统服务形成不同的弱口令字典等,执行检测任务,查看检测结果;
2)检查产品是否能够支持配置弱口令爆破策略,包括爆破时长、爆破次数等,执行检测任务,查看检测结果。
b)预期结果:
1)产品能够支持对系统弱口令内置字典添加、删除及修改等操作,且检测结果符合弱口令字典定义的规则范围;
2)产品能够支持对弱口令爆破策略进行配置,且爆破达到策略配置的时长或次数时自动结束。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.5.3 检测范围
检测范围的测试评价方法如下所示:
a)测试评价方法:
1)检查产品是否能够支持检测范围配置,包括IPV4、IPV6,支持C段、B段、端口检测等,执行检测任务,查看检测结果;
2)检查产品是否能够支持域名、站点解析规则配置,执行检测任务,查看检测结果;
b)预期结果:
1)产品能够支持对检测范围进行配置,且检测结果符合规定的检测范围,未对检测范围外的目标进行检测;
2)产品能够支持对域名、站点解析规则配置,且检测结果符合规定的检测范围,未对检测范围外的目标进行检测。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.5.4 任务配置
任务配置的测试评价方法如下所示:
a)测试评价方法:
1)检查产品是否能够支持任务检测时长配置,指定任务检测时长阈值,执行检测任务,查看检测结果;
2)检查产品是否能够支持任务执行优先级配置,对多个检测任务配置不同的优先级,同时执行多个检测任务,查看检测结果;
3)检查产品是否能够支持任务并发数配置,指定任务并发数,同时执行多个检测任务,查看检测结果;
b)预期结果:
1)产品能够支持配置任务的检测时长阈值,且检测时长超出规定的阈值时任务自动停止;
2)产品能够支持配置任务执行优先级,且任务按照优先级依次执行;
3)产品能够支持配置任务并发数,且按配置的并发数并发执行多个检测任务。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.5.5 用户安全配置
用户安全的测试评价方法如下所示:
a)测试评价方法:
1)检查产品是否能够支持账号密码复杂度配置,尝试使用不同复杂度的账号密码添加用户;
2)检查产品是否能够支持暴力破解和防喷洒次数配置,使用错误的密码并切换不同IP尝试登录;
3)检查产品是否能够支持IP白名单配置,分别尝试使用白名单范围内和非白名单范围内的IP登录;
4)检查产品是否能够支持操作超时时长配置,指定操作超时时长,查看超过规定时长后是否自动登出;
b)预期结果:
1)产品能够支持配置账号密码复杂度,且不符合复杂度要求的用户不能成功添加;
2)产品支持配置暴力破解次数和防喷洒次数,且超过配置的暴力破解和放、防喷洒次数后,账户被锁定,不能继续尝试登录;
3)产品能够支持配置IP白名单,白名单内的IP能够成功登录,非白名单内的IP不能成功登录;
4)产品能够支持配置操作超时时长,超过规定时长后自动登出。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3 自身安全要求
7.3.1 身份鉴别
7.3.1.1 管理员鉴别
管理员鉴别的测试评价方法如下所示。
d)测试评价方法:
登录产品管理界面,检查是否在执行所有功能之前都要求首先进行身份认证。
e)预期结果:
3)在管理员执行任何与安全功能相关的操作之前都应对管理员进行鉴别;
4)登录之前允许做的操作,应仅限于输入登录信息、查看登录帮助等操作;
5)允许管理员在登录后执行与其安全功能相关的各类操作时,不再重复认证。
f)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.1.2 鉴别信息要求
鉴别信息要求的测试评价方法如下所示。
a)测试评价方法:
1)对采用基于口令作为鉴别信息的产品,在设置或修改管理员口令时,检查产品是否对管理员设置的口令进行复杂度检查,是否满足口令复杂度要求;
2)当产品初始化存在默认口令时,检查产品是否会提示管理员对默认口令进行修改;
3)检查产品是否提供鉴别信息定期更换功能,当鉴别信息使用时间达到使用期限阈值前,是否提示管理员进行修改。
b)预期结果:
1)对采用基于口令作为鉴别信息的产品,产品支持对管理员设置的口令进行复杂度检查,确保管理员口令满足一定的复杂度要求;
2)当存在默认口令时,产品应提示管理员对默认口令进行修改;
3)提供鉴别信息定期更换功能,当鉴别信息使用时间达到使用期限阈值前,提示管理员进行修改。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.1.3 鉴别失败处理
鉴别失败处理的测试评价方法如下所示。
a)测试评价方法:
1)检查产品的安全功能是否可定义管理员鉴别尝试的最大允许失败次数;
2)检查产品的安全功能是否可定义当管理员鉴别尝试失败连续达到指定次数后,采取相应的措施、阻止管理员进一步的鉴别请求;
3)尝试多次失败的管理员鉴别行为,检查到达指定的鉴别失败次数后,产品是否采取了相应的措施,并生成了审计事件。
b)预期结果:
1)产品具备定义管理员鉴别尝试的最大允许失败次数的功能;
2)产品可定义当管理员鉴别尝试失败连续达到指定次数后,采取相应的措施(如锁定该账号);
3)当管理员鉴别尝试失败连续达到指定次数后,系统应锁定该账号,并将有关信息生成审计事件;
4)最多失败次数仅由授权管理员设定。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.1.4 鉴别数据保护
鉴别数据保护的测试评价方法如下所示。
a)测试评价方法:
1)检查产品是否仅允许指定权限的管理员可查阅或修改身份鉴别数据;
2)以非授权管理员的身份尝试查阅或修改身份鉴别数据。
b)预期结果:
1)产品仅允许指定权限的管理员查阅或修改身份鉴别数据;
2)非授权管理员无法查阅或修改身份鉴别数据。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.1.5 超时设置
超时设置的测试评价方法如下所示。
a)测试评价方法:
1)检查产品是否具有管理员登录超时重新鉴别功能;
2)设定管理员登录超时重新鉴别的时间段,登录管理员后在设定的时间段内没有任何操作,检查产品是否锁定或终止了会话,管理员是否需要再次进行身份鉴别才能够重新管理和使用产品;
3)检查最大超时时间是否仅由授权管理员设定。
b)预期结果:
1)产品具有登录超时重新鉴别功能;
2)任何登录管理员在设定的时间段内没有任何操作的情况下,都被锁定或终止了会话,管理员需要再次进行身份鉴别才能够重新管理和使用产品;
3)最大超时时间仅由授权管理员设定。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.1.6 管理地址限制
管理地址限制的测试评价方法如下所示。
a)测试评价方法:
1)检查产品是否支持对管理地址进行限制,尝试以非授权范围内的地址主机登录产品管理界面;
2)尝试以授权范围内地址的主机登录产品管理界面。
b)预期结果:
1)产品应对管理员登录的地址进行限制,不能够以非授权范围内的地址登录产品管理界面;
2)支持以授权范围内地址的主机登录产品管理界面。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.2 管理员管理
7.3.2.1 标识唯一性
标识唯一性的测试评价方法如下所示。
a)测试评价方法:
1)尝试定义多个管理员;
2)尝试添加一个已有标识的管理员;
3)检查产品是否提示该标识管理员已存在,拒绝具有相同标识管理员的添加。
b)预期结果:
1)产品应允许定义多个管理员;
2)应保证每一个管理员标识是全局唯一的,不允许一个管理员标识用于多个管理员。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.2.2 管理员属性定义
管理员属性定义的测试评价方法如下所示。
a)测试评价方法:
定义分属于不同角色的多个管理员,检查输入的管理员信息是否都能被保存。
b)预期结果:
产品应为每一个管理员保存其安全属性,包括:管理员标识、鉴别数据(如密码)、授权信息或管理员组信息、其他安全属性等,输入的管理员信息无丢失现象发生。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.2.3 安全行为管理
安全行为管理的测试评价方法如下所示。
a)测试评价方法:
1)检查产品的安全功能是否明确规定仅限于指定的授权管理员能对产品的功能进行设置修改、启用/停用等操作;
2)检查指定的授权管理员对产品进行功能设置、参数修改、安全策略变更,以及启用/停用等操作前,是否应先登录才能操作。
b)预期结果:
1)产品仅限于指定授权管理员才能对产品进行功能设置、参数修改、安全策略变更,以及启用/停用等操作;
2)指定的授权管理员对产品进行功能设置、参数修改、安全策略变更,以及启用/停用等操作前,都应先通过身份鉴别。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.2.4 管理员角色
管理员角色的测试评价方法如下所示。
a)测试评价方法:
检查产品的安全功能是否允许定义多个不同权限的角色。
b)预期结果:
1)产品允许定义多个不同权限的角色;
2)每个角色可以具有多个管理员,每个管理员只能属于一个角色;
3)保证每一个角色标识是全局唯一的,不允许一个角色标识用于多个角色。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.3 安全审计
7.3.3.1 审计日志生成
审计日志生成的测试评价方法如下所示。
a)测试评价方法:
1)尝试进行 5.2.1.3.1 要求的各项操作,触发审计事件;
2)查看审计日志是否包括事件发生的期、时间、用户标识、事件描述和结果;
3)若产品支持远程管理,查看审计日志是否记录管理主机的 IP 地址。
b)预期结果:
1)产品能够针对上述事件生成审计日志,日志内容包括事件发生的日期、时间、用户标识、事件描述和结果;
2)当产品支持远程管理时,审计日志能够记录管理主机的 IP 地址。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.3.2 审计日志查阅
审计日志查阅的测试评价方法如下所示。
a)测试评价方法:
1)以授权管理员身份尝试从审计日志中读取全部审计信息;
2)检查产品是否为授权管理员提供从审计日志中读取全部审计信息的功能。
b)预期结果:
产品为授权管理员提供从审计日志中读取全部审计信息的功能。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.3.3 受限的审计日志查阅
受限的审计日志查阅的测试评价方法如下所示。
a)测试评价方法:
分别模拟授权与非授权管理员访问审计日志,检查产品安全功能是否仅允许授权管理员访问。
b)预期结果:
产品限制审计日志的访问。除了具有明确访问权限的授权管理员之外,禁止所有其他用户对审计日志的访问。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.3.4 可选审计查阅
可选审计查阅的测试评价方法如下所示。
a)测试评价方法:
检查产品是否能够支持按照一定条件,包括但不限于时间、主体、客体等对审计日志进行检索或排序。
b)预期结果:
产品支持按照一定条件对审计日志进行检索或排序。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.4 数据安全
7.3.4.1 安全管理
对安全管理的测试评价方法如下所示。
a) 测试方法:
1) 检查开发者文档中对数据安全管理的描述。
b)预期结果:
1)开发者文档中提供了在产品中实现的数据安全保护措施。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.4.2 数据存储告警
对数据存储告警的测试评价方法如下所示。
a) 测试方法:
1)检查产品安全功能是否具有存储剩余空间将耗尽的告誓警功能
2)检查产品安全功能是否允许管理员设定产生告警的的剩余存储空间的大小
3)人为地将产品存储器空间耗至设定的告警值以下,检查查产品是否告警
b)预期结果:
1)产品在发生数据存器空间将耗尽的情况时,自动产生告警;
2)允许管理员设定产生告警的剩余存储空间的大小。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.4.3 数据外发
对数据外发的测试评价方法如下所示。
a) 测试方法:
1) 检查开发者文档中对数据外发内容的描述。
b)预期结果:
1)开发者文档中提供了数据外发的内容,满足功能最小化所需内容。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.5 通信安全
通信安全的测评方法如下所示。
a) 测试方法:
1)检查开发者文档中对保证产品各组件之间通信保密性的描述;
2)使用网络协议分析工具抓取产品各组件中传输的配置和控制信息,检查是否具备保密措施。
b) 预期结果:
1)开发者文档中提供了为保证产品各组件之间通信保密性所采取措施的详细描述,列举系统为保证通信保密性所采取的措施;
2)分析抓包结果,系统在各组件之间传输数据时采取了一定的保密措施。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.6 支撑系统安全
对支撑系统安全的测评方法如下所示。
a) 测评方法:
1)查看开发者文档,并验证产品的支撑系统是否进行了必要要的裁剪,是否不提供多余的组件或网络服务;
2)重启系统,验证扫描任务的配置和日志信息是否不丢失;
3)对系统进行安全性测试,验证是否不含已知的中、高、超危安全漏洞。
b) 预期结果:
1)产品支撑系统进行了必要的裁剪,不提供多余的组件或限网络服务;
2)重启过程中,安全扫描任务的配置和日志信息不丢失夫;
3)系统不含已知中、高、超危安全漏洞。
c) 结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.4 环境适应性要求
7.4.1 支持纯IPv6网络环境
支持纯IPv6网络环境部署架构测试评价方法如下所示。
a)测试评价方法:
搭建纯 IPv6 网络环境,检测产品是否能够在纯 IPv6 网络环境下正常工作。
b)预期结果
产品能够在纯 IPv6 网络环境下正常工作,实现对目标设备的扫描。
c)结果判定
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.4.2 支持双协议栈
支持双协议栈网络环境部署架构测试评价方法如下所示。
a)测试评价方法:
搭建 IPv4/IPv6 双栈网络环境,检测产品是否能够在 IPv4/IPv6 双栈网络环境下正常工作。
b)预期结果
产品能够在 IPv4/IPv6 双栈网络环境下正常工作,实现对目标设备的扫描。
c)结果判定
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.5 安全保障要求
7.5.1 开发
7.5.1.1 安全架构
a)评估方法:
审查安全架构文档是否准确描述如下内容:
1)与产品设计文档中对安全功能实施抽象描述的级别一致;
2)描述与安全功能要求一致的动态应用安全测试系统安全功能的安全域;
3)描述动态应用安全测试系统安全功能初始化过程为何是安全的;
4)证实动态应用安全测试系统安全功能能够防止被破坏;
5)证实动态应用安全测试系统安全功能能够防止安全特性被旁路。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
7.5.1.2 功能规范
a)评估方法:
审查功能规范文档是否准确描述如下内容:
1)完全描述动态应用安全测试系统的安全功能;
2)描述所有安全功能接口的目的与使用方法;
3)标识和描述每个安全功能接口相关的所有参数;
4)描述安全功能接口相关的安全功能实施行为;
5)描述由安全功能实施行为处理而引起的直接错误消息;
6)证实安全功能要求到安全功能接口的追溯。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
7.5.1.3 产品设计
a)评估方法:
审查产品设计文档是否准确描述如下内容:
1)根据子系统描述动态应用安全测试系统结构;
2)标识和描述动态应用安全测试系统安全功能的所有子系统;
3)描述安全功能所有子系统间的相互作用;
4)提供的映射关系能够证实设计中描述的所有行为能够映射到调用它的安全功能接口。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
7.5.2 指导性文档
7.5.2.1 操作用户指南
a)评估方法:
审查操作用户指南是否准确描述如下内容:
1)描述在安全处理环境中被控制的用户可访问的功能和特权,包含适当的警示信息;
2)描述如何以安全的方式使用动态应用安全测试系统提供的可用接口;
3)描述可用功能和接口,尤其是受用户控制的所有安全参数,适当时指明安全值;
4)明确说明与需要执行的用户可访问功能有关的每一种安全相关事件,包括改变安全功能所控制实体的安全特性;
5)标识动态应用安全测试系统运行的所有可能状态(包括操作导致的失败或者操作性错误),以及它们与维持安全运行之间的因果关系和联系;
6)充分实现安全目的所必须执行的安全策略。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
7.5.2.2 准备程序
a)评估方法:
审查准备程序文档是否准确描述如下内容:
1)描述与开发者交付程序相一致的安全接收所交付动态应用安全测试系统必需的所有步骤;
2)描述安全安装动态应用安全测试系统及其运行环境必需的所有步骤。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
7.5.3 生命周期支持
7.5.3.1 配置管理能力
a)评估方法:
1)审查开发者是否为不同版本的动态应用安全测试系统提供唯一的标识;
2)现场检查配置管理系统是否对所有的配置项作出唯一的标识,且配置管理系统是否对配置项进行了维护;
3)审查开发者提供的配置管理文档,是否描述了对配置项进行唯一标识的方法。
b)预期结果:
开发者提供的文档和现场活动证据内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
7.5.3.2 配置管理范围
a)评估方法:
1)审查开发者提供的配置项列表;
2)配置项列表是否描述了组成动态应用安全测试系统的全部配置项及相应的开发者。
b)预期结果:
开发者提供的文档和现场活动证据内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
7.5.3.3 交付程序
a)评估方法:
1)现场检查开发者是否使用一定的交付程序交付动态应用安全测试系统;
2)审查开发者是否使用文档描述交付过程,文档中是否包含以下内容:在给用户方交付系统的各版本时,为维护安全所必需的所有程序。
b)预期结果:
开发者提供的文档和现场活动证据内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
7.5.4 测试
7.5.4.1 覆盖
a)评估方法:
审查开发者提供的测试覆盖文档,在测试覆盖证据中,是否表明测试文档中所标识的测试与功能规范中所描述的动态应用安全测试系统的安全功能是对应的。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
7.5.4.2 功能测试
a)评估方法:
1)审查开发者提供的测试文档,是否包括测试计划、预期的测试结果和实际测试结果;
2)审查测试计划是否标识了要测试的安全功能,是否描述了每个安全功能的测试方案(包括对其它测试结果的顺序依赖性);
3)审查期望的测试结果是否表明测试成功后的预期输出;
4)审查实际测试结果是否表明每个被测试的安全功能能按照规定进行运作。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
7.5.4.3 独立测试
a)评估方法:
1)评价者应审查开发者提供的测试资源;
2)评价者应审查开发者提供的测试集合是否与其自测系统功能时使用的测试集合相一致。
b)预期结果:
开发者提供的资源应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
7.5.5 脆弱性评定
a)评估方法:
从用户可能破坏安全策略的明显途径出发,按照安全机制定义的安全强度级别,对动态应用安全测试系统进行脆弱性分析。
b)预期结果:
渗透性测试、模糊测试结果应表明动态应用安全测试系统能够抵抗具有基本攻击潜力攻击者的攻击。
c)结果判定:
实际测试结果与预期结果一致则判定为“符合”,其他情况判定为“不符合”。
附录A
参考文献
[1] GB/T 30279-2020 信息安全技术 网络安全漏洞分类分级指南
[2] GB/T 25069-2022 信息安全技术 术语
[3] GB/T 20278-2022 信息安全技术 网络脆弱性扫描产品安全技术要求和测试评价方法