zzrcxb/LLCFeasible
GitHub: zzrcxb/LLCFeasible
ASPLOS '24论文的开源实现,验证现代公有云环境中跨租户末级缓存侧信道攻击的可行性。
Stars: 33 | Forks: 4
# 末级缓存侧信道攻击在现代公有云中是可行的
此仓库包含论文**末级缓存侧信道攻击在现代公有云中是可行的**的实现。
在本文中,我们演示了在 Google Cloud Run 上执行端到端跨租户 LLC Prime+Probe 攻击的各种技术。
这些技术包括:
- 更快且抗噪的驱逐集构建算法
- 监控受害者内存访问的高分辨率原语
- 在频域中检测感兴趣的目标缓存集
你可以通过运行以下命令来克隆该仓库:
```
git clone --recursive https://github.com/zzrcxb/LLCFeasible.git
```
## 依赖项
### 常用 C 工具链
此仓库需要 `CMake`、`gcc` 以及 `GNU make` 或 `ninja-build`。
你的系统上可能已经安装了它们。
### 硬件
我们主要在 Intel Skylake-SP 和 Ice Lake-SP 微架构上测试了我们的实现。
因此,我们建议在这两种微架构上尝试我们的实现。
将我们的实现移植到其他微架构可能需要
修改源代码。
### 内核模块(可选)
部分程序依赖于 [PTEditor](https://github.com/misc0110/PTEditor),
这是一个帮助在用户空间进行页表操作的内核模块。
因此,需要内核模块构建环境。
请注意,这些程序仅使用 PTEditor 输出调试信息,
你不需要为了它们的核心功能而安装 PTEditor。
## 构建
### 此仓库
在项目的根目录下,
执行:
```
mkdir build && cd build && cmake ..
```
之后,在 build 目录下,根据你的构建系统,
执行命令:`make` 或 `ninja`。
关于每个程序的更多细节,
请参阅此 [README](src/README.md)。
### PTEditor(可选)
在 `extern/PTEditor` 目录下,执行
`make`
以构建内核模块。
然后通过执行以下命令加载该模块:
```
sudo insmod module/pteditor.ko
```
标签:Bash脚本, C/C++, StruQ, 事务性I/O, 侧信道攻击, 子域名枚举, 学术研究, 客户端加密, 硬件安全, 系统安全, 防御绕过