We introduce the first microarchitectural side channel attacks that leverage contention on the CPU ring interconnect. There are two challenges that make it uniquely difficult to exploit this channel. First, little is known about the ring interconnect's functioning and architecture. Second, information that can be learned by an attacker through ring contention is noisy by nature and has coarse spatial granularity. To address the first challenge, we perform a thorough reverse engineering of the sophisticated protocols that handle communication on the ring interconnect. With this knowledge, we build a cross-core covert channel over the ring interconnect with a capacity of over 4 Mbps from a single thread, the largest to date for a cross-core channel not relying on shared memory. To address the second challenge, we leverage the fine-grained temporal patterns of ring contention to infer a victim program's secrets. We demonstrate our attack by extracting key bits from vulnerable EdDSA and RSA implementations, as well as inferring the precise timing of keystrokes typed by a victim user.
翻译:我们引入了第一个微科学构造侧端频道攻击, 从而拉动了CPU环连接的争论。 有两个挑战使得它很难利用这个频道。 首先, 很少有人知道环连接的功能和结构。 第二, 攻击者可以通过环连接的争论获得的信息是自然的噪音, 并且有粗糙的空间颗粒。 为了应对第一个挑战, 我们对处理环连接上的通信的复杂协议进行彻底的反向工程。 有了这个知识, 我们建立了一个跨核心隐蔽频道, 在环连接上建立一个跨核心的通道, 连接能力从一条线上超过4 Mbps, 是一个跨核心频道的最大到今天, 不依赖共同记忆。 为了应对第二个挑战, 我们利用细微的圈角时间模型来推断受害者方案的秘密。 我们通过从脆弱的 EdDSA 和 RSA 执行中提取关键部分来展示我们的攻击, 以及推断受害者用户所打键的准确时间 。