System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于大模型特征生成的第三方恶意包检测方法技术_技高网

一种基于大模型特征生成的第三方恶意包检测方法技术

技术编号:40921964 阅读:2 留言:0更新日期:2024-04-18 14:46
本发明专利技术公开了一种基于大模型特征生成的第三方恶意包检测方法,属于程序包检测领域,该方法利用大语言模型来指导第三方包恶意代码片段的识别和特征的生成,自动生成特征集,不依赖于专家定义的特征,能够有效地克服了现有基于机器学习的检测器的缺点,使得特征集更能反映恶意样本与良性样本的差异,拓展性更强;采用更新提示轮询的方式并构建恶意片段集,使准确度得到提高;同时能显著降低恶意包检测的误报率和漏报率,并给出恶意代码位置。

【技术实现步骤摘要】

本专利技术属于程序包检测领域,更具体地,涉及一种基于大模型特征生成的第三方恶意包检测方法


技术介绍

1、动态语言是目前流行的编程语言,比如javascript,python,ruby,它们的持续增长得到了第三方包生态系统的支持,比如npm,pypi,rubygems,第三方包是一个拥有可重用包的存储库。第三方包的普及使得第三方包生态系统长期以来一直使其成为攻击者最喜欢的目标。攻击者试图发布恶意包版本的软件包,这些恶意包可以篡改或泄露安装它们的机器的数据,或其他恶意活动。最近的恶意包攻击事件频发,eslint-scope泄露,攻击者设法窃取了一个流行软件包的维护者的凭据,允许他们发布一个新的恶意版本的软件包,在安装时将用户凭据上传到服务器;event-stream backdoor事件,利用社交工程技术获得维护者身份,然后发起类似的攻击;同时,一些小事件也在不断发生。这些恶意包已经严重的威胁到用户的信息安全,能够提前检测并发现恶意包对企业生产与个人隐私都有着重要的帮助。

2、现有的检测器遵循两种方法:程序分析与机器学习。程序分析方法主要通过模式匹配、克隆检测和动态分析来检测恶意包。这种方法中用于检测恶意行为的规则相对通用,并且可能会产生许多误报。此外,有些工具重量级,难以部署和达到实际需求。机器学习方法使用专家定义的包特征表示来训练检测器。这种方法的有效性取决于特征的质量,特征的质量难以定义(例如,当涉及混淆技术时)、定义主观(即不同的专家可能定义不同的特征集)并且定义繁琐。


技术实现思路

1、针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于大模型特征生成的第三方恶意包检测方法,该方法不依赖专家定义的特征,同时能够有效的降低误报率和漏报率,实现更加有效的恶意第三方包检测。

2、为实现上述目的,按照本专利技术的第一方面,提供了一种基于大模型特征生成的第三方恶意包检测方法,包括:

3、训练阶段:

4、将训练包输入至大语言模型进行恶意代码识别以获取所述训练包中的恶意代码,提取所述恶意代码的特征构建特征集;其中,所述训练包为第三方恶意包;

5、生成所述训练包对应的抽象语法树ast,遍历ast的节点以确定与所述特征集中的特征对应的语法结构,对与所述语法结构对应的代码段进行编码得到所述恶意代码的特征向量;

6、将所述特征向量输入至机器学习模型进行监督训练;

7、应用阶段:

8、生成待检测第三方包对应的抽象语法树ast,遍历ast的节点以确定与所述特征集中的特征对应的语法结构,对与所述语法结构对应的代码段进行编码得到待检测特征向量,将其输入至训练好的机器学习模型,得到检测结果。

9、按照本专利技术的第二方面,提供了一种基于大模型特征生成的第三方恶意包检测系统,包括:计算机可读存储介质和处理器;

10、所述计算机可读存储介质用于存储可执行指令;

11、所述处理器用于读取所述计算机可读存储介质中存储的可执行指令,执行如第一方面所述的方法。

12、按照本专利技术的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行如第一方面所述的方法。

13、总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

14、1、自动生成特征集:相比于现有的基于机器学习的检测器,本专利技术充分利用了大语言模型(large language model,llm)的优势,利用llm来指导第三方恶意代码片段的识别和特征的生成,不依赖于专家定义,使得特征集更能反映恶意样本与良性样本的差异,拓展性更强。

15、2、高准确性:通过轮询与提示更新优化llm的结果,同时考虑到了置信度问题,使得大模型的分析结果准确度得到提高。同时,本专利技术会总结数据集中相同恶意行为的恶意代码片段,使得特征提取器更加准确捕获恶意特征,有助于特征向量的提取。

16、3、高可扩展性:考虑到第三方包生态系统,比如npm,pypi,rubygems等,每天都有数以万计的由第三方用户或组织新发布的包,同时可能伴有新类型的恶意代码出现,为了保证能够学习到新的恶意行为,恶意包将以增量的方式扩展到数据集中。该方法基于大模型总结的特征进行恶意包检测,不断更新的增量使得大模型可以总结更多更丰富的特征集,以增量学习的方式及时更新检测器,面对新类型的恶意包也能具有强大的检测能力。

本文档来自技高网...

【技术保护点】

1.一种基于大模型特征生成的第三方恶意包检测方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述大语言模型在预设提示下识别所述训练包中的恶意代码;

3.如权利要求2所述的方法,其特征在于,所述大语言模型采用迭代查询的方式在预设提示下识别所述训练包中的恶意代码;

4.如权利要求2或3所述的方法,其特征在于,所述提取所述恶意代码的特征构建特征集,包括:

5.如权利要求4所述的方法,其特征在于,在所述应用阶段,当所述待检测第三方包的检测结果为第三方恶意包时,还包括:

6.如权利要求1所述的方法,其特征在于,所述大语言模型为ChatGPT、mT0或Flan-PaLM。

7.如权利要求1所述的方法,其特征在于,所述机器学习模型为朴素贝叶斯、多层感知器、随机森林或支持向量机。

8.一种基于大模型特征生成的第三方恶意包检测系统,其特征在于,包括:计算机可读存储介质和处理器;

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行如权利要求1-7任一项所述的方法。

...

【技术特征摘要】

1.一种基于大模型特征生成的第三方恶意包检测方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述大语言模型在预设提示下识别所述训练包中的恶意代码;

3.如权利要求2所述的方法,其特征在于,所述大语言模型采用迭代查询的方式在预设提示下识别所述训练包中的恶意代码;

4.如权利要求2或3所述的方法,其特征在于,所述提取所述恶意代码的特征构建特征集,包括:

5.如权利要求4所述的方法,其特征在于,在所述应用阶段,当所述待检测第三方包的检测结果为第三方恶意...

【专利技术属性】
技术研发人员:成浩王健瞿吉祥李珍汪闻韵张云鹤徐子腾
申请(专利权)人:华中科技大学
类型:发明
国别省市:

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

1