[论文分享] | Instruction-Level Data Isolation for the Kernel on ARM

IoT 2个月前 admin
18 0 0


今天分享的论文是发表在DAC’17的《Instruction-Level Data Isolation for the Kernel on ARM》,第一作者是来自ISRC的Yeongpil Cho。

[论文分享] | Instruction-Level Data Isolation for the Kernel on ARM


01

Introduction


随着移动设备上的操作系统内核服务变得越来越复杂,内核中潜在的漏洞数量也逐年上升。这使得内核面临许多可利用漏洞引发的安全威胁,其中许多与内存损坏有关。攻击者可以通过利用这些漏洞,篡改内核的敏感数据,如函数指针和权限标志,来控制整个系统。再加上内核通常是用不安全的语言实现的,因此很难保证每个内存操作的合法性。


过去的研究主要依赖于内存管理单元(MMU),但性能方面存在缺陷。因此,作者在这篇论文中提出了一种指令级数据隔离(ILDI)方法。该方法通过将Privileged Access Never (PAN) 和 Load and Store Unprivileged (LSU) 这两个硬件特性相结合,为基于 ARM 的移动设备内核提供低成本的数据隔离能力。


02


Threat Model

在本论文中,作者假设攻击者可以利用内核漏洞执行任意的内存读写操作,从而通过操纵敏感数据来危害内核的安全性。攻击者的目标是通过这些漏洞来实现对内核的全面控制。作者假设设备存在安全引导机制,能够确保ILDI机制的启动时完整性,从而为后续的数据隔离提供了可靠的基础。拒绝服务(DoS)攻击和侧信道攻击不在本论文的研究范围之内。


03


Design and Implementation

为了在ARM上实现高效的ILDI机制,作者利用了PAN位和LSU指令两个关键的硬件特性。该机制的操作过程如下:

  1. 首先,在内核中设立一个安全区域,并将该安全区域配置为非特权状态。此时,内核的所有内存指令都可以无限制地访问安全区域。

  2. 接下来,通过将PAN位设置为1。在这种情况下,只有LSU指令能够访问已设置为非特权的安全区域,如下图所示。


[论文分享] | Instruction-Level Data Isolation for the Kernel on ARM


为了确保隔离不被破坏,ILDI还必须PAN bit和页表不被攻击修改。为此,ILDI创建了与内核隔离的系统控制模块。在ILDI的设计中,只有系统控制模块能够控制页表和系统寄存器。内核只能通过给定的entry/exit gate进入系统控制模块。


为了实现内核和系统控制模块的隔离,作者将该模块放入了hyp mode。这使得系统控制模块具有自己的页表,并且比内核具有更高的特权级别。


为了实现对系统寄存器的控制,ILDI对内核对系统寄存器的访问进行了trap。内核对系统寄存器的任何修改尝试都会被陷入系统控制模块,然后模块会在进行仔细验证后处理修改尝试。


为了使系统控制块对页表具有独占控制权并将安全区域保持为非特权状态,ILDI在内核地址空间中将页表配置为只读,以使内核永远无法修改自己的页表。当需要更新页表的内容时,内核必须通过调用HVC指令向SC模块发送请求。采用虚拟化拓展也能实现类似的目的,只不过性能开销会比较大。


由于非特权区域的内存映射会被缓存在TLB中,攻击者可以借助缓存的TLB表项从用户进程中访问安全区域。为了防止这一点,作者为为内核和用户进程分配了不同的ASID,然后在每次进入和退出内核时激活相应的ASID。通过这种方式,即使有缓存的TLB项保存着安全区域的映射,由于ASID的差异,用户进程无法使用这些条目。


04


Evaluation

实验结果如下表所示。可以发现,相较于之前基于MMU的方案,ILDI有较大的性能优势。

[论文分享] | Instruction-Level Data Isolation for the Kernel on ARM

[论文分享] | Instruction-Level Data Isolation for the Kernel on ARM





原文始发于微信公众号(COMPASS Lab):[论文分享] | Instruction-Level Data Isolation for the Kernel on ARM

版权声明:admin 发表于 2024年3月7日 下午5:07。
转载请注明:[论文分享] | Instruction-Level Data Isolation for the Kernel on ARM | CTF导航

相关文章