论文标题
硬件/软件混淆,以防止对GPU的定时侧通道攻击
Hardware/Software Obfuscation against Timing Side-channel Attack on a GPU
论文作者
论文摘要
GPU越来越多地用于安全应用程序中,尤其是用于加速加密/解密。尽管GPU在性能方面是一个有吸引力的平台,但这些设备的安全引起了许多担忧。一个漏洞是与数据相关的时序信息,对手可以利用它以恢复加密密钥。内存系统功能经常被利用,因为它们创建了可检测的时间变化。在本文中,我们的攻击模型是一种合并的攻击,它利用了关键的GPU微体系特征 - 合并单元。由于多个并发的GPU内存请求可以参考相同的缓存块,因此合并单元将它们倒入单个内存事务中。加密内核的访问时间取决于交易的数量。可以利用猜测的钥匙值与相关的定时样本之间的相关性以恢复秘密密钥。在本文中,提出了一系列硬件/软件对策来混淆内存正时侧通道,使GPU在不影响性能的情况下更具弹性。我们的基于硬件的方法试图将合并单元的宽度随机化,以降低信号噪声比率。我们提出了一个层次的遗留登记册(MSHR)设计,可以合并不同的扭曲。此功能可以提高性能,同时确保执行。我们还提出了一种基于软件的方法,以置入关键数据结构的组织,显着改变合并行为并引入高度随机性。配备了我们的新保护措施,成功发动攻击的努力将增加到1433倍。 178X,同时还提高了高达7%的加密/解密性能。
GPUs are increasingly being used in security applications, especially for accelerating encryption/decryption. While GPUs are an attractive platform in terms of performance, the security of these devices raises a number of concerns. One vulnerability is the data-dependent timing information, which can be exploited by adversary to recover the encryption key. Memory system features are frequently exploited since they create detectable timing variations. In this paper, our attack model is a coalescing attack, which leverages a critical GPU microarchitectural feature -- the coalescing unit. As multiple concurrent GPU memory requests can refer to the same cache block, the coalescing unit collapses them into a single memory transaction. The access time of an encryption kernel is dependent on the number of transactions. Correlation between a guessed key value and the associated timing samples can be exploited to recover the secret key. In this paper, a series of hardware/software countermeasures are proposed to obfuscate the memory timing side channel, making the GPU more resilient without impacting performance. Our hardware-based approach attempts to randomize the width of the coalescing unit to lower the signal-to-noise ratio. We present a hierarchical Miss Status Holding Register (MSHR) design that can merge transactions across different warps. This feature boosts performance, while, at the same time, secures the execution. We also present a software-based approach to permute the organization of critical data structures, significantly changing the coalescing behavior and introducing a high degree of randomness. Equipped with our new protections, the effort to launch a successful attack is increased up to 1433X . 178X, while also improving encryption/decryption performance up to 7%.