一种基于代码特征的跨平台二进制代码匹配方法及系统技术方案

技术编号:38475556 阅读:30 留言:0更新日期:2023-08-15 16:55
本发明专利技术涉及一种基于代码特征的跨平台二进制代码匹配方法及系统,包括从内存dump出data或rdata段的数据提取里面的常量字符串特征,并通过算法生成常量字符串的哈希特征值;依次提取语法/文本特征,提取代码的语义特征以及提取图同构的特征,将所有特征按照预定顺序进行首尾相接,拼接成高维的特征向量;对所有高维的特征向量进行降维,使用分类器对降维后的特征向量进行多分类训练,得到训练好的分类器模型,并对新的特征向量进行分类匹配,判断新的特征向量的二进制代码属于哪种加密或者签名校验。本发明专利技术能快速找到恶意app用于加密或签名的二进制代码,还能广泛用于代码抄袭检测、补丁检测、代码漏洞发现、恶意软件族谱追踪等。踪等。踪等。

【技术实现步骤摘要】
一种基于代码特征的跨平台二进制代码匹配方法及系统


[0001]本专利技术涉及软件安全
,尤其涉及一种基于代码特征的跨平台二进制代码匹配方法及系统。

技术介绍

[0002]随着智能设备的普及,基于这类设备的app日益增多,其中不乏大量的恶意app,为了更好地防范和打击这类恶意app,需要对app进行代码分析,而因为这类app是已经编译过的app,因此只能分析其二进制代码,但是这类恶意app有很多恶意功能,一般情况下不能在真机中运行,只能通过静态方法或者模拟器执行的方式分析器源码,找到恶意功能实现的细节和原理;为了防止被逆向分析,很多恶意app都会使用加密算法对自身代码进行加密,或者对发送的数据包做加密或指纹签名,因此,分析前必须先解密数据才能继续对代码进行分析。
[0003]现有对恶意app用于加密或者签名代码的逆向分析,主要是提取特征后进行比对,比如一种是提取常量特征后转为哈希值匹配,这种方式按照ASCII码的方式提取常量,会提取大量无意义的字符串,这些无意义的字符串常量会反过来增加哈希值数量,加大数据存储和后续计算匹配的压力,而本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于代码特征的跨平台二进制代码匹配方法,其特征在于:所述方法包括:S1、从内存dump出data或rdata段的数据提取里面的常量字符串特征,并通过算法生成常量字符串的哈希特征值;S2、依次提取语法/文本特征,提取代码的语义特征以及提取图同构的特征,将所有特征按照预定顺序进行首尾相接,拼接成高维的特征向量;S3、通过随机森林算法对所有高维的特征向量进行分类实现压缩降维,使用分类器对降维后的特征向量进行多分类训练,得到训练好的分类器模型,通过该分类器模型对新的特征向量进行分类匹配,判断新的特征向量的二进制代码属于哪种加密或者签名校验。2.根据权利要求1所述的一种基于代码特征的跨平台二进制代码匹配方法,其特征在于:所述提取语法/文本特征包括:以指令的基础块为单元,去除该单元内所有二进制汇编指令的操作数只保留操作码,以此屏蔽不同的常数项和寄存器带来的文本差异;对于每个操作码求出其tf

idf值,其值越高说明该指令在当前基础块内的特征越明显;将所有操作码转换成字典,然后将当前基础块中所有操作码的tf

idf值按照该操作码在字典内的位置顺序排列,形成该基础块的N

hot特征向量。3.根据权利要求1所述的一种基于代码特征的跨平台二进制代码匹配方法,其特征在于:所述提取代码的语义特征包括:在基础块的最后指令执行完毕后收集所有通用寄存器的值,并按照预定顺序将这些值进行排列,形成基础块输出值特征向量。4.根据权利要求1所述的一种基于代码特征的跨平台二进制代码匹配方法,其特征在于:所述提取图同构的特征包括:运行二进制代码文件筛选出没有被执行的所有基础块和二进制代码,通过静态分析的方式将没有被执行的基础块以及其之间的跳转指令进行空指令操作,并将没有被执行的二进制代码进行空指令操作;在基础块最后指令执行结束时提取通用寄存器的值作为特征,并提取基础块指令条数、基础块的入度和基础块的出度作为特征;判断跳转指令的跳转类型并提取作为特征,提取函数参数、函数返回值、函数调用的入度、函数调用的出度、函数代码指令条数、函数栈空间大小、函数局部变量个数和函数内部基础块个数作为特征;将提取的所有特征按照预定顺序依次排列形成N维特征向量。5.根据权利要求1所述的一种基于代码特征的跨平台二进制代码匹配方法,其特征在于:所述S3的步骤具体包括:通过随机森林算法产生大量子树,每个子树抽取原特征向量特定数量的维度进行分类并以向量的形式输出分类结果,每个子树的高度为3,叶子节点数为8,即每个子树生成的向量为8维,设子树数量为L,原特征向量维度为N,N/L>8;将随机森林每个子树运行结果的向量首尾拼接得到新的降维后的特征向量,使用分类器对生成的降维后的特征向量进行多分类训练,得到训练好的分类器模型,通过该分类器模型对新的特征向量进行分类匹配,判断新的特征向量的二进制代码属于哪种加密或者签名校验。
6.根据权利要求1

5中任意一项所述的一种基于代码特征的跨平台二进制代码匹配方法,其特征在于:所述方法还包括训练样本生成步骤,所述训练...

【专利技术属性】
技术研发人员:朱辉刘欣鑫
申请(专利权)人:软安科技有限公司
类型:发明
国别省市:

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

1