ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Peach Pit自动生成两大方案对比:Shark2Pit vs DTV‑LLM

Peach Pit自动生成两大方案对比:Shark2Pit vs DTV‑LLM 0 前言Peach作为经典生成式协议模糊测试框架测试效果高度依赖Pit配置文件。Pit文件需要手动编写DataModel数据模型与StateModel状态模型编写门槛高、耗时长需要深厚协议领域知识极大限制协议模糊测试落地。目前学术界出现两条自动化生成Pit文件的技术路线流量驱动Shark2Pit从pcap抓包自动生成Pit大模型文档驱动DTV‑LLM基于RFC/协议规范文档利用LLM生成Pit。本文结合两篇相关论文对比两套方案的原理、异同、优缺点与适用场景帮助做协议fuzz的同学快速了解。论文来源Fu Y, Chen Y, Ma F, et al. Shark2Pit: Automated Test Template Generation for Protocol Fuzzing Based on Packet Parser[C]//Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering. 2026: 137-141.Liao S, Hao R, Zhao D, et al. Industrial Protocol Data Model and State Model Generation Based on Large Language Model[C]//International Conference on Knowledge Science, Engineering and Management. Singapore: Springer Nature Singapore, 2026: 618-632.1 方案一Shark2Pit — 基于网络抓包自动生成Pit核心思路输入pcap抓包文件不需要协议文档利用Tshark解析pcap流量提取报文字段自动构建数据模型与状态模型组装输出可直接运行的Peach Pit文件。✨工作流程分为3大阶段预处理阶段调用Tshark输出PDML结构化报文将全部字段统一转为十六进制通过三级过滤剔除冗余、无效字段提取字段名、字节大小、偏移、原始值。模型生成阶段数据模型初始化根据字节大小推断类型小于8字节为Number数值类型≥8字节为Blob二进制块。保结构数据重构核心创新构建全局字段取值仓库在不改动报文字段结构、长度、位置前提下替换字段值合成大量合法新报文扩大合法输入空间。状态模型生成从原始流量会话拿到基础交互序列再做状态重组、状态重复扩展构造原始抓包不存在的异常会话路径挖掘资源泄漏、并发类漏洞。Pit组装阶段将生成的数据模型、状态模型结合预定义运行配置目标程序IP、端口、二进制路径输出完整可执行Pit XML文件同时保留良好可读性支持人工微调。实验效果测试8个开源协议DNS、CoAP、DDS、TLS、BACnet、OPC UA、DNP3、Ethernet/IP分支覆盖率达到手工Pit的99.4%‑106.3%部分协议超过人工编写模板实际挖掘出5个全新未公开漏洞包括堆释放后使用、未初始化值使用等高危内存漏洞✅优点 ❌局限性✅ 优点不需要协议文档适合私有、闭源协议完全基于真实流量生成模型贴合程序实际行为传统解析程序逻辑无大模型幻觉问题。❌局限全部知识来源于抓包如果pcap报文样本不全缺失的报文、状态跳转无法自动生成没有自动纠错迭代机制样本缺陷带来的问题需要人工修改Pit。2 方案二DTV‑LLM — 基于大模型协议文档生成PitDTV含义Document‑driven文档驱动 Template模板约束 multi‑stage Validation多阶段校验核心思路输入RFC、协议规范文档不需要pcap抓包利用大语言模型理解协议文档提取报文格式、消息类型、交互流程通过固定XML模板约束结构搭配「语法校验‑错误反馈‑迭代修改」闭环输出可执行Peach Pit。✨工作流程文档预处理与信息抽取对长RFC文档做滑动窗口分片规避LLM上下文窗口限制通过多步提示词拆解任务引导大模型依次回答三个问题目标协议有哪些消息类型每类消息的报文字段格式是什么协议消息交互序列是怎样数据/状态模型生成使用少样本提示把自然语言描述转换成符合Peach语法的DataModel提取文档交互流程构建StateModel关键设计预定义固定Pit XML骨架模板LLM只生成协议相关的业务内容公共标签、运行配置全部预定义极大降低大模型输出结构性错误。多阶段校验反馈闭环核心将生成Pit送入Peach预加载做语法校验捕获XML标签错误、模型引用错误把报错信息转化为提示词回传给LLM迭代修改直到Pit可以被Peach正常解析运行。最终输出Pit投入模糊测试采集覆盖率与崩溃信息。实验效果测试6大工业协议Modbus、IEC104、IEC60870、IEC61850、MQTT、CoAP经过多轮迭代Pit语法通过率达到100%对比手工Pit平均分支覆盖率提升12.4%对比AFLNet变异模糊测试平均提升62.8%能够触发部分手工模板难以复现的高危漏洞。✅优点 ❌局限性✅优点只需要协议标准文档可以生成标准定义但是抓包很少出现的报文和状态自带迭代纠错闭环解决LLM幻觉带来语法错误非常适合有完备RFC规范的场景。❌局限没有文档的私有协议无法使用如果协议实现和RFC标准存在差异文档推导模型会和真实程序行为不匹配依赖大模型服务复杂协议需要多轮迭代存在一定调用成本。3 Shark2Pit VS DTV‑LLM相同点目标一致都是自动生成Peach的Pit文件同时输出DataModel和StateModel减少人工编写成本整体流程框架相似输入预处理 → 数据模型状态模型生成 → 组装输出Pit配置评估体系一致以分支覆盖率为核心指标和人工Pit做基线对比多协议多轮重复fuzz实验统计漏洞发现能力都存在短板自动生成结果在复杂场景仍然建议人工二次微调。4 Shark2Pit VS DTV‑LLM核心差异对比表对比维度Shark2PitDTV‑LLM输入数据源pcap网络抓包流量RFC/协议规范文档无需流量核心技术Tshark报文解析无大模型大语言模型GPT‑4o提示词工程模型来源真实数据包与会话序列协议标准文档文本理解状态模型基于真实流量序列再做重组扩展基于RFC标准交互流程构建幻觉问题不存在解析逻辑是确定性程序存在LLM幻觉依靠校验闭环修复适用场景拿到抓包协议文档残缺/私有协议有完整RFC文档难以获取抓包流量纠错机制无自动迭代修复依赖人工微调Peach语法校验错误反馈多轮自动修正测试协议集合DNS、TLS、BACnet等8个协议Modbus、IEC系列等6个工业协议最佳实践两者是互补而非替代。条件允许可以两套方案分别生成Pit结合流量真实行为 协议标准规范得到质量更高的测试模板。6 总结Shark2Pit是实现驱动从程序实际通信流量反推测试模型DTV‑LLM是标准驱动从协议文档规范推导测试模型。Peach Pit自动化生成并不能完全替代人工自动生成后的模板建议做少量人工审阅进一步提升模糊测试漏洞挖掘能力。本文为论文学习笔记仅供技术交流。
返回列表