[发明专利]一种二进制程序漏洞挖掘方法和系统有效
申请号: | 201511025350.4 | 申请日: | 2015-12-30 |
公开(公告)号: | CN105678169B | 公开(公告)日: | 2019-02-26 |
发明(设计)人: | 崔艳鹏;胡建伟 | 申请(专利权)人: | 西安胡门网络技术有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 李世喆 |
地址: | 710000 陕西省西安市*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 二进制 程序 漏洞 挖掘 方法 系统 | ||
本发明提供一种二进制程序漏洞挖掘方法,包括步骤:将目标二进制程序转化为汇编语言并进行静态分析;结合静态分析的分析结果对中间语言进行Promela模型建模;构建漏洞模型插入到Promela模型中;引入外部C代码,基于SPIN模拟执行所述Promela模型,检测漏洞。本发明还提供一种二进制程序漏洞挖掘系统,包括预处理模块、代码转化模块和模型检测模块。该方法和系统,引入中间语言BIL作为二进制程序到Promela模型的转化桥梁,实现了对二进制程序的自动化建模,同时利用SPIN的嵌C功能实现模拟执行,并引入外部C代码来弥补模型检测的不足。实验表明,该方法可以有效检测二进制程序的内存破环型漏洞。
技术领域
本发明涉及计算机应用技术领域,特别涉及一种二进制程序漏洞挖掘方法和系统。
背景技术
从漏洞挖掘对象来分,软件漏洞挖掘可以分为两类:一类是针对源代码的漏洞挖掘;另一类是针对二进制程序的漏洞挖掘。源代码漏洞挖掘的最大特点是:有丰富、完备的语义信息。所以,针对源代码的漏洞挖掘相对比较容易。一般采用静态分析的方法就可以检测出漏洞,且在静态分析时,由于有明确的程序执行路径,所以其通常有较高的代码覆盖率。
然而源代码毕竟不是二进制程序,源代码层次的安全并不代表二进制程序的安全,两者之间的对应性无从验证,比如,源代码中不存在编译、链接过程中引入的漏洞。Linux系统下的符号链接漏洞就是在链接过程中引入的漏洞,该类漏洞在源代码中并不存在,却真实地存在于二进制程序中。另一方面,由于商业利益和软件产权保护等问题,很多时候安全工作者并不能拿到软件源代码,而只能针对二进制程序进行漏洞挖掘。所以,研究二进制程序的漏洞挖掘具有十分重要的意义。
从语义信息上来说,二进制漏洞挖掘要比源代码困难许多,因为它面对的不是具有完整语义的高级语言,而是贴近系统底层的机器码。也正因为此,对二进制程序进行漏洞挖掘,会比在源码上更加实用与准确。
对于二进制程序的漏洞挖掘,按照其是否真实执行可分为三类:1)静态分析法进行漏洞挖掘;2)动态执行法进行漏洞挖掘;3)动静结合进行漏洞挖掘。
静态分析指在不执行程序的情况下,对程序进行语义、流程分析的技术。静态分析中,目前研究较多的是静态污点分析(Static taint analysis)和符号执行(Symbolicexecution)。静态污点分析是在程序数据流和控制流分析的基础上,将输入数据标记为“污染数据”(不可信数据),然后检查被污染数据是否影响程序中某些关键节点,比如:jmp、call指令。如果影响,则认为存在漏洞。而符号执行指在不真实执行程序的情况下,用符号值表示程序变量的值,然后模拟程序执行来进行相关分析。
动态执行指通过真实执行二进制程来进行漏洞挖掘。该技术目前采用较多是动态污点分析(Dynamic taint analysis)和模糊测试(Fuzzing)。动态污点分析和静态污点分析的原理基本相同。区别在于,静态污点分析在检测时并不真正运行程序,而是通过模拟程序的执行来传播污点标记;而动态污点分析技术需要运行程序,同时实时传播并检测污点标记。模糊测试(Fuzzing)在一种基于动态执行的漏洞挖掘方法,在整个软件漏洞挖掘领域中占有重要地位,也是目前二进制程序漏洞的主要挖掘方式。该技术通过构造不同样本数据来测试二进制程序的执行状况,从而确定目标程序是否存在漏洞。
静态分析与动态执行技术都有其各自的优缺点,比如:静态分析的优势在于分析全面,但准确性差强人意。动态执行在准确性上表现良好,但代码覆盖率很低。仅仅依靠静态或者动态的方式对二进制程序进行漏洞挖掘显然存在一定的弊端,如何采用动静结合的方式进行有效的漏洞挖掘是该领域技术人员需要解决的技术问题。
发明内容
本发明提供一种二进制程序漏洞挖掘方法和系统,以解决上述技术问题。
本发明提供的一种二进制程序漏洞挖掘方法,包括步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安胡门网络技术有限公司,未经西安胡门网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511025350.4/2.html,转载请声明来源钻瓜专利网。