FLAShadow: A Flash-based Shadow Stack for Low-end Embedded Systems

IF 3.5 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS
Michele Grisafi, M. Ammar, Marco Roveri, Bruno Crispo
{"title":"FLAShadow: A Flash-based Shadow Stack for Low-end Embedded Systems","authors":"Michele Grisafi, M. Ammar, Marco Roveri, Bruno Crispo","doi":"10.1145/3670413","DOIUrl":null,"url":null,"abstract":"Run-time attacks are a rising threat to both low- and high-end systems, with the spread of techniques like Return Oriented Programming (ROP) that aim at hijacking the control flow of vulnerable applications. Although several control flow integrity schemes have been proposed by both academia and the industry, the vast majority of them are not compatible with low-end embedded devices, especially the ones that lack hardware security features.\n \n In this paper, we propose\n FLAShadow\n , a secure shadow stack design and implementation for low-end embedded systems, relying on zero hardware security features. The key idea is to leverage a software-based memory isolation mechanism to establish an integrity-protected memory area on the Flash of the target device, where\n FLAShadow\n can be securely maintained.\n FLAShadow\n exclusively reserves a register for maintaining the integrity of the stack pointer and also depends on a minimal trusted run-time component to avoid trusting the compiler toolchain. We evaluate an open-source implementation of\n FLAShadow\n for the MSP430 architecture, showing an average performance and memory overhead of 168.58% and 25.91% respectively. While the average performance overhead is considered high, we show that it is application-dependent and incurs less than 5% for some applications.\n","PeriodicalId":29764,"journal":{"name":"ACM Transactions on Internet of Things","volume":null,"pages":null},"PeriodicalIF":3.5000,"publicationDate":"2024-07-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Transactions on Internet of Things","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3670413","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, INFORMATION SYSTEMS","Score":null,"Total":0}
引用次数: 0

Abstract

Run-time attacks are a rising threat to both low- and high-end systems, with the spread of techniques like Return Oriented Programming (ROP) that aim at hijacking the control flow of vulnerable applications. Although several control flow integrity schemes have been proposed by both academia and the industry, the vast majority of them are not compatible with low-end embedded devices, especially the ones that lack hardware security features. In this paper, we propose FLAShadow , a secure shadow stack design and implementation for low-end embedded systems, relying on zero hardware security features. The key idea is to leverage a software-based memory isolation mechanism to establish an integrity-protected memory area on the Flash of the target device, where FLAShadow can be securely maintained. FLAShadow exclusively reserves a register for maintaining the integrity of the stack pointer and also depends on a minimal trusted run-time component to avoid trusting the compiler toolchain. We evaluate an open-source implementation of FLAShadow for the MSP430 architecture, showing an average performance and memory overhead of 168.58% and 25.91% respectively. While the average performance overhead is considered high, we show that it is application-dependent and incurs less than 5% for some applications.
FLAShadow:用于低端嵌入式系统的基于闪存的影子堆栈
随着旨在劫持易受攻击应用程序控制流的面向返回编程(ROP)等技术的普及,运行时攻击对低端和高端系统都构成了日益严重的威胁。虽然学术界和工业界都提出了一些控制流完整性方案,但绝大多数方案都与低端嵌入式设备不兼容,尤其是那些缺乏硬件安全功能的设备。 在本文中,我们提出了 FLAShadow,这是一种适用于低端嵌入式系统的安全影子堆栈设计和实现方案,依赖于零硬件安全特性。其主要思想是利用基于软件的内存隔离机制,在目标设备的闪存上建立一个完整性受保护的内存区域,并在该区域内安全地维护 FLAShadow。FLAShadow 专门为维护堆栈指针的完整性保留了一个寄存器,同时还依赖于最小可信运行时组件,以避免对编译器工具链的信任。我们对 MSP430 架构的 FLAShadow 开源实现进行了评估,结果显示平均性能开销和内存开销分别为 168.58% 和 25.91%。虽然平均性能开销被认为很高,但我们发现它与应用有关,在某些应用中开销不到 5%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
CiteScore
5.20
自引率
3.70%
发文量
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学术官方微信