With the continuous increase in the number of software-based attacks, there has been a growing effort towards isolating sensitive data and trusted software components from untrusted third-party components. A hardware-assisted intra-process isolation mechanism enables software developers to partition a process into isolated components and in turn secure sensitive data from untrusted components. However, most of the existing hardware-assisted intra-process isolation mechanisms in modern processors, such as ARM and IBM Power, rely on costly kernel operations for switching between trusted and untrusted domains. Recently, Intel introduced a new hardware feature for intra-process memory isolation, called Memory Protection Keys (MPK), which enables a user-space process to switch the domains in an efficient way. While the efficiency of Intel MPK enables developers to leverage it for common use cases such as Code-Pointer Integrity, the limited number of unique domains (16) prohibits its use in cases such as OpenSSL where a large number of domains are required. Moreover, Intel MPK suffers from the protection key use-after-free vulnerability. To address these shortcomings, in this paper, we propose an efficient intra-process isolation technique for the RISC-V open ISA, called SealPK, which supports up to 1024 unique domains. SealPK prevents the protection key use-after-free problem by leveraging a lazy de-allocation approach. To further strengthen SealPK, we devise three novel sealing features to protect the allocated domains, their associated pages, and their permissions from modifications or tampering by an attacker. To demonstrate the feasibility of our design, we implement SealPK on a RISC-V Rocket processor, provide the OS support for it, and prototype our design on an FPGA. We demonstrate the efficiency of SealPK by leveraging it to implement an isolated shadow stack on our FPGA prototype.


翻译:随着以软件为基础的攻击次数不断增加,人们日益努力将敏感数据和信任的软件组件与不受信任的第三方组件隔离开来。一个硬件辅助的流程内隔离机制使软件开发者能够将一个流程分割成孤立的组件,而反过来又从不受信任的组件中安全敏感数据。然而,在现代处理器中,如ARM和IBM Power,现有的硬件辅助的流程内隔离机制大多依靠昂贵的内核操作转换信任和不受信任的域。最近,Intel为进程内内记忆隔离引入了一个新的硬件特性,称为记忆保护键(MPK),使用户空间进程能够以有效的方式转换域。虽然Intel MPK 的高效利用使开发者能够将一个过程分割成一个过程,例如代码指导器完整性,但数量有限的独特域(16)无法在诸如需要大量域的 OploadSSL等情况下使用它。此外,Intel PK在保护关键版本的内核反应堆上展示了这些缺点,为了解决这些缺点,我们在本文中,我们提议一个高效的流程内处理内部隔离技术, 将它用一个关键设计-ICSAL-VDSASA 来防止我们使用它。

0
下载
关闭预览

相关内容

CASES:International Conference on Compilers, Architectures, and Synthesis for Embedded Systems。 Explanation:嵌入式系统编译器、体系结构和综合国际会议。 Publisher:ACM。 SIT: http://dblp.uni-trier.de/db/conf/cases/index.html
专知会员服务
44+阅读 · 2020年10月31日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
学术报告|港科大助理教授宋阳秋博士
科技创新与创业
7+阅读 · 2019年7月19日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
已删除
将门创投
4+阅读 · 2018年11月15日
Arxiv
0+阅读 · 2021年2月5日
A Survey of Deep Learning for Scientific Discovery
Arxiv
29+阅读 · 2020年3月26日
Arxiv
35+阅读 · 2019年11月7日
Arxiv
5+阅读 · 2018年1月23日
VIP会员
相关VIP内容
专知会员服务
44+阅读 · 2020年10月31日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
学术报告|港科大助理教授宋阳秋博士
科技创新与创业
7+阅读 · 2019年7月19日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
已删除
将门创投
4+阅读 · 2018年11月15日
Top
微信扫码咨询专知VIP会员