We use cookies to improve your experience with our site.

一种用于安全分支预测器的新颖概率饱和计数器设计

A Novel Probabilistic Saturating Counter Design for Secure Branch Predictor

  • 摘要: 1、研究背景(context):分支预测器有效提升指令并行性,是处理器性能优化方案中不可或缺的设计之一。饱和计数器是实现分支预测器的基本模块。以前的研究主要关注饱和计数器的性能和其硬件成本,忽略了其安全性。然而,近来的研究表明分支预测器侧信道攻击能够利用饱和状态计数器中状态的改变,获得敏感信息,威胁几乎所有的商用高性能处理器。这一严重的安全威胁表明探索有效防御机制的迫切性。
    2、目的(Objective):本文从饱和计数器模块切入,探索一种安全、轻量的硬件防御机制,通过改变饱和计数器确定性的更新策略,有效缓解分支预测器中的侧信道攻击。
    3、方法(Method):通过针对分支预测器的攻击深入分析,本文发现分支预测器侧信道存在的根源在于饱和计数器状态会随着程序行为确定性的更新。攻击者能够利用状态改变感知受害者的执行逻辑。为消除这个安全隐患,本文进一步提出了一个概率更新的机制,通过混淆状态改变与程序行为间的映射关系,该机制可以有效降低攻击者的观测成功率。通过引入随机化干扰感知攻击的过程有效缓解分支预测器漏洞。
    4、结果(Result&Findings):概率更新机制带来的平均性能损失小于2.4%,硬件代价几乎可以忽略不计。攻击的成功率随着更新概率的降低而降低,当更新概率为63%,攻击连续偷取32位密钥的成功率将低于百万分之一。
    5、结论(Conclusions):本文提出了一种新颖的概率饱和计数器设计方案,变传统的确定性状态转移模式为概率状态转移模式,仅需对原更新逻辑做微小改动,即可大大降低攻击者感知分支方向预测器的能力。

     

    Abstract: In a modern processor, branch prediction is crucial in effectively exploiting the instruction-level parallelism for high-performance execution. However, recently exposed vulnerabilities reveal the urgency to improve the security of branch predictors. The vital cause of the branch predictor vulnerabilities is that the update strategy of the saturating counter is deterministic. As a fundamental building block in a modern branch predictor, previous studies have paid too much attention to the performance and hardware cost and ignored the security of saturating counter. This leaves attackers with the opportunities to perform side-channel attacks on the branch predictor. This paper focuses on the saturating counter to explore a secure and lightweight design to mitigate branch predictor side-channel attacks. Instead of applying the isolation mechanism to branch predictor resources, we propose a novel probabilistic saturating counter design to confuse the attacker's perception of the victim's behaviour. It changes the conventional deterministic state transition function to a probabilistic state transition function. When a branch is committed, the conventional saturating counter needs to be updated about whether the prediction results are correct or not. While for the probabilistic saturating counter, the branch predictor determines whether the update is performed based on the update probability. The probabilistic saturating counter dramatically reduces the ability of the attacker to spy the saturating counter's state. Our analyses using a cycle-accurate simulator suggest that the proposed mechanism incurs 2.4% performance overhead and hardware cost while providing strong protection.

     

/

返回文章
返回