[发明专利]基于全局数据结构描述的软件安全测试方法有效
| 申请号: | 201010176764.8 | 申请日: | 2010-05-13 |
| 公开(公告)号: | CN102243608A | 公开(公告)日: | 2011-11-16 |
| 发明(设计)人: | 方兴 | 申请(专利权)人: | 方兴 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 马永利;蒋骏 |
| 地址: | 102208 北京市昌平*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 全局 数据结构 描述 软件 安全 测试 方法 | ||
技术领域
本发明涉及软件安全测试,尤其涉及基于全局数据结构描述的软件安全测试方法。
背景技术
软件的安全漏洞目前已成为其受到安全威胁的最主要的基本因素。通过挖掘安全漏洞来进行安全测试的现有技术主要包括黑盒模糊(FUZZ)测试技术、白盒源代码审计技术、以及灰盒路径测试技术。
黑盒模糊测试技术通过按一定策略对给定数据样本进行变形生成大量新的测试样本,然后启动被测试应用处理这些测试样本,检测应用是否出现异常。该技术的优点在于,门槛低,无需源代码和相关技术信息,只需要有应用和对应的数据样本就可以实现。但是该技术的缺陷在于,只能挖掘出浅层次的安全漏洞,无法理解数据真实的含义,更多深层次的漏洞难以发现,而且分析出来的信息还需要做二次分析,同时作为安全测试方法,无法准确描述其安全测试的覆盖率,测试效果依赖于样本的覆盖空间。
白盒源代码审计技术是在源代码级检测软件的安全漏洞的技术。白盒源代码审计技术的优点在于,对于已被总结出特定特征的安全漏洞可以做全路径的覆盖,无需做二次分析。但是该技术的缺点在于,第一是需要源代码,然而在很多情况下源代码是很难获取的。第二是只能针对比较简单的具有一定特征的安全漏洞形式,对于很多复杂的安全漏洞形式难以描述从而也就难以检测。第三是只能针对源代码,对于在编译过程中由于编译优化等因素而导致的安全漏洞就无法查找。
灰盒路径测试技术先把二进制程序转换成中间语言,然后使用动态流程分析跟踪数据流进行分析。该技术一直是国内外研究的焦点,但是目前很难实用化,其存在的问题是:应用很复杂,大量的执行路径需要覆盖,难以分析。另外就是动态执行的时候,只能根据已知样本的路径来分析,难以发现和追踪分支路径,反向构造样本也是困难点。
当前,在黑盒模糊测试技术的基础上,出现了基于简单的数据结构实施半透明测试的技术,其代表技术是PEACH。PEACH在传统的模糊测试之上,增加了用户可以用一个特定脚本来描述相关文件数据结构的能力,使得测试策略可以依据这个脚本描述的数据结构来实现。但是PEACH具有以下缺点:
1)描述能力和规则简单,无法描述复杂的文件结构
PEACH只简单实现了结构(其在PEACH内部被称为块)与字段这两层的结构关系。然而,文件结构通常是非常复杂的,很多文件在自身的格式和规则之外,还允许包含另一种文件格式和规则,这被称为容器。这样的结构方式,两层结构根本无法描述。
同时,结构之间的逻辑关系和物理关系是有一定区别的。例如,对于微软公司OFFICE的EXCEL的XLS文件结构,在物理上,每个记录都需要在0x8020字节之内,如果一个记录大于0x8020字节,则要分割成两个物理记录,但是在数据结构逻辑视图中,这两个物理记录属于一个记录,需要先进行物理合并,再使用数据结构逻辑视图来处理,这样的规则,PEACH根本无法描述。
2)描述规则和测试无法针对网络报文
很多网络应用协议是负载在低层另一个协议之上的,使用完全不同的规则,情况和上文提到的文件的容器概念是一致的。同时,大量的网络协议都有封包和解包的概念,与上文提到的文件结构之间的逻辑关系和物理关系是一致的。因此PEACH也难以描述这些规则和方法。
3)无法描述复杂的字段关系,只能针对简单的长度关系来进行描述
PEACH对字段关系只支持简单的长度关系描述,即B字段的长度是A字段,但是字段之间更复杂的关系就难以描述,例如B字段的长度是A字段*C字段的情况。同时,字段之间还有很多其他的计算关系能影响到安全问题。
4)无法实现整体数据视图,也没有针对整体数据视图的测试策略
由于PEACH只能简单地描述结构,所以无法形成整体数据视图,也无法在数据整体的高度上进行更高级的测试,因而无法突破传统模糊测试只能针对字段来测试的局限。
5)依赖于原始样本覆盖的数据区域,无法突破
由于PEACH缺乏新记录或记录内部其他选择分支生成能力,所以也和传统模糊测试一样,PEACH依赖于原始样本覆盖的数据区域。
发明内容
针对上文提到的现有技术的种种缺点,本发明所要解决的技术问题是提供一种能够实现覆盖率更高、测试样本更精准、测试结果更可数据指标量化的软件安全测试方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于方兴,未经方兴许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010176764.8/2.html,转载请声明来源钻瓜专利网。





