摘要:众所周知,共享硬件元素(例如缓存)会引入微架构侧信道泄漏。消除这种泄漏的一种方法是不跨安全域共享硬件元素。然而,即使在无泄漏硬件的假设下,其他关键系统组件(例如操作系统)是否会引入软件引起的侧信道泄漏仍不清楚。在本文中,我们提出了一种新颖的通用软件侧信道攻击 KernelSnitch,针对内核数据结构(例如哈希表和树)。这些结构通常用于存储内核和用户信息,例如用户空间锁的元数据。KernelSnitch 利用了这些数据结构的大小可变的特性,范围从空状态到理论上任意数量的元素。访问这些结构所需的时间取决于元素的数量(即占用率)。这种变化构成了一个定时侧信道,可被非特权的孤立攻击者从用户空间观察到。虽然与系统调用运行时相比,时间差异非常小,但我们演示并评估了可靠地放大这些时间差异的方法。在三个案例研究中,我们表明 KernelSnitch 允许非特权和孤立的攻击者泄露来自内核和其他进程活动的敏感信息。首先,我们演示了传输速率高达 580 kbit/s 的隐蔽通道。其次,我们利用 Linux 在哈希表中使用的特定索引,在不到 65 秒的时间内执行了内核堆指针泄漏。第三,我们演示了网站指纹攻击,F1 分数超过 89%,表明可以使用 KernelSnitch 观察到其他用户程序中的活动。最后,我们讨论了针对与硬件无关的攻击的缓解措施。
我们解决了在秘密共享计划中检测和惩罚股东集结的问题。我们在最近提出的称为“个人密码学”(Dziembowski,Faust和Lizurej,Crypto 2023)的加密模型中这样做,该模型假设存在单个机器可以有效地计算的任务,但可以通过多个(相互不信任的设备)进行计算有效地计算。在此模型中,我们引入了一种名为Snitching(SSS)的新颖原始性,其中每次尝试非法重新构建共享的秘密𝑆𝑆导致证明可以用来证明这种不当行为(例如,例如财务上对区块链上的作弊者进行财务惩罚)。即使股东试图不重建整个秘密,但只能学习一些部分信息,这在很强的意义上也很强。 我们的概念还捕获了使用多方计算协议(MPC)进行的攻击,即恶意股东使用MPC来计算𝑆的部分信息的攻击。 SSS的主要思想是可以证明和惩罚任何ille-gal重建,这足以阻止非法秘密重建。 因此,我们的SSS计划有效地阻止了股东的勾结。 我们提供了阈值(𝑡-out-out-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-out-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-)。 然后,我们展示如何以𝑡=𝑛构建它,然后我们使用此构造来为任意𝑡构建SSS方案。 为了证明我们的构建安全性,我们引入了随机Oracle模型的概括(Bellare,Rogaway,CCS 1993),该模型允许在MPC内进行建模哈希评估。这在很强的意义上也很强。我们的概念还捕获了使用多方计算协议(MPC)进行的攻击,即恶意股东使用MPC来计算𝑆的部分信息的攻击。SSS的主要思想是可以证明和惩罚任何ille-gal重建,这足以阻止非法秘密重建。因此,我们的SSS计划有效地阻止了股东的勾结。我们提供了阈值(𝑡-out-out-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-out-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-of-)。然后,我们展示如何以𝑡=𝑛构建它,然后我们使用此构造来为任意𝑡构建SSS方案。为了证明我们的构建安全性,我们引入了随机Oracle模型的概括(Bellare,Rogaway,CCS 1993),该模型允许在MPC内进行建模哈希评估。