System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于LLM多源异构信息融合的二进制漏洞数据集构建方法和装置制造方法及图纸_技高网

一种基于LLM多源异构信息融合的二进制漏洞数据集构建方法和装置制造方法及图纸

技术编号:41313510 阅读:2 留言:0更新日期:2024-05-13 14:55
本发明专利技术涉及一种基于LLM多源异构信息融合的二进制漏洞数据集构建方法和装置,该方法包括:1)批量编译二进制文件TP构建开源二进制包的BDB(TP);2)从漏洞信息发布平台获取漏洞信息经过预处理构成VulnVecDB,利用向量搜索在VulnVecDB中获取VulnID对应的漏洞信息,利用微调后的LLM进行知识推理获取VulnID对应的精确漏洞信息;3)根据精确漏洞信息从BDB(TP)中查找对应二进制文件后利用反汇编引擎提取VulnEntity,构建VulnAssFuncDB。本发明专利技术为了解决对物联网固件中二进制软件进行漏洞准确定位困难的问题,提出一种融合多源异构漏洞信息并结合LLM知识推理,从而精确获取二进制软件包中漏洞位置以及相关漏洞函数代码的方法,能够帮助安全研究人员迅速获得漏洞样本,增强物联网固件的安全漏洞挖掘的有效性。

【技术实现步骤摘要】

本专利技术属于信息,涉及一种基于llm(大型语言模型,large languagemodel)多源异构信息融合的二进制漏洞数据集构建方法和装置。


技术介绍

1、随着新型开源软件供应链开发模式的日益普及,由于代码复用问题引发的继承性漏洞问题日益突出。sonatype公司近年的软件供应链安全分析报告中指出由于开源软件代码复用产生的直接依赖关系导致的漏洞占据了相关漏洞中的6/7,在不同语言生态安全漏洞的普遍性统计中,含有已知漏洞的项目占比约为1/3。在依赖程度更深的情况下,继承性漏洞的检测更困难。攻击者通过攻击供应链上游软件可以影响大量下游相关软件,例如2021年末由cve(通用漏洞披露,common vulnerabilities and exposures)发布的apachelog4j漏洞cve-2021-44228涉及到的开源软件log4j影响了全球超过6万个开源软件,该漏洞的cvss(通用漏洞评分系统,common vulnerability scoring system)得分达到了系统最高分10分。由于该漏洞的高危害性和低利用难度,利用此漏洞攻击者可以轻易的获得目标主机的控制权限或者窃取敏感信息。开源软件通常以二进制形式供软件进行调用。例如,iot(物联网,internet of things)中海量分布的智能设备在固件包含了大量开源二进制文件。但是,由于iot智能设备性能低下,几乎不可能配置安全防护措施,导致其对开源软件的继承性漏洞没有任何防御能力。

2、对物联网固件的漏洞探测相关研究中,针对物联网固件文件系统中的二进制文件首先进行反汇编,然后对汇编代码进行代码相似性检测是一种主要的方法。pei k提出一个名为trex的二进制相似性检测工具,通过对汇编代码进行微执行来获取执行语义,提高了相似性检测的准确率(pei k,xuan z,yang j,et.al.trex:learning executionsemantics from micro-traces for binary similarity[m/ol].arxiv,2021)。现有基于代码相似性检测的二进制继承性漏洞检测方法蓬勃发展,但相关方法均缺乏权威可用的大规模二进制漏洞数据集。wang h在其二进制代码相似性检测研究中构建了一个基于archlinux official repositories和arch user repository的二进制数据集,但是该数据集并不包含具体的漏洞信息,无法直接用于漏洞探测工作(wang h,qu w,katz g,et.al.jtrans:jump-aware transformer for binary code similarity detection[c/ol]//proceedings of the 31st acm sigsoft international symposium on softwaretesting and analysis.virtual south korea:acm,2022)。

3、针对大规模二进制漏洞数据集构建问题,现有研究无法解决如下困难:

4、获取漏洞的精确信息存在困难,包括漏洞编号、涉及版本以及漏洞所在函数的精确位置等。互联网上关于某个具体漏洞的研究信息很多,但不同信息来源的关注点不同,目前还没有一个获取完备漏洞精确信息的方案。这导致即使拥有了二进制文件,也很难对其中的漏洞进行准确定位。

5、针对上述困难,本专利技术提出一种基于llm多源异构信息融合的二进制漏洞数据集构建方法,通过融合多源异构漏洞信息,利用llm知识推理,解决准确漏洞信息困难的问题,最终构建一个包含完备漏洞信息的二进制漏洞数据集。


技术实现思路

1、本专利技术解决的技术问题:克服现有技术的不足,提出一种基于llm多源异构信息融合的二进制漏洞数据集构建方法和装置,帮助安全研究人员快速的构建大规模二进制漏洞数据集,并且能够准确定位到漏洞所在位置,提高相关研究人员在二进制安全研究方面的漏洞分析能力。

2、为实现上述目的,本专利技术采用如下方案:

3、本专利技术提出一种基于llm多源异构信息融合的二进制漏洞数据集构建方法,该方法包括以下步骤:

4、通过二进制文件批量编译构建开源软件包的二进制文件数据库;

5、聚合多源异构漏洞信息,构成漏洞信息向量数据库,并使用微调后的大语言模型通过向量搜索提取漏洞信息;

6、根据漏洞信息定位相关二进制文件,通过反汇编引擎提取漏洞代码,构成二进制漏洞数据集。

7、进一步地,上述方法包括以下步骤:

8、通过批量编译构建目标软件包tp的二进制文件数据库bdb(tp),在文件编译时进行插桩以提高漏洞定位效率;

9、从漏洞信息发布平台获取tp的漏洞编号vulnid列表以及对应漏洞信息,通过预处理和文本嵌入分别生成向量,将漏洞信息对应向量构成漏洞信息向量知识库vulnvecdb,利用向量搜索从vulnvecdb中检索相关漏洞信息,利用微调后的llm结合相关漏洞信息进行知识推理,获取精确漏洞信息;

10、通过精确漏洞信息从bdb(tp)中定位二进制文件,使用反汇编引擎提取漏洞实体vulnentity,构成二进制漏洞数据集vulnassfuncdb。

11、进一步地,上述方法具体包括以下步骤:

12、1.基于批量编译二进制文件构建项目数据库。定义bdb(tp)为tp(目标项目,target program)构成的二进制文件数据库,用于存储经过编译后的tp二进制文件信息。针对每个需要进行编译的二进制项目,提供了编译模版。获得tp的项目源代码后综合了多个pms(package management system)进行批量编译。为了提高漏洞提取的效率与准确度,在代码编译过程中在vsf(漏洞语法特征,vulnerability syntax features)位置进行插桩。vsf包括但不限于库函数调用、数组使用和指针使用。

13、其具体步骤如下:

14、a)收集开源软件包的源代码链接,通过地址提取函数将所有开源软件包包含的版本信息与对应下载地址保存为yaml格式的地址文件。

15、b)添加tp相关信息后的ct(编译模版,compile template)将会根据提供的项目名称和版本信息,自动搜索项目地址,进而利用代码下载函数,快速获取项目源代码并进行解压处理。定义tp为目标项目的简称,表示将要进行编译的二进制对象的信息。将tp形式化定义为一个三元组,

16、tp=(name,version,filelocation),

17、其中name表示该二进制对象的名称,version表示当前版本,filelocation表示编译后的二进制文件位置。

18、c)进行文件编译之前,ct将首先检测本地是否已经存在相关版本编译成功的tp,若存在则跳过当前处理项,继续处理下一条。若不存本文档来自技高网...

【技术保护点】

1.一种基于LLM多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于LLM多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,包括以下步骤:

3.根据权利要求2所述的一种基于LLM多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,所述通过批量编译构建目标软件包以及所述在文件编译时进行插桩,包括:

4.根据权利要求2所述的一种基于LLM多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,所述预处理和文本嵌入包括:

5.根据权利要求4所述的一种基于LLM多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,所述利用微调后的LLM结合相关漏洞信息进行知识推理,获取精确漏洞信息,包括:

6.根据权利要求2所述的一种基于LLM多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,所述使用反汇编引擎提取漏洞实体VulnEntity,构成二进制漏洞数据集VulnAssFuncDB,包括:

7.根据权利要求6所述的一种基于LLM多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,所述快速定位漏洞函数,包括:

8.一种基于LLM多源异构信息融合的二进制漏洞数据集构建装置,其特征在于,包括:

9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~7中任一项所述方法的指令。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~7中任一项所述的方法。

...

【技术特征摘要】

1.一种基于llm多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于llm多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,包括以下步骤:

3.根据权利要求2所述的一种基于llm多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,所述通过批量编译构建目标软件包以及所述在文件编译时进行插桩,包括:

4.根据权利要求2所述的一种基于llm多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,所述预处理和文本嵌入包括:

5.根据权利要求4所述的一种基于llm多源异构信息融合的二进制漏洞数据集构建方法,其特征在于,所述利用微调后的llm结合相关漏洞信息进行知识推理,获取精确漏洞信息,包括:

6.根据权利要求2所述的一种基于ll...

【专利技术属性】
技术研发人员:芮志清吴敬征罗天悦武延军刘宇航
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:

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

1