BULKHEAD: 基于PKS的安全、可扩展且高效的内核隔离技术
密码学与安全
2024-09-17 v1 操作系统
摘要
层出不穷的漏洞迫切需要原则性的缓解措施来限制利用的影响。然而,像Linux内核这样的商用操作系统内核的宏内核架构,允许攻击者通过利用任何内核组件中的漏洞来危及整个系统。内核隔离是一种遵循最小权限原则的有前景的方法。然而,鉴于众多复杂组件之间互不信任所带来的挑战,现有机制在安全性、可扩展性和性能之间难以权衡。在本文中,我们提出BULKHEAD,一种安全、可扩展且高效的内核隔离技术,可为无限数量的隔离域提供双向隔离。它利用Intel的新硬件特性PKS将数据和代码隔离到互不信任的隔离域中,并受益于其快速的隔离域切换。考虑到不信任性,BULKHEAD引入了一个轻量级的内核内监控器,强制实施多项重要的安全不变量,包括数据完整性、仅执行内存和隔离域接口完整性。此外,它提供了一种局部性感知的两级方案,可扩展到无限数量的隔离域。我们在Linux v6.1上实现了一个原型系统,用于隔离可加载内核模块(LKM)。广泛的评估证实了我们方法的有效性。从系统范围的影响来看,BULKHEAD在160个隔离LKM的实际应用中平均性能开销为2.44%。在关注特定隔离域时,针对ipv6的ApacheBench测试显示开销低于2%。此外,性能几乎不受隔离域数量的影响,这使得它具有高度的可扩展性。
引用
@article{arxiv.2409.09606,
title = {BULKHEAD: Secure, Scalable, and Efficient Kernel Compartmentalization with PKS},
author = {Yinggang Guo and Zicheng Wang and Weiheng Bai and Qingkai Zeng and Kangjie Lu},
journal= {arXiv preprint arXiv:2409.09606},
year = {2024}
}
备注
Accepted to appear in NDSS'25