CIFER: Code Integrity and control Flow verification for programs Executed on a RISC-V core

Anthony Zgheib, O. Potin, J. Rigaud, J. Dutertre
{"title":"CIFER: Code Integrity and control Flow verification for programs Executed on a RISC-V core","authors":"Anthony Zgheib, O. Potin, J. Rigaud, J. Dutertre","doi":"10.1109/HOST55118.2023.10133542","DOIUrl":null,"url":null,"abstract":"Fault Injection Attacks (FIA) are powerful threats that can modify the intended behavior of a program running on a processor. Control Flow Integrity (CFI) is used to check at runtime that a program’s execution path follows its corresponding Control Flow Graph (CFG) and is not altered by these attacks. Recent works have stated that developers do not sufficiently consider hardware specifications while designing software countermeasures. Moreover, most hardware and codesign CFI solutions do not cover the integrity of the processor microarchitecture. This paper presents CIFER, a Code Integrity and control Flow verification system for programs Executed on a RISC-V core. It ensures instruction execution in the core while checking the microarchitectural control signals. This is known as a Control Flow and Execution Integrity (CFEI) approach. Our solution is built upon the RISC-V Trace Encoder (TE) which provides information about the execution path of the user’s program. CIFER proposes an evolution of the TE standard and an analysis of the targeted core’s architecture to monitor the pipeline control signals. The average hardware area overheads of our solution range from 35.2% to 55%. Compared to existing CFI and CFEI countermeasures, CIFER presents no performance costs. It does not modify the RISC-V Instruction Set Architecture (ISA), the compilation process nor the user code.","PeriodicalId":128125,"journal":{"name":"2023 IEEE International Symposium on Hardware Oriented Security and Trust (HOST)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","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.10133542","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Fault Injection Attacks (FIA) are powerful threats that can modify the intended behavior of a program running on a processor. Control Flow Integrity (CFI) is used to check at runtime that a program’s execution path follows its corresponding Control Flow Graph (CFG) and is not altered by these attacks. Recent works have stated that developers do not sufficiently consider hardware specifications while designing software countermeasures. Moreover, most hardware and codesign CFI solutions do not cover the integrity of the processor microarchitecture. This paper presents CIFER, a Code Integrity and control Flow verification system for programs Executed on a RISC-V core. It ensures instruction execution in the core while checking the microarchitectural control signals. This is known as a Control Flow and Execution Integrity (CFEI) approach. Our solution is built upon the RISC-V Trace Encoder (TE) which provides information about the execution path of the user’s program. CIFER proposes an evolution of the TE standard and an analysis of the targeted core’s architecture to monitor the pipeline control signals. The average hardware area overheads of our solution range from 35.2% to 55%. Compared to existing CFI and CFEI countermeasures, CIFER presents no performance costs. It does not modify the RISC-V Instruction Set Architecture (ISA), the compilation process nor the user code.
在RISC-V内核上执行的程序的代码完整性和控制流验证
故障注入攻击(FIA)是一种强大的威胁,它可以修改处理器上运行的程序的预期行为。控制流完整性(CFI)用于在运行时检查程序的执行路径是否遵循其相应的控制流图(CFG),并且不被这些攻击改变。最近的研究表明,开发人员在设计软件对策时没有充分考虑硬件规范。此外,大多数硬件和协同设计CFI解决方案都没有涵盖处理器微体系结构的完整性。本文介绍了一种用于在RISC-V内核上执行的程序的代码完整性和控制流验证系统CIFER。它在检查微体系结构控制信号的同时确保指令在核心执行。这被称为控制流和执行完整性(CFEI)方法。我们的解决方案建立在RISC-V跟踪编码器(TE)的基础上,该编码器提供有关用户程序执行路径的信息。CIFER提出了TE标准的演变和目标核心结构的分析,以监测管道控制信号。我们的解决方案的平均硬件面积开销从35.2%到55%不等。与现有的CFI和CFEI对策相比,CIFER没有性能成本。它不修改RISC-V指令集架构(ISA)、编译过程和用户代码。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信