当前位置: 首页 > news >正文

DiveFuzz:通过“指令多样性”深入挖掘 CPU 漏洞的模糊测试新范式

“ 随着 CPU 架构与指令集的快速演进,现代处理器内部逻辑变得愈发复杂,隐藏的硬件漏洞也更加难以触达。一个长期被忽视的现实问题是:大量 CPU 模糊测试工具生成的指令序列高度相似,测试空间覆盖有限,难以真正“触及”复杂微架构状态。

针对这一核心瓶颈,研究者提出了DiveFuzz,一种通过多样化指令构造(Diverse Instruction Construction)来增强 CPU Fuzzing 深度与覆盖能力的新方法,旨在让模糊测试真正“潜入”处理器内部复杂执行行为。 ”

  • 📄论文标题:DiveFuzz: Enhancing CPU Fuzzing via Diverse Instruction Construction

  • 📅发表时间: ACM SIGSAC Conference on Computer and Communications Security(CCS) ,2025

  • 🏫作者单位:中国科学院大学

  • 💡开源代码:https://github.com/in2sec/DiveFuzz

01—方法介绍

图1展示了Cascade生成的约两百万条指令的回写数据重复率。可以发现CPU模糊测试工具在生成包含不同回写数据的测试指令时遇到了障碍。

图1. 级联指令回写数据重复率

如图2所示,这些指令的模糊频率存在显著差异。所以可知,当前的CPU模糊测试存在操作码分布不均衡的问题。

图2. 在对200万条指令进行真实模糊测试期间,Cascade中RV32I扩展指令的频率分布

DiveFuzz 的核心洞察是:CPU 漏洞往往与特定指令组合、执行模式及其触发的微架构状态高度相关,而不是单条指令本身。

因此,论文不再单纯追求“更多指令”,而是关注:如何系统性地构造“更不一样”的指令序列。

整体框架可概括为三步:

① 指令语义划分

根据指令功能、操作数特征与执行行为,对指令进行语义级分类。

② 多样化构造策略

在指令选择、组合顺序与参数配置层面引入系统性多样性。

③ 覆盖反馈驱动

利用执行反馈评估指令序列对微架构状态的探索效果。

图 3. DiveFuzz架构

小结:DiveFuzz 关注的不是“跑得快”,而是“跑得不一样”。

02—关键机制

  1. 指令多样性视角,将 CPU Fuzzing 的核心从“数量”转向“差异性”。
  2. 语义驱动构造,避免盲目随机,提升指令组合有效性。
  3. 更深微架构覆盖,更容易触发复杂、隐蔽的处理器异常行为。
  4. 通用性强,可与现有 CPU Fuzzing 框架协同使用。

模块

设计思路

作用

指令语义建模

按功能与行为对指令分类

为多样化构造提供基础

多样化指令生成

系统性改变指令组合与参数

扩展测试空间覆盖

执行反馈分析

监控异常与状态变化

评估模糊测试效果

迭代增强策略

基于反馈调整生成策略

持续深入微架构状态

小结:多样性并非随机,而是“有结构、有目的”的探索。

03—实验结果

实验使用Verilator(版本v5.018)进行硬件仿真。所使用的指令集架构(ISA)模拟器是Spike(版本1.1.1-dev,提交号f8b2e39)。在XiangShan上进行模糊测试时,定制ISA模拟器Nemu(提交号277ac7d)作为差异比较工具。操作系统环境为Ubuntu 22.04。对包括XiangShan、CVA6、Rocket Core和NutShell在内的各种CPU进行了模糊测试。主要实验结果如下。

(1)实验评估了DiveFuzz在覆盖率方面的表现,使用Rocket中五种常用的覆盖率指标:控制寄存器、多路复用器(mux)、代码行数(line)、就绪/有效信号(ready/valid)和信号翻转(toggle)。结果如图4和图5所示。

图4. 控制寄存器覆盖率的比较

图5. 多路复用器、线路、就绪/有效和触发器覆盖率的比较。

(2)实验对DiveFuzz识别的所有先前未知的漏洞进行了统计分析,结果汇总于表1。

表1. DiveFuzz发现的新漏洞列表,已知漏洞未包含在内。

小结:DiveFuzz通过深入检查内部操作数值,并采用先进的变异器实现平衡的操作码模糊测试,显著提高了指令回写数据的多样性。评估表明,DiveFuzz的性能优于最先进的模糊测试器,在五个关键指标上的覆盖率比DifuzzRTL快204倍,比Cascade快114倍。此外,DiveFuzz还发现了26个新漏洞,其中15个已被分配了CVE标识符。

📌 总结

DiveFuzz 从一个看似简单却被长期忽略的角度出发,重新审视了 CPU Fuzzing 的有效性问题。通过引入多样化指令构造机制,该方法显著提升了模糊测试对复杂微架构行为的探索能力。

这一工作表明,在硬件安全领域,如何构造测试输入,往往与测试本身一样重要

📣 欢迎留言讨论

  • 你认为指令多样性是否是提升 CPU Fuzzing 效果的关键因素?

  • 在真实处理器验证流程中,DiveFuzz 的策略是否具备工程可扩展性?

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

http://www.jsqmd.com/news/1142963/

相关文章:

  • OpenEuler UBS-test测试框架详解:从零开始掌握多组件集成测试
  • 物联网Node-Red开发教程-第3章 核心节点详解
  • 状压dp-基础题目1(糖果)
  • 想入手高性价比防水轨道插座?这几家靠谱生产企业值得你优先了解
  • 2026毕节黄金回收白银回收铂金回收工商备案可查全城上门回收旧金老店联系方式推荐
  • 2026图片抠图边缘残留解决全指南,多工具精细处理实操方法
  • # 软考软件设计师每日一练 — 2026-07-06
  • 终极音乐分离神器:BS-RoFormer完整指南,让AI帮你轻松提取人声和乐器
  • Paws调度器原理解析:智能资源分配背后的算法与实现
  • 质量管理 15 个基本原理
  • 让经典游戏在现代Windows上重获新生:dxwrapper的魔法指南
  • ppt模板_0146_客户服务
  • 杰理RX端的两发一收话筒模式自行配置增加IIS 同时输出功能 卡顿问题【篇】
  • 龍魂资本愛之审计协议 CLAP v1.0 启动宣言
  • Docker 极速部署 Unione Cloud,搭建企业 OA 费用报销全流程审批系统
  • kml_adapter LAPACK适配器详解:构建完整KLAPACK库的完整教程
  • 2026无水印免费抠图工具完整指南:网页、PC、APP,多端实操教程
  • 【金蝶云星空】直运采购(无库存)全流程讲解
  • WebToEpub:一键将网页小说转换为EPUB电子书的终极解决方案
  • XSSFuzz框架从零配置到实战:轻量级XSS漏洞自动化挖掘指南
  • 淘宝taobao.item.get商品实时接口:更新商品信息与数据
  • 硅胶二次加工:印刷、粘接、组装的全流程
  • Apple OpenELM:苹果开源端侧大模型,隐私AI时代真的要来了
  • Android 开发问题:ClickableSpan 的点击事件没有生效
  • Apollo 9.0 激光雷达标定实战:基于Dreamview的5步动态标定流程
  • 028-舞蹈训练的刻意练习
  • ppt模板_0147_积雪电杆
  • 让 AI 真正参与数据库设计:EZDML MCP,把一句需求变成可审查的数据模型
  • 15个神级Skills,让你的编程效率直接翻倍!
  • Avalonia MarkupExtension(二)