微架构泄漏模板及其在基于缓存的侧信道中的应用
密码学与安全
2022-11-28 v1
摘要
现代处理器架构的复杂性导致了其组件间复杂的相互作用。此类相互作用可能以侧信道形式产生潜在攻击向量,可能被用户态漏洞利用以泄露秘密数据。此类侧信道的利用与防御需要对其目标组件详尽理解。然而,许多CPU的此类详细信息通常未公开。本文引入泄漏模板(Leakage Templates)概念,以抽象描述特定侧信道并识别其在二进制应用中的出现。我们设计并实现了Plumber框架,从已知会引起泄漏的单个代码序列(例如由先前工作发现)推导通用泄漏模板。Plumber结合指令模糊化、指令操作数变异与统计分析,以探索微架构优化的未公开行为,并推导脆弱代码输入的充分条件,若满足则可触发可区分行为。利用Plumber,我们基于泄漏模板(针对ARM Cortex-A53与-A72核心)识别出新泄漏原语,尤其涉及预驱逐(previction,一种新生的过早缓存驱逐)与预取行为。我们通过重新识别Shin等人[40]首次报告的OpenSSL 1.1.0g中基于预取器的漏洞,展示了泄漏模板的效用。
引用
@article{arxiv.2211.13958,
title = {Microarchitectural Leakage Templates and Their Application to Cache-Based Side Channels},
author = {Ahmad Ibrahim and Hamed Nemati and Till Schlüter and Nils Ole Tippenhauer and Christian Rossow},
journal= {arXiv preprint arXiv:2211.13958},
year = {2022}
}