快速连接
👉👉👉【精选】ARMv8/ARMv9架构入门到精通-目录 👈👈👈
Q. 什么是物理旁路攻击?
物理旁路攻击涉及观察目标的物理属性(例如电力消耗和电磁泄漏)以推断出秘密。典型的目标包括在硬件和软件中实现的加密算法。传统上,这些攻击需要物理接触设备以便探测和测量设备,但是已经被证明,这些属性可以通过软件可用的方式观察到。
Q. 什么是功率分析旁路攻击?
功率分析旁路攻击通过测量SoC的电力消耗来推断出被害者执行的属性,例如指令操作数的汉明权重和所走的代码路径。这反过来可以用来推断被害者使用的秘密。执行攻击时,通常需要以某种方式修改设备或SoC,例如暴露SoC内部的电源轨并在轨道上串联电阻。
简单功率分析涉及视觉检查电源轨迹,这需要知道被害者的具体实现。
差分功率分析(DPA)和相关功率分析(CPA)是攻击的更高级形式,需要在被害者操作期间收集大量轨迹,然后使用统计方法进行分析。与SPA相比,DPA和CPA对噪声的抵抗力明显更强,但需要被害者执行多次以收集轨迹。
模板攻击使用与攻击者完全控制的同类型的另一台设备来创建目标设备的概况。这需要从攻击者设备中收集并处理成千上万的轨迹以创建概况。然后将概况应用于被害者的轨迹以恢复敏感数据。这种攻击的优点是需要从被害者设备收集的轨迹相对较少。
Q. 什么是电磁分析旁路攻击?
电磁分析旁路攻击通过测量SoC的电磁泄漏。相对于电力分析的一个优点是不必修改设备就可以收集轨迹,因为探头可以放置在SoC的表面上。这些攻击还具有根据探头质量创建SoC小区域轨迹的能力。
轨迹数据的分析方式与传统的电力分析攻击类似。
Q. 还有哪些类型的物理旁路?
任何与被害者执行相关的变化的物理属性都可以用作物理旁路。其他例子包括温度,它与电力消耗相关,以及可以通过声学分析恢复的秘密泄漏的声音。
Q. 2020年11月10日公开的PLATYPUS攻击是什么?
这种攻击使用CPU提供的电力消耗指标来推断出被害者的秘密。作者提出了两种攻击向量:未授权的软件从操作系统或其他进程中窃取秘密(CVE-2020-8694),以及具有特权的软件从受信任的执行环境中窃取秘密(CVE-2020-8695)。
这些指标对Linux中的未授权用户是可用的,为其他进程和内核提供了攻击表面。自那时起,这些指标已经被限制到“root”用户。
Q. 2022年6月14日公开的Hertzbleed电源管理节流(PMT)旁路攻击是什么?
PMT旁路依赖于在被害者执行过程中的处理器频率缩放。频率被缩放以使处理器保持在一定的电力消耗限制内。因此,这些频率调整与电力消耗相关。这些调整可以通过执行时间来观察,通过观察壁挡时间使得可以推断出电力消耗,从而创建一个电力分析旁路。与PLATYPUS不同,Hertzbleed不需要在无特权上下文中访问电力消耗指标,因此无法通过内核补丁来减轻。
Q. Arm的CPU是否会受到影响?
Arm的CPU可能会受到影响。
对于传统的电力分析,设备受影响的程度由SoC的设计和实施决定。这也适用于EM分析,以及依赖于对设备进行物理监控的其他旁路。
对于PLATYPUS式的攻击,需要访问电力消耗遥测。Arm没有提供一种架构机制来获取这些信息,因此依赖于任何实施定义的接口。
对于Hertzbleed,频率缩放的实施决定了攻击的有效性。
Arm认为传统的物理旁路攻击风险较低,因为需要物理接触和专业设备。
Arm认识到PLATYPUS和Hertzbleed打破了关于物理旁路攻击的一个基本先前假设:物理接触。这可能需要重新评估一些安全关键系统的威胁模型。尽管PLATYPUS和Hertzbleed打开了新的攻击表面,但旁路分析和利用的难度降低了它们的可能性和潜在影响。因此,Arm也认为它们的风险较低。
Q. 物理旁路攻击有哪些限制?
这种类型的攻击的一个主要限制是需要被害者执行的轨迹数量。
传统物理旁路攻击的一个限制因素是需要物理接触设备,以及需要高精度的示波器和探头。这些攻击还需要对设备进行一些修改。
PLATYPUS的主要限制是电力消耗指标的可用性和精度。作者们试验了只提供低分辨率旁路的CPU,需要使用零步进技术(允许某些指令重复瞬时执行)从受信任的执行环境中窃取数据。SGX-Step是一个用于对受信任的执行环境执行零步进和单步进攻击的框架的例子。
Hertzbleed的一个限制是频率根据电力消耗调整的速率。随着速率的减小,可以通过旁路提取的有意义的数据就减少了。另一个限制是选择的被害者。Hertzbleed的论文从SIKE算法的各种实现中提取了一个密钥,利用了一种特性,即在提供了选择输入时,许多指令执行具有相同的操作数。鉴于这一属性,以及执行算法所需的大量周期,存在一个可观察的壁挡时间差异,这个差异将输入密文与正在使用的密钥相关联。
Q. 如何缓解物理旁路攻击?
尽管不存在对这些攻击的完全缓解措施,但是可以降低成功的可能性。
软件可以通过硬化敏感代码和使用替代算法来提供一些保护。例如,现代掩码方案和安全的多方计算算法将敏感数据,如密钥,分割成多个随机部分。这些部分保留了一种关系,允许他们被重新组合成原始数据。这种技术的优点是处理这些个别部分的可观察属性(例如,电力消耗,EM泄漏)与原始数据的属性几乎没有相似之处。这大大降低了成功攻击的可能性,但以性能为代价。请注意,可以使用更复杂的物理旁路分析技术来克服这些对策,但是,这些攻击的复杂性和成本降低了它们的可能性。
Q. 在哪里可以找到更多信息?
可以在以下链接找到更多信息:
PLATYPUS旁路攻击。
Hertzbleed PMT旁路攻击。
SGX-Step零步进和单步进攻击。
关注"Arm精选"公众号,备注进ARM交流讨论区。