摘要
2024年亚洲硬件安全与可信(AsianHOST)会议于12月16-18日在日本神户召开,该会议是硬件安全领域重要会议,澳门银银河4936邱朋飞副教授团队研究成果荣获该会议的最佳论文奖。论文题目是“AutoGuard: A Secure Implementation of the Conditional Branch Instruction”,主要内容是设计了一种安全的分支指令架构,可以有效抵抗基于预测执行机制的侧信道攻击。该研究工作是学院2024级博士生蓝泽如在导师邱朋飞副教授、王春露教授等联合指导下完成。
论文简介
【研究背景】
侧信道是处理器的主要安全威胁之一,它利用计算机无意泄漏的时间、功耗和电磁辐射等信息作为获取计算机中重要秘密数据的基础。分支目标缓冲区(BTB)和分支历史缓冲区(BHB)侧信道是最近发现的侧信道漏洞,可以利用它们实现许多高威胁硬件漏洞攻击,如 Spectre 和 BranchScope。然而,虽然针对基于BTB和BHB的侧信道攻击有许多有效的防御方法,但每种方法之间的相对隔离严重影响了处理器的性能,同时也增加了资源消耗。
【主要内容】
论文提出了一种安全的条件分支架构(AutoGuard),它是一种针对基于 BTB 和 BHB 的侧信道攻击(SCA)的新型缓解机制。同时,AutoGuard 还能有效缓解 Spectre 攻击(包括变体1和变体2)。论文设计了一个安全小工具,可以自动识别和修改条件分支,以提高其安全性。论文在多个处理器和 Linux 内核上成功部署了 AutoGuard,通过实验评估,发现与其他现有的基于BTB和BHB的侧信道攻击保护方法相比,AutoGuard消耗的硬件资源更少,对性能的影响也更小。
【方法的贡献】
论文提出了一种基于软件的条件分支指令安全实现方法(AutoGuard),可以有效缓解基于BTB和BHB的侧信道攻击,同时保证最大的性能提升和最小的计算消耗。同时,AutoGuard 还能有效缓解Spectre攻击(包括变体1和变体2)。论文在现有处理器上实现了 AutoGuard,并将安全实现的基本单分支结构扩展为多分支结构。同时成功地在LLVM中部署了 AutoGuard,并实现了一个安全小工具,可自动识别和修改条件分支,以提高其安全性。
【方法效果】
安全效果:论文在多款Intel和AMD处理器上成功部署并测试了AutoGuard的安全性。实验结果表示AutoGuard 可以在Intel和 AMD 处理器上有效缓解基于BTB和BHB的侧信道攻击(包括Spectre攻击变种1和变种2),验证了AutoGuard的安全性。
性能效果:论文通过多项性能测试来评估AutoGuard的性能指标。实验结果表示,AutoGuard比基于lfence的方法节省了34%的执行时间。此外,在多种情况下,AutoGuard的性能更接近 Retpoline方法(是缓解Spectre变体2攻击的最有效方法),但是论文的方法不仅能缓解 Spectre变体2攻击,还能缓解基于BTB和BHB的侧信道攻击和Spectre变体1攻击。
【研究意义】
近年来,基于 BTB(分支目标缓冲区)和 BHB(分支历史缓冲区)的侧信道攻击引起了广泛关注,这些攻击利用处理器分支预测机制的漏洞窃取敏感信息,对系统安全构成严重威胁。然而,现有缓解方法通常在性能与安全之间难以平衡,且可能引入新的攻击风险。论文的研究成果不仅为现有处理器的安全防护提供了有效的工具,还为未来处理器设计提供了重要参考。