[发明专利]一种基于NLP的二进制代码相似性比对方法有效
申请号: | 202110988539.2 | 申请日: | 2021-08-26 |
公开(公告)号: | CN113703773B | 公开(公告)日: | 2022-07-19 |
发明(设计)人: | 贾张涛;付修锋;李雅斯;杨铁湃;邵飒;金玉川 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F40/216;G06F40/284 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 刘瑞东 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nlp 二进制 代码 相似性 方法 | ||
1.一种基于NLP的二进制代码相似性比对方法,其特征在于,该方法包括如下步骤:
第一步:二进制代码反汇编
将二进制代码文件Bin_0转换为汇编文件Asm_0;
第二步:汇编文件切分
Asm_0为二进制代码函数的集合,对Asm_0进行函数、代码块提取,函数是多个代码块的集合;
第三步:特征提取
依据拆分好的代码块序列,利用NLP算法,结合函数特征信息,对二进制代码的文件、函数块、代码块分别进行编码,获得函数的特征向量;
第四步:相似度计算
通过计算函数特征向量之间的距离来获取函数的相似情况,根据函数的相似情况判断二进制代码工程的相似度;
所述第三步具体包括如下步骤:
S31、函数块P表示为代码块的集合,P={L_1,L_2,……,L_m};
S32、对于代码块L_k进行分词处理,k=1,…,m:根据汇编语言的特征,对代码块的文本进行分词处理;
S33、将代码块L_k序列映射成特征向量:使用哈希函数将每个代码块生成一组长度为64位向量,得到代码块L_k对应的哈希向量Hash_k;
S34、分词词频统计,代码块L_k的各个分词进行词频统计,以每个分词出现的频度作为该分词权值,T_k={…,mov:X,…},X为mov出现的频度;
S35、赋权,根据分词权值对代码块L_k对应的哈希向量Hash_k根据特定规则赋予权重值,输出该代码块各分词的加权向量;
S36、函数P处理:对函数P中每个代码块进行处理,得到每个代码块包含分词的加权向量;
S37、合并:将函数P中所有代码块中同一分词的向量进行加权合并,以对数据进行压缩,得到函数P中每个分词的加权向量;
S38、降维:将函数块P每个分词的加权向量进行相加,进行降维操作,得到函数P的64位加权向量;
所述第四步具体包括:
S41、首先通过调用代码特征的提取方法获取两个工程的函数特征向量Hash_P,并分别统计函数总数目;
S42、以距离S为阈值,根据函数特征向量Hash_P对函数进行分类,特征向量相同记为相同函数,特征向量不同且向量距离小于S记为相似函数,其他记为不同函数,统计每个二进制文件函数相似情况;
S43、以相同、相似函数数量之和占函数总数的百分比作为工程相似度。
2.如权利要求1所述的基于NLP的二进制代码相似性比对方法,其特征在于,所述第一步具体包括:通过二进制代码反汇编工具,将二进制代码文件Bin_0转换为汇编文件Asm_0。
3.如权利要求1所述的基于NLP的二进制代码相似性比对方法,其特征在于,所述第二步具体包括:
S21、根据函数开始标识和函数结束标识,对汇编文件进行切分,提取汇编文件中的函数信息;函数用P表示,一个汇编代码S由S={P_1,P_2,……,P_n}表示;
S22、每一个函数由多个代码基本块组成,并通过分支指令标记,代码块用L表示,每个函数表示为多个代码块的集合P={L_1,L_2,……,L_m};
S23、对汇编文件中的函数标识、偏移地址、分支指令、函数地址、跳转地址和立即数进行标准化处理。
4.如权利要求3所述的基于NLP的二进制代码相似性比对方法,其特征在于,分支指令标记包括jnz和jmp。
5.如权利要求1所述的基于NLP的二进制代码相似性比对方法,其特征在于,所述步骤S32中汇编语言的特征包括Mov、add和Sub。
6.如权利要求1所述的基于NLP的二进制代码相似性比对方法,其特征在于,所述步骤S35具体包括:根据分词权值与代码块的哈希向量相乘获得加权向量,若哈希向量的第i位为1,则用“1”与分词权值相乘获得该位的向量值,若哈希向量的第i位为0,则用“-1”与分词权值相乘获得该位的向量值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110988539.2/1.html,转载请声明来源钻瓜专利网。