In cache-based side channel attacks, an attacker infers information about the victim based on the presence, or lack thereof, of one or more cachelines. Determining a cacheline's presence, which we refer to as "reading the signal", typically requires testing the access time of the line using a suitably high precision timer. In this paper we introduce novel gadgets which leverage CPU speculation to enable modification of these signals, before they are read, for a variety of purposes. First, these gadgets enable an attacker to optimize cache-based side channel attacks by evaluating arbitrary logic functions on cacheline signals prior to their measurement. Second, we demonstrate amplification techniques that enable an attacker to read a signal even if no high precision timer is available. Combined, these techniques can be used to improve existing side channel attacks even if timer access is limited. We evaluate the effectiveness of these techniques on a modern x86 CPU and demonstrate that when properly tuned, cache side channel signals can be reliably modified with near 100% accuracy and are able to be read with a timer as coarse as 100ms or more.
翻译:在基于缓存的侧频道袭击中,攻击者根据存在或缺少一个或多个缓存线来推断受害者的信息。 确定缓存线的存在( 我们称之为“ 读取信号 ” ) 通常需要使用适当高精密的定时器测试线的进入时间。 在本文中, 我们引入了利用CPU投机来修改这些信号的新工具, 在读取这些信号之前, 为了各种目的。 首先, 这些工具使攻击者能够在测量之前通过评价缓存线信号的任意逻辑功能来优化缓存侧频道袭击。 其次, 我们展示了放大技术, 使攻击者能够读取信号, 即使没有高精密的定时器。 合并起来, 这些技术可以用来改进现有的侧频道袭击, 即使定时器访问受到限制。 我们评估这些技术在现代的 X86 CPU 上的有效性, 并证明当适当调整缓存侧频道信号时, 能够以近100%的精确度进行可靠地修改, 并且能够用计时器100米或100米以上。</s>