[发明专利]一种基于功能模型的二进制代码漏洞发现方法无效
申请号: | 201010133905.8 | 申请日: | 2010-03-29 |
公开(公告)号: | CN101814053A | 公开(公告)日: | 2010-08-25 |
发明(设计)人: | 王震宇;窦增杰;姚伟平;何红旗;陈楠;刘建林;刘铁铭;王瑞敏 | 申请(专利权)人: | 中国人民解放军信息工程大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 白毅明 |
地址: | 450002 *** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 功能 模型 二进制 代码 漏洞 发现 方法 | ||
一、技术领域:本发明属于计算机软件逆向分析领域,具体地说,本发明 涉及一种新的计算机软件漏洞发现技术,即一种可执行软件漏洞发现方法。
二、背景技术:二进制代码级的软件漏洞挖掘技术本质上是一种特殊类型 的基于逆向分析的软件测试技术,其研究涉及各类漏洞的形成机理、软件测试 理论、操作系统运行机制、静态的反汇编分析技术和动态调试跟踪技术、处理 器仿真动态跟踪技术等。目前的挖掘技术从逆向分析的软件测试角度而言,可 分为三类:白箱分析、黑箱分析和灰箱分析。
白箱分析包括分析和理解源代码。对于在源代码一级的软件漏洞挖掘,主 要分析不安全函数的调用,给出可能导致漏洞的程序模式或匹配规则,设计一 些静态分析工具,通过扫描源代码来发现漏洞。白箱分析的优点是高效快速, 整个过程可以自动完成,能较全面地覆盖系统代码。而其存在的问题是通过分 析会产生大量的误报,分析复杂性高,结果可用性差。2000年,美国加利福尼 亚大学的David Wagner发表的“A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities”初步给出了基于源代码分析的溢出漏洞发现规则。 Cigital的SourceScope、开放源码的ITS4、FlowFinder、Estima发布的RATS是 几款比较典型的静态扫描分析工具,可以用以发现C或C++程序中的缓冲区溢 出漏洞,其中RATS还支持Perl、PHP、Python等编程语言。
黑箱分析是指直接利用各种输入对程序进行探测,并不借助于任何源代码。 黑箱分析作为软件测试的手段已经发展了很多年,理论比较成熟。通过输入非 常规的命令行参数、交互时的输入、环境变量等数据来触发潜在的安全漏洞。 相对于白箱分析,黑箱分析容易实施,并能够较准确和真实地确定缓冲区溢出 漏洞的存在。黑箱分析的主要缺点是不能确定是否覆盖了目标程序的所有代码, 而且无法处理由一组输入序列引起的安全漏洞。Fuzzing就是一种基于黑箱分析 的漏洞自动检测技术。它向被测试的应用程序提供半有效性的输入,即可以被 应用程序所接受并且具有一定破坏性的随机输入。它检查应用程序是否能正确 处理可能的错误输入,通过监控应用程序的执行情况发现程序中潜在的漏洞。 Fuzzing技术可以用于检测多种安全漏洞,包括有:缓冲区溢出漏洞、整型溢出 漏洞、格式化串漏洞、竞争条件漏洞、SQL注入、跨站点脚本、远程命令执行、 文件系统攻击、信息泄露等。
灰箱分析结合了白箱分析和黑箱分析技术,灰箱分析一般需要某些工具的 协同工作。比如,灰箱分析在调试程序中运行目标程序,并给目标程序提供专 门的输入数据集,通过这种方法在程序运行的同时检测可能的错误和漏洞。例 如,Rational的Purify就是一个强大的工具,可以在软件运行时动态检查软件, 提供运行时详细的内存使用和资源消耗的信息,为缓冲区溢出漏洞的发现提供 依据。与灰箱分析相关的各类工具有:反汇编工具如DataRescue公司的IDA PRO、动态跟踪工具如Compuware公司的Softice、代码覆盖工具如Maryland 大学的dyninst API工具等。
此外,还有基于形式化机器证明、计算机辅助推理和补丁比对等方法的漏 洞发现技术。传统的漏洞发现方法有以下缺点:
(1)漏洞测试效率不高。在漏洞测试中,测试数据是随机产生的,或者有固 定的模式。测试数据的产生和程序如何处理这些数据无关,另外一旦测试数据 产生就是最终的测试数据,测试效率不高。
(2)漏洞测试的效果不好评估。现在常用代码覆盖率来评估漏洞测试的效果 存在很多不足,因为代码覆盖率和漏洞测试效率并不存在直接联系,代码覆盖 率高并不表示发现的漏洞多。
(3)异常不好排查。现有的漏洞发现方法不能自动分析异常的原因,且不能 自动记录指令的执行过程。
三、发明内容:
本发明针对现有技术不足,提出一种基于功能模型进行漏洞发现的全新思 路,能有效减少测试用例生成的盲目性,提高测试用例集的有效性,进而提高 漏洞挖掘的自动化程度和效率,为漏洞发现的自动化和智能性、安全性测试的 完备性等提供有力保障。
本发明所采用的技术方案:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军信息工程大学,未经中国人民解放军信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010133905.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:通用存储装置
- 下一篇:桥接器、其数据压缩方法与应用其的计算机系统