当前位置: X-MOL 学术Int. J. Parallel. Program › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
MemJam: A False Dependency Attack Against Constant-Time Crypto Implementations
International Journal of Parallel Programming ( IF 0.9 ) Pub Date : 2018-11-09 , DOI: 10.1007/s10766-018-0611-9
Ahmad Moghimi , Jan Wichelmann , Thomas Eisenbarth , Berk Sunar

Cache attacks exploit memory access patterns of cryptographic implementations. Constant-time implementation techniques have become an indispensable tool in fighting cache timing attacks. These techniques engineer the memory accesses of cryptographic operations to follow a uniform key independent pattern. However, the constant-time behavior is dependent on the underlying architecture, which can be highly complex and often incorporates unpublished features. The CacheBleed attack targets cache bank conflicts and thereby invalidates the assumption that microarchitectural side-channel adversaries can only observe memory with cache line granularity. In this work, we propose MemJam, which utilizes 4K Aliasing to establish a side-channel attack that exploits false dependency of memory read-after-write events and provides a high quality intra cache line timing channel. As a proof of concept, we demonstrate the first key recovery attacks on constant-time implementations of all symmetric block ciphers supported in the current intel integrated performance primitives (Intel IPP) cryptographic library: triple DES, AES and SM4. Further, we demonstrate the first intra cache level timing attack on SGX by reproducing the AES key recovery results on an enclave that performs encryption using the aforementioned constant-time implementation of AES. Our results show that we can not only use this side channel to efficiently attack memory dependent cryptographic operations but also to bypass proposed protections. Compared to CacheBleed, which is limited to older processor generations, MemJam is the first intra cache level attack applicable to all major Intel processors including the latest generations and also applies to the SGX extension.

中文翻译:

MemJam:针对恒定时间加密实现的虚假依赖攻击

缓存攻击利用加密实现的内存访问模式。恒定时间实现技术已经成为对抗缓存定时攻击不可或缺的工具。这些技术设计加密操作的内存访问以遵循统一的密钥独立模式。然而,恒定时间行为取决于底层架构,它可能非常复杂,并且通常包含未发布的功能。CacheBleed 攻击的目标是缓存库冲突,从而使微架构侧信道攻击者只能观察具有缓存行粒度的内存的假设无效。在这项工作中,我们提出了 MemJam,它利用 4K 别名来建立侧信道攻击,该攻击利用内存先写后读事件的错误依赖性,并提供高质量的内部缓存线时序通道。作为概念证明,我们展示了对当前英特尔集成性能基元 (Intel IPP) 加密库:三重 DES、AES 和 SM4 中支持的所有对称块密码的恒定时间实现的第一次密钥恢复攻击。此外,我们通过在使用上述 AES 恒定时间实现进行加密的 enclave 上重现 AES 密钥恢复结果,演示了对 SGX 的第一次内部缓存级定时攻击。我们的结果表明,我们不仅可以使用这个侧信道来有效地攻击依赖于内存的加密操作,而且还可以绕过提议的保护措施。与 CacheBleed 相比,
更新日期:2018-11-09
down
wechat
bug