EC-CFI: Control-Flow Integrity via Code Encryption Counteracting Fault Attacks

Pascal Nasahl, Salmin Sultana, Hans Liljestrand, Karanvir Grewal, Michael F. Lemay, David Durham, David Schrammel, S. Mangard
{"title":"EC-CFI: Control-Flow Integrity via Code Encryption Counteracting Fault Attacks","authors":"Pascal Nasahl, Salmin Sultana, Hans Liljestrand, Karanvir Grewal, Michael F. Lemay, David Durham, David Schrammel, S. Mangard","doi":"10.1109/HOST55118.2023.10132915","DOIUrl":null,"url":null,"abstract":"Fault attacks enable adversaries to manipulate the controlflow of security-critical applications. By inducing targeted faults into the CPU, the software’s call graph can be escaped and the control-flow can be redirected to arbitrary functions inside the program. To protect the control-flow from these attacks, dedicated fault control-flow integrity (CFI) countermeasures are commonly deployed. However, these schemes either have high detection latencies or require intrusive hardware changes. In this paper, we present EC-CFI, a software-based cryptographically enforced CFI scheme with no detection latency utilizing hardware features of recent Intel® platforms. Our EC-CFI prototype is designed to prevent an adversary from escaping the program’s call graph using faults by encrypting each function with a different key before execution. At runtime, the instrumented program dynamically derives the decryption key, ensuring that the code only can be successfully decrypted when the program follows the intended call graph. To enable this level of protection on Intel® commodity systems, we combine Intel®’s TME-MK with the virtualization technology to achieve function-granular encryption. We open-source our custom LLVM-based toolchain automatically protecting arbitrary programs with EC-CFI. Furthermore, we evaluate EPT aliasing with the SPEC CPU2017 and Embench- IoT benchmarks and discuss and evaluate potential TME-MK hardware changes minimizing runtime overheads.","PeriodicalId":128125,"journal":{"name":"2023 IEEE International Symposium on Hardware Oriented Security and Trust (HOST)","volume":"207 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-01-31","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.10132915","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

Fault attacks enable adversaries to manipulate the controlflow of security-critical applications. By inducing targeted faults into the CPU, the software’s call graph can be escaped and the control-flow can be redirected to arbitrary functions inside the program. To protect the control-flow from these attacks, dedicated fault control-flow integrity (CFI) countermeasures are commonly deployed. However, these schemes either have high detection latencies or require intrusive hardware changes. In this paper, we present EC-CFI, a software-based cryptographically enforced CFI scheme with no detection latency utilizing hardware features of recent Intel® platforms. Our EC-CFI prototype is designed to prevent an adversary from escaping the program’s call graph using faults by encrypting each function with a different key before execution. At runtime, the instrumented program dynamically derives the decryption key, ensuring that the code only can be successfully decrypted when the program follows the intended call graph. To enable this level of protection on Intel® commodity systems, we combine Intel®’s TME-MK with the virtualization technology to achieve function-granular encryption. We open-source our custom LLVM-based toolchain automatically protecting arbitrary programs with EC-CFI. Furthermore, we evaluate EPT aliasing with the SPEC CPU2017 and Embench- IoT benchmarks and discuss and evaluate potential TME-MK hardware changes minimizing runtime overheads.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
EC-CFI:通过代码加密对抗故障攻击的控制流完整性
故障攻击使攻击者能够操纵安全关键型应用程序的控制流。通过将目标故障引入CPU,可以对软件的调用图进行转义,并将控制流重定向到程序内的任意函数。为了保护控制流免受这些攻击,通常会部署专用的故障控制流完整性(CFI)对策。然而,这些方案要么具有很高的检测延迟,要么需要进行侵入性的硬件更改。在本文中,我们提出了EC-CFI,一种基于软件的加密强制CFI方案,利用最新英特尔®平台的硬件特性,无检测延迟。我们的EC-CFI原型旨在通过在执行前用不同的密钥加密每个函数来防止对手使用错误来逃避程序的调用图。在运行时,检测程序动态地派生解密密钥,确保只有当程序遵循预期的调用图时才能成功解密代码。为了在英特尔®商品系统上实现这种级别的保护,我们将英特尔®的TME-MK与虚拟化技术相结合,以实现功能粒度加密。我们开源了基于llvm的定制工具链,使用EC-CFI自动保护任意程序。此外,我们使用SPEC CPU2017和Embench- IoT基准测试评估EPT混联,并讨论和评估潜在的TME-MK硬件更改,以最大限度地减少运行时开销。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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