当前位置: 首页 > 专利查询>北京大学专利>正文

结合嵌入相似性与函数调用图的二进制函数识别方法及系统技术方案

技术编号:40630890 阅读:25 留言:0更新日期:2024-03-13 21:16
本发明专利技术公开了一种结合嵌入相似性与函数调用图的二进制函数识别方法及系统,所述方法包括:对源代码进行编译,生成二进制文件;对二进制文件进行分析,导出每一函数的内部特征和函数之间的调用关系;对函数内部特征向量化处理,以得到每一函数的特征向量;将所有同符号的函数当作等价类,并结合函数之间的调用关系,来构建表示符号名之间调用关系的扩展函数调用图;基于函数的特征向量与扩展函数调用图,构建一个二进制函数数据库;使用二进制函数数据库完成未知二进制程序的函数进行查询,得到未知二进制程序中的二进制函数识别结果。本发明专利技术可以对缺乏调试信息和函数符号的二进制文件进行自动化的分析,并对其内的函数进行快速识别。

【技术实现步骤摘要】

本专利技术涉及一种结合嵌入相似性与函数调用图的二进制函数识别方法及系统,属于计算机应用。


技术介绍

1、在没有调试信息和函数符号的条件下,例如恶意软件和嵌入式固件,分析二进制程序通常是一个耗时且具有挑战性的过程,需要消耗大量的人力来手工进行逆向分析。现有的函数级别解决方案,如ida f.l.i.r.t.,fcatalog等,通常倾向于使用原始字节作为识别函数的特征。尽管这些方法快速且简单,但它们对于即使是微小的变化也高度敏感。不同的编译器版本,不同的编译选项都很有可能使得这些紧依赖字节特征的方法失效。另一种解决思路是第三方成分识别技术,通过对字符串,常量等句法规则信息进行汇总,在库或者模块粒度识别出未知程序的已知成分。这种方法粒度较粗,且不能应用于模板类函数。

2、近年来,出现了许多利用机器学习技术来计算函数相似性的方案。这些方法通过神经网络模型将二进制函数嵌入到向量空间中,并使用距离度量来评估相似性。通过大量训练,可以使得神经网络模型能够应对不同编译条件下的二进制函数相似性问题。但是这类方法通常只在闭集识别任务上具有较好的效果;在开集识别任务本文档来自技高网...

【技术保护点】

1.一种结合嵌入相似性与函数调用图的二进制函数识别方法,其特征在于,所述方法包括:收集具有源代码的项目,并对源代码进行编译,生成二进制文件;

2.如权利要求1所述的方法,其特征在于,所述函数内部特征包括:基本块内的汇编指令序列和函数的控制流图。

3.如权利要求2所述的方法,其特征在于,对所述二进制文件进行分析,导出函数内部特征,包括:

4.如权利要求3所述的方法,其特征在于,所述对未正则化的汇编指令序列进行正则化处理,得到基本块内的汇编指令序列,包括:

5.如权利要求2所述的方法,其特征在于,对所述函数内部特征向量化处理,以得到每一函数的特...

【技术特征摘要】

1.一种结合嵌入相似性与函数调用图的二进制函数识别方法,其特征在于,所述方法包括:收集具有源代码的项目,并对源代码进行编译,生成二进制文件;

2.如权利要求1所述的方法,其特征在于,所述函数内部特征包括:基本块内的汇编指令序列和函数的控制流图。

3.如权利要求2所述的方法,其特征在于,对所述二进制文件进行分析,导出函数内部特征,包括:

4.如权利要求3所述的方法,其特征在于,所述对未正则化的汇编指令序列进行正则化处理,得到基本块内的汇编指令序列,包括:

5.如权利要求2所述的方法,其特征在于,对所述函数内部特征向量化处理,以得到每一函数的特征向量,包括:

6.如权利要求1所述的方法,...

【专利技术属性】
技术研发人员:韩心慧刘展鹏武新逢
申请(专利权)人:北京大学
类型:发明
国别省市:

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

1