[发明专利]一种多层次混合的漏洞自动挖掘方法有效
申请号: | 202010616136.0 | 申请日: | 2020-06-30 |
公开(公告)号: | CN111859388B | 公开(公告)日: | 2022-11-01 |
发明(设计)人: | 田志宏;杨佳庚;郭润生;鲁辉;张鑫国;金成杰;何陆潇涵;孙起;曹靖靖;孙彦斌;苏申 | 申请(专利权)人: | 广州大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/56;G06F11/36 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;邱明惠 |
地址: | 510006 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多层次 混合 漏洞 自动 挖掘 方法 | ||
本发明属于计算机技术领域,尤其为一种多层次混合的漏洞自动挖掘方法,包括以下步骤:S1:通过静态分析技术利用指针分析获取程序中的指针分配与赋值过程,记录所有指针指向的内存地址位置;利用别名分析技术获取CMP指令的目的操作数而明确目标程序的跳转地址;S2:通过中间代码静态插桩技术实现向目标程序的关键位置插桩监测代码。本发明将二进制可执行程序翻译成编译器的中间层表示语言,相比于二进制可执行程序,这种方法处理得到的中间层表示语言源代码具有更多的语义信息;针对LLVM IR中间表示语言的静态分析技术,相较于针对C/C++语言的分析可以实现更加细粒度的编译时静态语义信息提取。
技术领域
本发明涉及计算机技术领域,尤其涉及一种多层次混合的漏洞自动挖掘方法。
背景技术
模糊测试技术仅通过构造随机的、非预期的畸形数据作为目标程序的随机输入,监控目标程序执行过程中可能存在的异常状态,通过产生的异常状态来判断目标二进制程序中是否存在漏洞。但是模糊测试仅考虑产生随机的输入,而不是针对不同的目标程序进行优化和改进,这就导致了模糊测试对不同的目标二进制程序执行的代码覆盖率低,无法对二进制程序的绝大部分功能进行测试,也就是说漏洞挖掘的范围仅局限在目标程序的浅层逻辑,无法实现对目标程序的大部分功能进行测试并挖掘出目标程序深层逻辑的复杂漏洞。覆盖导向型模糊测试虽然使用了代码覆盖率作为测试用例优劣的衡量标准,筛选出覆盖率更高的测试用例,但是却没有任何机制来指导模糊测试的测试用例生成过程。覆盖导向型模糊测试依然需要对输入的畸形数据进行盲目的修改,并通过计算代码覆盖率来判断变异后发畸形数据是否达到了预期的效果。首先,盲目的变异导致程序的大部分执行都是重复的,修改的输入数据并没有触发更多的功能,这导致了覆盖导向型模糊测试的漏洞挖掘效率很低。其次,在遇到复杂的逻辑判断条件(例如,完整性校验和安全性检查)时,盲目的修改输入数据是无法满足判断条件的。即遇到复杂的逻辑判断时,判断后的功能往往无法进行测试。更糟糕的是,这类复杂的逻辑判断条件一般都处于目标程序的开始位置,因此覆盖导向型模糊测试很难探索目标程序的大部分逻辑和功能。
将覆盖导向型模糊测试技术与符号执行相结合的方法,虽然可以求解出复杂逻辑判断条件的输入。但是由于符号执行技术的约束求解速度缓慢,而针对复杂的逻辑判断求解过程更加复杂且缓慢,而且存在无解的情况。其次,符号执行会随着目标程序规模的增加而出现路径爆炸问题,使得符号执行的求解速度更加缓慢,甚至造成操作系统崩溃。由于符号执行技术执行效率低、资源占用过大、约束无解等局限性,将符号执行技术引入到覆盖导向型模糊测试时的效果并不理想,为此,提出一种多层次混合的漏洞自动挖掘方法。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种多层次混合的漏洞自动挖掘方法。
为了实现上述目的,本发明采用了如下技术方案:一种多层次混合的漏洞自动挖掘方法,包括以下步骤:
S1:通过静态分析技术利用指针分析获取程序中的指针分配与赋值过程,记录所有指针指向的内存地址位置;利用别名分析技术获取CMP指令的目的操作数而明确目标程序的跳转地址;
S2:通过中间代码静态插桩技术实现向目标程序的关键位置插桩监测代码;
S3:通过动态语义信息提取技术在插桩后的目标程序中,执行到监控函数时,将当前的栈帧信息保存在全局数据结构中,所述栈帧信息包括从esp寄存器中保存的内存地址到ebp寄存器中保存的内存地址中的内存信息、各个寄存器的状态及执行路径和关键变量的当前取值;
S4:通过以动态符号执行为主导的覆盖导向型模糊测试技术将插桩监测代码的目标应用程序输入到覆盖导向型模糊测试中,通过覆盖导向型模糊测试技术将模糊测试进程生成的测试用例输入到目标应用程序中执行,在目标程序执行的过程中,插桩到目标程序中的监测代码会将目标程序执行过程中的运行时动态语义信息收集到相应的测试用例。
优选的,所述S1中,静态分析技术包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州大学,未经广州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010616136.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种妇产科助产钳
- 下一篇:拉布门楣灯箱的框架以及拉布门楣灯箱