Many applications can benefit from isolating sensitive data in a secure library. Examples include protecting cryptographic keys behind a narrow crypto API to defend against vulnerabilities like OpenSSL's Heartbleed bug. When such a library is called relatively infrequently, page-based hardware isolation can be used, because the cost of kernel-mediated or hypervisor-mediated domain switching is tolerable. However, some applications, such as isolating session keys in a web server or isolating the safe region with code pointers in code-pointer integrity (CPI), require very frequent switching. In such applications, the overheads of kernel-based or hypervisor-mediated domain switching are prohibitively high. In this paper, we present ERIM, a novel technique that provides the security of hardware-enforced isolation with low overhead, even at high switching rates (ERIM supports up to 100,000 switches per CPU core a second with an overhead less than 0.5%). The key idea is to combine memory protection keys (MPKs), a feature recently added to Intel CPUs that allows isolation purely in userspace, with kernel binary inspection to prevent circumvention. We show how to apply ERIM to isolate frequently accessed session keys (not just long-term keys) in nginx, a high performance web server, and how to isolate sensitive data in CPI. Our measurements indicate only a small degradation in performance, even with very high rates of switching between the untrusted application and the secure library.


翻译:在安全的图书馆中隔离敏感数据可以使许多应用程序受益。 例如, 保护狭窄加密 API 背后的加密密钥, 以抵御像 OpenSSL 心脏功能错误那样的弱点。 当这样的图书馆被称作相对不常见时, 可以使用基于页面的硬件隔离, 因为内核介质或超高视光媒介的域端切换成本是可容忍的。 但是, 一些应用程序, 如网络服务器中分离会话键或将安全区域与代码点完整性( CPI) 的代码指针隔离, 需要非常频繁的切换。 在这类应用程序中, 内核或超高端摄像头域域转换的域切换管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器操作, 。 我们用系统管理器管理器管理器管理器管理器管理器管理器管理器管理器管理系统管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器操作,,, 管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器管理器操作管理器管理器管理器管理器管理器管理器管理器管理器管理器管理系统管理系统管理系统管理器管理器管理器管理器管理器操作的操作的操作,, 管理器管理器管理器管理器操作管理的操作管理器管理器管理

1
下载
关闭预览

相关内容

来自OpenSSL的紧急安全警告:OpenSSL出现“Heartbleed”安全漏洞。这一漏洞让任何人都能读取系统的运行内存。已经有了一个紧急补丁,在安装它之前,成千上万的服务器都处于危险之中。该漏洞在互联网又称为“heartbleed bug”,中文名称叫做“心脏出血”、““击穿心脏””等。
专知会员服务
60+阅读 · 2020年3月19日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
59+阅读 · 2019年10月17日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
已删除
AI掘金志
7+阅读 · 2019年7月8日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
15+阅读 · 2017年11月16日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Arxiv
5+阅读 · 2020年3月16日
Efficient and Effective $L_0$ Feature Selection
Arxiv
5+阅读 · 2018年8月7日
Arxiv
3+阅读 · 2018年2月20日
Arxiv
6+阅读 · 2018年2月7日
VIP会员
相关资讯
已删除
AI掘金志
7+阅读 · 2019年7月8日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
15+阅读 · 2017年11月16日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Top
微信扫码咨询专知VIP会员