分享自:

基于思维链和智能体的漏洞可利用性验证系统PwnRover

期刊:软件学报DOI:10.13328/j.cnki.jos.000000

《软件学报》发表武汉大学等团队最新研究:提出大语言模型驱动的漏洞自动化利用验证系统PwnRover

近日,武汉大学国家网络安全学院赵磊教授团队与武汉纺织大学唐奔宵教授团队等合作,在《软件学报》(Journal of Software)上发表了一项创新性研究成果。该研究论文题为《PwnRover:基于思维链和智能体的漏洞可利用性验证系统》,提出了一种基于大语言模型(Large Language Model, LLM)的智能化、自动化漏洞可利用性验证新范式。此项工作标志着大语言模型技术应用于高专业性、高复杂性的二进制软件安全分析领域的重要突破,为解决长期以来困扰业界的漏洞利用自动化难题提供了新思路。

一、 研究的学术背景与目标 软件漏洞利用是网络空间安全的主要威胁之一。在漏洞分析中,证明一个漏洞可以被成功利用(即可利用性验证)是评估其危害、指导防护和修复的关键环节。然而,现有自动化验证方案主要依赖于模式匹配或规则学习,存在两大关键局限:一是假设漏洞概念验证样本的执行路径就是最终可利用的路径;二是假设漏洞利用模式能够跨不同程序泛化。现实中,由于程序个体的巨大差异,即使是同类漏洞,在不同程序实例上也可能表现出截然不同的异常状态,使得预定义的利用模式难以提取和适配,导致现有自动化方案的效率和成功率普遍不高。该研究团队敏锐地指出,上述困境的核心在于缺乏对漏洞程序及其异常状态的语义感知与理解能力。人类安全专家之所以能够进行漏洞利用,关键在于其对程序功能、上下文状态和利用对象的深度理解与逻辑推理。传统自动化工具恰恰缺乏这种“理解”能力。

为此,该研究旨在探索并实现将大语言模型强大的代码理解与推理能力引入二进制程序漏洞分析领域。研究团队设定了明确目标:设计并构建一个能够模拟专家思维、具备状态感知、语义理解、异常解释、可利用性推理和验证代码生成等完整能力的智能化漏洞可利用性验证系统,以应对漏洞可利用性推理、复杂验证链条衔接、多样化分析工具协同三大技术挑战。该系统被命名为PwnRover,其愿景是实现从漏洞根源定位到最终利用代码生成的端到端自动化验证流程。

二、 PwnRover系统的详细工作流程 PwnRover并非一个简单的“提示词”应用,而是一个融合了专家知识、结构化思维链和多智能体协同的复杂系统。其核心设计思想是将人类专家的漏洞分析经验凝练为可驱动大语言模型的“思维链条”,并将大语言模型与专业的程序分析工具(如反汇编器、调试器)深度融合,形成能够感知环境、执行任务的专业“智能体”。整个系统的工作流程可以分解为三个紧密耦合的核心模块。

1. 基于工作流分解的思维链构造模块 这是驱动整个系统的“逻辑中枢”。研究团队没有让大语言模型一次性处理整个复杂的漏洞利用问题,而是将专家经验结构化、层次化。首先,他们将漏洞可利用性验证的整体工作流分解为四个关键阶段:漏洞成因诊断、漏洞触发条件分析、漏洞利用模式推理、漏洞利用代码生成。这四个阶段环环相扣,前者的输出是后者的输入。其次,针对每个阶段,特别是利用模式推理和代码生成阶段,根据不同漏洞类型(如栈溢出、堆溢出、释放后重用)和不同利用模式(如返回导向编程、Fastbin攻击),设计了更细粒度的思维链。最后,每个细粒度任务被进一步分解为可被大语言模型或智能体执行的“原子任务”,即原子思维链

每个原子思维链被设计为一个五元组模板:<背景条件, 任务目标, 操作对象, 提示词, 预期结果>。例如,一个针对堆漏洞的任务可能是“感知当前堆内存布局”。操作对象可能是动态调试智能体。提示词则包含了调用调试器获取堆块信息的详细指令序列。通过这种模板化的设计,系统实现了专家知识的组件化封装,便于维护和扩展。

2. 大模型驱动的自动化程序分析工具模块 为了使大语言模型能够“理解”和“操作”二进制程序,研究团队为传统程序分析工具开发了基于大语言模型的接口,赋予了大语言模型“手”和“眼”。核心工具包括: * LLM-Ghidra:一个静态分析智能体。它将用户的自然语言分析需求(如“对main函数进行反编译”)转化为对Ghidra逆向工程平台的具体API调用,获取反汇编代码、控制流图等静态信息,并以结构化、语义化的方式解释给大语言模型。 * LLM-GDB:一个动态调试智能体。这是系统实现动态状态感知和验证的关键。它允许大语言模型通过自然语言指令来控制GDB调试器,执行设置断点、单步执行、查看内存与寄存器、修改变量值等复杂调试操作,并将执行结果反馈给大语言模型进行推理。 * 漏洞利用能力拓展模块:为了解决单个漏洞概念验证样本信息不足的问题,该模块基于定向模糊测试思想,设计变异策略,从一个初始样本演化生成多个样本,探索更多可能的程序执行路径和异常状态,为后续分析提供更丰富的上下文信息。

3. 基于多智能体协同的验证执行模块 这是系统的“执行引擎”,采用了层次化的多智能体架构来模拟一个安全团队的协同工作。 * 任务规划层:由一个主智能体担任“项目经理”。它掌握整个验证工作流,负责根据当前所处的阶段(如成因诊断或利用生成),判断下一步该做什么,并调度相应的专业子智能体来执行具体任务。它还负责维护全局上下文和记忆。 * 任务实施层:由多个专业化的子智能体构成,在主智能体的调度下工作。这些子智能体分为两类: * 分析型子智能体:如GDB智能体和Ghidra智能体,主要负责在漏洞诊断阶段进行程序状态的建模和信息提取。 * 工具型子智能体:如ROP构造智能体、Fastbin利用智能体等。它们嵌入了针对特定利用模式的专家思维链,负责在利用生成阶段执行具体的攻击链构建任务。例如,ROP智能体会分析程序代码,寻找合适的指令片段,组合成实现特定功能(如调用system函数)的ROP链。 * 工具接口层:即上述的LLM-Ghidra和LLM-GDB等,是智能体与真实世界程序交互的“手”。

不同阶段智能体间的交互模式也不同。在前期诊断阶段,主智能体直接调用分析型子智能体获取信息,模式相对直接。而在后期的利用生成阶段,由于需要不断尝试和验证,系统引入了 “思考-行动”循环。主智能体作为“思考体”,根据当前状态规划行动策略(如“尝试构造一个Fastbin攻击链”);工具型子智能体作为“行动体”,执行具体操作并验证结果;验证结果反馈给主智能体,驱动其进行下一轮思考和规划,形成一个动态演化的闭环。

三、 研究的主要结果与验证 研究团队在一个包含30个CTF(夺旗赛)二进制漏洞程序的数据集上对PwnRover原型系统进行了全面评估。这些程序涵盖了栈溢出、堆溢出、格式化字符串等多种常见漏洞类型,具有较高的复杂性和代表性。实验结果有力地证明了PwnRover方法的有效性:

  1. 漏洞类型诊断与成因诊断:PwnRover在这两项任务上取得了100%的成功率。这意味着系统能够准确地识别出程序存在何种类型的漏洞(如缓冲区溢出),并定位到导致漏洞的根本原因(如哪个危险函数在哪个位置被不安全地调用)。这一结果直接证明了基于大语言模型的语义理解方法在漏洞定位和初步分析上的强大能力,成功克服了传统模式匹配方法在程序个体差异上的局限。

  2. 漏洞利用模式推理:成功率达到86.7%(30个中成功26个)。这意味着在绝大多数情况下,系统能够基于对漏洞成因和程序状态的理解,推理出可行的攻击路径和模式(例如,判断出可以通过覆盖返回地址进行控制流劫持,并选择ROP作为绕过防护的手段)。未成功的4个案例主要涉及极其复杂或非常规的利用模式,这指明了未来需要进一步丰富专家知识库和思维链的方向。这一结果是连接“漏洞诊断”与“代码生成”的关键桥梁,显示了系统具备高级的逻辑推理能力。

  3. 漏洞利用代码生成:成功率达到80.0%(30个中成功24个)。这是整个验证流程的最终产出,也是最具挑战性的环节。系统能够自动生成可实际触发漏洞并实现预期攻击效果(如获取shell)的利用代码。这个结果不仅验证了前面所有环节(诊断、推理)的正确性,更从实践层面证明了PwnRover端到端自动化漏洞利用验证的可行性。生成的利用代码包含了对抗现代防护机制(如地址空间布局随机化、数据执行保护)的常见技术。

这些结果之间具有清晰的逻辑递进关系:高精度的诊断是正确推理的前提,而正确的推理又是成功生成利用代码的基础。最终80%的利用代码生成成功率,综合性地证明了“大语言模型驱动的语义理解”这一核心方法在整个漏洞可利用性验证链条中的有效性。实验数据为论文的核心论点提供了坚实支撑。

四、 研究的结论、价值与亮点 本研究成功构建并验证了PwnRover,一个基于大语言模型思维链和多智能体架构的漏洞可利用性验证系统。研究得出结论:通过将专家知识结构化為思维链,并将大语言模型与专业程序分析工具深度融合,可以显著提升自动化漏洞利用验证系统的语义理解能力、逻辑推理能力和环境适应能力,有效应对程序个体差异带来的挑战。

该研究的价值体现在多个层面: * 科学价值:它开创性地将大语言模型系统地应用于二进制程序安全分析这一深层技术领域,验证了大语言模型在理解非自然语言、执行复杂多步骤逻辑推理任务方面的潜力,为“AI for Security”和“程序分析智能化”提供了新的范式和技术路径。 * 应用价值:PwnRover可作为安全研究人员的“AI助手”,大幅提升漏洞分析和武器化验证的效率,缩短从漏洞发现到形成防护措施的时间窗口。在网络安全竞赛、渗透测试、漏洞风险评估和补丁有效性验证等场景具有直接的应用前景。 * 方法论价值:提出的“外部引导思维链”、“层次化多智能体架构”、“LLM-工具接口”等设计模式,为如何将大语言模型能力安全、可控、有效地整合进专业工作流程提供了可复用的框架。

本研究的亮点突出: 1. 问题切入新颖且关键:直击自动化漏洞利用领域长期存在的“语义理解缺失”和“程序个体差异”两大核心痛点,选题具有重要的理论和现实意义。 2. 方法设计系统且创新:并非简单调用API,而是构建了一个融合专家知识、结构化推理、工具操控于一体的复杂智能系统。其中,基于工作流分解的原子思维链设计、LLM-GDB/LLM-Ghidra工具接口、以及分层的多智能体协同机制,均是该研究的核心创新点。 3. 验证结果坚实:在具有一定难度的30个CTF赛题数据集上取得的全面、量化的优异成绩,为方法的有效性提供了有力证据,尤其是80%的自动化利用代码生成成功率,在同类研究中表现突出。 4. 启发性强:研究展示了如何通过“人机协同”的方式,将人类专家的领域知识(通过思维链)与人工智能的泛化能力相结合,为解决其他需要深度专业知识和复杂推理的领域问题(如芯片设计验证、金融风控分析)提供了宝贵的参考。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com