news 2026/8/10 12:05:12

VERTFuzz:用 Transformer 重塑复杂文件解析器模糊测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VERTFuzz:用 Transformer 重塑复杂文件解析器模糊测试

“ 针对复杂文件格式(如 PDF / ELF / XML / TIFF)的漏洞挖掘,一直是模糊测试领域的“硬骨头”。传统 Fuzzer(如 AFL / AFL++)普遍存在三大问题:难以生成符合格式规范的输入,大量测试样本被解析器直接拒绝;随机变异难以触及深层语义逻辑路径;输入空间稀疏,导致有效漏洞触发概率极低。

为了解决这些问题,论文提出:VERTFuzz,基于 Version Transformer 的结构感知模糊测试框架,让Fuzzer理解文件结构,并生成“高质量、可执行、有效”的测试样本。 ”

  • 📄论文标题:VERTFuzz: Version transformer-driven fuzzing for complex file parsers

  • 📅发表时间:Computers & Security,2025

  • 🏫作者单位:北京电子科技学院

  • 💡 开源代码:https://github.com/yaoxixixi/VERTFuzz

01—方法介绍

VERTFuzz 的关键 insight 在于:相比随机修改文件内容,修改 metadata 更容易触发新的执行路径和漏洞。

整体流程可以抽象为三步:

① 结构学习

利用 ByteBERT 自动识别文件 metadata 分布;

② 精准变异

围绕 metadata 执行结构感知变异;

③ 智能筛选

利用 Vision Transformer 判断输入是否合法并筛选高质量样本。

图 1. VERTFuzz 概述

小结:从“盲目变异”转向“结构驱动变异”,是性能提升的关键。

02—关键机制

  1. ByteBERT 结构建模

    首次利用 BERT 自动标注复杂文件 metadata 分布;

  2. Metadata-guided Fuzzing

    将变异限制在高价值区域,提升有效性;

  3. Vision Transformer 筛选机制

    将 coverage bitmap 转化为图像进行语义判别;

  4. 输入空间压缩

    显著减少无效样本,缓解“稀疏缺陷空间”问题;

  5. 可集成 AFL++

    作为增强模式直接提升现有 fuzzing 框架能力。

模块

设计思路

作用

结构识别(ByteBERT)

基于 BERT 自动标注文件中的 metadata 区域

获取精确结构语义信息

元数据引导变异

仅对 metadata 区域进行定向变异

提升变异有效性,避免无效扰动

结构同步更新

变异后同步更新结构标注信息

保证多轮 fuzzing 的一致性

VIT 样本筛选

将覆盖 bitmap 转换为图像输入 Vision Transformer

过滤非法输入,保留高质量样本

反馈驱动优化

基于路径与结构信息优化种子队列

持续提高漏洞触发概率

小结:VERTFuzz将“结构理解+模型筛选”引入fuzzing,实现从“随机扰动”到“精准攻击”的跃迁。

03—实验结果

使用010 Editor的模板文件生成四个训练集PDF、ELF、XML和TIFF文件的格式,包括初始种子文件和相应的元数据标签文件。主要实验结果如下。


(1)效率和覆盖范围对比。如表1所示,与单独使用相同版本的AFL++相比,VERTFuzz的覆盖率提高了27.92%,在Pdftopng程序中,VERTFuzz的覆盖率也比AFL++高11.15%。

表1. VERTFuz与其他模糊器的效率和覆盖范围的比较。

(2)实验评估了VERTFuzz的真实世界性能。在真实环境中运行了72小时的模糊测试仪,共识别出39个错误,其中7个也在相同的实验条件下被AFL++检测到。此外,VERTFuz还发现了32个独特的漏洞:Objdump(3个漏洞)、Readelf(1个漏洞),Pdfinfo(5个漏洞)和Pdftotext(13个漏洞)。其中,新发现了13个漏洞,并分配了CVE标识符。


小结:VERTFuzz通过将010 Editor的模板解析能力与基于深度学习的ByteBERT模型相结合,实现了PDF等复杂格式文档的自动元数据标记和精确定位。实验结果表明,与现有的通用模糊框架相比,VERTFuzz显著提高了代码覆盖率和执行效率。在真实环境测试中,VERTFuzz成功发现了32个独特的漏洞。

📌 总结

VERTFuzz 的核心贡献可以概括为一句话:让 Fuzzer 不仅“会变异”,还“知道该改哪里、该保留什么”。未来的模糊测试,将从“覆盖率驱动”演进为“结构 + 语义 + 学习驱动”,特别是在复杂输入场景(如文件解析器、协议解析器)中。

📣 欢迎留言讨论

  • 相比传统 coverage-guided fuzzing,引入深度学习模型究竟是“质变”还是“增量优化”?

  • 在复杂文件解析场景中,你更看好“结构建模”还是“生成式方法(如 LLM)”?

📌 点赞 + 收藏 + 分享,你的支持,是我们持续解析高水平软件安全论文的最大动力!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/10 12:02:41

5-12岁儿童打字启蒙软件选型与训练指南

1. 儿童打字启蒙软件选型指南作为一名从事教育科技行业12年的从业者,我见证过上百款儿童教育软件的兴衰。今天要分享的是经过实测验证的8款真正适合5-12岁儿童的打字训练工具。这些软件的共同特点是:界面友好度比同类产品高47%,平均学习曲线缩…

作者头像 李华
网站建设 2026/8/10 12:02:09

Unity游戏资源逆向解析:从APK提取模型、纹理与音频的完整指南

1. 项目概述:为什么我们需要从APK中提取Unity资源? 在游戏开发、技术研究或者资产迁移的日常工作中,我们经常会遇到一个棘手的问题:手头只有一个已经打包好的Unity游戏APK文件,但我们需要里面的某个3D模型、一段背景音…

作者头像 李华
网站建设 2026/8/10 12:00:39

Swift闭包详解:从基础到高级应用

1. 为什么Swift闭包如此重要?闭包是Swift语言中最强大的特性之一,也是让许多初学者感到困惑的概念。我第一次接触Swift闭包时,完全不明白为什么需要这种看起来复杂的语法。直到在实际项目中遇到一个排序需求,才真正体会到闭包的威…

作者头像 李华
网站建设 2026/8/10 11:57:39

Python实现本地化文本二维码生成器:从原理到工程实践

1. 这篇文章真正要解决的问题 你是不是也遇到过这样的场景?需要把一个网址、一段Wi-Fi密码、或者几句重要的配置信息,快速分享给同事或用户。直接发一长串字符,对方容易输错;发个文件,又显得太重。这时候,一…

作者头像 李华
网站建设 2026/8/10 11:57:04

Unity GPU物理模拟:Verlet积分与Compute Shader实战解析

1. 项目概述:当物理模拟遇上GPU计算 如果你在Unity里做过布料、绳索或者软体这类需要柔体物理的效果,大概率被Unity自带的Cloth组件或者一堆复杂的关节(Joint)和刚体(Rigidbody)组合折磨过。性能开销大、参…

作者头像 李华
网站建设 2026/8/10 11:55:11

League Akari:5大功能助你成为英雄联盟数据大师

League Akari:5大功能助你成为英雄联盟数据大师 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari是一款专为《英雄联盟…

作者头像 李华