Tarnhelm:在ARM的TrustZone中隔离、透明和保密地执行任意代码

Davide Quarta, M. Ianni, Aravind Machiry, Y. Fratantonio, Eric Gustafson, D. Balzarotti, Martina Lindorfer, G. Vigna, Christopher Kruegel
{"title":"Tarnhelm:在ARM的TrustZone中隔离、透明和保密地执行任意代码","authors":"Davide Quarta, M. Ianni, Aravind Machiry, Y. Fratantonio, Eric Gustafson, D. Balzarotti, Martina Lindorfer, G. Vigna, Christopher Kruegel","doi":"10.1145/3465413.3488571","DOIUrl":null,"url":null,"abstract":"Protecting the confidentiality of applications on commodity operating systems, both on desktop and mobile devices, is challenging: attackers have unrestricted control over an application's processes and thus direct access to any of the application's assets. However, the application's code itself can be of great commercial value, for example in the case of proprietary code or additional functionality obtained as downloadable content and via in-app purchases, which are widely used to monetize free applications through premium content. Developers still rely heavily on obfuscation to protect their own code from unauthorized tampering or copying, providing an obstacle for an attacker, but not preventing compromise. In this paper, we present Tarnhelm, an approach to offer a practical and transparent primitive to implement code confidentiality by extending ARM's TrustZone, a TEE that so far provides limited functionality to application developers. Tarnhelm allows developers to easily designate part of their code as confidential through source code annotations. At compile time, Tarnhelm automatically partitions the application into regular application code, executed in the \"normal world,\" and the invisible code, transparently executed in the \"secure world.\" Tarnhelm tightly couples and secures the execution in both worlds without exposing any additional attack surface by combining a number of different techniques, such as secure code loading, system call forwarding, transparent world switching, and the enforcement of inter-world control-flow integrity. We im- plemented a proof of concept of Tarnhelm and demonstrate its feasibility in a mobile computing setting.","PeriodicalId":400156,"journal":{"name":"Proceedings of the 2021 Research on offensive and defensive techniques in the Context of Man At The End (MATE) Attacks","volume":"42 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Tarnhelm: Isolated, Transparent & Confidential Execution of Arbitrary Code in ARM's TrustZone\",\"authors\":\"Davide Quarta, M. Ianni, Aravind Machiry, Y. Fratantonio, Eric Gustafson, D. Balzarotti, Martina Lindorfer, G. Vigna, Christopher Kruegel\",\"doi\":\"10.1145/3465413.3488571\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Protecting the confidentiality of applications on commodity operating systems, both on desktop and mobile devices, is challenging: attackers have unrestricted control over an application's processes and thus direct access to any of the application's assets. However, the application's code itself can be of great commercial value, for example in the case of proprietary code or additional functionality obtained as downloadable content and via in-app purchases, which are widely used to monetize free applications through premium content. Developers still rely heavily on obfuscation to protect their own code from unauthorized tampering or copying, providing an obstacle for an attacker, but not preventing compromise. In this paper, we present Tarnhelm, an approach to offer a practical and transparent primitive to implement code confidentiality by extending ARM's TrustZone, a TEE that so far provides limited functionality to application developers. Tarnhelm allows developers to easily designate part of their code as confidential through source code annotations. At compile time, Tarnhelm automatically partitions the application into regular application code, executed in the \\\"normal world,\\\" and the invisible code, transparently executed in the \\\"secure world.\\\" Tarnhelm tightly couples and secures the execution in both worlds without exposing any additional attack surface by combining a number of different techniques, such as secure code loading, system call forwarding, transparent world switching, and the enforcement of inter-world control-flow integrity. We im- plemented a proof of concept of Tarnhelm and demonstrate its feasibility in a mobile computing setting.\",\"PeriodicalId\":400156,\"journal\":{\"name\":\"Proceedings of the 2021 Research on offensive and defensive techniques in the Context of Man At The End (MATE) Attacks\",\"volume\":\"42 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2021-11-15\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 2021 Research on offensive and defensive techniques in the Context of Man At The End (MATE) Attacks\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3465413.3488571\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2021 Research on offensive and defensive techniques in the Context of Man At The End (MATE) Attacks","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3465413.3488571","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

摘要

在商用操作系统(桌面和移动设备)上保护应用程序的机密性是一项挑战:攻击者可以不受限制地控制应用程序的进程,从而直接访问应用程序的任何资产。然而,应用程序的代码本身可能具有巨大的商业价值,例如,在专有代码或附加功能的情况下,作为可下载内容和通过应用内购买获得,这被广泛用于通过付费内容从免费应用程序中获利。开发人员仍然严重依赖混淆来保护自己的代码不受未经授权的篡改或复制,这为攻击者提供了障碍,但不能防止被破坏。在本文中,我们提出了Tarnhelm,一种通过扩展ARM的TrustZone(迄今为止为应用程序开发人员提供有限功能的TEE)来提供实用且透明的原语来实现代码机密性的方法。Tarnhelm允许开发人员通过源代码注释轻松地将部分代码指定为机密代码。在编译时,Tarnhelm自动将应用程序划分为在“正常环境”中执行的常规应用程序代码和在“安全环境”中透明执行的不可见代码。Tarnhelm通过结合许多不同的技术,如安全代码加载、系统调用转发、透明世界切换和执行世界间控制流完整性,紧密耦合并确保两个世界的执行,而不会暴露任何额外的攻击面。我们实施了Tarnhelm的概念验证,并演示了其在移动计算环境中的可行性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Tarnhelm: Isolated, Transparent & Confidential Execution of Arbitrary Code in ARM's TrustZone
Protecting the confidentiality of applications on commodity operating systems, both on desktop and mobile devices, is challenging: attackers have unrestricted control over an application's processes and thus direct access to any of the application's assets. However, the application's code itself can be of great commercial value, for example in the case of proprietary code or additional functionality obtained as downloadable content and via in-app purchases, which are widely used to monetize free applications through premium content. Developers still rely heavily on obfuscation to protect their own code from unauthorized tampering or copying, providing an obstacle for an attacker, but not preventing compromise. In this paper, we present Tarnhelm, an approach to offer a practical and transparent primitive to implement code confidentiality by extending ARM's TrustZone, a TEE that so far provides limited functionality to application developers. Tarnhelm allows developers to easily designate part of their code as confidential through source code annotations. At compile time, Tarnhelm automatically partitions the application into regular application code, executed in the "normal world," and the invisible code, transparently executed in the "secure world." Tarnhelm tightly couples and secures the execution in both worlds without exposing any additional attack surface by combining a number of different techniques, such as secure code loading, system call forwarding, transparent world switching, and the enforcement of inter-world control-flow integrity. We im- plemented a proof of concept of Tarnhelm and demonstrate its feasibility in a mobile computing setting.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信