 for Software Security: Code Analysis, Malware Analysis, Reverse Engineeri)
今天分享的论文《Large Language Model (LLM) for Software Security: Code Analysis, Malware Analysis, Reverse Engineering》原文链接[2504.07137] Large Language Model (LLM) for Software Security: Code Analysis, Malware Analysis, Reverse Engineering这是一篇关于LLM在软件安全各个流程的应用综述总结得比较全面值得一看下面主要是对自己关心或者感兴趣的一些点的笔记和记录。研究亮点- 综述了LLM在恶意软件代码分析领域的最新研究成果总结当前研究趋势。- 首个探索使用LLMs进行恶意软件代码分析的研究涵盖检测、生成、监控、逆向工程及家族分析等方向。- 探究LLMs如何解读源代码语义与结构以识别恶意行为。- 揭示LLMs通过识别和预测代码模式提升恶意软件检测效果的作用机制。- 基于逆向工程流程挖掘LLMs优化恶意软件代码分析的潜力。大型语言模型LLMs近年来已成为网络安全领域的强大工具在恶意软件检测、生成及实时监控方面展现出先进能力。众多研究已探索其在网络安全中的应用证实其在识别新型恶意软件变体、分析恶意代码结构及增强自动化威胁分析等方面的有效性。已有多种基于Transformer的架构和LLM驱动模型被提出以优化恶意软件分析借助语义和结构洞察更精准地识别恶意意图。本研究全面综述了基于LLM的恶意软件代码分析方法总结最新进展、趋势及方法论。通过分析重要学术成果描绘研究现状、识别关键挑战并突出LLM驱动网络安全领域的新兴创新。此外本文强调静态分析在恶意软件检测中的作用介绍主流数据集和专用LLM模型并探讨支持自动化恶意软件研究的核心数据集。本研究可为研究人员和网络安全专业人员提供宝贵参考深入解析基于LLM的恶意软件检测与防御策略同时勾勒强化网络安全韧性的未来研究方向。例如在研究[12]中作者聚焦于评估LLMs在恶意代码检测中的零样本学习能力对比了代码专用模型Code-llama[13]与通用模型Llama3[14]、GPT-3.5[15]及Claude[16]。该研究强调突出经验和恶意指标的提示词比角色扮演类提示词更有效且重复提问会降低LLM的置信度。本文主要贡献如下- 综述了LLM在恶意软件代码分析中应用的最新研究整合该领域当前的研究成果与趋势。- 据本文所知这是首项探索LLM在恶意软件代码分析多个新兴方面的研究包括恶意软件代码检测、生成、监控、逆向工程及家族代码分析。- 探究了LLMs如何解读源代码的语义和结构以有效识别恶意行为。- 调查并呈现了有助于LLM进行恶意软件代码分析的各类未来研究方向及数据集。相关工作大型语言模型LLMs在恶意软件分析中有着诸多应用。已有多项研究将基于LLM的方法应用于网络安全、威胁检测、逆向工程和数字取证等多个领域。部分研究还专门综述了LLM在恶意软件分析中的应用[32, 33, 34]。在研究[35]中作者对LLM在网络安全领域的应用文献进行了全面综述涵盖漏洞检测、恶意软件分析、威胁情报和安全策略自动化等方向。他们分析了来自主流安全和软件工程领域会议的127篇论文深入概述了LLMs如何被用于解决各类网络安全挑战。该研究主要聚焦于2022年至2023年发表的成果对安全领域中主流LLMs的关键特征、能力和局限性进行了分类梳理。在研究[36]中作者回顾了LLMs在恶意软件生成与检测中的应用清晰地阐释并整理了相关研究发现。他们还提出了降低风险的策略并定义了衡量这些策略效果的关键指标。这些指标涵盖五个方面蜜罐、基于文本和代码的威胁、恶意软件趋势分析以及利用现有恶意软件训练LLMs。通过构建带数据的示例场景他们验证了这些指标的有效性。基于对现有文献的综述本研究是首个探索LLMs直接分析和解读恶意软件代码的工作。这一特性使本文能够识别隐藏模式并充分利用LLMs在动态分析和行为预测方面的能力。LLMs在恶意软件代码分析中的应用7. 用于恶意软件逆向工程RE的LLMLLMs已成为通过分析PE文件和其他可执行文件检测恶意软件的强大工具。这些模型利用静态分析和逆向工程技术从二进制结构、API调用和汇编指令中提取有意义的模式。通过从海量良性和恶意样本中学习LLMs能够有效分类威胁、检测混淆代码并增强网络安全防御能力。7.1. 非LLM方法恶意软件PE文件与逆向工程对感染恶意软件的PE文件进行逆向工程对于理解其行为、攻击向量和混淆技术至关重要。这一过程涉及解构二进制文件以检查其结构、API调用和嵌入的有效载荷[76]。安全研究人员通常使用以下三类工具分析恶意软件如何与系统资源交互并执行恶意操作[77]1反汇编器2反编译器3调试工具例如IDA Pro[21]或Ghidra[22]。此外这些工具还可通过预测恶意软件作者使用的转换方法帮助对代码进行反混淆从而更易恢复隐藏在PE文件中的原始恶意意图。7.2. 结合LLM的方法恶意软件PE文件与逆向工程LLMs通过辅助对反汇编代码进行自动注释、为未知代码段推测潜在功能以及识别恶意二进制文件中的常见模式增强了逆向工程的能力[78, 79]。从逆向工程师的角度来看下一步合乎逻辑的操作是将汇编语言转换为高级语言这会使程序更易于阅读、理解和修改。遗憾的是任何工具都难以完成这一任务——因为将高级源代码编译为机器代码会导致大量信息丢失。例如仅通过检查机器代码无法确定其原始高级语言。尽管了解编译器的特定特征可能有助于逆向工程师识别其生成的机器代码但这种方法并不可靠。7.2.1. 基于LLM的底层代码生成LLMs在底层代码生成中的应用尤其是将二进制可执行文件如PE文件转换为汇编代码是逆向工程、恶意软件分析和安全研究领域的一项重大进步[80]。传统的反汇编和反编译技术依赖静态分析工具而这些工具通常需要大量人工操作才能解读混淆或加壳的二进制文件。然而LLMs可以通过提供对机器指令的语义理解增强这些过程的效率从而更高效地从原始二进制数据中重构汇编代码[79]。借助模式识别和深度学习能力LLMs能够提高反汇编输出的准确性甚至辅助从底层指令中重构高级控制流。这对恶意软件分析具有深远意义因为它可以加速识别编译后的二进制文件中嵌入的恶意逻辑、编码有效载荷和规避技术。7.2.2. 基于LLM的加壳恶意软件二进制分析在PE文件场景中加壳恶意软件二进制文件指的是经过刻意压缩或加密处理以隐藏其真实内容的可执行文件。加壳的目的是让杀毒软件或人工逆向工程师更难识别恶意代码[81]。假设某网络安全团队正在调查一个疑似恶意软件样本的PE文件。传统反汇编器如IDA Pro或Ghidra能够对该文件进行部分解码但大部分代码仍处于混淆或加壳状态难以分析。该团队决定应用LLM协助将加壳二进制文件转换为汇编代码以揭示恶意软件的行为。分析过程始于将加壳二进制文件加载到调查系统中。由于加壳过程涉及对文件进行压缩或加密以阻碍分析人工脱壳不仅耗时还需要专业知识来识别加壳方法。为简化这一过程研究人员将LLM与现有分析工具集成。该模型在包含加壳可执行文件和加密技术的数据上进行了微调能够识别与常见恶意软件加壳方法相关的模式显著加快脱壳过程。集成后LLM利用其深度学习能力对加壳二进制文件进行解码将原始二进制文件转换为汇编代码——这比原始机器级指令更具可读性和可解释性[62]。这种转换是理解程序行为的关键因为它能更清晰地展示恶意软件的操作。此外LLM还通过语义分析检测加密、反调试和代码篡改等混淆技术——这些都是恶意软件常用的规避检测的手段。LLM生成的解码汇编代码为恶意软件的逻辑提供了详细且更易获取的表示。7.3. 反编译器与高级语言生成反编译器旨在将二进制代码转换为高级源代码通常针对特定语言和编译器进行设计。然而它们生成的代码通常无法直接编译运行。生成的伪代码通常比人工编写的代码更难解读但总体上比原始汇编代码更易理解。这些工具的目标是将二进制代码转换为适配特定语言和编译器的高级源代码[82]。7.4. 恶意代码的混淆与反混淆LLM与PE文件黑客通常会对其脚本进行混淆处理以规避安全工具和分析师的检测——这在恶意软件、间谍软件和其他类型的恶意代码中极为常见。对PE文件进行反编译时本文可能会遇到混淆代码因为黑客会利用这些技术隐藏其意图[83]。其目的是增加代码的分析和逆向工程难度从而阻碍对恶意有效载荷的理解和中和。LLMs可助力自动化混淆代码分析[62]帮助安全专业人员快速识别混淆脚本中的模式和功能即使这些脚本经过深度伪装。此外LLMs还能生成关于如何进行反混淆的见解和建议使恶意行为的检测和缓解更易实现[84]。它们可以加快代码分析过程甚至自动化一些对分析师而言耗时的任务提升网络安全工作的效率。上图展示了两个实现相同任务加载恶意DLL并执行其中函数但采用不同方法的代码示例。在代码B中变量名清晰易懂例如用于加载函数的loadLibraryFunc和表示DLL位置的libraryPath这使得代码易于阅读和分析。相比之下代码A使用了_0x1、_0x2和_0x3等混淆名称。这种技术旨在降低代码的可读性帮助其规避检测。代码A中的混淆增加了额外的复杂性使安全分析师或自动化工具难以快速分析代码。然而其核心功能保持不变——两个版本均使用LoadLibraryA和GetProcAddress函数。关键区别在于代码A为了隐蔽性牺牲了可读性这是恶意代码中常见的规避检测策略。通过利用LLMs分析师能够更高效地处理这些混淆脚本缩短识别和中和威胁所需的时间。7.5. 嵌入模型对源代码函数与二进制文件相似度的衡量效果LLMs的发展为构建类似人类反汇编过程的全自动高效系统提供了独特机遇。下图展示了从二进制函数查询中检索到的最相似的源代码函数Top-1该样本被视为高度相似的正例。在研究[85]中作者专注于开发BinaryAI——一种用于智能二进制源代码匹配的二进制到源代码软件成分分析SCA技术。其工作流程包括特征提取、基于嵌入的检索、基于位置的匹配和第三方库检测。评估结果表明该嵌入模型在函数检索方面的性能优于现有方法。7.6. 逆向工程与预处理的关键阶段如下图所示恶意软件代码与逆向工程可分为三个关键阶段1数据收集与再处理收集原始可执行文件并将其转换为有意义的特征2预处理与逆向工程3令牌化与嵌入。以下将详细讨论这些阶段7.6.1. 数据收集与预处理对于上图中的第一步本文需要准备和收集恶意软件样本重点关注PE文件。PE文件是Windows操作系统中可执行文件、DLL文件和其他系统文件的标准二进制格式。这些文件包含机器代码和元数据使其成为恶意软件攻击的主要目标。PE文件在Windows环境中的广泛使用进一步提升了其对试图利用漏洞的恶意行为者的吸引力[86]。特别是PE文件的结构通常支持代码注入、混淆和加壳等复杂技术这些技术能够规避传统检测方法。如图11所示PE文件有多种类型每种类型都有不同用途从可执行文件.exe到系统驱动文件.sys和动态链接库.dll。这种高易受攻击性凸显了需要强大的分析技术来检测PE文件中的恶意代码。为确保数据集包含良性和恶意样本的多样性PE文件从多个来源收集。恶意软件库如VirusTotal[87]、MalwareBazaar[88]、ANY.RUN[89]和Hybrid Analysis提供来自公共和私人数据库的标记样本。真实世界的样本来自受感染系统或用于吸引恶意软件的蜜罐[90]包括网络爬虫捕获的可疑电子邮件附件和偷渡式下载文件。威胁情报源[91, 92]提供安全研究人员和组织在应对近期恶意软件攻击时共享的可执行文件样本。此外合法软件二进制文件来自官方平台作为对比基准。7.6.2. 恶意软件逆向工程与特征提取对于图12中的第二步需要利用反编译/反汇编工具生成底层或高级代码。反汇编是将机器可读字节转换为人类可读汇编指令的过程对于二进制重写和漏洞检测等二进制逆向工程任务至关重要[25]。一个主要挑战在于准确识别指令边界——代码和数据的混合存储或变长指令可能导致难以确定指令的起始位置这通常会导致指令边界和后续指令的识别错误。IDA Pro和Ghidra等工具能够通过启发式方法将二进制代码转换为类C伪代码但它们通常依赖启发式算法可能难以处理复杂或混淆的二进制文件。操作码分析和API调用分析是用于在不同层面理解软件运作方式的方法。操作码分析是底层分析聚焦于CPU执行的实际机器代码和汇编指令揭示内存操作和处理器运算等细节[93, 94]对逆向工程和恶意软件分析至关重要。相比之下API调用分析是高层分析追踪程序如何通过系统调用如文件操作或网络通信与操作系统和库进行交互[95]。操作码分析检查程序在处理器层面的运行方式而API调用分析揭示程序如何与其环境交互两者结合可全面了解程序行为。7.6.3. 嵌入与令牌化在图12的第三步中必须对样本进行令牌化和嵌入处理以便输入到Transformer或大型语言模型LLMs中。根据以往研究[96]用于嵌入的样本类型多样包括操作码序列[97, 98]、API调用[99, 100]、字节级表示[101, 102]和指令级细节[103, 104]。每种类型都从不同角度呈现数据有效的嵌入处理有助于模型高效理解和处理各类任务的信息。7.7. LLMs在恶意软件PE文件分析中的重要性通过对PE文件的静态分析LLMs为恶意代码检测中的这些挑战提供了突破性解决方案。与传统模型不同LLMs具备上下文理解能力能够在无需大量特征工程的情况下分析和解读原始二进制文件和代码结构。其超越预定义特征集的泛化能力使其对零日威胁和复杂混淆技术具有高效检测效果。此外LLMs还增强了可解释性和适应性解决了传统机器学习模型常面临的透明度问题[105]。下表对恶意软件检测中多种非LLM方法进行了对比分析重点关注PE文件的静态分析。所列研究展示了多种传统机器学习和深度学习方法每种方法都有其独特优势和局限性。尽管这些方法表现出较高的准确性、可扩展性和效率但它们也面临制约其应对复杂多变恶意软件威胁有效性的关键挑战。从表中可得出关键结论迁移学习、集成学习和基于特征的分类器等传统方法具有强大的检测能力但也存在显著缺陷包括特征表示局限性和计算开销等。9. 大型语言模型生成的恶意代码近年来LLM已被用于为用户生成代码。这一功能简化了代码生成流程节省了时间但也增加了社区面临的网络威胁风险。LLM在代码生成中的广泛应用使其生成代码的可靠性和可信度受到质疑。攻击者可利用LLM自动生成恶意代码危及众多软件服务提供商SSP的安全。LLM就像一把双刃剑在防御者手中可提供保护而被攻击者利用则会造成危害。这一现状促使研究人员深入调查LLM生成恶意代码的机制并探索有效检测相关威胁的方法。值得注意的是目前关于利用LLM生成恶意软件的学术研究仍较为稀缺仅有少数研究关注这一问题。探索现有技术如何应对LLM在限制恶意软件生成方面的挑战具有重要意义。已有研究人员观察到LLM不会仅根据直接要求生成恶意代码的提示词来产出恶意内容。LLM在限制恶意内容生成方面存在以下局限性9.1 利用LLM生成恶意软件的障碍尽管LLM具备代码生成能力但利用它们合成功能完整的恶意软件仍面临诸多障碍和挑战。这些障碍源于伦理防护机制、人工智能自身的局限性以及技术约束具体包括- LLM内置了防止生成恶意代码的安全机制。若检测到提示词具有危害性模型会拒绝响应或生成通用化、不完整的答案。- 如9.2.3节所述越狱提示词偶尔能绕过防护机制但模型会持续更新以防范此类攻击。OpenAI等开发者会积极跟踪并完善限制措施拦截要求生成恶意软件、黑客工具或未授权脚本的提示词。- LLM基于数据中学习到的模式生成代码但缺乏对复杂漏洞利用、权限提升或高级规避技术的深入理解。这种上下文感知能力的缺失限制了其自主创建复杂恶意软件的能力。- LLM能解释简单程序的执行流程但随着代码复杂度的提升尤其是处理非平凡逻辑和算术运算、非基本类型及API调用时其性能会下降。- 开发和部署恶意软件违反了多项网络犯罪相关法律利用人工智能从事此类活动也引发了严重的伦理问题。人工智能生成内容被用于恶意目的的可能性已成为专家和立法者的讨论焦点凸显了负责任的人工智能开发和监管的必要性。10.2 专用攻击性AI模型及应用Specialized Offensive AI Models and Applications与通用大语言模型不同这类模型经专门开发或微调用于恶意目的。它们不受任何伦理限制可用于钓鱼自动化、恶意软件混淆、漏洞利用工具开发和社会工程学攻击等场景。这些模型常见于暗网市场和地下黑客论坛为网络犯罪分子提供了先进的人工智能驱动工具。下文将详细探讨大语言模型的各类恶意应用10.2.1 WormGPTWormGPT是网络犯罪分子开发的一款恶意大语言模型旨在为欺诈活动提供支持。与用于合法有益用途的正统大语言模型不同WormGPT专门用于协助生成复杂的钓鱼邮件、编写恶意代码以及自动化各类网络攻击。其核心用途是借助先进的语言生成能力帮助网络犯罪分子实施更具欺骗性和效率的欺诈方案。10.2.2 FraudGPTFraudGPT是一款先进的人工智能驱动工具专为协助网络犯罪分子大规模实施欺诈活动而设计。该模型未设置任何安全防护措施是发起网络攻击的强大工具可用于凭证窃取、钓鱼攻击、恶意软件开发和诈骗自动化等场景。它能让恶意行为者生成极具说服力的钓鱼邮件、社会工程学脚本和漏洞利用工具包从而规避传统网络安全防护机制。10.2.3 Evil-GPTEvil-GPT是一款出现在暗网论坛的恶意人工智能聊天机器人专为网络犯罪活动而设计。它以WormGPT等工具的替代方案为卖点基于开源大语言模型构建并经过微调优化可用于生成恶意代码、编写复杂的钓鱼邮件和开发黑客工具。这款模型在地下市场的流通降低了网络犯罪的技术门槛使技术水平有限的人员也能实施复杂的网络攻击。10.2.4 DarkGPTDarkGPT代表了一类新型大语言模型其设计初衷就是摆脱传统伦理约束和内容限制。本质上它相当于ChatGPT的“无过滤”版本能够生成非法或敏感的类人文本内容。它已被认定为面向网络犯罪分子的多款恶意人工智能聊天机器人之一可通过“越狱”技术绕过安全检查生成主流模型通常会拒绝输出的内容。作为一款先进的人工智能模型DarkGPT能够生成高度恶意的代码尤其擅长开发不仅能成功编译、还能规避杀毒软件检测的复杂恶意软件。10.2.5 Wolf GPTWolf GPT是一款在暗网论坛出现的恶意人工智能聊天机器人旨在协助网络犯罪分子开展非法活动。它基于开源大语言模型构建支持用户生成恶意代码、编写复杂的钓鱼邮件和开发黑客工具。其可获取性降低了网络犯罪的准入门槛让技术水平有限的人员也能发起复杂的网络攻击。10.2.6 XXX GPTXXX GPT是另一款在黑客论坛被发现的恶意人工智能聊天机器人为网络犯罪分子提供了一个自动化并强化其恶意行为的平台。与Wolf GPT类似XXX GPT借助先进的人工智能能力助力恶意软件制作、钓鱼方案设计和其他各类网络威胁的实施。10.2.7 BlackMambaBlackMamba是HYAS Labs开发的一款概念验证型恶意软件它利用人工智能在运行时动态生成多态键盘记录代码能够有效规避传统的终端检测与响应EDR系统。该恶意软件在执行时会调用OpenAI的应用程序接口API合成恶意代码随后通过Python的“exec()”函数在良性程序的运行环境中执行该代码且不在磁盘上留下任何痕迹。这一机制使得BlackMamba每次执行时都能重新合成其键盘记录功能让恶意组件真正实现多态性。其捕获的按键信息包括用户名、密码和信用卡号等敏感数据会通过微软Teams等合法通信渠道外传进一步增加了检测难度。10.2.8 RatGPT贝克里希等人Beckerich et al.探讨了大语言模型尤其是ChatGPT如何被滥用作恶意软件攻击的中介。该研究展示了一种概念验证攻击——攻击者将大语言模型作为自身与受害者之间的代理绕过传统网络安全防护措施。研究人员证明基于ChatGPT生成的有效载荷可用于将看似无害的可执行文件武器化使其能够与命令控制C2服务器建立通信。通过利用可通过网络访问的插件该恶意软件能够动态生成IP地址、执行命令并窃取数据且始终保持未被检测状态。一项关键发现是ChatGPT及类似大语言模型可助力实施被动攻击使恶意软件无需受害者直接交互即可运行。该攻击模型依赖大语言模型生成的代码实现有效载荷交付和远程执行由于磁盘上未存储硬编码的恶意代码因此规避了传统恶意软件检测方法。10.2.9 Synthetic Cancer齐默尔曼和佐利科费尔Zimmerman and Zollikofer提出了一种变形恶意软件原型该原型利用大语言模型自动重写代码以规避基于特征码的检测。大语言模型会在复制过程中修改恶意软件的源代码每次执行时生成独特变体。这种持续演化使其能够绕过传统杀毒软件采用的基于特征码的检测机制。此外该恶意软件还采用社会工程学技术分析以往的电子邮件对话生成与上下文相关且具有说服力的回复。这些回复包含受感染的附件诱使收件人打开附件从而在不经意间进一步传播恶意软件。10.2.10 MetamorphASM穆赫森尼等人Mohseni et al.探讨了大语言模型如何生成混淆汇编代码给杀毒软件系统带来挑战。他们引入了MetamorphASM基准测试集包含328,200个混淆代码样本采用了死代码插入和寄存器替换等技术。该研究对GPT-3.5、GPT-4等大语言模型进行了评估评估方式包括信息论指标和人工评审。10.2.11 ChatPhishDetector小出等人Koide et al.提出了ChatPhishDetector这是一种利用大语言模型识别钓鱼网站的新型系统。该系统采用网络爬虫收集全面的网站数据随后将这些数据转换为供大语言模型分析的提示词。这种方法无需额外的机器学习训练通过识别仿冒品牌和社会工程学策略就能检测多语言钓鱼网站。10.2.12 AUTOATTACKER该研究探索了GPT-3.5-Turbo和GPT-4在AUTOATTACKER框架中的性能该框架可自动化实施入侵后网络攻击如权限提升、凭证窃取和勒索软件执行。AUTOATTACKER是一种创新的基于大语言模型的系统能够自动化实施复杂的、类人化的网络攻击通常称为“手动操作攻击”。该系统包含四个关键组件——摘要器Summarizer、规划器Planner、导航器Navigator和经验管理器Experience Manager这些组件协同工作生成针对各种模拟环境的精准攻击命令。大量测试表明尽管GPT-3.5和Llama2变体等模型的效果有限但GPT-4在仅需极少人工干预的情况下就能出色地实施入侵后攻击。10.2.13 WizardCoder舍斯托夫等人Shestov et al.提出了WizardCoder这是StarCoder的高级变体在Java源代码漏洞检测中发挥着关键作用。该模型拥有130亿参数架构经过专门微调用于易受攻击代码函数与不易受攻击代码函数的二分类任务。与基于CodeBERT的模型相比WizardCoder在识别安全漏洞方面表现出更高的准确性和稳健性。该论文重点介绍了多项关键改进例如使WizardCoder适配分类任务、处理不平衡数据集以及利用批量打包技术优化训练速度。经过微调的WizardCoder在平衡数据集和不平衡数据集上均优于ContraBERT取得了更优的ROC AUC和F1分数。讨论、局限性与建议Discussions, Limitations and Suggestions大语言模型LLMs在代码分析领域面临诸多挑战和开放问题值得进一步研究。本研究指出了多个尚未得到充分解决但具有巨大未来发展潜力的关键领域。本节将探讨若干核心挑战明确现有研究的空白并概述未来的潜在研究方向。12.1. 未来研究方向Future work大语言模型在恶意软件分析中的发展为进一步探索开辟了众多途径。本节基于当前研究发现和观察到的局限性提出若干未来研究方向。这些方向旨在填补现有空白提升大语言模型系统的性能和可靠性并扩展其在各类网络安全场景中的适用性。以下要点突出了可能塑造下一代智能恶意软件分析工具的关键研究机会和实际发展方向用于恶意软件分析的知识图谱与大语言模型结合Knowledge Graph Models with LLM for Malware知识图谱KGs用于跨领域知识表示有助于识别实体间的关联。例如通过分析恶意软件与攻击者之间的相似性知识图谱可揭示潜在模式——若多个攻击者使用相同的恶意软件和技术则他们可能隶属于同一组织。胡等人Hu et al., 2024提出了一种自动化构建威胁情报知识图谱的方法该方法利用GPT的少样本学习能力生成提示词实现数据的自动标注和增强减少人工工作量并构建模型训练数据集。随后研究人员对Llama2-7B模型进行微调使其能够对威胁情报报告进行主题分类、提取实体及关系、识别战术、技术与流程TTPs最终构建出实用的知识图谱。恶意软件逆向工程的混合方法Hybrid approaches for Malware Reverse Engineering大语言模型或非大语言模型均可独立在恶意软件文件如PE文件的逆向工程中发挥作用。然而考虑将大语言模型与IDA Pro或Ghidra等逆向工程工具相结合的混合方法有助于更高效地完成文件反汇编或反编译任务。用于反编译的思维链提示方法Chain-of-Thought Prompt methods for decompiling要理解思维链CoT提示方法在反编译中的应用首先需明确其在复杂任务中的作用。思维链提示通过逐步拆解问题让模型在得出结论前对每个组件进行推理。将该方法应用于反编译时能够为逆向工程代码或文本提供更结构化、更具逻辑性的思路助力理解底层流程和组件。尽管潜力巨大但这仍是一项开放挑战——反编译代码或复杂结构的复杂性加之当前模型的局限性使得利用思维链提示实现完全可靠且高效的反编译仍处于探索阶段。例如有研究[218]提出将思维链提示自然语言处理领域的最新进展可引导大语言模型完成中间推理步骤应用于WebAssembly二进制文件反编译为高级C代码的任务。该方法借鉴类人思维过程将复杂的反编译任务拆分为多个阶段使模型能更有效地解析、抽象和转换二进制代码。用于恶意软件代码与数据流分析的大语言模型LLM for Malware Code and DFA数据流分析DFAs在恶意软件分析中有助于跟踪数据流并识别源代码中的可疑行为。将数据流分析与大语言模型等自然语言处理模型相结合可发挥两者优势提升恶意软件分析效果——数据流分析负责跟踪数据流和依赖关系大语言模型则能识别文本中的模式、恶意意图或隐藏威胁。目前相关研究较少例如有研究[219]构建了一个可定制的数据流分析框架利用大语言模型分析Java程序。该框架通过tree-sitter库提取参数、返回值、调用者/被调用者、源/汇等关键信息并在来自TaintBench Suite的真实安卓恶意软件上对GPT-3.5、GPT-4、Gemini 1.0和Claude-3这四款大语言模型的性能进行了评估。知识增强预训练语言模型Knowledge-Enhanced Pre-trained Language Models, KE-PLMs这类模型通过在预训练阶段整合结构化外部知识成为自然语言处理领域的重大进步。本文可利用这些模型增强源代码的恶意软件检测能力。知识增强预训练语言模型整合多种形式的外部知识包括语言信息、事实数据和领域特定见解丰富模型的理解能力和上下文感知能力。这种方法提升了模型对复杂语言结构的理解能力使其在需要深度推理的任务中表现更出色。通过直接注入外部知识知识增强预训练语言模型在各类自然语言处理应用中均能实现更准确、更贴合上下文的语言处理结果。本文认为将知识图谱中的信息和领域特定数据等结构化外部知识融入源代码分析能更有效地识别与恶意软件活动相关的关联和行为知识增强预训练语言模型能够更好地捕捉这些复杂模式从而提升恶意代码的检测和理解效果。用于恶意软件代码分析的大概念模型Large Concept Model, LCM for malware code analysis假设某网络安全公司收到一个疑似包含恶意软件的可疑文件传统模型通常会分析单个代码片段往往会忽略复杂的混淆技术。这些局限性源于令牌级别的处理方式。有研究[223]提出了大概念模型LCMs该模型聚焦于“概念”完整的语义单元而非令牌能够提升长上下文理解能力、抽象推理能力和计算效率最终在跨语言和多模态应用等任务中表现更优。12.2. 局限性与挑战Limitations and Challenges恶意软件代码反编译的令牌长度限制Size of tokens for malware code decompiling恶意软件代码分析需要将复杂行为拆解为更小的可管理组件以实现更精准、高效的检测。由于大语言模型在处理长提示词方面存在局限性为单个单元函数而非整个恶意软件程序生成代码能提升准确性和清晰度。这种模块化方法有助于更好地检测恶意模式、简化调试流程并提高对不断演变威胁的适应性。然而在无缝整合这些单元函数以及准确模拟混淆和规避等高级恶意软件技术方面仍存在挑战。解决这些问题需要在自动化恶意软件分析领域开展持续的研究和优化。例如LLM4DecompileEnd模型的反编译功能受限于4096个令牌的最大长度。对新恶意软件模式的不熟悉Lack of familiarity with new malware patterns大语言模型严重依赖训练数据这使其在面对新型或特定恶意软件模式时的效果受到限制。若模型未针对新兴恶意软件变体、新型混淆方法或独特软件模式进行微调或训练则可能难以识别或处理这些陌生输入。这一局限性源于大语言模型依赖训练数据中的既有模式和示例——当遇到训练数据之外的内容或技术时模型可能无法准确分析或检测相关特征导致分析存在潜在空白或遗漏模式。做个总结本文全面概述了大语言模型LLMs在恶意软件代码分析领域的应用潜力。本文的研究重点主要集中在基于Transformer的模型及其在恶意代码检测、分类和理解方面的能力。这些先进的自然语言处理NLP模型在应对现代网络安全挑战方面展现出巨大潜力尤其在识别和缓解不断演变的恶意软件威胁方面表现突出。本文探讨了大语言模型如何有效分析恶意代码——它们凭借自身理解模式、检测异常和高精度分类威胁的能力发挥作用。借助深度学习和预训练模型的强大能力大语言模型有望彻底改变恶意软件分析领域使其更高效、更具可扩展性。此外本文还探讨了多种公开可用的数据集——这些数据集在恶意软件研究中发挥着关键作用尤其适用于大语言模型的预训练和微调等任务。这些数据集在静态恶意软件分析中至关重要使研究人员和网络安全专业人员能够基于真实世界的恶意代码样本训练模型。此外本文还探讨了将大语言模型整合到恶意软件检测和缓解策略中如何助力构建更具前瞻性的网络安全防护措施。通过自动化恶意软件分类和代码分析的相关环节大语言模型提高了检测速度、减少了人力投入并改善了整体安全态势。它们对新型和不断演变的恶意软件威胁的适应能力使其成为网络安全防御机制中的宝贵工具。尽管目前已取得诸多进展但本文认为大语言模型在进一步改进恶意软件分析方法、强化网络安全防护方面仍具有巨大潜力。随着这些模型的不断发展它们有望在塑造威胁情报、恶意软件检测和网络安全自动化的未来格局中发挥关键作用。