MALF:一种用于工业控制协议智能模糊测试的多智能体LLM框架

大家读完觉得有帮助记得关注和点赞!!!

摘要​

工业控制系统(ICS)对现代基础设施至关重要,但日益面临网络安全威胁,特别是其通信协议中的弱点。本文提出MALF(多智能体LLM模糊测试框架),这是一种先进的模糊测试解决方案,它将大语言模型(LLMs)与多智能体协调相结合,以识别工业控制协议(ICPs)中的漏洞。通过利用检索增强生成(RAG)获取领域特定知识,并使用QLoRA微调进行协议感知的输入生成,MALF提高了模糊测试的精确性和适应性。多智能体框架优化了种子生成、变异策略和反馈驱动的改进,从而改善了漏洞发现。在Modbus/TCP、S7Comm和Ethernet/IP等协议上的实验表明,MALF超越了传统方法,实现了88-92%的测试用例通过率(TCPR),并生成了更多的异常触发(ETN)。MALF还保持了超过90%的种子覆盖率和4.2至4.6比特的香农熵值,确保了多样化的、符合协议的变异。在电厂的真实工业攻防靶场中部署时,MALF发现了关键漏洞,包括三个零日漏洞,其中一个已被国家信息安全漏洞共享平台(CNVD)确认并注册。这些结果验证了MALF在真实世界模糊测试应用中的有效性。这项研究突出了多智能体LLMs在ICS网络安全中的变革潜力,提供了一个可扩展的、自动化的框架,为漏洞发现设立了新标准,并加强了关键基础设施应对新兴威胁的安全性。

​关键词​ 工业控制系统 ⋅ 协议模糊测试 ⋅ 漏洞挖掘 ⋅ 大语言模型 ⋅ 多智能体系统

​1 引言​

工业控制系统(ICS)的快速发展使其架构从传统的ISA-95分层模型转向更动态、网络化的云-边-端框架。这一转变由信息和通信技术的进步驱动,促进了生产要素之间的实时可靠互联,提高了运营效率[1]。关键的工业控制协议(ICPs)实现了跨层互操作性,支持时间敏感网络(TSN)和5G等技术[2]。然而,这些协议由于依赖确定性的、有状态的通信模式以及供应商特定的实现而引入了独特的安全风险。例如,Modbus/TCP缺乏原生加密,使其容易受到中间人攻击,而OPC UA复杂的元数据结构产生了可通过畸形数据包利用的解析漏洞。这些弱点一旦被利用,可能破坏安全关键流程(例如,PLC命令注入)或允许在ICS网络中进行横向移动[3]。

模糊测试是一种关键的动态漏洞发现技术,涉及生成和注入畸形输入以暴露潜在弱点[4]。与通用模糊测试相比,ICPs的模糊测试面临独特的挑战[5]。ICPs的结构化和上下文依赖性要求对其消息序列、时间约束和通信上下文有全面的理解[6]。此外,在这些环境中的测试必须考虑对安全评估至关重要的并发性和时间敏感性[7]。这些要求需要专门的方法来有效应对ICPs的复杂特性。例如,Modbus/TCP采用高度结构化的头部和有效载荷,需要深入的协议知识才能产生有意义的消息种子[8]。由输入多样性不足引起的低效变异过程可能破坏模糊测试工作。

LLMs和人工智能(AI)的集成为这些挑战提供了有前景的解决方案。LLMs凭借其先进的上下文理解和自然语言处理能力,非常适合为ICPs生成上下文感知的输入[9]。通过利用多智能体系统,LLMs可以实现模块化协作,智能体专门负责输入生成、漏洞分析和鲁棒性评估。这种方法模拟了类似人类的团队合作[10],在现代ICS复杂、模块化的环境中优化了模糊测试。这种策略提高了测试效率,发现了更深层次的漏洞,并克服了传统模糊测试器的局限性。

本工作提出了一种新颖的框架,利用多智能体LLMs对ICPs进行全自动、模块化和智能化的模糊测试。所提出的框架通过自适应输入生成和迭代学习,应对了现代工业环境(如扁平化网络架构和多样化通信协议)带来的独特挑战。通过动态演化模糊测试过程,它能够随时间推移识别日益复杂的漏洞。此外,引入了新的指标来评估模糊测试的有效性,强调安全分析的深度和协议覆盖率。主要贡献总结如下:

  • 我们引入了MALF,一个专为ICPs设计的全自动模糊测试框架。MALF解决了ICS模糊测试的关键挑战,如协议合规性、变异多样性和自适应反馈优化,无需人工干预。

  • 我们采用先进的LLM方法,包括RAG和QLoRA微调,以动态生成协议感知的测试用例。这增强了种子生成、变异和实时反馈调整等模糊测试过程,提高了测试精度和适应性。

  • 我们在工业攻防靶场内建立了一个真实世界的模糊测试基准平台。MALF优于现有的模糊测试方法,展示了卓越的效率和测试用例多样性。它还发现了关键漏洞,包括ICPs中的潜在缺陷,从而将模糊测试扩展到工业互联网生态系统。

​2 相关工作​

在过去的几十年里,模糊测试领域随着方法和技术的发展而不断演进。最近的进展扩展了传统的模糊测试技术以应对现代系统的复杂性。本节概述了模糊测试的最新进展,重点是基于变异和生成的模糊测试、高级协议模糊测试以及由LLMs驱动的多智能体系统的集成。

​2.1 传统的基于变异和生成的模糊测试​

早期的模糊测试主要依赖于基于变异和生成的技术。基于变异的模糊测试器修改一组有效输入以创建多样化的、可能无效或意外的输入,旨在触发漏洞或不可预见的行为[11]。著名的例子包括AFL(American Fuzzy Lop)[12]和libFuzzer[13],它们取得了显著的成功,特别是在基于文件和应用的模糊测试中。例如,AFL使用覆盖率引导的变异策略,迭代地改进输入语料库,增强了对新代码路径和漏洞的发现[14]。该方法在各种应用中被证明有效,为发现错误和安全漏洞提供了宝贵的见解。相比之下,基于生成的模糊测试根据预定义的语法或规则集从头创建输入[15]。这种方法对于结构化数据格式特别有效,因为必须精确控制输入结构。像Peach Fuzzer[16]和Sulley[17]这样的工具专注于生成符合特定格式的输入,使它们非常适合测试依赖结构化通信协议或解析器的系统。然而,当应用于现代工业环境中常见的复杂、有状态协议时,传统的模糊测试技术遇到了重大挑战[18]。这些方法通常缺乏理解协议语义的能力,并且难以有效探索广阔的输入状态空间。

​2.2 高级协议模糊测试技术​

随着工业和网络系统采用日益复杂的通信协议,模糊测试技术也相应发展以应对其复杂性。协议模糊测试专门针对协议实现中的漏洞[19],确保其对抗攻击的鲁棒性。最近的进展包括状态感知模糊测试,它考虑了协议的状态性以提高测试准确性。诸如AFLNet[20]、Boofuzz[21]和Nsfuzz[22]等工具通过引入状态跟踪扩展了传统方法。例如,AFLNet采用状态机模型来更好地理解协议状态,从而能够对有状态系统(如HTTP、FTP和专有ICPs)进行针对性测试。这种方法在发现与特定交互序列相关的漏洞方面特别有效。机器学习(ML)通过预测关键状态并引导模糊测试引擎探索未覆盖区域,进一步增强了协议模糊测试[23]。像NEUZZ[24]这样的工具使用神经网络来优化变异策略,提高了代码覆盖率和错误检测率。然而,基于ML的方法在处理异构、不透明的ICPs时面临局限性,这些协议需要更深层次的上下文理解[25]。

​2.3 LLM驱动的模糊测试技术​

LLMs的出现为模糊测试引入了一种变革性的方法,特别是在应对复杂协议模糊测试的挑战方面[11]。LLM驱动的框架,如TitanFuzz[26]和FuzzGPT[27],利用LLMs的上下文感知和生成能力来创建自适应和智能的模糊测试解决方案。这些框架使用多智能体架构来动态生成输入、分析响应并根据实时反馈优化模糊测试策略。例如,TitanFuzz集成了Codex用于协议特定的输入生成,并配备了执行静态和动态分析的智能体,从而能够细致地探索协议状态空间。这种方法在传统方法难以应对的环境中表现出色,例如具有多样化通信栈和复杂状态转换的ICPs。LLM驱动的模糊测试的一个关键优势在于其生成上下文感知测试用例的能力,这些用例包含了协议历史、预期功能和语义约束。这超越了确定性的、基于规则的模糊测试,为在复杂系统中发现漏洞提供了更复杂的手段[28]。此外,这些框架包括动态评估机制,评估生成输入的功能正确性和安全相关性,调整策略以最大化覆盖率和漏洞检测[29]。

模糊测试的演进反映了从传统的基于变异和生成的技术到高级协议模糊测试和LLM驱动框架的进程。传统方法对简单系统有效,但往往无法应对现代ICPs的复杂性和状态性。高级协议模糊测试引入了状态建模和基于ML的优化,而LLM驱动的系统则利用AI提供适应性、上下文感知和多智能体协作。这些创新为更有效地分析ICS安全性奠定了基础,确保了在日益互联的环境中的韧性。

​3 动机​

工业控制系统及其相关网络协议的日益复杂性使得安全测试成为一项关键但极具挑战性的任务[30]。传统的模糊测试技术,无论是基于变异还是生成,在处理现代工业网络协议的复杂性时都面临显著的限制。这些协议通常涉及高度结构化和分层的通信机制,要求严格遵守通信序列,并集成了实时约束。随着工业系统向开放、协作和智能配置演进,对复杂、自动化和灵活的模糊测试方法的需求变得更加迫切。本节深入探讨了采用多智能体LLM驱动方法来解决这些挑战的动机。

​3.1 对基于LLM的模糊测试的需求​

LLMs的最新进展展示了它们在各个领域理解和生成上下文丰富且结构化的数据的能力。将LLMs应用于工业网络协议模糊测试的任务,带来了一个增强生成测试用例多样性和质量的有前景的机会。LLMs能够理解和生成协议特定的消息格式[31]、复杂命令序列并遵守通信标准,这使它们成为测试结构化通信环境(如工业协议)的理想选择。此外,ICPs是高度结构化的,需要深入的上下文知识来创建有效消息[32]。LLMs在大量技术和结构化数据上进行了预训练,为理解这些协议提供了基础,随后可以对其进行微调以有效生成协议特定的模糊测试输入。利用LLMs在构建高度多样化且上下文感知的种子方面提供了优势,这提高了发现可能被传统模糊测试方法遗漏的漏洞的潜力。

​3.2 工业网络协议的威胁模型​

工业网络协议面临独特的安全挑战,使其区别于传统的IT协议。这些协议通常在对其干扰高度敏感的环境中运行,例如关键制造线、电网和石化设施。利用工业网络协议中漏洞的攻击者可能造成重大破坏,导致经济损失、安全危害甚至灾难性故障。工业网络协议的威胁模型包括各种攻击向量,例如未经授权的命令注入、拒绝服务(DoS)和重放攻击[33]。这些威胁利用了协议在管理认证、命令执行和状态管理方面的固有弱点。与典型的IT网络协议不同,工业通信协议通常缺乏强大的安全机制,使其特别容易受到可能识别其实现中缺陷的模糊测试攻击。这些漏洞的后果是严重的,范围从设备故障到完全的操作停机。

​3.3 现成LLMs的局限性​

尽管LLMs天生强大,但它们在ICPs模糊测试中的应用并非没有挑战。现成的LLMs,即使是那些在多样化的互联网技术文本上训练的模型[34],也常常缺乏理解工业网络协议特殊性所需的专门知识。这些模型可能生成语法正确但语义不正确的消息,无法捕捉协议的确切结构和操作要求,导致模糊测试过程低效或不完整。此外,工业协议具有复杂的依赖关系和特定的输入约束,现成的LLMs在没有适当指导或微调的情况下难以完全理解。例如,LLMs可能不知道某些命令必须严格按顺序执行,或者不同协议层之间的上下文关系。这种缺乏领域特定微调的情况降低了它们在工业环境中直接用于模糊测试任务的有效性。另一个局限性在于LLMs无法自主评估生成的消息在协议上下文中的有效性[35]。传统的基于LLM的生成缺乏一种反馈机制,无法迭代地改进生成的消息以确保它们符合协议特定的要求。这限制了实现深入且有意义的测试覆盖的能力,特别是对于涉及多个互连设备和动态环境的复杂场景。

​3.4 采用多智能体LLM方法的动机​

考虑到与现成LLMs相关的挑战以及工业协议的复杂性,我们提出了一种用于工业网络协议模糊测试的多智能体LLM驱动框架。其思想是利用多个专门化的智能体,每个智能体具有不同的职责,通过协作实现全面的模糊测试结果。这种方法允许我们将模糊测试过程模块化为离散的任务,例如协议分析、种子生成、变异和评估,将每个任务分配给一个LLM驱动的智能体。采用多智能体框架的动机源于需要一种分布式和并行的方法来处理模糊测试过程的不同方面,从而实现更大的覆盖范围和效率。在这种背景下,智能体在一个反馈循环中运行,其中一个智能体生成符合协议的种子,另一个执行变异同时确保语法和语义正确性,还有一个通过评估这些消息对目标系统的影响来评估其有效性。这种协作的多智能体设置旨在确保每个生成的消息都遵守协议特定的约束,同时最大化测试用例的多样性和潜力。我们的工作旨在构建一个智能、自动化和模块化的协议模糊测试框架,它结合了LLMs的优势,同时通过专业化和协作克服其局限性。这种多智能体架构不仅增强了测试输入的生成和验证,而且促进了整个模糊测试过程中的迭代学习和适应。通过设计具有不同但互补角色的专门化智能体,我们可以显著提高模糊测试的效率,从而对工业网络协议进行更鲁棒的测试。以下各节将详细说明我们提出的多智能体LLM模糊测试框架的架构,包括每个模块的操作动态以及驱动整个系统的协作工作流。

​4 方法论​

当前的模糊测试方法在处理复杂的ICPs时面临协议合规性和高质量输入生成的挑战。虽然许多现有方法使用LLMs或深度学习进行辅助,但它们通常依赖人工干预,未能实现模糊测试循环的完全自动化。为了克服这些限制,我们提出了一种多智能体LLM驱动的模糊测试框架(MALF),该框架自动化了ICPs的整个模糊测试过程。如图1所示,MALF集成了四个核心组件——种子生成智能体、测试用例生成智能体、反馈分析智能体和通信交互模块——以生成多样化的测试输入、优化测试策略并实时改进漏洞检测。

(图1:MALF的框架架构。)

​4.1 技术基础​

本节概述了驱动MALF的关键技术:RAG和QLoRA,使得领域特定知识能够集成到预训练的LLMs中用于ICP模糊测试。技术架构如图2所示。

(图2:多智能体LLM的技术架构:RAG和QLoRA流水线。)

​4.1.1 检索增强生成(RAG)​​

RAG遵循一种"检索-然后-阅读"的方法,用协议特定知识增强LLMs,解决其上下文长度限制[36]。在MALF中,RAG从结构化的ICP文档(例如Modbus/TCP、S7、Ethernet/IP)和漏洞数据库(例如CVE、CNVD)中检索信息(例如命令结构、字段格式、供应商特定约束)。这确保了LLMs产生领域感知的输出。我们没有重新训练模型,而是利用ICP文档(通常是PDF格式)的结构化组织来提取有意义的知识。提取过程包括以下步骤:

i. ​文档解析和索引​:我们解析协议文档以构建一个层次化大纲,捕获章节级别、标题和页码范围。使用正则表达式识别包含关键术语(例如"功能码"、"数据字段"或"命令格式")的章节。

ii. ​内容提取​:对于每个识别出的章节,递归分析子章节以提取特定命令或字段属性的详细描述,例如"功能码03:读保持寄存器"。这些章节被整合到一个领域知识库中。

iii. ​知识数据库​:在分析的协议文档中,我们构建了一个包含320页、约75万个字符的数据库,涵盖了180个不同的命令相关的协议内容。

为了集成这些知识,我们使用背景增强提示。检索到的知识 c与任务指令 q(例如"为功能码03生成一个Modbus/TCP请求")结合,形成一个全面的提示,使得无需微调LLM即可生成符合协议的测试用例。这种方法计算效率高,并且与闭源模型兼容。

​4.1.2 量化低秩适应(QLoRA)​​

QLoRA [37] 通过引入低秩分解层,实现了预训练LLMs的内存高效微调,减少了计算和存储开销。这对于在MALF中将大模型适应工业模糊测试任务至关重要。我们将基础模型(Llama3.1-8B)量化为4位精度,减少了75%的内存使用,同时保持性能[38]。这使得能够在工业硬件上高效部署,且开销最小。QLoRA将可训练的低秩矩阵引入Transformer层,以使模型适应模糊测试。例如,种子生成智能体检索协议特定结构,而测试用例生成智能体生成变异。适应后权重矩阵 W'的变换表示为:

其中 WA ∈ ℝd×r, WB ∈ ℝr×d, r ≪ d, Θbase代表预训练模型的冻结参数,ΔW表示可学习的低秩调整,xi代表输入,yi代表目标输出。

QLoRA通过将内存效率与快速任务特定适应相结合,为协议模糊测试带来了显著优势。通过将权重量化为4位精度,GPU内存使用减少了高达75%,使得即使在工业级硬件上也能高效部署。这种方法允许使用最少的任务特定数据对特定的Transformer层进行微调,同时保留基础模型的通用知识,确保了计算效率和任务适应性。在MALF内部,QLoRA赋予每个智能体专门化的能力:种子生成智能体通过利用RAG检索的上下文重建符合协议的种子,测试用例生成智能体产生多样化和协议有效的变异以覆盖结构和语义异常,反馈分析智能体动态解释系统响应以改进变异策略。这种效率与专业化的协同作用使QLoRA成为MALF可扩展性和精度的基石。

通过将QLoRA微调与RAG增强提示相结合,MALF在领域特定适应性和计算效率之间实现了良好的平衡。这种集成使框架能够动态调整以适应新协议和不断演变的工业场景,为智能模糊测试解决方案设立了新的基准。

​4.2 种子生成智能体​

种子生成智能体在将原始协议流量转化为结构化的、符合协议的模糊测试种子方面至关重要。它通过利用实时流量捕获、动态协议知识检索和带有思维链(CoT)推理的微调LLMs[39]来自动化这一过程,从而提高了模糊测试的效率和准确性。

​4.2.1 功能与目的​

该智能体自动化协议特定数据的提取和验证,以生成高质量的模糊测试种子。通过CoT推理和RAG,它执行以下任务:

i. ​识别协议类型和特征​:根据流量特征确定ICPs。

ii. ​提取和验证字段​:提取基本字段,如功能码、地址和有效载荷长度,同时确保符合协议规则。

iii. ​生成结构化种子数据​:创建符合协议的种子数据,用于模糊测试,确保高可靠性和漏洞检测潜力。

这种系统化的方法确保了生成的种子可靠、合规且能有效识别漏洞。

​4.2.2 工作流描述

(图3:指定种子生成行为的提示模板。)

种子生成智能体遵循一个结构化的过程来实现其目标。首先,使用工具(如Scapy)捕获流量,解析原始有效载荷和元数据。通过RAG从知识库检索协议特定规则,为准确的解析和验证提供必要的上下文。然后,CoT推理通过将任务分解为逻辑步骤来指导字段提取,确保根据RAG检索的规则验证字段(例如功能码、地址)。一旦字段被提取,就创建动态模板来编码协议约束,例如根据提取的字段生成Modbus请求。最后,智能体以JSON格式输出种子数据用于模糊测试。种子生成的提示模板如图3所示。

​4.2.3 CoT和RAG的集成​

CoT推理能够将复杂的提取任务分解为可管理的、顺序的步骤,确保逻辑一致性并最小化错误。CoT框架中的每个步骤通过利用检索到的协议特定规则来验证中间结果,从而指导后续操作。例如,在Modbus数据包解析期间,CoT确保在继续提取长度字段之前验证功能码和地址等字段。RAG通过动态检索相关的协议知识来增强系统,为LLM提供必要的上下文。这确保了字段提取遵守协议特定的规则和约束。RAG优化包括针对高优先级字段的高效查询构建、用于快速检索的知识库层次结构组织,以及选择性上下文注入以在最大化相关性的同时保持提示效率。此外,还采用了模板自动化,智能体通过将RAG检索的规则与预定义的逻辑模式集成来自动构建协议特定模板。这些模板简化了种子生成过程,确保了跨不同协议的准确性和适应性。

​4.3 测试用例生成智能体​

测试用例生成智能体通过应用字段、结构和语义变异,将高质量种子转换为多样化、符合协议的测试用例。使用动态提示工程,该智能体能有效地在受测系统(SUT)中发现漏洞。

​4.3.1 功能与目标​

该智能体的主要目标是生成广泛的测试用例集,通过引入受控的变化来评估SUT的鲁棒性。它通过以下方式实现:​字段变异,涉及改变协议字段值,如功能码和数据长度;结构变异,通过插入非法字段或省略必要字段来修改协议的架构;以及语义变异,在协议数据内创建不一致性,例如不匹配的长度和有效载荷。

此外,该智能体根据来自反馈分析智能体的反馈调整其变异策略,确保测试用例随着对SUT漏洞和行为的实时洞察而演化。

(图4:指定测试用例生成行为的提示模板。)

​4.3.2 工作流描述​

测试用例生成工作流始于输入获取,智能体从种子生成智能体接收结构化的种子数据,并从反馈分析智能体接收变异优先级。这为生成针对协议漏洞的测试用例提供了必要的上下文。

在变异逻辑阶段,智能体应用字段、结构和语义变异的组合。​字段变异涉及基于预定义规则随机修改字段值,可以形式化为:

 

其中 V是原始字段值,ΔV是随机或策略驱动的增量。

​结构变异通过插入非法字段或删除强制字段来调整协议的结构,由 P'表示:

其中 P是原始数据包,Finsert是插入的非法字段集合,Fdelete是删除的强制字段集合。

​语义变异在协议数据内引入不一致性,即不匹配的字段关系,由 S'建模:

其中 S代表原始的语义关系,ΔS表示引入的异常。

​动态策略调整根据反馈动态修改变异密度,遵循以下公式:

其中 ρ0是初始变异密度,α是反馈影响权重,feedback_score表示检测到的异常的严重性。

动态提示在引导LLM执行精确变异方面起着关键作用。测试用例生成的提示模板如图4所示。它确保语义变异是上下文感知的,引入有意义的异常。动态提示工程的核心原则是:

i. ​任务清晰度​:明确定义变异的意图(例如,不匹配的字段)。

ii. ​上下文注入​:使用RAG检索相关的协议规则。

iii. ​逻辑分解​:使用CoT推理将变异任务分解为结构化步骤。

iv. ​灵活性​:为不同的变异类型动态调整提示。

在输出生成阶段,变异后的测试用例被格式化为JSON和十六进制格式,使其准备好注入到SUT中。

​算法1 测试用例变异智能体的提示工程​

输入: 知识库 K

输出: mutated_seed

函数 CAPTURE_SEED()

seed{protocol, function_code, start_address, length}

返回 seed

函数 RETRIEVE_CONTEXT(protocol)

query"Protocol rules" + protocol

contextK.SEARCH(query, k=1)

返回 context

函数 CONSTRUCT_PROMPT(seed, context)

prompt"Context:\n" + context + "\n"

promptprompt + "Task:\n"

"- Step 1: Perform field mutations.\n"

"- Step 2: Perform structural mutations.\n"

"- Step 3: Perform semantic mutations.\n"

"Input seed:\n" + seed

返回 prompt

函数 EXECUTE_PROMPT(prompt)

MLLM("fine-tuned-LLM")

outputM.GENERATE(prompt)

返回 output

seedCAPTURE_SEED()

contextRETRIEVE_CONTEXT(seed.protocol)

promptCONSTRUCT_PROMPT(seed, context)

mutated_seedEXECUTE_PROMPT(prompt)

返回 mutated_seed

​4.4 反馈分析智能体​

反馈分析智能体分析来自SUT的响应,并动态调整测试用例生成智能体的变异策略。这实现了一个由实时反馈和自适应策略改进驱动的无缝、自动化的模糊测试循环。

​4.4.1 功能与目标​

该智能体的主要任务是:

i. ​实时反馈收集​:捕获SUT响应,将其分类为正常、异常和关键异常(例如,崩溃、超时)。

ii. ​异常分析​:使用加权评分评估异常严重性并提取潜在的漏洞模式。

iii. ​动态策略调整​:根据反馈改进变异密度、优先处理高风险字段并调整变异方向,优化测试覆盖率和漏洞检测。

​4.4.2 工作流描述​

该过程始于收集SUT反馈,包括超时、错误代码和正常确认,以及历史测试用例数据。这使得能够识别从单个结果可能无法立即看到的趋势和模式。然后,收集到的反馈被分类为三类:​正常响应,包括符合协议的确认;异常响应,如意外的错误代码或延迟;以及关键异常,包括严重问题,如超时、崩溃或资源耗尽。这种分类使得能够根据异常对智能体的潜在影响确定优先级。

为了量化检测到的异常的严重性,采用加权评分系统:

其中 E代表异常类型分数(例如,崩溃=10,超时=8),T表示响应时间分数(例如,超时=8,延迟=3),R表示资源利用率分数(例如,CPU/内存峰值)。权重 w1, w2, w3根据测试目标进行调整。

策略根据反馈严重性动态调整。变异密度 ρ'使用以下公式更新:

其中 ρ0是初始变异密度,β是缩放因子,S / Smax代表归一化的严重性分数。高风险字段被优先处理,变异方向被调整以针对具有更高漏洞的区域,确保高效和全面的测试。

​4.4.3 用于反馈分析和策略调整的提示工程​

为了自动化地将反馈转化为可操作的变异策略,反馈分析智能体使用动态构建的提示来引导LLM执行三个核心功能:

i. ​分类反馈​:LLM根据预定义标准和历史数据模式对反馈进行分类(正常、异常或关键异常)。

ii. ​分配严重性分数​:LLM使用加权系统分配严重性分数,该系统考虑异常类型、响应时间和资源使用情况,优先处理具有最高潜在影响的问题。

iii. ​提出策略调整​:基于反馈和严重性分数,LLM通过修改变异密度、重新排序关注高风险字段以及优化方向以针对脆弱模式来调整变异策略。

反馈分析智能体使用的提示模板(如图5所示)集成了知识库和反馈循环以改进策略。这始于知识库检索,历史异常和策略为当前调整提供信息,确保吸取的经验教训改进未来的测试。为了评估复杂反馈,采用了模糊逻辑优化。模糊规则评估条件,如"IF异常频率高AND稳定性低,THEN减少变异密度",使系统能够动态适应各种场景。该过程以迭代改进结束,知识库不断更新新的见解和策略。随着系统遇到新的异常,它将这些信息整合进来,演化其方法并随着时间的推移改进漏洞检测。这创建了一个闭环学习系统,改进了智能体在应对关键漏洞方面的有效性。

(图5:指定反馈分析智能体行为的提示模板。)

​4.5 通信交互模块​

通信交互模块确保MALF内部无缝的实时数据交换、测试用例注入和智能体间通信。它解决了并行化、弹性和可扩展性方面的挑战,提高了系统可靠性,并实现了跨不同协议的高吞吐量测试。

​4.5.1 模块功能​

该模块执行几个关键功能:​实时流量捕获​:它监控SUT和外部设备之间的协议特定流量,解析应用层数据以用于测试用例生成。

i. ​测试用例注入​:变异后的测试用例被注入到通信流中,捕获响应以进行反馈分析。

ii. ​智能体间协调​:任务队列和异步消息传递同步智能体工作流,确保数据一致性和操作效率。

iii. ​容错操作​:错误处理、重试机制和回退策略在不利条件下保持可靠性。

iv. ​可扩展设计​:模块化架构允许轻松集成新协议、模糊测试技术和报告模块,以实现未来的可扩展性。

​4.5.2 多智能体协调机制中的关键考虑因素​

高效的多智能体协调对于优化模糊测试性能至关重要。​并行化通过同时运行多个任务(如测试用例生成和注入)来提高吞吐量。负载平衡动态分配资源,防止瓶颈,而模块特定并行性允许同时进行协议知识检索和测试用例生成。这使得通过一次将多个测试用例注入到不同的SUT实例中,能够实现更快、更高效的测试。

同样重要的是弹性。为了确保连续运行,即使在故障条件下,系统采用鲁棒的错误处理和重试机制,例如指数退避,以从故障中恢复。健康监控通过心跳信号和集中式日志记录跟踪模块状态,允许系统在组件故障时优雅降级,确保关键操作不间断地继续。例如,如果知识检索失败,则使用通用变异策略以保持进展。

最后,​可扩展性是适应新协议或模糊测试技术的关键。模块化架构支持新组件的无缝集成,而不会破坏系统。插件系统允许动态添加协议解析器或模糊测试方法,可配置模块通过配置文件提供细粒度控制。这确保了系统可以轻松扩展和演进,干扰最小,例如通过专门的解析模块添加对新协议的支持时。

​算法2 使用ZeroMQ的多智能体协调​

数据结构:

context: 用于消息传递的ZeroMQ上下文

seeds_queue, test_cases_queue, responses_queue: ZeroMQ套接字 (PUB/SUB)

初始化:

contextnew Context()

seeds_queuecontext.socket(PUB)

test_cases_queuecontext.socket(PUB)

responses_queuecontext.socket(PUB)

函数 SEED_GENERATION()

seeds_queue.bind("tcp://*:5555")

while True do

seed_dataCAPTURE_TRAFFIC()

seeds_queue.send_json({"event": "seed", "data": seed_data})

函数 TEST_CASE_GENERATION()

test_cases_queue.bind("tcp://*:5556")

seeds_queue.connect("tcp://localhost:5555")

while True do

seed_msgseeds_queue.recv_json()

seedseed_msg.data

test_caseGENERATE_TEST_CASE(seed)

test_cases_queue.send_json({"event": "test_case", "data": test_case})

函数 FEEDBACK_ANALYSIS()

responses_queue.connect("tcp://localhost:5557")

while True do

response_msgresponses_queue.recv_json()

UPDATE_STRATEGIES(response_msg)

函数 HEARTBEAT(agent_id)

while True do

SEND_HEARTBEAT(agent_id)

SLEEP(5)

函数 REDISTRIBUTE_TASKS(failed_agent)

// 将 failed_agent的任务重新分配给活跃的智能体

// 更新路由表或负载均衡现有队列

​4.5.3 具有协调机制的增强实现​

为了实现高效的多智能体协调,设计了一个系统,其中每个智能体作为一个独立的进程或线程运行,通过ZeroMQ PUB/SUB套接字进行通信,如算法2所示。

种子生成智能体将捕获的流量数据发布到专用端口(例如),允许测试用例生成智能体订阅并实时接收数据。接收到种子后,测试用例生成智能体变异数据并将生成的测试用例发布到另一个端口(例如)。下游智能体,如反馈分析智能体,订阅此feed,异步处理测试用例。同时,反馈分析智能体通过一个单独的端口()监听系统反馈(例如SUT输出)以改进策略或请求新种子。为了确保可靠性,每个智能体定期向中央监控服务发送心跳信号(例如"SeedAgent alive")。如果心跳丢失,系统触发REDISTRIBUTE_TASKS函数将任务重新分配给活跃的智能体。由于PUB/SUB套接字天然支持一对多通信,重新分配涉及重新路由数据而不改变底层逻辑。这种模块化架构支持无缝可扩展性。新的协议处理程序可以作为独立的智能体添加,具有自己的PUB/SUB对,通过JSON消息集成到现有系统中。这种设计隔离了每个进程,降低了故障风险,并支持在不同主机上进行灵活的、跨语言的开发。

​5 评估​

为了评估MALF的有效性,我们旨在回答以下关键问题:

  • Q1:MALF的多智能体协调机制在生成针对ICP漏洞的高质量种子和多样化测试用例方面有多有效?

  • Q2:领域增强和高效微调机制如何放大模糊测试性能?

  • Q3:该框架在真实世界的ICSs中表现如何?它能发现哪些传统方法遗漏的漏洞?

​5.1 实验设置​

​5.1.1 计算环境​

模型微调阶段在一个高性能集群上进行,该集群配备8个NVIDIA H100 GPU、一个Intel Xeon Gold 4310 CPU(12核24线程,2.1 GHz)和128 GB DDR4内存,支持大规模训练和推理。测试和部署阶段使用2个NVIDIA 4090 GPU、一个Intel Core i9-14900K CPU(24核32线程,2.4 GHz)和128 GB DDR5内存,针对高吞吐量推理和并行任务执行进行了优化。该框架基于Python 3.9+构建,使用Hugging Face Transformers进行LLM功能,使用Scapy进行网络流量操作,使用Redis进行状态管理。

​5.1.2 模糊测试平台​

实验在位于辽宁省石油化工行业信息安全重点实验室内的电厂安全工业攻防靶场中进行。如图6-7所示,该靶场集成了当前主流的商用PLC,为真实世界的ICS提供了一个全面的测试平台。

与在ICS场景中表现不佳的传统模糊测试工具和基准测试(如FuzzBench或OSS-Fuzz)不同,这个混合模糊测试平台结合了模拟和真实硬件,提供了对协议漏洞的更准确评估,并改进了模糊测试性能验证。具体硬件细节见表1。

(图6:实验平台:电厂工业攻防靶场。)

(图7:受测系统设备。)

​5.1.3 基线方法​

为了评估我们的多智能体LLM模糊测试框架,我们将其与三种代表不同协议感知水平和自动化程度的成熟模糊测试解决方案进行比较:

​Peach [17]​​:一个广泛使用的专注于输入数据变异的模糊测试框架。虽然它支持基本的协议模型,但Peach缺乏深入的工业协议特定逻辑。我们遵循Peach的指南为每个目标服务创建模型,定义数据格式和状态转换。

​ChatAFL [29]​​:一个基于LLM的模糊测试工具,使用单智能体架构。与我们的多智能体框架不同,它缺乏动态协调和上下文检索。我们通过利用其内置的提示机制和源自ICS流量日志的种子数据来调整ChatAFL。

​NCMFuzzer [40]​​:一个用于ICS协议的专门工具,设计用于处理像Modbus/TCP和S7这样的数据包结构。它集成了领域特定知识以发现协议漏洞。我们提供了捕获的网络轨迹和相关的字段约束(例如功能码、地址)进行配置。

每个基线模糊测试器都根据推荐实践进行配置以确保公平性。基于生成的模糊测试器(Peach)需要手工制作的模型,而基于变异(NCMFuzzer)和基于LLM(ChatAFL)的模糊测试器则使用来自ICS环境的种子输入进行初始化。这种设置允许公平评估我们的多智能体方法在检测复杂ICS漏洞方面如何改进传统或单智能体模糊测试器。

​表1:受测设备详情​

制造商

监控软件

设备

协议

SIEMENS

Step7

(1) S7-300

S7comm

SIEMENS

Portal V13

(2) S7-1200

S7comm

Rockwell

RSLogix 5000

(3) 1766-L32BWA

Modbus/TCP

Mitsubishi

GX works3

(4) FX5U-32MT

Modbus/TCP

Rockwell

RSLogix 5000

(5) 1769-L30ER

Ethernet/IP

Emerson

Proficy machine

(6) VersaMax IC200

Ethernet/IP

​5.1.4 参数设置​

多智能体LLM模糊测试框架针对效率和适应性进行了优化。它使用通过LoRA微调的Llama3.1-8B模型,并采用4位量化,确保低内存使用和高性能。模型训练3-5个周期,使用16的批次大小和1×10⁻⁴的学习率,并带有预热阶段以避免过拟合。在推理期间,温度设置为0.7,top-k=50,top-p=0.95,以平衡探索与协议合规性。

每个智能体都针对特定任务进行了微调:种子生成智能体从RAG数据库(包括协议规范、CVE和流量轨迹)检索协议知识,确保准确的种子生成。测试用例生成智能体使用CoT推理进行变异创建,调整温度以实现确定性或多样化的变异逻辑。反馈分析智能体处理SUT响应,分配严重性分数,并改进未来的变异策略。RAG数据库集成了协议文档和ICS漏洞数据,使用0.85的相似度阈值和512个令牌的上下文大小优化上下文检索,确保准确高效的智能体工作流。

5.2 评估标准​

本节从两个关键维度评估 MALF:​模糊测试有效性和测试用例丰富性。模糊测试有效性评估框架生成能触发有意义系统响应的高影响力测试用例的能力,而测试用例丰富性则衡量生成测试用例的多样性和覆盖范围。这些维度内的指标为框架的性能提供了定量洞察,并辅以突显不同工作负载下趋势的可视化图表[41, 42]。

​模糊测试有效性​

​测试用例通过率(TCPR)​​ 量化了被受测系统(SUT)成功处理而未被拒绝或出现解析错误的测试用例的比例。其定义为:

其中 #(passed) 是 SUT 接受的测试用例数量,#(total) 是生成(通过变异或生成)的测试用例总数。较高的 TCPR 表明测试用例符合协议的语法规则,有助于产生有意义的系统响应。

​异常触发数(ETN)​​ 衡量框架发现崩溃或意外状态等漏洞的能力。在我们的设置中,使用了三个模糊测试周期(每个周期持续 24 小时),ETN 定义为每个周期的崩溃总数:

ETN_i 反映了系统对故障的敏感度及其处理异常的鲁棒性。

​测试用例丰富性​

我们基于覆盖率评估种子质量,该指标衡量协议规范中有多少有效的字段值组合被包含在种子语料库中:

其中 #(covered combos) 是种子中存在的不同字段值对的数量,#(total combos) 是协议规范定义的所有可能字段值对的总数。较高的覆盖率表明种子集更全面,提高了触发多样化系统行为的几率。

为了量化所有生成测试用例中字段值的可变性,我们使用香农熵​[43]:

其中 X 是一个代表在变异测试集中遇到的字段值的随机变量,p(x_i) 是观察到特定值 x_i 的概率。较大的 H(X) 表明字段值的分布更广泛,意味着变异探索了更多样化的可能性。较大的 H(X) 表明字段值的分布更具多样性,表明变异探索了更广泛的可能性。

​5.3 结果分析​

我们现在整合关键指标上的定量发现和解释性见解,说明 MALF 如何优于基线方法、展示领域感知能力,并将模糊测试推向传统极限之外。评估结果总结在表 2 和表 3 中。

​模糊测试有效性

(图 8:跨协议和框架的测试用例通过率(TCPR)。)

​表 2:TCPR 和 ETN 的评估结果​

模糊测试框架

测试用例通过率 (TCPR), %

异常触发数 (ETN)

 

Modbus/TCP

S7Comm

MALF

92.02

88.94

NCMFuzzer

83.09

80.92

ChatAFL

82.15

81.85

Peach

74.86

71.85

如图 8 所示,MALF 在 Modbus/TCP、S7 和 Ethernet/IP 等协议上实现了 88-92% 的显著 TCPR,显著优于 Peach (74%)、NCMFuzzer (83%) 和 ChatAFL (81%) 等基线。这种高 TCPR 反映了 MALF 强大的多智能体协同作用,其中种子生成智能体确保种子符合协议,测试用例生成智能体采用结构化的思维链(CoT)推理来维持语法有效性。通过集成 RAG,MALF 将领域特定知识(包括协议约束和漏洞披露)注入到模糊测试过程中。这种有针对性的方法最大限度地减少了拒绝和解析失败,减少了浪费的测试用例,并增强了框架有效探测工业系统的能力。

除了高 TCPR 之外,MALF 还表现出卓越的 ETN,如图 9 所示,在三个 24 小时的模糊测试周期中,MALF 在运行的 Modbus/TCP 商用 PLC 上持续引发约 22 次崩溃——显著超过 NCMFuzzer (17)、ChatAFL (15) 和 Peach (12)。对于 S7 和 Ethernet/IP,同样升高的 ETN 表明 MALF 在精确定位关键系统漏洞方面有诀窍。

(图 9:跨框架的异常触发数(ETN)。)

高模糊测试有效性在工业背景下尤其能说明问题:它们意味着 MALF 的迭代改进在引发边界情况异常和意外故障状态方面是有效的。通过锁定在先前运行中检测到的可疑行为,智能体利用 ICS 的复杂性(例如,专用命令序列或不寻常的参数范围)来系统地暴露脆弱的代码路径。因此,领域知识、多智能体协调和自适应反馈的强大协同作用巩固了 MALF 作为真实世界工业环境中强大模糊测试器的声誉。

​测试用例丰富性​

MALF 在测试用例丰富性方面表现出色,实现了全面的覆盖率和高的变异多样性,确保了彻底的 ICP 探索。如图 10 所示,MALF 实现了超过 90% 的覆盖率,超过了 Peach、ChatAFL (60%) 和 NCMFuzzer (83%)。这种卓越的覆盖率反映了 MALF 系统性地整合有效字段值组合(包括很少使用或供应商特定的协议状态)的能力。在多功能 RAG 数据库的支持下,种子生成智能体检索细微的协议细节,例如供应商约束和 ICS 日志,确保种子代表多样化的协议功能。这种能力使 MALF 能够探测很少被调用的功能,将焦点放在那些适应性较差的模糊测试工具经常忽略的隐藏漏洞和潜在设计缺陷上。

a

b

c

(图 10:跨协议和框架的覆盖率随时间变化(每 3 小时采样一次)。(a) Modbus/TCP, (b) S7Comm, (c) Ethernet/IP。)

 

在图 11 中,MALF 在变异多样性方面也优于其他方法,香农熵值在 4.2–4.6 比特之间,高于 Peach、NCMFuzzer 和 ChatAFL (3.1–4.1 比特)。这种多样性源于动态 CoT 提示和实时反馈调整,允许测试用例生成智能体探索广泛的字段值和结构排列。通过引入语义异常、改变变异强度以及根据 SUT 响应调整策略,MALF 系统地扩展了协议测试的范围。这种方法确保测试用例涉足协议行为的未探索角落,发现细微但具有高影响力的漏洞。

(图 11:跨模糊测试框架的香农熵。)

通过上述实验,我们回答了 Q1,全面覆盖率和变异多样性之间的协同作用放大了 MALF 测试协议特定复杂性的能力。源自真实 ICS 日志并通过 RAG 检索丰富的种子最大化了初始协议表示,而动态变异引入了发现难以捉摸的缺陷所必需的变异性。这些能力共同使 MALF 成为一个强大的面向领域的模糊测试解决方案,在生成多样化且有影响力的测试用例方面表现出色,推动了对工业协议的更深层次探索,并提高了检测关键漏洞的可能性。

​表 3:覆盖率和香农熵的评估结果​

模糊测试框架

覆盖率, %

香农熵 (平均值)

 

Modbus/TCP

S7Comm

MALF

91.23

90.67

NCMFuzzer

84.33

81.75

ChatAFL

74.05

60.5

Peach

57.85

46.67

​5.4 消融研究​

为了评估领域增强技术的贡献,我们对 MALF 的两个关键组件进行了消融研究:RAG 和 QLoRA。通过选择性地禁用这些增强功能,我们检查了它们对跨 ICP 的测试用例生成、TCPR 和 ETN 的影响。测试了两种实验变体。第一种禁用 RAG,移除对领域特定知识的访问。第二种禁用 QLoRA,依赖基础 LLM 而不进行 ICS 特定的微调,同时保持 RAG 和多智能体协调 intact。结果如图 12 和表 4 所示。

a

b

c

 

(图 12:MALF 及其消融变体在 24 小时内的测试用例通过率和异常触发率。(a) 原始 MALF 框架, (b) 无 RAG 的 MALF, (c) 无 QLoRA 的 MALF。)

​5.4.1 禁用 RAG​

生成的测试用例总数略有增加,因为系统花费更少的时间来整合检索到的上下文,而是专注于产生更通用的输出。然而,由于缺乏协议特定数据,TCPR 显著下降,下降了约 15%。这导致种子和变异经常偏离供应商定义的约束或涉及不常见的功能码,从而在测试期间导致更高的拒绝率。此外,ETN 急剧下降,反映了框架生成能够发现漏洞的有影响力测试用例的能力降低。没有真实世界的 ICS 参考或 CVE 记录,测试用例在将 SUT 推入关键错误状态方面效果较差。

​5.4.2 禁用 QLoRA​

由于缺乏集成 ICS 特定知识的内存高效微调,LLM 的生成速度和交互能力受到限制。虽然多智能体协作和 RAG 集成保持完整,但 LLM 以其原始参数运行,这些参数对模糊测试任务的校准程度较低。这导致性能适度下降,TCPR 降低了 8-10%。尽管 RAG 提供了领域知识,但基础模型难以整合细微的字段关系,削弱了其生成精确符合协议的有效载荷的能力。由于模型同化检索到的上下文的能力降低,削弱了其生成触发异常的测试用例的有效性。

这些结果强调了 RAG 和 QLoRA 在增强 MALF 的领域感知和操作效率方面的关键作用:

i. ​上下文驱动的模糊测试​:RAG 注入了关于协议变体、漏洞和领域最佳实践的精确、最新信息。没有它,模型 crafting 反映现实 ICS 特性的种子和变异的能力将大大减弱。

ii. ​高效适应​:QLoRA 在基础 LLM 之上叠加了领域特定的权重调整,使框架能够内化关键的 ICS 知识,而无需繁重的开销。移除它会严重损害模型同化和应用从 RAG 收集的专门数据的能力,导致模糊测试有效性显著下降。

除了禁用 RAG 和 QLoRA,我们还在概念上评估了一个在所有智能体中省略思维链(CoT)推理的变体。CoT 提供了有序的、细粒度的推理步骤,使种子生成智能体能够验证跨字段不变量,并使测试用例生成智能体在结构或语义变异期间保持长度-值一致性。没有这种支架,种子很可能违反基本协议约束,导致畸形数据包并急剧降低预期的测试用例通过率。由此产生的语法有效性下降也限制了变异多样性,限制了对深层协议状态的探索。更关键的是,缺乏透明的推理轨迹破坏了智能体间的交接:反馈无法映射回可重现的决策路径,导致脆弱的编排和较低的整体故障发现率。因此,CoT 是维持有纪律的多智能体协作的逻辑粘合剂;移除它将侵蚀使 MALF 区别于先前单智能体模糊测试器的优势——高协议合规性、自适应变异和协同学习。

通过解决这些关键组件——RAG 和 QLoRA,我们阐明了 Q2。数据清楚地表明,上下文检索和有针对性的参数训练协同工作,以提高协议合规性、增加异常触发并增强整体模糊测试效率。因此,我们确认这些增强对于鲁棒的、高覆盖率的 ICP 模糊测试是必要的。

​表 4:MALF 变体评估结果比较​

MALF 变体

生成的测试用例数

通过的测试用例数

TCPR

错误触发率

完整版本

10334

9059

87.66%

0.022%

禁用 RAG

11026 (106.69%)

7390

67.02%

0.011% (50%)

禁用 QLoRA

7580 (73.35%)

5605

73.95%

0.018% (81.82%)

​5.5 真实工业测试床漏洞发现​

为了进一步验证 MALF,我们将其部署在一个具有多个 PLC 的尖端信息物理测试床中。在三个 24 小时的模糊测试周期中,MALF 自主识别了若干协议级缺陷,包括已知的 CVE 和三个零日漏洞,这些漏洞被基线工具遗漏。其中一个零日问题后来被确认为 CNVD-2024-16009,并已报告给中国国家信息安全漏洞共享平台(CNVD)。表 5 总结了发现的漏洞,随后是对零日发现的详细描述。

​表 5:在真实 PLC 上进行三个 24 小时模糊测试周期期间发现的漏洞概述。​​

设备

漏洞描述

安全问题

参考

SIEMENS S7-300

拒绝服务漏洞

设备崩溃

CVE-2016-3949

 

输入验证漏洞

设备崩溃

CVE-2015-2177

 

控制器密码保护漏洞

设备访问受损

CVE-2015-0004

 

明文未验证协议漏洞

数据泄漏或设备暴露

CVE-2015-0019

 

PLC 内存读/写漏洞

设备内存损坏

CVE-2015-0015

 

I/O 模块停止

设备功能中断

审核中

SIEMENS S7-1200

CPU 设备 CRLF 注入漏洞

设备崩溃

CVE-2014-2909

 

CPU 设备跨站脚本 (XSS)

设备被攻陷

CVE-2014-2908

 

网络服务器跨站脚本 (XSS)

网络数据被操纵

CVE-2012-3040

 

SIMATIC 拒绝服务漏洞

设备崩溃

CVE-2013-0700

 

S7-1200 信息泄露漏洞

数据泄漏

CVE-2012-3037

AB 1769-L30ER

I/O 模块停止(拒绝服务)

设备功能中断

CNVD-2020-62433

 

PLC 连接拒绝服务

设备通信丢失

CNVD-2024-16009*

AB 1766-L32BWA

缓冲区溢出漏洞

设备崩溃

CNVD-2018-00883

Emerson IC200PWR102L

远程终端单元远程代码执行

设备被攻陷

CNVD-2013-13377

 

缺少认证或授权

未经授权访问

CVE-2022-2793

 

明文未验证协议漏洞

数据泄漏或设备暴露

审核中

MITSUBISHI FX5U-32MT

拒绝服务漏洞

设备崩溃

CNVD-2019-33386

虽然 MALF 重新确认了几个已知的 CVE,但其最显著的成功在于发现了三个零日漏洞:

  • ​1769-L30ER: PLC 连接拒绝服务 (CNVD-2024-16009)。​​

    Allen-Bradley 1769-L30ER 控制器通过响应初始连接请求并在会话结束时等待终止信号来建立会话。通过在畸形的"注册"数据包中省略显式断开连接命令,MALF 发现 PLC 未能释放已分配的通信资源。连接故障在 RSLogix 5000 中监控,如图 13 所示。因此,攻击者可以循环这些不完整的会话并逐渐耗尽 PLC 的资源池,从而有效阻止合法用户访问控制器。

  • ​SIEMENS S7-300: I/O 模块停止。​​

    通过有针对性的 S7 协议变异——特别是那些探索乱序 I/O 命令的变异——MALF 揭示了一种场景,即当 PLC 的 I/O 模块在快速连续接收畸形写入指令时意外停止。这种重复的指令绕过了典型的握手验证,使模块无响应,需要手动重置。

  • ​IC200PWR102L: 明文未验证协议漏洞。​​

    通过比较实时响应与供应商提供的 ICS 文档,MALF 检测到关键数据传输通过未经验证的明文协议进行,甚至缺乏基本的认证。此缺陷开启了窃听和恶意命令注入的可能性,使设备容易受到远程操纵。

(图 13:CNVD-2024-16009 的连接故障异常图。)

这些真实世界的发现证明了 MALF 在发现关键缺陷方面的卓越功效,即使是在复杂的 ICS 硬件中。通过自动化发现语法弱点和有状态协议异常,该框架解决了工业网络安全中的一个基本挑战:弥合理论漏洞与复杂、资源受限的 PLC 环境中实际利用途径之间的差距。我们回答了 Q3。除了重新识别历史 CVE,MALF 暴露零日威胁的能力证明了其对控制系统集成商和安全从业者的切实价值。

随着我们扩展平台以支持更多协议并纳入更丰富的 ICS 数据集,我们期望实现更快、更准确的漏洞检测。通过持续改进其多智能体编排,并利用基于 LLM 的推理和领域特定智能,MALF 有望改变工业模糊测试,并加强关键基础设施应对新兴威胁的防御能力。

​6 讨论​

本工作引入了多智能体 LLM 模糊测试框架(MALF),这是一种结合多智能体协调、领域特定知识检索和自适应变异策略的突破性工业协议模糊测试方法。通过解决模糊测试中的关键挑战,MALF 对研究界和工业网络安全领域都做出了重大贡献。

​6.1 多智能体协调的挑战​

智能体之间的无缝协作是 MALF 设计的基础。该框架通过 ZeroMQ 的异步消息传递解决通信延迟和任务瓶颈问题,确保实时数据交换。任务队列提供了基本的负载均衡,但预测性工作负载分配可以进一步优化智能体性能。通过心跳信号和重试机制实现容错,即使在智能体故障期间也能保持稳定性。未来的增强功能,如预测性故障检测和自我修复架构,可以进一步提高系统的弹性和可扩展性。

​6.2 框架性能分析​

MALF 在生成高质量种子和多样化变异方面表现出色,在模糊测试有效性和效率方面取得了显著进步。在涉及 Modbus/TCP 等广泛使用的工业协议的环境中,MALF 实现了高达 92% 的 TCPR,比基线方法有显著提高。此外,在定义的 24 小时测试周期内,MALF 触发了明显更多的异常,展示了其对工业控制系统进行压力测试和识别关键漏洞的卓越能力。RAG 的集成对 MALF 的成功至关重要,使框架能够保持超过 90% 的协议覆盖率,同时提供介于 4.2 和 4.6 比特之间的香农熵值,反映了其生成高度多样化且符合协议的变异的能力。这些属性使 MALF 能够用更少但更有影响力的测试用例发现潜在漏洞,这与像 Peach 这样以数量而非精度优先的体积驱动型模糊测试器形成鲜明对比。

然而,MALF 略低的吞吐量仍然是一个权衡,这是由其强调生成高质量、有针对性的测试用例所驱动的。为了解决这个限制,采用并行化策略,如多 GPU 处理和硬件加速,可以在保持其标志性精度的同时增强可扩展性。通过平衡吞吐量和影响力,MALF 确立了自身作为一个鲁棒且自适应的框架,推动了复杂工业环境中模糊测试的边界。

​6.3 大语言模型的作用​

虽然 LLMs 的兴起已经彻底改变了网络安全,但许多现有方法仅将 LLMs 用作辅助工具,严重依赖人工干预和广泛的微调。这些方法缺乏全面工业控制协议模糊测试所需的可扩展性和自动化。MALF 通过利用 RAG 和 QLoRA 创建全自动、端到端的模糊测试流水线来克服这些限制。领域增强的 LLM 被调整以理解复杂的协议语义、动态生成多样化的测试用例,并有效响应实时反馈。这些能力超越了传统的基于规则的模糊测试方法,使 MALF 能够应对工业协议中复杂的漏洞。除了模糊测试,领域增强的 LLMs 在工业网络安全中具有更广泛的应用潜力,包括异常检测、威胁情报分析和事件响应,通过利用其以上下文精确度处理海量非结构化数据的能力。

​6.4 MALF 的应用场景​

MALF 作为一个开创性框架脱颖而出,专为工业控制协议的独特需求而设计,这些协议与传统的模糊测试工具所针对的松散结构化的网络和基于文本的协议根本不同。工业环境中的协议具有严格的格式和稳定性要求,需要先进的方法来确保鲁棒的漏洞挖掘,同时不危及系统操作。MALF 适用于广泛的工业协议,包括 Modbus/TCP、S7Comm 和 Ethernet/IP,并已在真实世界的 PLC 上成功测试。其模块化架构确保了对新兴技术和复杂环境的适应性。在实际部署中,MALF 发现了关键漏洞,包括零日漏洞,同时严格遵守协议约束。通过一系列实验验证,MALF 展示了其作为主流工业控制协议的高性能、全自动、端到端、模块化模糊测试框架的能力。通过无缝集成精度、可扩展性和适应性,MALF 为安全关键的工业环境中的漏洞发现和鲁棒协议测试设立了新标准。

​6.5 未来方向​

MALF 的模块化架构为重大增强开辟了道路。基于插件的设计可以实现高速 RAG 技术的动态集成,支持额外的协议和先进的模糊测试方法。将框架扩展到更复杂的环境,如分布式控制系统(DCS)或物联网生态系统,可以增加其对现代工业设置的适用性。与实时安全运营中心(SOC)的集成将进一步扩展其效用,实现持续的漏洞监控和主动缓解。

​7 结论​

本工作引入了一种新颖的多智能体 LLM 模糊测试框架(MALF),将 LLMs 与多智能体协调相结合,彻底改变了 ICP 模糊测试。通过集成 RAG 驱动的领域特定检索和 QLoRA 微调,MALF 实现了精确的种子生成、多样化的变异和自适应反馈优化,在测试用例通过率、变异多样性和模糊测试效率方面超越了基线方法。MALF exemplifies LLMs 如何改变工业网络安全,自动化复杂的协议分析并发现隐藏的漏洞。其模块化设计实现了可扩展性、适应性并集成到多样化的工业环境中,为网络安全的 AI 驱动创新奠定了基础。这项研究不仅推进了模糊测试方法论,而且突出了 LLMs 应对关键基础设施保护中不断演变的挑战的潜力,弥合了传统方法与智能、自动化解决方案之间的差距。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值