ProcessorFuzz: Processor Fuzzing with Control and Status Registers Guidance

Sadullah Canakci, Chathura Rajapaksha, Leila Delshadtehrani, A. Nataraja, Michael B. Taylor, Manuel Egele, Ajay Joshi
{"title":"ProcessorFuzz: Processor Fuzzing with Control and Status Registers Guidance","authors":"Sadullah Canakci, Chathura Rajapaksha, Leila Delshadtehrani, A. Nataraja, Michael B. Taylor, Manuel Egele, Ajay Joshi","doi":"10.1109/HOST55118.2023.10133714","DOIUrl":null,"url":null,"abstract":"As the complexity of modern processors has increased over the years, developing effective verification strategies to identify bugs prior to manufacturing has become critical. Inspired by software fuzzing, a technique commonly used for software testing, multiple recent works use hardware fuzzing for the verification of Register-Transfer Level (RTL) designs. However, these works suffer from several limitations such as lack of support for widelyused Hardware Description Languages (HDLs) and misleading coverage-signals that misidentify ‘‘interesting’’ inputs. Towards overcoming these shortcomings, we present ProcessorFuzz, a processor fuzzer that guides the fuzzer with a novel CSR-transition coverage metric. ProcessorFuzz monitors the transitions in Control and Status Registers (CSRs) as CSRs are in charge of controlling and holding the state of the processor. Therefore, transitions in CSRs indicate a new processor state, and guiding the fuzzer based on this feedback enables ProcessorFuzz to explore new processor states. We evaluated ProcessorFuzz with three real-world opensource processors — Rocket, BOOM, and BlackParrot. ProcessorFuzz triggered a set of ground-truth bugs $1.23 \\times$ faster (on average) than DIFUZZRTL. Moreover, our experiments exposed 8 new bugs across the three RISC-V cores and one new bug in a reference model. All nine bugs were confirmed by the developers of the corresponding projects.","PeriodicalId":128125,"journal":{"name":"2023 IEEE International Symposium on Hardware Oriented Security and Trust (HOST)","volume":"61 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE International Symposium on Hardware Oriented Security and Trust (HOST)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HOST55118.2023.10133714","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

As the complexity of modern processors has increased over the years, developing effective verification strategies to identify bugs prior to manufacturing has become critical. Inspired by software fuzzing, a technique commonly used for software testing, multiple recent works use hardware fuzzing for the verification of Register-Transfer Level (RTL) designs. However, these works suffer from several limitations such as lack of support for widelyused Hardware Description Languages (HDLs) and misleading coverage-signals that misidentify ‘‘interesting’’ inputs. Towards overcoming these shortcomings, we present ProcessorFuzz, a processor fuzzer that guides the fuzzer with a novel CSR-transition coverage metric. ProcessorFuzz monitors the transitions in Control and Status Registers (CSRs) as CSRs are in charge of controlling and holding the state of the processor. Therefore, transitions in CSRs indicate a new processor state, and guiding the fuzzer based on this feedback enables ProcessorFuzz to explore new processor states. We evaluated ProcessorFuzz with three real-world opensource processors — Rocket, BOOM, and BlackParrot. ProcessorFuzz triggered a set of ground-truth bugs $1.23 \times$ faster (on average) than DIFUZZRTL. Moreover, our experiments exposed 8 new bugs across the three RISC-V cores and one new bug in a reference model. All nine bugs were confirmed by the developers of the corresponding projects.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
处理器模糊与控制和状态寄存器指导
随着现代处理器的复杂性多年来不断增加,开发有效的验证策略以在制造之前识别错误变得至关重要。受软件模糊测试(一种通常用于软件测试的技术)的启发,最近的许多作品都使用硬件模糊测试来验证寄存器-传输级别(RTL)设计。然而,这些工作受到一些限制,例如缺乏对广泛使用的硬件描述语言(hdl)的支持和误导性的覆盖信号,这些信号会错误地识别“有趣的”输入。为了克服这些缺点,我们提出了ProcessorFuzz,这是一个处理器模糊器,它用一种新的csr转换覆盖度量来指导模糊器。ProcessorFuzz监视控制和状态寄存器(csr)中的转换,因为csr负责控制和保持处理器的状态。因此,csr中的转换指示新的处理器状态,并且基于此反馈引导模糊器使ProcessorFuzz能够探索新的处理器状态。我们用三个真实世界的开源处理器——Rocket、BOOM和BlackParrot来评估ProcessorFuzz。ProcessorFuzz比DIFUZZRTL触发一组真实错误(平均)快1.23倍。此外,我们的实验在三个RISC-V内核中发现了8个新错误,在参考模型中发现了一个新错误。所有9个bug都得到了相应项目开发人员的确认。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
TripletPower: Deep-Learning Side-Channel Attacks over Few Traces Design of Quantum Computer Antivirus Bits to BNNs: Reconstructing FPGA ML-IP with Joint Bitstream and Side-Channel Analysis Disassembling Software Instruction Types through Impedance Side-channel Analysis Generating Lower-Cost Garbled Circuits: Logic Synthesis Can Help
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1