NDSS 2025|侧信道与可信计算攻击技术导读(二)系统化评估新旧缓存侧信道攻击技术

本文为 NDSS 2025 导读系列 之一,聚焦本届会议中与 硬件安全与侧信道技术 相关的代表性论文。

NDSS(Network and Distributed System Security Symposium) 是网络与系统安全领域的顶级国际会议之一,由 Internet Society 主办,致力于推动系统安全、协议分析、漏洞挖掘、隐私保护等前沿技术的发展。每年,NDSS 都汇聚了大量关于软件与硬件攻防的新成果。

在 NDSS 2025 中,我特别挑选出 11 篇与 可信执行环境(TEE)安全、缓存与微架构侧信道、虚拟化攻击、设备信号泄露等 相关的论文,组成本系列专题导读,从多个维度拆解当前硬件安全研究的技术趋势与挑战。

本篇为系列第 2 篇,导读论文:
《A Systematic Evaluation of Novel and Existing Cache Side Channels》

Fabian Rauscher (Graz University of Technology), Carina Fiedler (Graz University of Technology), Andreas Kogler (Graz University of Technology), Daniel Gruss (Graz University of Technology)

背景与动机

缓存侧信道攻击(Cache Side-Channel Attacks)是一类依赖于微架构中缓存行为差异的攻击技术,可用于窃取加密密钥、用户输入、执行流程等信息。

经典技术包括:

  • Flush+Reload:驱逐共享内存行后测量访问延迟;

  • Prime+Probe:填满 cache set 后观测受害者活动导致的驱逐;

  • Flush+Flush:检测两次 flush 的延迟差异;

  • Evict+Reload:通过 eviction set 强制驱逐后 reload。

问题是:

  • 这些技术依赖共享内存或包容性缓存结构;

  • 而最新的 Intel Sapphire Rapids 架构采用非包容性 L3 缓存,传统跨核驱逐行为大多失效。


本文目标

  1. 系统性评估 4 类经典攻击与 3 种新型攻击方式;

  2. 对 7 种攻击技术,在现代架构(Sapphire/Emerald Rapids)上,使用统一的 9 项指标进行量化比较;

  3. 展示 cldemote 指令在缓存攻击中的新作用,提出新的威胁模型。


三种新型 Demote 系列攻击

作者提出三种基于 Intel 新指令 cldemote 的缓存攻击:

1. Demote+Reload

  • 原理 :攻击者使用 cldemote 将目标 cache line 降级到 L3,若 victim 访问该地址,会将其 reload 回 L1。随后攻击者再 reload 并测量延迟,以判断 victim 是否访问。

  • 优势

    • 不触发 DRAM 访问;

    • 相比 Flush+Reload 延迟更短;

    • 通道容量达 15.48 Mbit/s(在 covert channel 中为最高);

    • 盲区长度为 42.6%,远低于 Flush+Reload 的 61%。

2. Demote+Demote

  • 原理 :通过两次 cldemote 指令之间的执行时间差判断目标地址是否被访问。若 victim 曾访问,该地址重新进入 L1,第二次 demote 延迟变长。

  • 优势

    • 攻击延迟低,仅 185 CPU cycles;

    • 不需 memory reload 或共享内存;

    • 不产生 DRAM、TLB、LLC 事件,难以被检测。

3. DemoteContention

  • 原理 :攻击者不断对 L3 中某个 set 进行 cldemote,制造访问冲突。如果 victim 也在同 set 上活动,会增加 cldemote 执行时间。

  • 亮点

    • 完全不依赖共享内存或物理地址;

    • 可用于 跨核攻击

    • 是目前在非包容性 L3 架构下,唯一实证有效的跨核 cache side-channel。


九项评估指标汇总

指标 Demote+Reload Demote+Demote Flush+Reload Prime+Probe
命中-未命中延迟差 34 cycles 60 cycles 68 cycles 97 cycles
时间精度(误差) ±24 ns ±16 ns ±42 ns ±68 ns
空间精度 cache line cache line page set
盲区长度 42.6% 0% 61% 89%
攻击延迟 320 cycles 137 cycles 638 cycles 1320 cycles
通道容量 6.09 Mbit/s 9.36 Mbit/s 2.15 Mbit/s 3.78 Mbit/s
可检测性

攻击实证分析

OpenSSL AES T-table 攻击

  • 目标:通过缓存访问模式重建 AES 末轮 key。

  • 结果

    • Demote+Reload 所需加密次数为 13,000 次;

    • 相比 Evict+Reload(360,000 次)显著减少;

    • 成功率达 98.6%,精度高于所有其他方案。

AES T-table 攻击实验详解

背景:为什么选 AES T-table?

T-table 实现是早期 AES 加速优化方式,将 S-box 和 MixColumns 预计算表格后存在缓存中。虽然 OpenSSL 已弃用该实现,但它仍被广泛用作 缓存侧信道攻击基准模型,因其访问模式高度数据相关,易受缓存探测干扰。

攻击目标与场景设定

论文模拟了一个现实攻击场景:

  • 攻击者与 victim 运行于同一物理核不同逻辑核(SMT 同核);

  • Victim 使用 T-table 执行 AES 加密(密钥攻击者无法访问);

  • 攻击者对最后一轮 AES 的表项访问进行探测,尝试恢复末轮密钥字节。

该方法源于 Irazoqui 等人的 AES 末轮 key recovery 攻击策略。


实验参数与设置

  • 每个攻击进行至少 1000 次密钥恢复;

  • 每轮攻击中执行上千万次 AES 加密;

  • 按"达到 97% ~ 99% 正确率所需最少加密次数"统计攻击效率;

  • 比较指标包括:成功率、加密次数、总攻击时间。


Sapphire Rapids 上的攻击效果(Table III)

攻击方式 使用 yield 正确率 加密次数 总耗时
Demote+Reload 98.7% 11,000 14.5ms
Flush+Reload 97.9% 11,000 18.0ms
Demote+Demote 99.2% 9,000 20.9ms
Demote+Demote 97.1% 15,000 22.6ms
Flush+Flush 99.3% 18,000 38.1ms
Flush+Flush 98.8% 16,000 42.2ms
Evict+Reload 97.2% 470,000 529.8ms
Evict+Reload 97.2% 320,000 554.0ms
Prime+Probe 66.7% 1,000,000 1320.5ms

分析解读

Demote+Reload

  • 攻击延迟最短(14.5ms);

  • 和 Flush+Reload 相同加密次数(11,000),但更快;

  • 不使用 sched_yield 时即表现优越;

  • 适合高频攻击场景,如实时密钥泄漏、频繁调用服务

Demote+Demote

  • 加密次数最少(9,000),但攻击时间不短;

  • sched_yield 时效果更好,但代价是线程调度 overhead;

  • 优于 Flush+Flush,但仍不及 Demote+Reload 的时间性。

Evict+Reload / Prime+Probe

  • 攻击时间成本高两个数量级;

  • 需要大量加密次数以弥补信道质量差;

  • 在非包容性架构中失效频繁,是旧方法的典型退化代表。


可视化攻击效果对比

图 8 展示了 10,000 次加密中,各类攻击在 T-table 表中的命中热度图。

  • 黑色程度越深,表示命中频率越高;

  • 明显对角线表示该攻击成功识别出明文与 cache 行的对应关系(即:成功恢复 key)。

六幅热力图展示了各类攻击(Demote+Reload、Flush+Reload、Evict+Reload、Demote+Demote、Flush+Flush、Prime+Probe)在AES T-table 表中的命中情况: 清晰的对角线(尤其是 a, b, d, e)说明攻击准确地识别了 S-box 或 T-table 的明文相关模式;混乱或无规律的图像(如 c, f)表示攻击失败或误差大;对角线越清晰,表示对不同明文字节所使用的缓存行区分越明显 → 对应攻击成功率越高。Demote+Reload 和 Demote+Demote 图像清晰,Flush 类对角线略模糊,Evict/Probe 几乎无特征。


小结

  • Demote+Reload 在攻击速度、盲区、检测难度三方面综合最优;

  • 可被看作 Flush+Reload 的现代替代,尤其适配新一代非包容性架构;

  • 在 AES T-table 攻击中具有实用性,足以作为教学与实验场景中的新主力方案;

  • 也可推广至其它数据依赖强的缓存结构中(如 RSA、EdDSA)。


击键间隔攻击(Inter-keystroke Timing)

  • 机制:监测输入框内内存访问行为,重构用户击键时间序列;

  • Demote+Reload 在时间精度和隐蔽性上优于 Flush 类攻击。

KASLR 绕过

  • 方法 :用 DemoteContention 扫描内核文本段,通过测量 cldemote 延迟推测 kernel text 页表分布;

  • 结果:准确推测内核起始页偏移。

功耗侧信道辅助

  • cldemote 指令操作引发显著 Hamming 重写;

  • 最大功耗差异达 310μW/bit;

  • 可放大传统功耗侧信道攻击效果。


安全影响与防护思考

  • cldemote 原用于 cache 能效优化,但其微秒级执行延迟对缓存状态极度敏感;

  • 成为非包容性缓存架构下少数可被武器化的用户态指令;

  • 建议:

    • 系统层面限制 cldemote 调用;

    • 在多核调度中隔离同 cache set 分配;

    • 强化缓存争用/一致性通道的可观测性与干扰机制。


总结

本论文系统比较了现有与新型缓存攻击技术,并指出:

  • Flush 类攻击正在逐步失效于现代架构;

  • cldemote 是当前 cache side channel 的新型突破口;

  • Demote 系列攻击在隐蔽性、适应性、跨核能力方面都优于传统方法;

  • TEE、KASLR、功耗安全模型应重估 cldemote 带来的信息泄露面。


相关推荐
独行soc3 分钟前
2025年渗透测试面试题总结-渗透测试红队面试九(题目+回答)
linux·安全·web安全·网络安全·面试·职场和发展·渗透测试
JXY_AI2 小时前
大模型越狱:技术漏洞与安全挑战——从原理到防御
安全
上海云盾-高防顾问2 小时前
SCDN如何有效防护网站免受CC攻击?——安全加速网络的实战解析
网络·安全
riusksk2 小时前
网络安全顶会——SP 2025 论文清单与摘要
安全·web安全
FreeBuf_13 小时前
GNU Screen 曝多漏洞:本地提权与终端劫持风险浮现
安全·web安全·gnu
安 当 加 密14 小时前
hashicorp vault机密管理系统的国产化替代:安当SMS凭据管理系统,量子安全赋能企业密钥管理
安全
python算法(魔法师版)18 小时前
API安全
网络·物联网·网络协议·安全·网络安全
GIS数据转换器18 小时前
当三维地理信息遇上气象预警:电网安全如何实现“先知先觉”?
人工智能·科技·安全·gis·智慧城市·交互
网易易盾18 小时前
AIGC时代的内容安全:AI检测技术如何应对新型风险挑战?
人工智能·安全·aigc
w236173460118 小时前
识别安全网站,上网不再踩坑
安全