一种二进制程序供应链安全检测方法及装置制造方法及图纸

技术编号:34904144 阅读:20 留言:0更新日期:2022-09-10 14:15
本发明专利技术公开了一种二进制程序供应链安全检测方法及装置,属于网络安全领域,包括步骤:S1,信息采集与预处理:采集漏洞源代码,构建带有漏洞标注的二进制程序集合;S2,从步骤S1中获取的二进制程序集合中提取二进制函数,将二进制函数表征为向量形式,通过构建二进制细粒度特征提取模型,得到漏洞的二进制函数缺陷向量库;S3,利用所述二进制细粒度特征提取模型和所述漏洞的二进制函数缺陷向量库,进行二进制程序缺陷检索识别分析。本发明专利技术建立了漏洞的二进制函数向量特征库,实现了高效的二进制程序细粒度的缺陷检测,显著提升了缺陷检测精度。度。度。

【技术实现步骤摘要】
一种二进制程序供应链安全检测方法及装置


[0001]本专利技术涉及网络安全领域,更为具体的,涉及一种二进制程序供应链安全检测方法及装置。

技术介绍

[0002]随着各种开源软件在不同领域的广泛应用,软件代码的体积与复杂度都迅猛增加。根据著名咨询机构Forrester调研结果,近些年开发的软件约80

90%的代码来自于开源软件或者基于开源软件修改而来。复杂的软件供应链会引入一系列的安全问题,某个开源组件或某行代码内的一个缺陷就能引起整个软件系统的崩溃或数据泄露。当下针对软件供应链的攻击事件频发,例如近年来爆发的开源组件openssl心脏滴血漏洞、log4j2远程代码执行漏洞。软件供应链安全直接关系到信息系统基础设施的安全,它已成为网络安全领域的热点问题。特别是针对闭源软件(即只提供二进程程序,不提供源代码的软件)供应链安全,更是成为了工业界和学术界关注的焦点。
[0003]目前在二进制程序供应链检测方面核心问题是如何高效检出二进制程序包含的漏洞,现有的方法是通过软件成分分析从文件层面,以及文件与文件之间的关联关系以及彼此组合依赖关系,分析出二进制程序组件依赖关系,提取对应的组件信息与漏洞库中的组件进行比对,实现对已知漏洞组件的检测,该方法具有适应范围广、检测效率高的优点,然而由于该方法是基于软件组件粒度,对于那些引用了部分开源代码或者基于某个组件修改后的二进制程序就无能为力,无法实现二进制函数级别细粒度的缺陷检测。

技术实现思路

[0004]本专利技术的目的在于克服现有技术的不足,提供一种二进制程序供应链安全检测方法及装置,建立了漏洞的二进制函数向量特征库,实现了高效的二进制程序细粒度的缺陷检测,显著提升了缺陷检测的精度等。
[0005]本专利技术的目的是通过以下方案实现的:一种二进制程序供应链安全检测方法,包括以下步骤:S1,信息采集与预处理:采集漏洞源代码,构建带有漏洞标注的二进制程序集合;S2,从步骤S1中获取的二进制程序集合中提取二进制函数,将二进制函数表征为向量形式,通过构建二进制细粒度特征提取模型,得到漏洞的二进制函数缺陷向量库;S3,利用所述二进制细粒度特征提取模型和所述漏洞的二进制函数缺陷向量库,进行二进制程序缺陷检索识别分析。
[0006]进一步地,在步骤S2中,包括如下子步骤:S21,构建适合二进制函数相似性检测的数据集:从二进制程序提取函数粒度的汇编代码,按照源代码函数所在的文件路径、函数名称两个准则,将同一份源代码函数对应的不同编译条件下二进制函数的配对作为训练集的正样本,负样本则是从剩下的未配对的样本随机抽取配对,从而构建二进制相似函数的正反样例数据集;
S22,构建含有特征融合网络和相似性判别网络的相似性判别深度神经网络,并将相似性判别网络的倒数第二层作为特征表示层向量,得到二进制细粒度特征提取模型;S23,在特征融合网络利用字符串、立即数和函数片段三类特征,使用嵌入方式将其表示为向量形式来训练所述二进制细粒度特征提取模型;S24,将步骤S1中带有漏洞标注的二进制程序输入到训练好的二进制细粒度特征提取模型获得二进制函数缺陷特征向量,并将获得的二进制函数缺陷特征向量存储到数据库,再基于漏洞编号建立二进制函数向量的索引,得到所述漏洞的二进制函数缺陷向量库。
[0007]进一步地,在步骤S3中,包括子步骤:利用存储在二进制函数缺陷向量库中的二进制函数缺陷向量,并通过余弦距离检索待测的特征向量,判断待测特征向量集是否超过设定的阈值比对结果,然后输出分析结果、漏洞编号以及该漏洞描述与防护建议。
[0008]进一步地,在步骤S1中,所述采集漏洞源代码包括通过采集服务定期从互联网漏洞信息披露网站采集漏洞信息。
[0009]进一步地,在步骤S22中,所述特征融合网络包括输入层、第一隐含层和第二隐含层,输入层与第一隐含层连接,第一隐含层与第二隐含层连接。
[0010]进一步地,在步骤S22中,所述相似性判别网络包括融合层、特征表示层和输出层,融合层与特征表示层连接,特征表示层与输出层连接。
[0011]进一步地,在步骤S23中,在训练过程中采用交叉熵损失函数。
[0012]进一步地,在步骤S23中,所述字符串包括常量字符。
[0013]进一步地,在步骤S23中,所述嵌入方式包括word2vec嵌入方法。
[0014]一种二进制程序供应链安全检测装置,包括程序指令运行单元和程序指令存储单元,当程序指令由程序指令运行单元加载运行时执行如上任一所述的二进制程序供应链安全检测方法。
[0015]本专利技术的有益效果包括:本专利技术挖掘了互联网广泛存在的漏洞信息,建立了漏洞的二进制函数向量特征库,实现了高效的二进制程序细粒度的缺陷检测,提出了基于融合特征的深度神经二进制函数表征模型,大大提升了缺陷检测的精度。
[0016]本专利技术充分利用了互联网漏洞信息和现有项目代码,实现了漏洞的源代码函数、二进制函数的自动化提取,建立了漏洞的二进制函数级的向量特征库,为大规模的二进制程序安全性分析提供核心信息支撑。
[0017]本专利技术利用了基于融合特征的深度神经二进制函数表征模型,融合了二进制函数的多维度特征,生成的特征向量更具有代表性,提升了缺陷检测的效果。
附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本专利技术实施例的一种部署方案示意图;图2为本专利技术实施例中信息采集与预处理的流程示意图;
图3为本专利技术实施例中训练特征提取模型的流程图;图4为本专利技术实施例中二进制细粒度特征提取模型网络的结构图;图5为本专利技术实施例中二进制程序缺陷识别的流程示意图。
具体实施方式
[0020]本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
[0021]近年来人工智能技术的飞速发展,基于机器学习的软件缺陷检测展现出了广阔的应用前景。因此,在解决背景中问题的过程中,本专利技术的专利技术人通过创造性的思考,提出一种二进制程序供应链安全检测方法及装置,能够从海量的漏洞信息中自动抽取出漏洞代码函数片断,进而构建出不同架构二进制程序函数级别的缺陷特征库,通过融合二进制程序的多维度特征来提升缺陷检测的精度。该方法具有较强的鲁棒性和较高的检测效率,可以用于二进制程序函数级别细粒度缺陷检测,对实现二进制程序供应链安全的自动化检测具有非常重要的意义。
[0022]在具体实施例中,针对二进制程序供应链安全高效自动检测的技术问题提出的解决方案,至少解决如下技术问题:1)如何从互联网自动化的获取包含漏洞的源代码,二进制程序代码,解决人工提取效率低、人力成本高的问题。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种二进制程序供应链安全检测方法,其特征在于,包括以下步骤:S1,信息采集与预处理:采集漏洞源代码,构建带有漏洞标注的二进制程序集合;S2,从步骤S1中获取的二进制程序集合中提取二进制函数,将二进制函数表征为向量形式,通过构建二进制细粒度特征提取模型,得到漏洞的二进制函数缺陷向量库;S3,利用所述二进制细粒度特征提取模型和所述漏洞的二进制函数缺陷向量库,进行二进制程序缺陷检索识别分析。2.根据权利要求1所述的二进制程序供应链安全检测方法,其特征在于,在步骤S2中,包括如下子步骤:S21,构建适合二进制函数相似性检测的数据集:从二进制程序提取函数粒度的汇编代码,按照源代码函数所在的文件路径、函数名称两个准则,将同一份源代码函数对应的不同编译条件下二进制函数的配对作为训练集的正样本,负样本则是从剩下的未配对的样本随机抽取配对,从而构建二进制相似函数的正反样例数据集;S22,构建含有特征融合网络和相似性判别网络的相似性判别深度神经网络,并将相似性判别网络的倒数第二层作为特征表示层向量,得到二进制细粒度特征提取模型;S23,在特征融合网络利用字符串、立即数和函数片段三类特征,使用嵌入方式将其表示为向量形式来训练所述二进制细粒度特征提取模型;S24,将步骤S1中带有漏洞标注的二进制程序输入到训练好的二进制细粒度特征提取模型获得二进制函数缺陷特征向量,并将获得的二进制函数缺陷特征向量存储到数据库,再基于漏洞编号建立二进制函数向量的索引,得到所述漏洞的二进制函数缺陷向量库。3.根据权利要求1所述的二进制程序供应...

【专利技术属性】
技术研发人员:饶志宏孙治王炳文陈剑锋毛得明韩烨赵童和达权赵恒
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:

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

1