Ghostbusting: mitigating spectre with intraprocess memory isolation

Ira JenkinsPrashant, AnantharamanRebecca ShapiroJ, Peter BradySergey, BratusSean Smith, Prashant Anantharaman, I. Jenkins, Rebecca Shapiro
{"title":"Ghostbusting: mitigating spectre with intraprocess memory isolation","authors":"Ira JenkinsPrashant, AnantharamanRebecca ShapiroJ, Peter BradySergey, BratusSean Smith, Prashant Anantharaman, I. Jenkins, Rebecca Shapiro","doi":"10.1145/3384217.3385627","DOIUrl":null,"url":null,"abstract":"Spectre attacks have drawn much attention since their announcement. Speculative execution creates so-called transient instructions, those whose results are ephemeral and not committed architecturally. However, various side-channels exist to extract these transient results from the microarchitecture, e.g., caches. Spectre Variant 1, the so-called Bounds Check Bypass, was the first such attack to be demonstrated. Leveraging transient read instructions and cache-timing effects, the adversary can read secret data. In this work, we explore the ability of intraprocess memory isolation to mitigate Spectre Variant 1 attacks. We demonstrate this using Executable and Linkable Format-based access control (ELFbac) which is a technique for achieving intraprocess memory isolation at the application binary interface (ABI) level. Additionally, we consider Memory Protection Keys (MPKs), a recent extension to Intel processors, that partition virtual pages into security domains. Using the original Spectre proof-of-concept (POC) code, we show how ELFbac and MPKs can be used to thwart Spectre Variant 1 by constructing explicit policies to allow and disallow the exploit. We compare our techniques against the commonly suggested mitigation using serialized instructions, e.g., lfence. Additionally, we consider other Spectre variants based on transient execution that intraprocess memory isolation would naturally mitigate.","PeriodicalId":205173,"journal":{"name":"Proceedings of the 7th Symposium on Hot Topics in the Science of Security","volume":"17 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-08-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 7th Symposium on Hot Topics in the Science of Security","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3384217.3385627","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10

Abstract

Spectre attacks have drawn much attention since their announcement. Speculative execution creates so-called transient instructions, those whose results are ephemeral and not committed architecturally. However, various side-channels exist to extract these transient results from the microarchitecture, e.g., caches. Spectre Variant 1, the so-called Bounds Check Bypass, was the first such attack to be demonstrated. Leveraging transient read instructions and cache-timing effects, the adversary can read secret data. In this work, we explore the ability of intraprocess memory isolation to mitigate Spectre Variant 1 attacks. We demonstrate this using Executable and Linkable Format-based access control (ELFbac) which is a technique for achieving intraprocess memory isolation at the application binary interface (ABI) level. Additionally, we consider Memory Protection Keys (MPKs), a recent extension to Intel processors, that partition virtual pages into security domains. Using the original Spectre proof-of-concept (POC) code, we show how ELFbac and MPKs can be used to thwart Spectre Variant 1 by constructing explicit policies to allow and disallow the exploit. We compare our techniques against the commonly suggested mitigation using serialized instructions, e.g., lfence. Additionally, we consider other Spectre variants based on transient execution that intraprocess memory isolation would naturally mitigate.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Ghostbusting:通过进程内内存隔离来缓解幽灵
自从幽灵攻击被宣布以来,就引起了广泛的关注。推测执行创建了所谓的瞬态指令,这些指令的结果是短暂的,并且没有在体系结构上提交。然而,存在各种各样的侧通道来从微架构中提取这些瞬态结果,例如缓存。幽灵变体1,所谓的边界检查旁路,是第一个被证明的这种攻击。利用瞬态读取指令和缓存计时效果,攻击者可以读取机密数据。在这项工作中,我们探讨了进程内内存隔离减轻Spectre Variant 1攻击的能力。我们使用基于可执行和可链接格式的访问控制(ELFbac)来演示这一点,ELFbac是一种在应用程序二进制接口(ABI)级别实现进程内内存隔离的技术。此外,我们考虑内存保护密钥(mpk),这是英特尔处理器的最新扩展,它将虚拟页面划分到安全域。使用原始的Spectre概念验证(POC)代码,我们展示了如何使用ELFbac和mpk通过构建明确的策略来允许和禁止利用来阻止Spectre Variant 1。我们将我们的技术与通常建议的使用序列化指令(例如lfence)的缓解方法进行比较。此外,我们还考虑了基于瞬态执行的其他Spectre变体,进程内内存隔离自然会缓解这种情况。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Vulnerability trends in web servers and browsers Using Intel SGX to improve private neural network training and inference Simulation testbed for railway infrastructure security and resilience evaluation The more the merrier: adding hidden measurements to secure industrial control systems A raspberry Pi sensor network for wildlife conservation
×
引用
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