文档详情

Defensics健壮性测试工具测试方案.doc

发布:2023-08-10约6.93千字共11页下载文档
文本预览下载声明
保证原创精品 已受版权保护 Defensics健壮性测试工具测试方案 前言 本文档就CodenomiconDefensics的工控安全测试方案提供说明,就测试原理,测试组网,支持的协议以及测试流程提供帮助,指导测试的进行。 测试日程安排 N/A 产品功能介绍 CodenomiconDefensics是基于协议级别的专门进行fuzzing测试的健壮性测试工具,专门用于发掘产品当中的未知漏洞。当前随着APTs高级持续攻击的日益猖獗,网络及工控安全面临前所未有的挑战,大部分的攻击利用的都是设备或系统当中的零日漏洞,这类漏洞由于缺少相应的防护措施以及补丁,往往成为黑客攻击的首选。而黑客在寻找零日漏洞时往往采用的就是fuzzing技术,Defensics能够先敌而动,在黑客攻击之前发现产品当中隐含的零日漏洞,帮助客户弥补潜在的安全隐患。 CodenomiconDefensics通过构造有序的异常用例集合,来查看系统是否会出现中断或服务失败等现象。通过采用基于协议建模的构建方法,可以保证对协议所有状态机和字段的覆盖。而通过智能高效的用例生成策略,可以使测试人员从无限的数据源中摘取出容易诱发系统服务失败的数据。作为黑盒测试,Fuzzing测试不需要访问源代码,因此可在第三方软件上使用。通过自动化的用例生成、管理和执行,最大限度地提升测试效率,保证产品的安全质量。 测试原理 模糊测试(Fuzzing),是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。目前国际上公认找寻未知漏洞的最佳途径就是通过Fuzzing。 Codenomicon公司主推的Defensics产品就是一款基于黑盒的专门针对网络协议进行Fuzzing的安全性/健壮性测试平台。我们会选取出一系列的有组织的异常数据(畸形报文)发送给被测设备,并通过正常报文的探测来观察被测设备是否还处于正常工作状态。这里所谓的“有组织的异常数据”是通过一下两个方向来形成的: 缓冲区溢出/溢进,边界值,等等(后续会有具体分类); 根据某种特定网络协议的规约(比如RFC)来对该协议的每一个具体字段,以及整个状态机的所有报文顺序进行遍历,确保代码的高覆盖率。 以下是Defensics进行Fuzzing的原理,如图所示,一个完整的测试场景一般可以分为三个步骤: 互通性测试,互通性测试的目的是检测工具和被测物之间的配置一致性和连通性是否正常。工具会发送一组正常的协议报文用例到被测物,每个用例都是一个完成的报文交互过程,通过这样一组正常用例,可以覆盖协议所有的状态机和字段,在发送异常用例之前确保被测物状态正常,同时检查其支持的协议状态机。 发送异常报文,工具会基于正常的互通性用例生成异常用例,每一个用例同样是一个完整的协议交互,工具会修改其中的某个报文的某个字段或某几个字段,或者重新构造整个报文,用例的数量从几万到几百万不等,工具会自动化的执行测试。 发送探测报文,每发送一个异常测试用例之后,工具会发送一个正常的探测报文,去检查被测物是否能正常响应探测报文,其目的一是检查一下被测物在接收到异常报文后是否能够正常提供服务,二是在进行下一条用例前确保被测物的状态正常。如果被测物能够正常响应检测报文,工具会自动跳转到下一条用例。如果不能正常响应,工具会一直检测下去直到被测物响应为止。 检查配置/一致性 检查配置/一致性 失败 互通性测试 通过 通过 下一个测试例 下一个测试例 发送异常报文 发送异常报文 轮数+1 轮数+1 发送探测报文 发送探测报文 通过失败 通过 失败 根据上图我们可以看到判定探测报文通过与否是我们检验某一条测试用例是否对SUT造成影响的唯一标准;而判定标准是由Timeout值决定的,该值由测试人员根据SUT的正常响应时间决定。所以,所有我们判定探测失败的测试用例,都是因为超过了Timeout值还没有得到正常的相应,通过这种机制,我们可以100%的确保没有误判,因为所有失败的用例都使得SUT在正常响应时间内无法提供服务。 这里我们以IPv6协议为例,结合Defensics的界面进行具体说明。 在Interoperability中套件已经根据规约定义好正常的协议交互测试用例,这些用例覆盖了该协议所有可能的状态机。点击test即开始执行互通性测试,通过互通性测试可以检查测试仪和被测设备之间的配置一致性是否正常,有些被测设备可能并不支持协议的全部实现,会显示为部分pass,部分fail(绿色表示pass,红色表示fail)。 2. 在进行完Interoperability(互通性测试)之后,工具会基于刚才跑通的正常用例生成变异的测试用例,由于之前进行了互通性检测,可以保证被测设备对这部分功能是支持的。在5)test cases中可以选择异常用例的范围。 3. 在选择完
显示全部
相似文档