论文标题
编译器辅助调度程序,用于检测和缓解基于缓存的侧渠道攻击
A Compiler Assisted Scheduler for Detecting and Mitigating Cache-Based Side Channel Attacks
论文作者
论文摘要
侧通道攻击通过巧妙地利用信息泄漏来窃取秘密键,因此可以打破加密。因此,对侧渠道攻击的检测和缓解是一个非常重要的问题,但是文献中提出的解决方案的局限性是因为它们在服务器上无法实现现实世界中的多景观设置,具有很高的误报或具有高高的头顶。在这项工作中,我们演示了一个编译器指导的调度程序Biscuit,该编译器可检测基于缓存的侧渠道攻击,以适用于在多租户服务器农场安排的流程。该解决方案的一个关键要素涉及使用缓存损耗模型,该模型由编译器在环巢的入口处插入以预测相应环的高速缓存误差。此类插入的库呼叫或信标在运行时将缓存失误信息传达给调度程序,该信息将其用于共同安排过程,以使其组合的高速缓存足迹不超过最后一个级别缓存的最大容量。然后,对计划的进程进行监视,以根据实际VS预测的高速缓存误差,并且在检测到异常时,调度程序会执行搜索以隔离攻击者。我们表明,饼干能够检测和减轻Prime+探针,齐平+重新加载,以及对OpenSSL加密算法的冲洗+冲洗攻击,其F-SCORE为1,并且还检测和减轻f-Score 0.9375的视觉应用程序套件上的服务降级。在无攻击的情况下,该计划的开销低下(最多可达6%)。在发生攻击的情况下,该计划最终以不到11%的开销,并且能够在某些情况下减少服务的降解。凭借这些理想的功能,例如能够处理多租赁的能力,及早检测攻击的能力,减轻这些攻击的能力以及较低的运行时开销,饼干是一个实用的解决方案。
Side channel attacks steal secret keys by cleverly leveraging information leakages and can, therefore, break encryption. Thus, detection and mitigation of side channel attacks is a very important problem, but the solutions proposed in the literature have limitations in that they do not work in a real-world multi-tenancy setting on servers, have high false positives, or have high overheads. In this work, we demonstrate a compiler guided scheduler, Biscuit, that detects cache-based side channel attacks for processes scheduled on multi-tenancy server farms. A key element of this solution involves the use of a cache-miss model which is inserted by the compiler at the entrances of loop nests to predict the cache misses of the corresponding loop. Such inserted library calls, or beacons, convey the cache miss information to the scheduler at run time, which uses it to co-schedule processes such that their combined cache footprint does not exceed the maximum capacity of the last level cache. The scheduled processes are then monitored for actual vs predicted cache misses, and when an anomaly is detected, the scheduler performs a search to isolate the attacker. We show that Biscuit is able to detect and mitigate Prime+Probe, Flush+Reload, and Flush+Flush attacks on OpenSSL cryptography algorithms with an F-score of 1, and also to detect and mitigate degradation of service on a vision application suite with an F-score of 0.9375. Under a no-attack scenario, the scheme poses low overheads (up to a maximum of 6 percent). In the case of an attack, the scheme ends up with less than 11 percent overhead and is able to reduce the degradation of service in some cases by 40 percent. With these many desirable features such as an ability to deal with multi-tenancy, its ability to detect attacks early, its ability to mitigate those attacks, and low runtime overheads, Biscuit is a practical solution.