非信任应用间快速内核旁路 I/O 的安全共享
操作系统
2025-09-04 v1 密码学与安全
摘要
受保护的用户级库被提出作为允许相互不信任的应用安全共享内核旁路服务的方法。本文我们识别并解决了实现这一设计以前未被解决的若干障碍,并确定若干优化机会。首先,为保持内核回收失败进程的能力,受保护的库函数必须在合理、受限的时间内完成。我们展示了如何将不可界限的等待移出库本身,从而实现无需轮询即可在进程之间进行同步交互。其次,我们展示了如何利用受限时间要求实现更低且更稳定的进程间延迟。第三,我们观察到先前关于受保护库的工作 vulnerable to buffer unmapping attack;我们通过防止应用程序删除其与受保护库共享的页面来防止此攻击。第四,我们展示了受信任守护进程如何响应异步事件并动态地与应用程序线程在受保护库中进行工作分区。通过扩展和改进受保护库模型,我们的工作提供了一种新的结构化操作系统服务的方式,融合了内核旁路和微内核的优势。我们提出了一套针对受保护库开发者的安全与性能指南,以及针对未来受保护库操作系统开发者的建议。我们通过一个 DDS 通信服务的原型版本演示了我们方法的便利性和性能。就我们已知最佳而言,我们的原型代表了首次成功地在相互不信任的应用之间共享一个内核旁路网卡。相对于商业 FastDDS 实现,我们实现了约50%更低的延迟和最高7倍的吞吐量,同时CPU利用率更低。
引用
@article{arxiv.2509.02899,
title = {Safe Sharing of Fast Kernel-Bypass I/O Among Nontrusting Applications},
author = {Alan Beadle and Michael L. Scott and John Criswell},
journal= {arXiv preprint arXiv:2509.02899},
year = {2025}
}
备注
13 pages