内存单元尺寸的不断减小提高了内存密度并降低了功耗,但也影响了其可靠性。Rowhammer 攻击利用这种降低的可靠性来诱导内存中的位翻转,而无需直接访问这些位。大多数 Rowhammer 攻击都以软件完整性为目标,但最近的一些攻击表明它可用于破坏机密性。延续这一趋势,我们在本文中观察到 Rowhammer 攻击与内存瞬时功耗密切相关。我们利用这一观察结果设计了 HammerScope,这是一种基于 Rowhammer 的攻击技术,用于测量内存单元的功耗。由于功耗与内存的活动水平相关,因此 HammerScope 允许攻击者推断内存活动。为了展示 HammerScope 的攻击能力,我们使用它发起了三次信息泄露攻击。我们首先展示了 HammerScope 可用于破坏内核地址空间布局随机化 (KASLR)。我们的第二次攻击使用内存活动作为 Spectre 攻击的隐蔽通道,使我们能够泄露操作系统内核的信息。最后,我们演示了如何使用 HammerScope 进行网站指纹识别,从而泄露用户隐私。我们的工作证明了找到 Rowhammer 攻击的系统解决方案的重要性。
内存单元尺寸的不断减小提高了内存密度并降低了功耗,但也影响了其可靠性。Rowhammer 攻击利用这种降低的可靠性来诱导内存中的位翻转,而无需直接访问这些位。大多数 Rowhammer 攻击都以软件完整性为目标,但最近的一些攻击表明它可用于破坏机密性。延续这一趋势,我们在本文中观察到 Rowhammer 攻击与内存瞬时功耗密切相关。我们利用这一观察结果设计了 HammerScope,这是一种基于 Rowhammer 的攻击技术,用于测量内存单元的功耗。由于功耗与内存的活动水平相关,因此 HammerScope 允许攻击者推断内存活动。为了展示 HammerScope 的攻击能力,我们使用它发起了三次信息泄露攻击。我们首先展示 HammerScope 可用于破坏内核地址空间布局随机化 (KASLR)。我们的第二次攻击使用内存活动作为 Spectre 攻击的隐蔽通道,使我们能够从操作系统内核泄露信息。最后,我们演示了如何使用 HammerScope 进行网站指纹识别,从而危及用户隐私。我们的工作证明了找到 Rowhammer 攻击的系统解决方案的重要性。
内存单元尺寸的不断减小提高了内存密度并降低了功耗,但也影响了其可靠性。Rowhammer 攻击利用这种降低的可靠性来诱导内存中的位翻转,而无需直接访问这些位。大多数 Rowhammer 攻击都以软件完整性为目标,但最近的一些攻击表明它可用于破坏机密性。延续这一趋势,我们在本文中观察到 Rowhammer 攻击与内存瞬时功耗密切相关。我们利用这一观察结果设计了 HammerScope,这是一种基于 Rowhammer 的攻击技术,用于测量内存单元的功耗。由于功耗与内存的活动水平相关,因此 HammerScope 允许攻击者推断内存活动。为了展示 HammerScope 的攻击能力,我们使用它发起了三次信息泄露攻击。我们首先展示了 HammerScope 可用于破坏内核地址空间布局随机化 (KASLR)。我们的第二次攻击使用内存活动作为 Spectre 攻击的隐蔽通道,使我们能够泄露操作系统内核的信息。最后,我们演示了如何使用 HammerScope 进行网站指纹识别,从而泄露用户隐私。我们的工作证明了找到 Rowhammer 攻击的系统解决方案的重要性。
摘要:众所周知,共享硬件元素(例如缓存)会引入微架构侧信道泄漏。消除这种泄漏的一种方法是不跨安全域共享硬件元素。然而,即使在无泄漏硬件的假设下,其他关键系统组件(例如操作系统)是否会引入软件引起的侧信道泄漏仍不清楚。在本文中,我们提出了一种新颖的通用软件侧信道攻击 KernelSnitch,针对内核数据结构(例如哈希表和树)。这些结构通常用于存储内核和用户信息,例如用户空间锁的元数据。KernelSnitch 利用了这些数据结构的大小可变的特性,范围从空状态到理论上任意数量的元素。访问这些结构所需的时间取决于元素的数量(即占用率)。这种变化构成了一个定时侧信道,可被非特权的孤立攻击者从用户空间观察到。虽然与系统调用运行时相比,时间差异非常小,但我们演示并评估了可靠地放大这些时间差异的方法。在三个案例研究中,我们表明 KernelSnitch 允许非特权和孤立的攻击者泄露来自内核和其他进程活动的敏感信息。首先,我们演示了传输速率高达 580 kbit/s 的隐蔽通道。其次,我们利用 Linux 在哈希表中使用的特定索引,在不到 65 秒的时间内执行了内核堆指针泄漏。第三,我们演示了网站指纹攻击,F1 分数超过 89%,表明可以使用 KernelSnitch 观察到其他用户程序中的活动。最后,我们讨论了针对与硬件无关的攻击的缓解措施。