Towards a practical solution to detect code reuse attacks on ARM mobile devices

Yongje Lee, Ingoo Heo, Dongil Hwang, Kyungmin Kim, Y. Paek
{"title":"Towards a practical solution to detect code reuse attacks on ARM mobile devices","authors":"Yongje Lee, Ingoo Heo, Dongil Hwang, Kyungmin Kim, Y. Paek","doi":"10.1145/2768566.2768569","DOIUrl":null,"url":null,"abstract":"In recent years, there is a growing need to protect security and privacy of the data against various attacks on software running on smart mobile devices. The attackers mostly attempt to acquire privileges to control system behaviors as they want. As of today, the code reuse attack (CRA) is known as one of the most sophisticated techniques that can be exploited in such attempts. The attackers launch CRAs to perform arbitrary computation by reusing and chaining existing code fragments, called gadgets. Prior solutions to CRAs are engineered either in software or hardware. However, both of them have their own weaknesses. Software solutions suffer from huge performance overhead because they occupy computing resources of the host CPU. On the other hand, existing hardware solutions all require invasive modifications to the CPU internal architecture. This is contradictory to the conventional application processor (AP) design principle which is to integrate off-the-shelf commodity CPU cores and other special-purpose hardware modules together to form a system. In this paper, we propose a more practical hardware solution which conforms to such design convention, thus being amenable for immediate deployment to modern mobile devices that use APs as their central computing engines. In our work, we target the devices that employ as their AP CPUs the ARM processors which are the de-facto standard CPUs for commercial mobile devices today. The key difference of ours from previous hardware solutions is that our CRA detection hardware modules have been integrated as off-core modules with the processor, strictly following the AP designing principle. We exploit the ARM debug interface to obtain the core internal information which is not directly accessible from off-core hardware modules. As a result, we were able to detect CRAs from outside the CPU without modifying the processor internal. For our preliminary experiment, we have implemented in our prototype a module to detect the attacks based on return-oriented programming (ROP) which is a representative technique used in CRAs. Empirical results show that our solution successfully detects ROP attacks with negligibly low runtime overhead and moderate area overhead.","PeriodicalId":332892,"journal":{"name":"Proceedings of the Fourth Workshop on Hardware and Architectural Support for Security and Privacy","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2015-06-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"23","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the Fourth Workshop on Hardware and Architectural Support for Security and Privacy","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2768566.2768569","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 23

Abstract

In recent years, there is a growing need to protect security and privacy of the data against various attacks on software running on smart mobile devices. The attackers mostly attempt to acquire privileges to control system behaviors as they want. As of today, the code reuse attack (CRA) is known as one of the most sophisticated techniques that can be exploited in such attempts. The attackers launch CRAs to perform arbitrary computation by reusing and chaining existing code fragments, called gadgets. Prior solutions to CRAs are engineered either in software or hardware. However, both of them have their own weaknesses. Software solutions suffer from huge performance overhead because they occupy computing resources of the host CPU. On the other hand, existing hardware solutions all require invasive modifications to the CPU internal architecture. This is contradictory to the conventional application processor (AP) design principle which is to integrate off-the-shelf commodity CPU cores and other special-purpose hardware modules together to form a system. In this paper, we propose a more practical hardware solution which conforms to such design convention, thus being amenable for immediate deployment to modern mobile devices that use APs as their central computing engines. In our work, we target the devices that employ as their AP CPUs the ARM processors which are the de-facto standard CPUs for commercial mobile devices today. The key difference of ours from previous hardware solutions is that our CRA detection hardware modules have been integrated as off-core modules with the processor, strictly following the AP designing principle. We exploit the ARM debug interface to obtain the core internal information which is not directly accessible from off-core hardware modules. As a result, we were able to detect CRAs from outside the CPU without modifying the processor internal. For our preliminary experiment, we have implemented in our prototype a module to detect the attacks based on return-oriented programming (ROP) which is a representative technique used in CRAs. Empirical results show that our solution successfully detects ROP attacks with negligibly low runtime overhead and moderate area overhead.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
迈向一个实用的解决方案,以检测代码重用攻击的ARM移动设备
近年来,人们越来越需要保护数据的安全和隐私,防止智能移动设备上运行的软件受到各种攻击。攻击者大多试图获得特权来控制他们想要的系统行为。到目前为止,代码重用攻击(CRA)被认为是可以在此类尝试中利用的最复杂的技术之一。攻击者启动cra,通过重用和链接现有的代码片段(称为gadget)来执行任意计算。以前的cra解决方案要么在软件中设计,要么在硬件中设计。然而,他们都有自己的弱点。软件解决方案由于占用主机CPU的计算资源,性能开销很大。另一方面,现有的硬件解决方案都需要对CPU内部架构进行侵入性修改。这与传统的应用处理器(AP)设计原则相矛盾,传统的应用处理器设计原则是将现成的商品CPU内核和其他专用硬件模块集成在一起形成一个系统。在本文中,我们提出了一种更实用的硬件解决方案,它符合这种设计惯例,因此可以立即部署到使用ap作为其中央计算引擎的现代移动设备上。在我们的工作中,我们的目标是采用ARM处理器作为其AP cpu的设备,ARM处理器是当今商用移动设备的事实上的标准cpu。我们与以往硬件解决方案的主要区别在于,我们的CRA检测硬件模块与处理器集成为离核模块,严格遵循AP设计原则。我们利用ARM调试接口来获取内核内部信息,这些信息是不能直接从非内核硬件模块访问的。因此,我们能够在不修改处理器内部的情况下从CPU外部检测到cra。在我们的初步实验中,我们在原型中实现了一个基于面向返回的编程(ROP)的攻击检测模块,这是cra中使用的一种代表性技术。实验结果表明,该方法能够有效地检测到ROP攻击,且运行时间开销很小,面积开销适中。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Can randomized mapping secure instruction caches from side-channel attacks? Exploiting small leakages in masks to turn a second-order attack into a first-order attack Side-channel analysis of MAC-Keccak hardware implementations Hardware overhead analysis of programmability in ARX crypto processing Support vector regression: exploiting machine learning techniques for leakage modeling
×
引用
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