基于检索增强大语言模型的Android恶意软件风险分析方法及装置

摘要: 本发明涉及计算机安全,尤其涉及一种基于检索增强大语言模型的android恶意软件风险分析方法及装置。背景技术:1、android系统是目前应用最广泛的移动操作系...
基于检索增强大语言模型的Android恶意软件风险分析方法及装置

本发明涉及计算机安全,尤其涉及一种基于检索增强大语言模型的android恶意软件风险分析方法及装置。

背景技术:

1、android系统是目前应用最广泛的移动操作系统之一。由于android应用数量庞大、分发渠道复杂,恶意应用可能通过伪装成正常应用的方式窃取用户隐私、发送付费短信、获取设备标识、上传地理位置、植入广告模块、下载恶意载荷或执行远程控制指令。

2、现有android恶意软件检测方法主要包括静态分析方法、动态分析方法和机器学习方法。静态分析方法通常从安卓应用程序包(android package kit,apk)文件中提取权限、intent、组件、应用程序编程接口(application programming interface,api)调用、字符串、控制流图等信息。动态分析方法通常在仿真器或真实设备中运行应用,收集系统调用、网络连接、文件操作、进程行为等运行时特征。机器学习方法则利用上述特征训练分类模型,实现恶意软件检测或家族分类。

3、然而,上述现有方法仍存在以下不足:

4、第一,检测结果缺乏解释。传统机器学习模型虽然可以输出恶意概率或家族标签,但其判断过程通常不透明,安全分析人员需要重新查看原始特征并人工分析,导致分析效率低。

5、第二,特征解释与安全知识脱节。android权限和api本身具有特定含义,例如各种权限在不同上下文中代表不同风险。如果只列出特征,就难以准确说明特征的安全含义。

6、第三,单纯大语言模型容易生成缺乏依据的报告。大语言模型虽然可以生成流畅文字,但只能根据一般经验生成笼统描述,生成内容的可追溯性和可信度不足。

7、第四,现有方法难以同时输出风险分数、行为解释和分析依据,导致安全分析人员无法准确判断样本风险。

技术实现思路

1、本发明提供一种基于检索增强大语言模型的android恶意软件风险分析方法及装置,用以解决现有技术中检测结果缺乏解释、特征解释与安全知识脱节、单纯大语言模型生成报告缺乏依据、以及难以同时输出风险分数、行为解释和分析依据的缺陷,实现了对android应用样本的可解释、有依据、可追溯的风险分析及风险分数同步输出。

2、本发明提供一种基于检索增强大语言模型的android恶意软件风险分析方法,包括:

3、获取待分析的android apk样本;

4、提取所述apk样本的静态特征和动态特征,并进行标准化处理,得到标准化特征;

5、构建安全知识库;所述安全知识库包括以下一项或多项:权限知识、应用程序接口知识、系统调用知识以及恶意行为模式知识;

6、根据所述标准化特征,从所述安全知识库中检索得到相关知识片段;

7、基于所述标准化特征与所述相关知识片段,构建增强提示;

8、将所述增强提示输入至大语言模型进行风险分析,得到风险分析结果;

9、基于所述标准化特征以及所述风险分析结果,得到风险分数;

10、基于所述风险分析结果以及所述风险分数,得到结构化分析报告;其中,所述结构化分析报告,包括以下一项或多项:高风险特征分析、检索知识依据、风险分数。

11、根据本发明提供的一种基于检索增强大语言模型的android恶意软件风险分析方法,所述提取所述apk样本的静态特征和动态特征,并进行标准化处理,得到标准化特征,包括:

12、将反编译得到的静态特征和受控环境中运行apk得到的动态特征分别转换为统一的标准化特征;每一所述标准化特征,包括:特征名称、特征类型、风险类别以及上下文描述。

13、根据本发明提供的一种基于检索增强大语言模型的android恶意软件风险分析方法,所述构建安全知识库包括:

14、将所述权限知识、应用程序接口知识、系统调用知识以及恶意行为模式知识中的至少一种,提取知识标题、知识正文、关键词、对应特征类型和来源标记,以向量化方式建立索引,形成可供基于标准化特征进行检索的知识库。

15、根据本发明提供的一种基于检索增强大语言模型的android恶意软件风险分析方法,所述根据所述标准化特征,从所述安全知识库中检索得到相关知识片段,包括:

16、根据所述标准化特征的特征名称、特征类别和上下文描述,采用关键词检索、向量检索、混合检索或基于图结构的知识检索方法中的一种或多种进行检索,并对检索结果进行排序、摘要和去重处理。

17、根据本发明提供的一种基于检索增强大语言模型的android恶意软件风险分析方法,所述增强提示,具体包括:样本基本信息、静态特征摘要、动态特征摘要,检索到的所述安全知识库知识,以及报告生成要求。

18、根据本发明提供的一种基于检索增强大语言模型的android恶意软件风险分析方法,所述基于所述标准化特征以及所述风险分析结果,得到风险分数,具体包括:

19、提取所述标准化特征中的量化指标,并为各所述量化指标配置特征风险权重;

20、计算所述标准化特征与所述相关知识片段的匹配程度;

21、根据所述量化指标、所述特征风险权重以及所述匹配程度,通过加权计算生成0到1之间的风险分数;

22、其中,所述量化指标包括以下一项或多项:危险权限数量、敏感api数量、动态可疑行为数量、静态特征与动态特征的印证程度、是否存在隐私数据收集行为、是否存在网络外传行为、是否存在动态加载或反射调用、是否存在逃避分析或混淆迹象。

23、根据本发明提供的一种基于检索增强大语言模型的android恶意软件风险分析方法,所述结构化分析报告还包括以下一项或多项:样本基本信息、静态特征概览、动态特征概览、综合分析结论。

24、根据本发明提供的一种基于检索增强大语言模型的android恶意软件风险分析方法,所述大语言模型为通用大语言模型、代码大语言模型、安全领域大语言模型、本地部署模型或经android恶意软件分析报告微调的专用模型中的一种。

25、根据本发明提供的一种基于检索增强大语言模型的android恶意软件风险分析方法,方法还包括:当所述风险分数超过预设阈值时,在所述结构化分析报告中标记建议人工复核。

26、本发明还提供一种基于检索增强大语言模型的android恶意软件风险分析装置,包括:

27、获取模块,用于获取待分析的android apk样本;

28、标准化模块,用于提取所述apk样本的静态特征和动态特征,并进行标准化处理,得到标准化特征;

29、第一构建模块,用于构建安全知识库;所述安全知识库包括以下一项或多项:权限知识、应用程序接口知识、系统调用知识以及恶意行为模式知识;

30、检索模块,用于根据所述标准化特征,从所述安全知识库中检索得到相关知识片段;

31、第二构建模块,用于基于所述标准化特征与所述相关知识片段,构建增强提示;

32、风险分析模块,用于将所述增强提示输入至大语言模型进行风险分析,得到风险分析结果;

33、风险分数获取模块,用于基于所述标准化特征以及所述风险分析结果,得到风险分数;

34、分析报告生成模块,用于基于所述风险分析结果以及所述风险分数,得到结构化分析报告;其中,所述结构化分析报告,包括以下一项或多项:高风险特征分析、检索知识依据、风险分数。

35、本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于检索增强大语言模型的android恶意软件风险分析方法。

36、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于检索增强大语言模型的android恶意软件风险分析方法。

37、与现有技术相比,本发明的有益效果是:

38、(1)本发明通过检索增强将外部安全知识与样本静态特征、动态特征结合,建立了从样本特征到安全知识再到风险结论的完整证据链,从而提高了风险分析的可解释性、可追溯性,降低了模型生成笼统或不准确描述的风险。

39、(2)本发明通过同时提取静态特征和动态特征,静态特征反映应用可能具备的能力,动态特征反映应用实际执行的行为;当两类特征相互印证时,表明应用的能力声明与实际行为一致,从而更准确地描述样本风险,提升风险判断的准确性。

40、(3)本发明通过构建安全知识库并根据标准化特征检索相关知识片段,将样本特征与检索知识共同输入大语言模型进行分析,解决了特征解释与安全知识脱节的问题,使特征解释具有明确的知识依据,避免了仅列出特征而无法准确说明安全含义的不足。