中文

通过基于 TSX 的侧信道绕过 UMIP 与描述符表退出的方法

密码学与安全 2021-04-23 v2 硬件体系结构 操作系统

摘要

如今,在操作系统中,大量保护机制阻止或限制用户模式应用程序访问内核内部信息。这通常通过基于软件的防御措施实现,例如地址空间布局随机化(ASLR)和内核 ASLR(KASLR)。当考虑到沙箱应用程序(如 Web 浏览器)的安全性时,它们发挥着显著作用。若这些保护被绕过且拥有内核内存的任意写权限,攻击者便可找到合适的写入位置以获取特权提升或在 ring 0 中执行代码。在本文中,我们引入一种基于事务同步扩展(TSX)侧信道泄漏的可靠方法,以揭示全局描述符表(GDT)和中断描述符表(IDT)的地址。我们指出,通过检测这些地址,可执行指令以规避英特尔用户模式指令预防(UMIP)以及基于管理程序的缓解措施,从而使其失效。所引入的方法在 Meltdown 和 Spectre 的最新补丁之后成功执行。此外,所提方法在不同平台(包括最新发布的 Microsoft Windows、Linux 和 Mac OSX 以及最新第 9 代英特尔处理器)上的实现表明,所提机制独立于操作系统实现。我们证明,尽管存在 Windows 专有基于虚拟化的安全(VBS)这一超安全沙箱环境的限制,该方法与调用门机制(现代处理器中可用)在事件链中的组合最终将导致系统被攻破。最后,我们建议以可接受的 overhead 成本采用基于软件的缓解措施来避免这些问题。

关键词

引用

@article{arxiv.2005.10333,
  title  = {A Way Around UMIP and Descriptor-Table Exiting via TSX-based Side-Channel},
  author = {Mohammad Sina Karvandi and Saleh Khalaj Monfared and Mohammad Sina Kiarostami and Dara Rahmati and Saeid Gorgin},
  journal= {arXiv preprint arXiv:2005.10333},
  year   = {2021}
}