← 最新论文
💻 computer science

APFuzz: Towards Automatic Greybox Protocol Fuzzing

本文提出了 APFuzz,一种通过结合静态与动态分析自动推断状态模型、并利用大语言模型实现基于消息结构感知的字段级变异,从而提升灰盒协议模糊测试智能性的新框架。

原作者: Yu Wang, Yang Xiang, Chandra Thapa, Hajime Suzuki

发布于 2026-02-26
📖 1 分钟阅读☕ 轻松阅读

原作者: Yu Wang, Yang Xiang, Chandra Thapa, Hajime Suzuki

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文介绍了一个名为 APFuzz 的新工具,它的任务是像“黑客”一样去测试网络协议软件,找出里面的漏洞。

为了让你更容易理解,我们可以把整个测试过程想象成在一个巨大的、复杂的迷宫里寻找出口(漏洞)

1. 背景:迷宫里的“盲人”与“向导”

  • 迷宫(网络协议软件): 想象你要测试一个像邮局或银行系统一样的软件。这个系统有很多“房间”(状态),比如“登录中”、“验证通过”、“处理订单”等。只有按正确的顺序进入这些房间,才能到达深处。
  • 传统的测试(黑盒测试): 以前的测试员就像盲人,手里拿着一份别人写的“迷宫地图”(人工编写的规则)。如果地图画错了,或者测试员没看懂,他们就会撞墙,永远找不到藏在深处的漏洞。
  • 早期的智能测试(灰盒测试,如 AFLNET): 后来的测试员手里有了手电筒(代码覆盖率反馈),能看到自己走到了哪条走廊。但他们还是有点“傻”,不知道迷宫里哪些门是“状态门”(比如从“登录”到“验证”的门)。他们只能靠猜,或者靠别人告诉他们“看到服务器返回 200 就代表成功了”。这就像在迷宫里,别人告诉你“看到红灯就转弯”,但有时候红灯只是装饰,不是路标。

2. APFuzz 的两大绝招

APFuzz 就像是一个拥有“透视眼”和“超级大脑”的探险家,它有两个核心技能:

绝招一:自动寻找“状态路标”(State Representation Learning)

  • 问题: 在迷宫里,很多变量(比如一个计数器)看起来像路标,但其实只是装饰。以前的工具需要人工告诉它:“看,这个变量叫 state,它是路标!”这太慢了,而且容易出错。
  • APFuzz 的做法: 它用了两步走的策略:
    1. 静态扫描(透视眼): 先不运行程序,直接看源代码。它像侦探一样,把所有可能跟“状态”有关的变量都列出来(比如名字里带 state 的,或者在循环里频繁使用的)。
    2. 动态追踪(实地跑): 然后它真的运行程序,观察这些变量。如果某个变量在程序运行时,数值像“开关”一样在几个固定值之间跳动(比如 0, 1, 2),那它很可能就是真正的“状态路标”。如果它只是乱跳或者一直不变,APFuzz 就把它扔掉。
  • 比喻: 就像你在一个陌生的城市找路,以前你得问人“哪个是红绿灯?”。现在 APFuzz 自己看地图(代码),然后亲自走一圈,发现只有那个真正控制交通灯变色的开关才是关键,其他的装饰灯它直接忽略。这样它就能自动画出精准的“状态地图”。

绝招二:用 AI 读懂“二进制密文”(Input Structure Learning)

  • 问题: 现在的网络协议很多是二进制的(像 010101 这样的代码),不像 HTTP 协议那样是看得懂的英文单词。以前的工具对这些二进制数据只能“乱猜”(随机改几个比特),就像在密文里乱涂乱画,大部分时候都会把信弄坏,服务器直接拒收,根本进不去深层房间。
  • APFuzz 的做法: 它请来了大语言模型(LLM,比如 ChatGPT 这类 AI) 当翻译。
    1. AI 解读: 把一段乱码般的二进制数据喂给 AI,问它:“这段数据里,哪部分是‘长度’,哪部分是‘命令’,哪部分是‘密码’?”
    2. 精准修改: AI 告诉 APFuzz:“哦,第 5 到第 12 位是‘长度’字段”。于是,APFuzz 就只修改这个“长度”字段,而不是乱改整个数据包。
  • 比喻: 以前测试员拿到一封加密信,只能把信纸撕得乱七八糟(随机修改),结果信寄不到。现在 APFuzz 请了个懂密码的 AI 翻译,告诉它:“这封信的‘信封尺寸’在这里,‘收件人地址’在那里”。于是,APFuzz 只修改“信封尺寸”,让信依然能寄到,但能触发服务器处理不同尺寸信封时的特殊逻辑,从而发现漏洞。

3. 实验结果:它有多强?

研究人员在 13 个真实的网络软件(如 FTP、SSH、DNS 等)上测试了 APFuzz,把它和以前的“老手”(AFLNET)以及其他顶尖工具比了比:

  • 找路更准: 它覆盖的代码路径比老工具多了 10% 左右。这意味着它探索了更多以前没人去过的“房间”。
  • 速度更快: 它的测试速度是旧工具的 5 到 6 倍。因为它不需要人工去写规则,也不需要反复重启服务器。
  • 抓虫更多: 在发现漏洞(Crash)方面,它找到了 13 个 独特的严重漏洞,比其他工具都多。特别是在一些很难搞的二进制协议(如 TinyDTLS)上,它发现漏洞的速度比别的工具快了几十倍(有的漏洞别人 24 小时没找到,它几分钟就找到了)。

总结

APFuzz 就像是一个自带地图绘制功能、且拥有 AI 翻译官的超级探险家

  • 它不再需要人类手把手教它“哪里是路标”(自动识别状态)。
  • 它不再对着乱码发呆(利用 AI 理解二进制结构)。
  • 它能更聪明、更快速地钻进网络协议的深处,把那些隐藏的、危险的漏洞挖出来。

这项研究对于保护我们的 5G/6G 通信、网络安全至关重要,因为它让发现软件漏洞的过程变得更自动化、更智能。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →