二进制漏洞特征提取和匹配的处理方法、装置、处理器及其计算机可读存储介质制造方法及图纸

技术编号:38553671 阅读:31 留言:0更新日期:2023-08-22 20:58
本发明专利技术涉及一种二进制漏洞特征提取和匹配的处理方法,其中,该方法包括以下处理步骤:(1)预训练处理:利用大量无标签汇编代码训练预训练模型;(2)模型微调处理:增加神经网络,将预训练模型进行函数相似度预测任务的训练和调优,得到微调预训练模型;(3)函数相似性预测处理:利用微调预训练模型对漏洞函数和待检测函数进行相似性判断,并根据两个函数的语义相似度,判断待检测函数是否为漏洞函数。本发明专利技术还涉及一种相应的装置、处理器及其存储介质。采用了本发明专利技术的该方法、装置、处理器及其介质,可以准确的分辨不同指令集架构中的相似函数和不相似函数,相比于现有先进跨架构函数相似度检测技术SAFE,本技术方案有效的提高了检测能力。测能力。测能力。

【技术实现步骤摘要】
二进制漏洞特征提取和匹配的处理方法、装置、处理器及其计算机可读存储介质


[0001]本专利技术涉及网络安全
,尤其涉及漏洞检测
,具体是指一种二进制漏洞特征提取和匹配的处理方法、装置、处理器及其计算机可读存储介质。

技术介绍

[0002]广泛的代码复用已经使得漏洞在各种软件中扩散开来,威胁着整个网络空间的安全。在OWASP的2020年十大应用安全风险中,“使用已知漏洞组件”被列为其中之一,因此迫切需要准确、大规模地检测这些漏洞代码。在从大量软件中识别出类似漏洞函数时,我们经常需要处理二进制级别的软件,例如各种商业软件和各种物联网固件。然而,这项任务具有挑战性,因为编译过程中函数的源码级别信息(例如数据结构定义)被删除了。
[0003]目前,现有的静态方法通常需要由二进制分析专家提取人工构造的特征来匹配类似的函数。这些特征通常是根据函数的语法特征进行编码的。例如,常用的二进制分析工具BinDiff通常会提取基本块的数量和函数调用的数量来确定函数的相似性。也有其他工作引入了更多精心挑选的静态特征,比如使用指令序列的特定窗口大小来本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种二进制漏洞特征提取和匹配的处理方法,其特征在于,所述的方法包括以下处理步骤:(1)预训练处理:利用大量无标签汇编代码训练预训练模型,以使得所述的预训练模型学习和理解不同汇编代码的语义;(2)模型微调处理:通过增加神经网络,将所述的预训练模型进行函数相似度预测任务的训练和调优,并得到微调预训练模型,以使得所述的微调预训练模型能够进行相似或相同函数的识别;(3)函数相似性预测处理:利用所述的微调预训练模型对漏洞函数和待检测函数进行相似性判断,并根据两个函数的语义相似度,判断所述的待检测函数是否为漏洞函数。2.根据权利要求1所述的二进制漏洞特征提取和匹配的处理方法,其特征在于,所述的步骤(1)具体包括以下步骤:(1.1)使用微执行工具对二进制函数预处理,并生成微执行轨迹值序列;(1.2)对所述的微执行轨迹值序列进行随机掩码操作,通过训练一个掩码语言模型MLM,使得所述的预训练模型能够有效的预测掩盖词元的实际值;(1.3)将经过掩码处理的所述的微执行轨迹值序列输入到所述的预训练模型中,以通过预测掩码位置的实际字符,来确保所述的预训练模型能够学习到所述的微执行轨迹值序列的真实执行语义。3.根据权利要求2所述的二进制漏洞特征提取和匹配的处理方法,其特征在于,所述的步骤(1.1)具体为:使用开源微执行工具MicroX对大量无标签的函数代码进行执行,并收集执行过程中在当前新执行指令之前的旧指令中的每个词元的动态值,取出和当前新指令有关的词元动态值,通过所述的动态值生成当前指令的微执行轨迹值序列;在所述的微执行轨迹值序列中,每个单元均对应旧指令中寄存器或者内存位置的动态值;对于没有动态值的指令词元,则使用特殊词元进行表示。4.根据权利要求3所述的二进制漏洞特征提取和匹配的处理方法,其特征在于,所述的方法还包括引入指令位置序列和操作码/操作数位置序列来表示各个指令之间和每个指令内部的相对位置;其中,所述的指令位置序列为一个整数序列,用于编码每个指令的位置;所述的操作码/操作数位置序列也为一个整数序列,用于记录每条指令中每个操作码或者操作数的位置。5.根据权利要求3所述的二进制漏洞特征提取和匹配的处理方法,其特征在于,所述的步骤(1.2)具体包括以下步骤:(1.2.1)将获取到的代码序列和微执行轨迹值序列中30%的代码token和值token进行随机掩码操作,即用特殊的token<MASK>代替它们,以便训练一个掩码语言模型MLM,所述的掩码语言模型MLM用于预测被掩盖的词元的实际值,并使用交叉熵损失来最小化预测掩盖词元和实际代码词元之间的差异,即将每个掩码位置的词元和真实的词元向量进行比较,以计算两个向量之间的交叉熵损失,其中最小化交叉熵公式为:
其中x
t
表示微执行轨迹值序列,x
f
表示代码序列,α是对预测代码token和预测值之间的交叉熵损失进行加权的一个超参数,α...

【专利技术属性】
技术研发人员:孙永清沈亮刘继顺
申请(专利权)人:公安部第三研究所
类型:发明
国别省市:

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

1