Isolating sensitive state and data can increase the security and robustness of many applications. Examples include protecting cryptographic keys against exploits like OpenSSL's Heartbleed bug or protecting a language runtime from native libraries written in unsafe languages. When runtime references across isolation boundaries occur relatively infrequently, then conventional page-based hardware isolation can be used, because the cost of kernel- or hypervisor-mediated domain switching is tolerable. However, some applications, such as the isolation of cryptographic session keys in network-facing services, require very frequent domain switching. In such applications, the overhead of kernel- or hypervisor-mediated domain switching is prohibitive. In this paper, we present ERIM, a novel technique that provides hardware-enforced isolation with low overhead on x86 CPUs, even at high switching rates (ERIM's measured overhead is less than 1% for 100,000 switches per second). The key idea is to combine protection keys (MPKs), a feature recently added to x86 that allows protection domain switches in userspace, with binary inspection to prevent circumvention. We show that ERIM can be applied with little effort to new and existing applications, doesn't require compiler changes, can run on a stock Linux kernel, and has low runtime overhead even at high domain switching rates.


翻译:隔离敏感状态和数据可以提高许多应用程序的安全和稳健性。 例如保护加密密钥, 防止像 OpenSSL 的心脏错误, 或保护语言运行时间, 防止本地图书馆用不安全语言撰写的加密密钥。 当运行时, 相对不经常出现跨越隔离边界的情况时, 可以使用常规的基于页面的硬件隔离, 因为内核或超高视屏的网域切换成本是可以接受的。 但是, 一些应用程序, 如网络过滤服务中加密会话密钥的隔离, 需要非常频繁的域转接。 在这类应用程序中, 内核或超高视屏中域切换的域切换管理费用非常高。 在本文中, 我们展示了一种新技术, 使硬件强制隔离在 x86 CPU 上, 即使是在高切换率( ERIM 测得的间接费用每秒100,000 开关不到1% ) 。 关键的想法是将保护密钥( MPKs) 合并起来, 最近添加到 x86 的特性, 允许用户空间的保护域开关开关开关, 甚至用二手检查来防止绕开关。 我们展示ERIM 高端程序, 需要 快速转换现有高端的操作 。

0
下载
关闭预览

相关内容

来自OpenSSL的紧急安全警告:OpenSSL出现“Heartbleed”安全漏洞。这一漏洞让任何人都能读取系统的运行内存。已经有了一个紧急补丁,在安装它之前,成千上万的服务器都处于危险之中。该漏洞在互联网又称为“heartbleed bug”,中文名称叫做“心脏出血”、““击穿心脏””等。
专知会员服务
60+阅读 · 2020年3月19日
100+篇《自监督学习(Self-Supervised Learning)》论文最新合集
专知会员服务
164+阅读 · 2020年3月18日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
59+阅读 · 2019年10月17日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
【推荐】树莓派/OpenCV/dlib人脸定位/瞌睡检测
机器学习研究会
9+阅读 · 2017年10月24日
【论文】图上的表示学习综述
机器学习研究会
14+阅读 · 2017年9月24日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
【推荐】TensorFlow手把手CNN实践指南
机器学习研究会
5+阅读 · 2017年8月17日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Arxiv
26+阅读 · 2019年3月5日
Accelerated Methods for Deep Reinforcement Learning
Arxiv
6+阅读 · 2019年1月10日
Arxiv
3+阅读 · 2018年8月17日
Arxiv
8+阅读 · 2018年3月20日
VIP会员
相关资讯
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
【推荐】树莓派/OpenCV/dlib人脸定位/瞌睡检测
机器学习研究会
9+阅读 · 2017年10月24日
【论文】图上的表示学习综述
机器学习研究会
14+阅读 · 2017年9月24日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
【推荐】TensorFlow手把手CNN实践指南
机器学习研究会
5+阅读 · 2017年8月17日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Top
微信扫码咨询专知VIP会员