一、研究概况
本研究由蒋岸(Jiangan Ji)和章超(Chao Zhang)等研究人员完成,主要研究机构包括信息工程大学(Information Engineering University)、清华大学网络科学与网络空间研究院(Institute for Network Sciences and Cyberspace, Tsinghua University)以及清华大学计算机系(JCSS, Tsinghua University)等。该研究以题为“FirmAgent: Leveraging Fuzzing to Assist LLM Agents with IoT Firmware Vulnerability Discovery”的论文形式,发表于网络与分布式系统安全研讨会(Network and Distributed System Security Symposium,简称NDSS)2026年会议上。NDSS是网络安全领域的顶级国际会议之一,这表明该研究在学术界获得了高度认可。
二、学术背景与目标
本研究的科学领域属于物联网安全,具体聚焦于IoT设备固件(Firmware)的漏洞检测技术。随着物联网设备的快速普及,其安全漏洞问题日益严峻。固件是运行在这些设备上的核心软件,通常资源受限且缺乏强大的安全机制,成为攻击的主要目标。
当前主流的漏洞检测技术主要有两类,但都存在显著不足: 1. 静态分析:通过直接分析程序代码(无需运行)来发现漏洞,覆盖范围广,但普遍存在高误报率,并且无法自动生成漏洞验证所需的“概念验证”(Proof-of-Concept,简称POC)样本。大型语言模型(Large Language Models,简称LLMs)的引入虽然提升了分析精度,但依然受限于难以准确识别用户输入的起点(即“污点源”)。 2. 动态分析(特别是模糊测试,Fuzzing):通过自动化生成并执行大量随机或变异的输入来触发程序崩溃,从而发现可被利用的漏洞,并能生成POC。但其主要问题是高漏报率,尤其是在IoT固件中,大量的条件分支依赖于特定的硬件状态或输入值,导致模糊测试难以覆盖深层代码路径。
本研究基于一个关键观察:模糊测试能够准确地识别固件中实际接收外部输入的代码点(即真实的污点源),而静态分析则擅长对从这些点开始的程序路径进行深入的数据流跟踪。传统的混合方案(如混合模糊测试,Hybrid Fuzzing)试图在模糊测试过程中实时调用符号执行或LLM来突破复杂约束,但这会带来巨大的性能开销,并且容易受到IoT环境中频繁崩溃的干扰。
为此,本研究提出并实现了FirmAgent,这是首个提出并实现“利用模糊测试辅助LLM代理进行漏洞发现”的混合解决方案。其核心目标是结合动态分析和静态分析的互补优势,利用模糊测试的动态信息为LLM的静态推理提供精准的引导,从而在保持高检测率的同时,大幅降低误报和漏报,并自动化生成有效的POC,最终实现对IoT固件漏洞高效、精准的自动化发现与验证。
三、详细工作流程
FirmAgent的架构分为两个主要阶段,其工作流程如图所示:
第一阶段:模糊测试驱动的信息收集 此阶段的目标是利用轻量级模糊测试,精准、高效地收集运行时信息,为后续的LLM分析提供坚实基础。具体流程如下: 1. 模糊测试前分析:在开始动态测试前,对目标固件二进制文件进行静态分析,提取三方面关键信息: * 服务处理器检测:识别Web服务中各种请求的处理函数。传统方法依赖前端-后端字符串匹配,容易遗漏未在用户界面暴露的处理器。FirmAgent采用了一种结合静态分析与LLM上下文感知的模式学习方法,能更全面地发现隐藏的请求处理逻辑。 * 关键词字典构建:系统地提取可能接收用户输入的参数关键词。方法是从初始的网络流量种子出发,通过逆向分析找到处理这些关键词的函数,并向后追踪数据流,提取所有可能作为参数传递的字符串常量、全局变量或动态构建的字符串,形成一个全面的关键词字典。 * 汇点(Sink)范围与距离计算:识别安全敏感的函数(如system, strcpy等)作为漏洞汇点。对这些汇点进行反向可达性分析,确定其影响范围(即可能流向这些汇点的代码区域)。同时,利用图算法计算控制流图中每个基本块到最近汇点的“距离”。这个“距离”信息将用于后续指导模糊测试,使其向更靠近汇点的方向探索。
第二阶段:污点分析到POC生成的智能代理 此阶段利用第一阶段收集的精准信息(候选污点源、完整调用图、可达的测试用例),通过两个专门的LLM代理进行深入的漏洞分析和验证。 1. 污点传播代理: * 输入:基于候选污点源和完整调用图,构建出从每个源点到各个汇点的“潜在漏洞路径”。路径上的代码通过反编译工具(如IDA Pro)转换为近似源代码。 * LLM驱动的精准分析:将反编译后的函数代码、相关的源点和汇点信息,通过精心设计的提示词模板提交给LLM(研究中使用DeepSeek-R1)。LLM的任务是进行上下文感知的污点传播分析,判断污点数据是否能从源点流经该函数到达汇点,并考虑诸如消毒函数、别名分析、间接数据依赖等复杂语义。分析以函数为单位,在调用链上迭代进行。 * 提升精度:为了克服反编译代码不准确和LLM可能产生的误判,FirmAgent引入了两个关键步骤:(1) LLM驱动的反编译代码精炼,修正缺失参数或错误的控制流;(2) 基于小样本提示的告警验证模块,专门用于过滤因误解消毒逻辑或系统文件读取而产生的假阳性。 * 输出:经过验证的、高置信度的漏洞告警,包含确切的源点和汇点地址。
四、主要结果
研究团队在来自Netgear、D-Link、Tenda、Trendnet等主流厂商的14个真实世界IoT固件样本上对FirmAgent进行了全面评估。
与现有技术的对比结果:
关键组件有效性的量化验证:
五、结论与价值
本研究提出并验证了FirmAgent这一创新的混合漏洞检测框架。其核心科学价值在于,它颠覆了传统“混合模糊测试”的范式,不再是在模糊测试循环中频繁、昂贵地调用符号执行或LLM,而是将模糊测试重新定位为一个“信息采集器”,为后续离线、批量的LLM深度静态分析提供精准的“路标”(真实污点源、完整调用图)和“地基”(可达的测试用例)。这种分工协作的模式,有效规避了动态分析中实时求解约束的性能瓶颈和崩溃干扰问题,同时充分发挥了LLM在代码语义理解和推理方面的强大能力。
其应用价值极为显著: * 对安全研究社区:提供了一个高效、精准、自动化的IoT固件漏洞挖掘工具,代码已开源。 * 对企业和制造商:展示了利用先进AI技术进行主动安全防御的可行路径,有助于在产品开发周期或安全审计中提前发现并修复高危漏洞。 * 对漏洞发现流程:将漏洞检测、验证和POC生成自动化地串联起来,将研究人员从海量误报和繁琐的手动验证中解放出来,大幅提升漏洞研究的效率和产出。
六、研究亮点
七、其他有价值内容
研究也坦诚地讨论了FirmAgent的局限性:首先,其能力依赖于底层固件重托管(Rehosting)框架的成功率,目前并非所有固件都能完美仿真。其次,尽管假阳性已大幅降低,但缓冲区溢出检测中仍存在少量因LLM未能准确推断缓冲区大小关系而产生的误报。作者指出,未来可通过结合检索增强生成或微调等策略来进一步提升LLM对内存语义的理解。这些讨论体现了研究的严谨性和对未来工作的展望。