【论文速读】| 超越随机输入:一种基于机器学习的新型硬件模糊测试方法

news2024/10/24 14:23:20

图片

本次分享论文:Beyond Random Inputs: A Novel ML-Based Hardware Fuzzing

基本信息

原文作者:Mohamadreza Rostami, Marco Chilese, Shaza Zeitouni, Rahul Kande, Jeyavijayan Rajendran, Ahmad-Reza Sadeghi

作者单位:Technical University of Darmstadt, Texas A&M University

关键词:硬件模糊测试,机器学习,处理器安全,RISC-V,ChatFuzz

原文链接:

https://arxiv.org/pdf/2404.06856v1

开源代码:未提供

论文要点

论文简介:

现代计算系统主要依赖硬件作为信任的根基。然而,随着硬件的复杂性不断增加,跨层攻击可能会利用安全关键漏洞。传统的硬件漏洞检测方法,如随机回归和形式验证,存在局限性。虽然随机回归具有可扩展性,但在探索硬件时效率较低;而形式验证技术则常因手动工作和状态爆炸问题而受限。硬件模糊测试已成为检测大规模设计(如现代处理器)中的安全漏洞的有效方法,然而,现有的模糊测试器在合理时间内难以全面覆盖复杂硬件设计。

为了解决这一挑战,本文提出了一种新颖的基于机器学习的硬件模糊测试器——ChatFuzz。研究者的方法利用大语言模型(LLMs)来理解处理器语言,并生成数据和控制流交织且随机的机器代码序列。通过引入强化学习(RL)来指导输入生成过程,并利用代码覆盖率指标来奖励输入。

研究目的:

本文旨在提升现有硬件模糊测试方法的效率和覆盖率。通过利用大语言模型和强化学习,ChatFuzz能够生成更复杂且相关的测试输入,从而更快速、更全面地覆盖硬件设计中的潜在漏洞。具体来说,研究者的目标是克服现有模糊测试器在覆盖复杂硬件设计时的时间限制,提升测试效率,并揭示更多的安全漏洞。

研究贡献:

1. 提出并实现了首个利用机器学习进行输入生成和改进的处理器模糊测试器——ChatFuzz。

2. 提出了一种三步训练过程,包括无监督学习、反汇编器辅助的强化学习,以及基于RTL仿真的覆盖率优化。

3. 实验结果显示,ChatFuzz在不到一小时内达到了74.96%的条件覆盖率,而现有最佳模糊测试器需要约30小时才能达到相同的覆盖率。

4. ChatFuzz在BOOM处理器上达到了97.02%的条件覆盖率,并在测试过程中发现了比现有工具更多的独特不匹配情况和新漏洞。

引言

传统的硬件验证技术对确保硬件设计的可靠性和正确性至关重要。在这些技术中,随机回归和形式验证方法被广泛使用。随机回归可以处理大规模硬件设计,但在探索细节时效率较低,难以发现关键组件中的漏洞。形式验证旨在验证设计是否符合预定义的属性,虽然在验证难以触及的硬件组件方面有效,但它严重依赖领域专家的手动工作,并且常导致状态爆炸,使得全面验证整个设计变得不切实际。

硬件模糊测试已成为扩展设计空间探索和揭示复杂设计(包括复杂处理器)中安全漏洞的有力方法。硬件模糊测试利用覆盖率数据(如分支条件、语句和多路复用器的控制寄存器或信号)生成测试用例,探索多样的硬件行为。相比传统的硬件验证技术,硬件模糊测试在覆盖范围、可扩展性和效率方面表现出优势。然而,现有的最佳模糊测试器在合理时间内难以全面覆盖复杂硬件设计,通常未能达到70%的覆盖率门槛。

为了解决这一挑战,研究者提出了一种新颖的基于机器学习的硬件模糊测试器——ChatFuzz。研究者的方法利用大语言模型来理解处理器语言,并生成数据和控制流交织的随机机器代码序列。通过引入强化学习指导输入生成过程,利用代码覆盖率指标进行奖励,从而显著提高条件覆盖率和测试效率。

研究背景

模糊测试通过向被测程序提供大量输入来发现传统测试方法可能遗漏的故障、漏洞或安全问题。模糊测试器可以生成随机、格式错误或异常的输入来测试程序的处理能力。近年来,由于其相对于现有验证方法的诸多优势,模糊测试在硬件安全社区中受到了广泛关注和采用。特别是模糊测试的高度自动化、成本效益高、可扩展性强,能够全面覆盖被测应用程序。

传统的处理器模糊测试器,如DifuzzRTL和TheHuzz,使用代码覆盖率和控制寄存器覆盖率作为反馈来指导变异过程。这些模糊测试器通过随机生成指令来生成种子,并通过变异当前输入中的指令生成新输入。近期的研究还提出了混合硬件模糊测试器,如HyPFuzz和PSOFuzz,它们结合了模糊测试器与形式工具和优化算法的能力,以提高覆盖率。然而,这些混合模糊测试器仍然使用传统处理器模糊测试器的种子生成和变异引擎,未能实现对深层设计区域的有效探索。

ChatFuzz

利用LLM的最新进展,研究者提出了ChatFuzz这一创新方法,以增强硬件安全性。ChatFuzz涉及使用机器语言(具体来说,是机器代码)训练大型语言模型,并使用训练后的模型生成伪随机但相互关联的指令序列进行硬件模糊测试。与现有方法不同,研究者的方法优先生成数据与控制流交织的指令序列。

图片

ChatFuzz由多个组件组成。基于LLM的输入生成器为模糊测试目标CPU生成指令序列。RTL和ISA仿真器分别在目标CPU及其黄金模型上执行给定输入,同时记录执行轨迹。每个测试输入的RTL仿真器报告覆盖信息,这些信息用于优化输入生成过程。Mismatch检测器比较执行轨迹,以识别潜在的漏洞。

实现方法

在此部分中,研究者将详细介绍ChatFuzz组件的实现。研究者部署了Synopsys VCS和Spike仿真器,分别用于RTL和RISC-V ISA的仿真。此外,研究者开发了自定义组件用于Mismatch检测和覆盖计算。

1. Mismatch检测:该组件通过差分测试来标记目标CPU中的潜在漏洞。它比较目标CPU和其黄金模型在运行相同输入时的架构状态变化,并生成包含唯一标识的不匹配报告,从而有效减少验证工程师的手动工作量。

2. 覆盖计算:该组件负责接收RTL仿真器的覆盖报告。覆盖报告经过解析后,计算每个覆盖指标的独立覆盖、增量覆盖和总覆盖值。

3. LLM输入生成:ChatFuzz的机器学习部分完全用Python实现,使用了Pytorch和Huggingface框架。研究者利用这些框架实现了分词器、大语言模型(具体来说是GPT-2家族)和PPO算法用于强化学习。所有实验均在高性能服务器上进行。

研究评估

研究者使用十个Synopsys VCS实例作为仿真器,并通过Synopsys VCS提供的条件覆盖率指标来衡量研究者解决方案的有效性。条件覆盖率与实现新硬件行为和功能的目标一致。

研究者的分析表明,ChatFuzz和TheHuzz在运行时开销上相似。然而,当考虑等效数量的生成测试(1.8K)时,ChatFuzz实现了74.96%的条件覆盖率,而TheHuzz仅达到了67.4%。值得注意的是,TheHuzz需要大约30小时才能达到75%的覆盖率,而ChatFuzz以34.6倍的速度实现了相同的覆盖量。最终,ChatFuzz通过生成199K个测试用例实现了79.14%的条件覆盖率,而TheHuzz达到了76.7%的条件覆盖率。此外,ChatFuzz在Boom处理器上实现了97.02%的条件覆盖率。

论文结论

研究者介绍了ChatFuzz,这是一种新颖的硬件模糊测试器,利用大语言模型学习机器语言并生成复杂、相互关联、数据/控制流交织和伪随机的测试用例。研究者的方法显著提高了条件覆盖率,在不到一小时内达到74.96%,而现有的最佳硬件模糊测试器需要大约30小时才能达到相同的覆盖率。

在Boom处理器上,ChatFuzz在49分钟内实现了97.02%的条件覆盖率。ChatFuzz成功识别了100多个独特的不匹配,揭示了两个新漏洞,并暴露了RocketCore行为与黄金模型的偏差,甚至在RISC-V ISA规范中规定的复杂角落案例中。这些结果突显了ChatFuzz在探索处理器漏洞方面的有效性,提供了一种更快、更全面的硬件安全和测试方法。

原作者:论文解读智能体

校对:小椰风

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1842842.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NXP实战笔记(十四):32K3xx基于RTD-SDK在S32DS实现HSE的安装。

目录 1、概述 1.1、什么是HSE? 1.2、如何实现HSE的OTA功能 1.3、S32K3放置HSE的地址 2、通过调试器安装HSE 3、通过IVT方式安装HSE 4、坑点慎重踩 4.1、优化等级 4.2、Flash放RAM 4.3、C40_Ip配置更改 4.4、程序烧录 5、测试结果 6、代码链接 1、概述 首…

IngsollRang模块化控制器上电无显示维修

英格索兰模块化控制器是工业领域的重要设备,在许多工业生产过程中起着关键的控制作用。然而,当出现IngsollRang控制器上电无显示故障时,不仅会影响生产进度,还可能带来安全隐患。 一、IngsollRang模块化控制器故障诊断 1. 检查电源…

JAVA语言开发的一套(智慧工地监管系统源码)让工地变得更加“聪明”

JAVA语言开发的一套(智慧工地监管系统源码)让工地变得更加“聪明” 数字智慧工地是指利用物联网、大数据、云计算、人工智能等先进技术,对工地进行全面数字化改造和智能化升级,实现工地管理的精细化、高效化和智能化。它通过实时…

最新版Cisco Packet Tracer思科模拟器Windows版本64位下载

Cisco Packet Tracer是思科公司推出的一款网络仿真工具,主要用于网络教学、培训和实验。它提供了一个真实的网络环境模拟平台,让用户可以设计、构建和调试网络,以及进行实时互动,从而帮助用户理解和实践网络技术。 通过 Cisco Pa…

律所优选管理软件排名:Alpha法律智能操作系统领先行业

面对庞大复杂的管理体量,律所一体化建设面临的首要问题便是信息化系统的建设与应用,即统一管理平台的问题。Alpha法律智能操作系统集法律大数据、律所管理、人工智能于一体,从业务、人员、信息三个板块最大限度支持律所数字化建设&#xff0c…

双通道-程控绝缘测试电阻箱的性能

双通道-程控绝缘测试电阻箱是高精度、高性能的电气测量设备,广泛应用于电力系统、电气设备、电子设备等领域。采用先进的数字式电阻测量技术,具有高精度、高稳定性的测量性能。其测量误差小于0.05%,能够满足各种精密测量的需求。 双通道-程控…

Java实现数字替代功能:卡码网54替换数字实践案例

Java实现数字替代功能:卡码网54替换数字实践案例 引言 在编程实践中,我们经常需要对数字进行特定的替代处理,以满足不同的业务需求。本文将介绍如何在Java中实现一个简单的数字替代功能,以卡码网54上的一个替换数字实际案例为例…

git merge(3个模式) 与 git rebase 图文详解区别

目录 1 git merge1.1 模式一:fast-forward(–ff)1.2 模式二:non-Fast-forward(–no-ff)1.3 模式三:fast-forward only(–ff-only) 2 git rebase3 区别 1 git merge git merge有好几种不同的模式 默认情况下你直接使用 git merge 命令&#x…

PHP调用阿里云OSS的SDK封装成服务的完整指南与问题解决

在现代Web开发中,使用云存储来管理和存储大量的静态文件已经成为常态。阿里云OSS(对象存储服务)是其中一个非常受欢迎的选择。在这篇文章中,我们将详细讲解如何在PHP项目中集成并使用阿里云OSS SDK。 #### 一、前期准备 在开始之…

SAP PI/PO获取文件名及路径

Sender Adapter设置如下: UDF定义如下: DynamicConfiguration conf (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION); //get file name DynamicConfigurationKey keyFile…

JavaScript-逻辑中断

学习目标: 掌握逻辑中断 学习内容: 语法逻辑运算符里的短路 语法: function fn(x, y) {x x || 0y y || 0console.log(x y)}fn(1, 2)fn()逻辑运算符里的短路: 短路:只存在于&&和||中,当满足一定…

spark学习总结

系列文章目录 第1天总结:spark基础学习 1- Spark基本介绍(了解)2- Spark入门案例(掌握)3- 常见面试题(掌握) 文章目录 系列文章目录前言一、Spark基本介绍1、Spark是什么1.1 定义1.2 Spark与M…

CASS界址点顺序重排

1、绘制一个宗地,如下: 2、注记界址点号,如下 3、【地籍】--【调整宗地内界址点顺序】,如下: 重排完成后,点击工具栏的【重】按钮,即可刷新标注。

前端练习小项目——视觉冲击卡片

前言: 前言:在学习完HTML和CSS之后,我们就可以开始做一些小项目了,本篇文章所讲的小项目为——视觉冲击卡片 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客 先让我们看一下效果&a…

美国铁路客运巨头Amtrak泄漏旅客数据,数据销毁 硬盘销毁 文件销毁

旅客的Guest Rewards常旅客积分账户的个人信息被大量窃取。 美国国家客运铁路公司(Amtrak)近日披露了一起数据泄露事件,旅客的Guest Rewards常旅客积分账户的个人信息被大量窃取。 根据Amtrak向马萨诸塞州提交的泄露通知,5月15日…

聊聊探索性测试

探索性测试定义及来源:​ 特意度娘了一下,探索性测试的定义: 探索性测试可以说是一种测试思维技术。它没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。探索性强调测试人员的主观能动性…

解决数据孤岛/计算消耗/误差累积问题,上海人工智能实验室苏锐:FengWu-GHR实现AI气象预测多重突破

「AI 方法出现之前,每 10 年才可以提高 1 天的气象预报技巧,而引入 AI 后,几个月就能提高预报技巧。」 在 2024 北京智源大会「AI for Science」论坛上,上海人工智能实验室青年研究员苏锐回顾了 AI 气象预报的历史发展&#xff0…

群晖NAS本地部署并运行一个基于大语言模型Llama2的个人本地聊天机器人

前言 本文主要分享如何在群晖 NAS 本地部署并运行一个基于大语言模型 Llama 2 的个人本地聊天机器人并结合内网穿透工具发布到公网远程访问。本地部署对设备配置要求高一些,如果想要拥有比较好的体验,可以使用高配置的服务器设备. 目前大部分大语言模型的产品都是基于网络线上…

【Oracle篇】Oracle数据库坏块处理:rman修复坏块实践与案例分析(第七篇,总共八篇)

💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…

HarmonyOS模拟器(phone-x86-api9)一直卡顿的解决方法

在DevEco Studio 3.1.1 Release版本中的Device Manager中创建本地的模拟器,创建phone-x86-api9模拟器成功,但是启动该新建的模拟器一直显示"HarmonyOS"logo图片,然后一直卡在这里,运行结果如下所示: 检查模…