Glitching Demystified: Analyzing Control-flow-based Glitching Attacks and Defenses

Chad Spensky, Aravind Machiry, N. Burow, Hamed Okhravi, Rick Housley, Zhongshu Gu, H. Jamjoom, C. Kruegel, G. Vigna
{"title":"Glitching Demystified: Analyzing Control-flow-based Glitching Attacks and Defenses","authors":"Chad Spensky, Aravind Machiry, N. Burow, Hamed Okhravi, Rick Housley, Zhongshu Gu, H. Jamjoom, C. Kruegel, G. Vigna","doi":"10.1109/DSN48987.2021.00051","DOIUrl":null,"url":null,"abstract":"Hardware fault injection, or glitching, attacks can compromise the security of devices even when no software vulnerabilities exist. Attempts to analyze the hardware effects of glitching are subject to the Heisenberg effect and there is typically a disconnect between what people “think” is possible and what is actually possible with respect to these attacks. In this work, we attempt to provide some clarity to the impacts of attacks and defenses for control-flow modification through glitching. First, we introduce a glitching emulation framework, which provides a scalable playground to test the effects of bit flips on specific instruction set architectures (ISAs) (i.e., the fault tolerance of the instruction encoding). Next, we examine real glitching experiments using the ChipWhisperer, a popular microcontroller using open-source glitching hardware. These real-world experiments provide novel insights into how glitching attacks are realized and might be defended against in practice. Finally, we present GLITCHRESISTOR, an open-source, software-based glitching defense tool that can automatically insert glitching defenses into any existing source code, in an architecture-independent way. We evaluated GLITCHRESISTOR, which integrates numerous software-only defenses against powerful and real-world glitching attacks. Our findings indicate that software-only defenses can be implemented with acceptable run-time and size overheads, while completely mitigating some single-glitch attacks, minimizing the likelihood of a successful multi-glitch attack (i.e., a success rate of 0.000306%), and detecting failed glitching attempts at a high rate (between 79.2% and 100%).","PeriodicalId":222512,"journal":{"name":"2021 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/DSN48987.2021.00051","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7

Abstract

Hardware fault injection, or glitching, attacks can compromise the security of devices even when no software vulnerabilities exist. Attempts to analyze the hardware effects of glitching are subject to the Heisenberg effect and there is typically a disconnect between what people “think” is possible and what is actually possible with respect to these attacks. In this work, we attempt to provide some clarity to the impacts of attacks and defenses for control-flow modification through glitching. First, we introduce a glitching emulation framework, which provides a scalable playground to test the effects of bit flips on specific instruction set architectures (ISAs) (i.e., the fault tolerance of the instruction encoding). Next, we examine real glitching experiments using the ChipWhisperer, a popular microcontroller using open-source glitching hardware. These real-world experiments provide novel insights into how glitching attacks are realized and might be defended against in practice. Finally, we present GLITCHRESISTOR, an open-source, software-based glitching defense tool that can automatically insert glitching defenses into any existing source code, in an architecture-independent way. We evaluated GLITCHRESISTOR, which integrates numerous software-only defenses against powerful and real-world glitching attacks. Our findings indicate that software-only defenses can be implemented with acceptable run-time and size overheads, while completely mitigating some single-glitch attacks, minimizing the likelihood of a successful multi-glitch attack (i.e., a success rate of 0.000306%), and detecting failed glitching attempts at a high rate (between 79.2% and 100%).
故障揭秘:分析基于控制流的故障攻击和防御
硬件故障注入(glitching)攻击即使在没有软件漏洞的情况下也会危及设备的安全性。试图分析故障对硬件的影响受到海森堡效应的影响,人们“认为”的可能性与这些攻击的实际可能性之间通常存在脱节。在这项工作中,我们试图通过故障对控制流修改的攻击和防御的影响提供一些清晰度。首先,我们引入了一个故障仿真框架,它提供了一个可扩展的平台来测试位翻转对特定指令集架构(isa)的影响(即指令编码的容错性)。接下来,我们使用ChipWhisperer(一种使用开源故障硬件的流行微控制器)检查真实的故障实验。这些真实世界的实验为故障攻击是如何实现的以及在实践中如何防御提供了新的见解。最后,我们介绍了GLITCHRESISTOR,一个开源的、基于软件的故障防御工具,它可以以一种与体系结构无关的方式自动将故障防御插入到任何现有的源代码中。我们评估了GLITCHRESISTOR,它集成了许多针对强大和现实世界故障攻击的纯软件防御。我们的研究结果表明,纯软件防御可以在可接受的运行时间和大小开销下实现,同时完全减轻一些单故障攻击,最大限度地减少成功的多故障攻击的可能性(即,成功率为0.000306%),并以高比率(79.2%到100%之间)检测失败的故障尝试。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术文献互助群
群 号:604180095
Book学术官方微信