# pc_guard_on_gem5 **Repository Path**: fangjiangff/pc_guard_on_gem5 ## Basic Information - **Project Name**: pc_guard_on_gem5 - **Description**: PC-Guard: A Prefetching-based Mechanism AgainstCache Side-channel Attacks on RISC-V - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-03 - **Last Updated**: 2024-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PC-Guard 论文题为:《PC-Guard: A Prefetching-based Mechanism AgainstCache Side-channel Attacks on RISC-V》 PC-Guard,一个利用数据预取缓解RISC-V上缓存侧信道攻击的安全增强方案。具体来说,感知攻击模块监控进程的内存操作并识别可疑的加载指令。混淆观察模块学习攻击者的探测模式,并预测与攻击相关的访问以进行预取。预取模糊受害者的内存驻点来提供安全性。 ## 文件说明 GEM5 Version 22.0.0.2 1、af.cc与af.hh为PC-Guard的源码。 具体位置位于:$GEM5_HOME/src/mem/cache/prefetch 思路是把PC-Guard实现为一个新的预取器。与其余部件之间的接口不需要操心。仿照tagged预取器来写。 2、Prefetcher & SConscript 以下这两个文件也做了相应的修改。 gem5_pcg/src/mem/cache/prefetch/Prefetcher.py gem5_pcg/src/mem/cache/prefetch/SConscript 3、af_nl af_sd分别为与Next-Line、Stride预取器融合 没有做代码优化,直接复制一份进去的。。。将就看吧 ## 运行 具体运行请阅读Makefile文件 ### Step1 编译Spectre可执行文件 具体参考仓库:https://gitee.com/fangjiangff/attack_home.git ### Step2 编译GEM5 make buil ### Step3 运行 在gem5上运行SpectreV1、V2、V4、V5程序: make run-spectre