一种跨架构的二进制程序漏洞函数关联方法技术

技术编号:16345906 阅读:228 留言:0更新日期:2017-10-03 22:19
本发明专利技术公开了一种跨架构的二进制程序漏洞函数关联方法。本方法为:1)对待二进制程序的二进制文件进行逆向分析,得到一待测函数库;然后根据该待测函数库,获取函数调用图、函数控制流图、函数基本属性;2)根据函数调用图、函数控制流图、函数基本属性提取每一待测函数的特征;然后根据提取的特征和漏洞函数的特征,计算每一待测函数与漏洞函数的数值相似度;3)对于每一待测函数,分别构造该待测函数与漏洞函数的赋权二部图,采用二部图算法计算该待测函数与漏洞函数的整体相似度;4)如果待测函数与漏洞函数的整体相似度大于设定判定阈值,则判定该待测函数为疑似漏洞函数,反之判定为正常函数。本方法实现简单,易于推广。

【技术实现步骤摘要】
一种跨架构的二进制程序漏洞函数关联方法
本专利技术涉及二进制程序漏洞挖掘与逆向分析领域,具体涉及一种跨架构的二进制程序漏洞函数关联方法,属计算机程序检测

技术介绍
随着全球信息技术的高速发展和信息化系统、信息化产品的迅速普及,计算机软件已经成为世界经济、科技、军事和社会发展的重要组成。实践表明,绝大部分的信息安全事件都是攻击者借助软件漏洞发起。因此,安全漏洞是直接影响信息安全系统的决定性因素,有必要对软件漏洞进行分析与利用。漏洞分析按被分析的对象可分为源码级与二进制级。源码级的漏洞分析技术是直接对用高级语言编写的程序进行分析。分析者可以利用源代码中丰富完整的语义信息,通过一系列漏洞分析技术,发现程序中的编码错误以及设计缺陷。但在实际应用中大量商业软件均以二进制代码形式存在,源代码却难以获取。因此,二进制程序漏洞分析逐渐成为了信息安全领域的一个重要分支。函数关联技术主要基于二进制代码相似性检测。早期的应用场景是计算针对同架构编译的两个二进制文件的相似度来进行函数关联,由于是针对同架构进行编译,反汇编后得到的汇编程序是同一个指令集的,因此可以将汇编程序看成是字符串,直接进行相似本文档来自技高网...
一种跨架构的二进制程序漏洞函数关联方法

【技术保护点】
一种跨架构的二进制程序漏洞函数关联方法,其步骤为:1)对待二进制程序的二进制文件进行逆向分析,得到一待测函数库;然后根据该待测函数库,获取函数调用图、函数控制流图、函数基本属性;2)根据函数调用图、函数控制流图、函数基本属性提取每一待测函数的特征;然后根据提取的特征和漏洞函数的特征,计算每一待测函数与漏洞函数的数值相似度;3)对于每一待测函数,分别构造该待测函数与漏洞函数的赋权二部图,采用二部图算法计算该待测函数与漏洞函数的整体相似度;4)如果待测函数与漏洞函数的整体相似度大于设定判定阈值,则判定该待测函数为疑似漏洞函数,反之判定为正常函数。

【技术特征摘要】
1.一种跨架构的二进制程序漏洞函数关联方法,其步骤为:1)对待二进制程序的二进制文件进行逆向分析,得到一待测函数库;然后根据该待测函数库,获取函数调用图、函数控制流图、函数基本属性;2)根据函数调用图、函数控制流图、函数基本属性提取每一待测函数的特征;然后根据提取的特征和漏洞函数的特征,计算每一待测函数与漏洞函数的数值相似度;3)对于每一待测函数,分别构造该待测函数与漏洞函数的赋权二部图,采用二部图算法计算该待测函数与漏洞函数的整体相似度;4)如果待测函数与漏洞函数的整体相似度大于设定判定阈值,则判定该待测函数为疑似漏洞函数,反之判定为正常函数。2.如权利要求1所述的方法,其特征在于,计算所述数值相似度的方法为:21)对同一份源码编译为不同架构的多份二进制可执行文件;然后对每一份二进制可执行文件进行逆向分析,得到一函数库以及提取每个待测函数的特征;22)基于提取的特征,对不同函数库间的每两个函数计算相似度作为集成分类器的输入向量;如果两个函数名称相同,则标签为1,对应输入向量作为正样本,否则作为负样本,得到一初始样本集;其中集成分类器包括多个分类器;23)每次从该初始样本集中有放回的抽取多个样本,构造若干独立同分布的子训练样本集,作为该集成分类器中每个分类器的训练样本;24)分别将子训练样本集输入对应的分类器进行训练,然后基于漏洞函数和每个待测函数的特征采用训练好的分类器对漏洞函数和待测函数进行预测,然后将得到的若干预测值加权平均作为所述数值相似度。3.如权利要求1或2所述的方法,其特征在于,对步骤1)获取的函数控制...

【专利技术属性】
技术研发人员:石志强常青陈昱王猛涛孙利民朱红松
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1