[论文解读] Divide et Impera: MemoryRanger Runs Drivers in Isolated Kernel Spaces
MemoryRanger 是一种基于虚拟机监视器的系统,利用 Intel VT-x 和 EPT 在硬件强制的内存飞地中隔离内核模式驱动程序,从而保护敏感代码和数据免受内核模式恶意软件的侵害。它在 Windows 10 x64 系统上实现了低于 5% 的性能开销,具备强大的安全性,使在不受信任环境中实现可信执行成为可能,通过硬件级别的内存隔离和完整性保护实现。
One of the main issues in the OS security is to provide trusted code execution in an untrusted environment. During executing, kernel-mode drivers allocate and process memory data: OS internal structures, users private information, and sensitive data of third-party drivers. All this data and the drivers code can be tampered with by kernel-mode malware. Microsoft security experts integrated new features to fill this gap, but they are not enough: allocated data can be stolen and patched and the drivers code can be dumped without any security reaction. The proposed hypervisor-based system (MemoryRanger) tackles this issue by executing drivers in separate kernel enclaves with specific memory attributes. MemoryRanger protects code and data using Intel VT-x and EPT features with low performance degradation on Windows 10 x64.
研究动机与目标
- 解决操作系统中内核模式驱动程序易受恶意代码篡改的关键安全漏洞。
- 通过将驱动程序与主内核及其他驱动程序隔离,实现在不受信任环境中对内核驱动程序的可信执行。
- 保护内核驱动程序中的代码和数据,防止被内核模式恶意软件泄漏、修改或转储。
- 利用硬件虚拟化功能(Intel VT-x 和 EPT)强制实现强隔离,同时将性能影响降至最低。
- 提供一种实用且可部署的解决方案,无需修改操作系统或驱动代码,即可与现有的 Windows 10 x64 系统集成。
提出的方法
- 使用虚拟机监视器为单个驱动程序创建隔离的内核飞地,强制实施硬件级别的内存保护。
- 采用 Intel 的虚拟化技术(VT-x)和扩展页表(EPT)来强制实施内存访问控制和隔离。
- 为飞地内的代码和数据区域应用特定内存属性,防止未经授权的访问或修改。
- 在独立的隔离内核空间中执行驱动程序,确保即使驱动程序被攻破,也无法访问或篡改其他驱动程序或主内核。
- 与 Windows 10 x64 内核集成,无需修改操作系统或驱动程序代码。
- 使用轻量级、高效的机制管理飞地间通信和系统调用,最大限度减少性能开销。
实验结果
研究问题
- RQ1硬件虚拟化功能能否有效用于隔离内核驱动程序,并保护其免受内核模式恶意软件的侵害?
- RQ2在现代 x64 系统上,将驱动程序隔离在硬件强制飞地中会产生多大的性能开销?
- RQ3在不修改操作系统或驱动程序代码的前提下,能否有效保护内核驱动程序中的代码和数据,防止其被转储、篡改或泄露?
- RQ4该隔离机制在防止恶意驱动程序进行权限提升和数据外泄方面有多有效?
- RQ5该系统是否能够在不破坏现有软件兼容性的情况下,在生产环境中实际部署?
主要发现
- MemoryRanger 成功利用 Intel VT-x 和 EPT 在硬件强制飞地中隔离内核驱动程序,对内核模式恶意软件提供了强有力的保护。
- 该系统在 Windows 10 x64 上的各类基准工作负载中,性能下降低于 5%,证明了其实际效率。
- 驱动程序中的敏感数据和代码可防止被恶意驱动程序或主内核读取、修改或转储。
- 即使驱动程序或内核被攻破,该隔离机制仍能防止对内存区域的未授权访问。
- 该解决方案无需修改 Windows 内核或第三方驱动程序,可实现无缝集成。
- 该方法有效缓解了已知的攻击向量,如代码注入、内存修补和内核空间中的数据外泄。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。