版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种二进制代码复用的开源组件版本识别本发明公开了一种二进制代码复用的开源述敏感特征包括:全局常量特征和函数级别特22)基于所述敏感特征,计算目标二进制代码与各似度constantssimilarity和函数出度入度特征相似度callgraphsimilarity,所述获取开源组件征相似度constantssimilarity与函数出度入度特征相似度callgraphsimilarity相加,得到函数在版本集合GlobalMatch中,基于数值最高的函数级别特征相似度构建版本集合其中BIN表示从目标二进制代码中提取出来的全局常量特征量特征在所有版本源代码中出现的次数;函数级常量特征相似度码中提取出来的函数级常量特征;函数出度入度特征相似度callgraphsimilarity=distEclud(BinFuncin,SrcFuncin)+distEclud(BinFunc_out,SrcFunc_out),其中3被设置为运行所述计算机程序以执行如权利要求1-5中4else中的常数特征。这些特征有助于计算目标二进制文件与不同开源组件之间的相似程进制文件复用了某开源组件的具体哪一个版本时,其中的一些特征在不同版本上区分度不大,即无法有效地用于区分不同版本的开源组件。以开源组件Openssl为例,已有工具分析该目标二进制文件具体复用了哪个版本的Openssl,而这正是本发明技术方案要解决的问题。进制代码和错误版本的源代码相似性最高的现象,导致误报。例如,图1展示了开源库freetype版本2-6中的数组ft_extra_glyph_unicodes以及该数组在二进制文件freetype-VER-2-6.so中的表现形式,图2展示了开源库freetype两个版本2-3-6和2-6上的某一全局5[0011]1)分别提取目标二进制代码与各版本源代码的敏感特征,其中所述敏感特征包6度constantssimilarity和函数出度入度特征相似度callgraphsimi其中#表示常数列表中项目的总数,Binfunc_const表示从目标二进制代码中提取的函数级常量特征,Srcfunc_const表示从一版本源代码中提取出来的函数级常量y[0026]进一步地,函数出度入度特征相似度callgraphsimilarit=distEcludy[0029]2)将函数级常量特征相似度constantssimilarity与函数出度入度特征相似度[0030]3)在版本集合GlobalMatch中,基于数值最高的函数级别特征相似度构建版本集7其余版本的feature_hash值都不同,就表示这个版本中有其余版本中都没有的字符串特征。在源代码层面,通过识别该字符串可将这个版本和其余版本区分开。我们使用#(distinct(feature_hash))来表示所有版本中独特的feature_hash的总数,符号n表示这[0050]考虑到开源库的版本更迭会带来函数的改变,本发明启发式地采用函数级别特数与二进制文件中提取出来的常数是一致的。双方提取出来的常数按升序排列后都是[0,序排列后分别是[0,0,1,1,2,6]以及[0,0,1,2,2,6],这两个序列和VER-2-6中的都有差异;8使用LLVM编译器基础框架作为后端。Clang可以对代码片段进行词法分析并且生成代码片饰的函数名集合作为导出函数列表。图7展示了本发明提取的代码特征示例以及相应的源此本系统借助反汇编工具进行分析。交互式反汇编软件IDA(TheInteractive二进制文件的函数片段。这个工具提供了一套叫做IDAPython的pythonSDK,其中封装了IDA的主要功能,能够通过编写IDAPython脚本实现提取IDA解析出来的二进制文件中包含子窗口stringwindows以及exportwindows中,可以直接通过相应的API接口获得这两类用关系可以通过获取idaapi.cot_call类型的运算符(opcode)来提取,基于函数间的调用9虑对于特征实例进行加权,具有更高信息量的特征实例对应的权重最高。本发明仿照TF-IDF算法的思路,将特征实例按照频次进行加权,获得的权重计算公式用weighted_它和一个源代码函数Srcfunc的相似度constantss目标二进制文件的函数中提取的函数赋值常量和函数参数中常量两种特征,Srcfunc_们通过在前面补0保证两个函数的向量维度相同。然后使用如下公式计算双方函数调用图[0075]1、全局匹配阶段:计算目标二进制文件与其复用的开源组件的每个版本之间的独特函数为只在这个版本的源代码中存在的函数,可通过对GlobalMatch中每个函数进行VulnerabilitiesusingPatch-EnhancedVulnerabilitySignatures”一文中3.2.2小constantssimilarity+callgraphsimilarity值最高的函数对认为匹配。记录GlobalMatch与目标二进制文件匹配上了独特函数的开源组件版本集合FunctionMatch={v1形的出现是因为目标二进制文件可能对原始复用的开源组件版本通过打补丁的方式进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026北京冬奥面试题及答案
- 2026北美会计面试题及答案
- 护理服务质量评价标准
- 2026边检类面试题目及答案
- 2026编导类面试题目及答案
- 2026表演儿歌面试题及答案
- 2026病理科前景面试题及答案
- 2026亳州小学面试题及答案
- 2026部门交互面试题及答案
- 2026重庆垫江县杠家镇人民政府招聘政法社工1人笔试题库附参考答案详解【考试直接用】
- 竞聘护理部副主任
- 高中部编版教材 必修上册 必背篇目
- 建筑工程施工图设计文件暖通专业常见问题汇编
- (高清版)DZT 0291-2015 饰面石材矿产地质勘查规范
- 高一年级第二学期期末考试化学试题与答案解析(共三套)
- 脑积水术后病人的护理查房课件
- 控制电机与特种电机 课后习题及其答案
- 状元大考卷五年级下册数学人教版
- 赛瓦特机组使用说明书
- (3.1)-1.1《中药养颜秘籍》导读
- GB/T 10116-1988仲钨酸铵
评论
0/150
提交评论