Loading...
机构名称:
¥ 2.0

摘要:众所周知,共享硬件元素(例如缓存)会引入微架构侧信道泄漏。消除这种泄漏的一种方法是不跨安全域共享硬件元素。然而,即使在无泄漏硬件的假设下,其他关键系统组件(例如操作系统)是否会引入软件引起的侧信道泄漏仍不清楚。在本文中,我们提出了一种新颖的通用软件侧信道攻击 KernelSnitch,针对内核数据结构(例如哈希表和树)。这些结构通常用于存储内核和用户信息,例如用户空间锁的元数据。KernelSnitch 利用了这些数据结构的大小可变的特性,范围从空状态到理论上任意数量的元素。访问这些结构所需的时间取决于元素的数量(即占用率)。这种变化构成了一个定时侧信道,可被非特权的孤立攻击者从用户空间观察到。虽然与系统调用运行时相比,时间差异非常小,但我们演示并评估了可靠地放大这些时间差异的方法。在三个案例研究中,我们表明 KernelSnitch 允许非特权和孤立的攻击者泄露来自内核和其他进程活动的敏感信息。首先,我们演示了传输速率高达 580 kbit/s 的隐蔽通道。其次,我们利用 Linux 在哈希表中使用的特定索引,在不到 65 秒的时间内执行了内核堆指针泄漏。第三,我们演示了网站指纹攻击,F1 分数超过 89%,表明可以使用 KernelSnitch 观察到其他用户程序中的活动。最后,我们讨论了针对与硬件无关的攻击的缓解措施。

KernelSnitch:针对内核数据结构的侧信道攻击

KernelSnitch:针对内核数据结构的侧信道攻击PDF文件第1页

KernelSnitch:针对内核数据结构的侧信道攻击PDF文件第2页

KernelSnitch:针对内核数据结构的侧信道攻击PDF文件第3页

KernelSnitch:针对内核数据结构的侧信道攻击PDF文件第4页

KernelSnitch:针对内核数据结构的侧信道攻击PDF文件第5页