Garmr:守护基于 PKU 的沙箱化之门
密码学与安全
2021-10-12 v1
摘要
用户空间内存保护密钥(PKU)是一项近期硬件特性,允许程序将虚拟内存页分配给保护域,并使用廉价非特权指令更改域访问权限。若干进程内内存隔离方案利用该特性防止不可信代码访问敏感程序状态与数据。通常,基于 PKU 的隔离方案需与 CFI 等缓解措施配合使用,因为被攻陷的不可信代码可借由非特权指令或操作系统 API 绕过 PKU 访问权限。近来,研究者提出了不依赖其他缓解措施的完全自包含基于 PKU 的内存隔离方案。这些系统使用防漏洞调用门在可信与不可信代码间转移控制,以及防止不可信代码篡改 PKU 基础设施的沙箱。本文中,我们表明这些方案并不完备。我们首先针对一种最先进的基于 PKU 的内存隔离方案开发了两个概念验证攻击。随后提出 Garmr,一种可克服现有沙箱局限性的基于 PKU 的沙箱化框架。我们将 Garmr 应用于若干内存隔离方案,表明其实用、高效且安全。
引用
@article{arxiv.2110.04788,
title = {Garmr: Defending the gates of PKU-based sandboxing},
author = {Alexios Voulimeneas and Jonas Vinck and Ruben Mechelinck and Stijn Volckaert},
journal= {arXiv preprint arXiv:2110.04788},
year = {2021}
}