本文提出一种名为 KernelSnitch 的新型软件侧信道攻击,该攻击针对操作系统内核中使用的数据结构(如哈希表和树)。这些数据结构的大小是动态变化的,从空到包含任意数量的元素。访问这些结构所需的时间取决于元素数量(即占用率),这种时间差异构成了一个时序侧信道,可以被用户空间中无特权的隔离攻击者观察到。虽然与系统调用运行时间相比,时间差异非常小,但作者展示并评估了可靠放大这些时间差异的方法。通过三个案例研究,作者证明了 KernelSnitch 允许无特权的隔离攻击者从内核和其他进程的活动泄露敏感信息。首先,他们展示了传输速率高达 580 kbit/s 的隐蔽信道。其次,他们通过利用 Linux 在哈希表中使用的特定索引,在不到 65 秒内实现了内核堆指针泄露。第三,他们演示了一种网站指纹攻击,F1 分数超过 89%,表明可以使用 KernelSnitch 观察其他用户程序中的活动。最后,作者讨论了针对这种硬件无关攻击的缓解措施。该研究揭示了操作系统内部软件引入的侧信道泄漏风险,即使假设硬件无泄漏,软件侧信道仍然存在。研究主要贡献在于提出了一种通用的软件侧信道攻击方法,并展示了其在多个场景下的实用性。
💡 推荐理由: 该研究揭示了操作系统内核数据结构存在时序侧信道,即使硬件隔离也无法完全消除泄漏,对云环境、多租户系统等安全隔离场景构成严重威胁。
🎯 建议动作: 研究跟进