CVA6 的数据缓存:结构与行为
密码学与安全
2022-07-06 v3 硬件体系结构
摘要
自 2018 年 Spectre 与 Meltdown 被披露以来,科学界已识别并刻画了一类新型攻击。不久后出现了 Foreshadow 攻击,这是首个针对英特尔安全 enclave 技术(即 SGX)的攻击。它开启了针对英特尔架构的微架构攻击之路,并促使微架构攻击迅速发展至今。尽管 Spectre 和 Meltdown 常被视为首批微架构攻击,但可以说由 Osvik 等人于 2006 年提出的缓存攻击可看作是最早开发的微架构攻击类型。如今,即便存在许多变体,它们仍是最为突出的微架构攻击类型。缓存微架构隐蔽通道的一个例子是 Prime+Probe。近来微架构攻击以英特尔架构为目标,现正挑战更广泛的各类 CPU。最近,运行 RISC-V 指令集架构的 CPU 也成为目标。一个著名且广泛使用的 RISC-V CPU 是苏黎世联邦理工学院的 CVA6(原 Ariane)核。CVA6 是一个 6 级、单发射、顺序执行的 CPU。据我们所知,目前尚无文献详尽呈现 CVA6 微架构的细节,尤其是其数据缓存方面。此类信息对于深入理解任何架构或微架构研究(例如 Nils Wistoff 提出的在 CVA6 CPU 上复现 Prime+Probe 攻击)不可或缺。本文介绍了 OpenHW Group 的 CVA6 CPU 中数据缓存的实现,重点关注其存储结构,并通过若干示例解释发生内存分配请求时的行为。
引用
@article{arxiv.2202.03749,
title = {CVA6's Data cache: Structure and Behavior},
author = {Valentin Martinoli and Yannick Teglia and Abdellah Bouagoun and Régis Leveugle},
journal= {arXiv preprint arXiv:2202.03749},
year = {2022}
}
备注
13 pages, 10 figures, 1 table