[发明专利]一种二进制程序漏洞挖掘方法和系统有效
申请号: | 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代码来弥补模型检测的不足。实验表明,该方法可以有效检测二进制程序的内存破环型漏洞。 | ||
搜索关键词: | 一种 二进制 程序 漏洞 挖掘 方法 系统 | ||
【主权项】:
1.一种二进制程序漏洞挖掘方法,其特征在于,包括步骤:步骤A,采用反编译器IDA将二进制程序转化为汇编语言,并基于IDA进行汇编语言层次的静态分析得到函数流图;步骤B,通过中间语言平台BAP将所述汇编语言转化为BIL语言,并结合静态分析的分析结果对所述BIL语言进行Promela模型建模;步骤C,构建漏洞模型,并插入到所述Promela模型中;步骤D,引入外部C代码修补SPIN,并基于修补后的SPIN模拟执行所述Promela模型,检测漏洞;步骤E,输出检测结果和漏洞信息;其中,所述步骤B中结合静态分析的分析结果对所述BIL语言进行Promela模型建模包括步骤:B1,依据静态分析得出的函数流图,对BIL代码进行程序切片切分成BIL语句;B2,进行从切分后得到的BIL语句到Promela语句的细粒度代码转化;B3,将经过细粒度代码转化后的Promela语句构建、组装成Promela模型。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安胡门网络技术有限公司,未经西安胡门网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201511025350.4/,转载请声明来源钻瓜专利网。