当前位置: 首页 > news >正文

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+ReloadDemote+DemoteFlush+ReloadPrime+Probe
命中-未命中延迟差34 cycles60 cycles68 cycles97 cycles
时间精度(误差)±24 ns±16 ns±42 ns±68 ns
空间精度cache linecache linepageset
盲区长度42.6%0%61%89%
攻击延迟320 cycles137 cycles638 cycles1320 cycles
通道容量6.09 Mbit/s9.36 Mbit/s2.15 Mbit/s3.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+Reload98.7%11,00014.5ms
Flush+Reload97.9%11,00018.0ms
Demote+Demote99.2%9,00020.9ms
Demote+Demote97.1%15,00022.6ms
Flush+Flush99.3%18,00038.1ms
Flush+Flush98.8%16,00042.2ms
Evict+Reload97.2%470,000529.8ms
Evict+Reload97.2%320,000554.0ms
Prime+Probe66.7%1,000,0001320.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 带来的信息泄露面。


相关文章:

  • Mininet--node.py源码解析
  • ViViT: 一种视频视觉Transformer
  • Cline 之Plan和Act模式
  • [大模型]AI Agent入门01——AI Agent概念梳理
  • Ollama 实战手册
  • 植被参数遥感反演技术革命!AI+Python支持向量机/随机森林/神经网络/CNN/LSTM/迁移学习在植被参数反演中的实战应用与优化
  • spark jar依赖顺序
  • SpringBoot原生实现分布式MapReduce计算
  • 进阶篇 第 6 篇:时间序列遇见机器学习与深度学习
  • Elasticsearch 使用reindex进行数据同步或索引重构
  • TockOS,一种新安全软件架构的RTOS介绍
  • 激活函数:神经网络的 “魔法开关”,开启智能之门(三)
  • 【Linux运维涉及的基础命令与排查方法大全】
  • Anaconda、conda和PyCharm在Python开发中各自扮演的角色
  • 机器学习06-RNN
  • EasyRTC打造无人机低延迟高清实时通信监控全场景解决方案
  • 电气动调节单座V型球阀带阀杆节流套沟槽孔板的作用-耀圣
  • 【Web API系列】Web Shared Storage API 深度解析:WindowSharedStorage 接口实战指南
  • RK3588 ubuntu20禁用自带的TF卡挂载,并设置udev自动挂载
  • JDBC对数据的增删改查操作:从Statement到PrepareStatement
  • 城事|喊侬白相,长兴太湖9号公路邀上海市民共赴诗意之旅
  • 驯服象牙塔:美国政府对大学的战争是一场善恶对抗吗
  • 港澳航天员最早2026年飞天
  • 西湖大学本科新增临床医学专业,今年本科招生专业增至8个
  • 罗马教皇方济各去世,享年88岁
  • 临清农商行回应监管处罚:系2023年问题,已经进行了整改