《01-宋威.pdf》由会员分享,可在线阅读,更多相关《01-宋威.pdf(19页珍藏版)》请在三个皮匠报告上搜索。
1、可抵御缓存侧信道攻击的随机化缓存设计宋威,薛子涵中国科学院信息工程研究所网络空间安全防御重点实验室RISC-V 中国峰会 2024年8月23日缓存侧信道攻击是攻击者通过在受害机器上运行恶意程序(非接触式)从缓存中获取关键信息的一种信息泄露的攻击方式。近年来被大量采用。缓存随机化是近年来提出的一种纯硬件的缓存防御方法,可以抵御冲突型的缓存侧信道攻击。现在还没有缓存随机化防御在真实处理器上的实现。那么,我们来做一个!冲突型缓存侧信道攻击 缓存随机化防御 我们的优化 在Rocket-Chip上的实现主要内容宋威,薛子涵:RISC-V 中国峰会 2024缓存的基本结构宋威,薛子涵:RISC-V 中国峰
2、会 2024缓存是微体系结构模块,软件不可见。末级缓存(LLC)被多核共享。内存地址到缓存组的映射固定。缓存冲突时触发置换,置换算法已知:LRU,RRIP,Random。宋威,薛子涵:RISC-V 中国峰会 2024冲突型缓存侧信道攻击正常情况下,受害者的目标数据 v 在缓存命中攻击者通过访问一个驱逐集 0,1,2,3,强迫将 挤出缓存.受害者再次访问 的延时显著变长,攻击者访问驱逐集的时间也变长。0,1,2,3 和 在缓存中保存在同一个缓存组(congruent)(最小)驱逐集:一个包含足够多congruent地址的集合,访问它可以将目标地址 驱逐出缓存。缓存组初始状态只有受害者数据 v受害
3、者数据 v 被挤出缓存组受害者访问 v 的延时显著变长攻击者访问 a1的延时显著变长在早期的电脑上,驱逐集是算出来的。在现在的电脑上,驱逐集是找出来的。(原因:虚拟地址到物理地址映射被保护,Intel的复杂末级缓存分片寻址方式)组消除1,2,3(GE:Group Elimination):80ms,80%覆盖-裁剪-触发算法3,4(PPP:Prime,Prune and Probe):1.4ms,24%冲突测试3(CT:Conflict Testing):18ms,70%其他:W+W5(10ms,5%),CTPP6(1.3ms,92%)1 P.Vila,B.Kpf,J.F.Morales.“T
4、heory and practice of finding eviction sets.”S&P 2019.2 W.Song,P.Liu.“Dynamically finding minimal eviction sets can be quicker than you think for side-channel attacks against the LLC.”RAID 2019.3 M.K.Qureshi.“New attacks and defense for encrypted-address cache.”ISCA 2019.4 A.Purnal,I.Verbauwhede.“Ad
5、vanced profiling for probabilistic Prime+Probe attacks and covert channels in ScatterCache.”ArXiv,Aug 2019.5 J.P.Thoma,T.Gneysu.“Write me and Ill tell you secrets Write-after-write effects on Intel CPUs.”RAID 2022.6 Z.Xue,J.Han,W.Song.“CTPP:A fast and stealth algorithm for searching eviction sets on
6、 Intel processors.”RAID 2023.宋威,薛子涵:RISC-V 中国峰会 2024驱逐集寻找算法宋威,薛子涵:RISC-V 中国峰会 2024随机化的多路组相联缓存地址到缓存组的映射由加密模块(Cipher)随机化1,2。周期性修改加密密钥,更新缓存映射,称为重映射(remap)2。重映射的周期为一定量的缓存访问,比如说ACC1002。页内偏移不能被利用(时间代价 x64)。寻找攻击目标依靠缓存组扫描(时间代价 x1001000)。每次重映射会造成40%到60%的缓存数据被遗弃3。冲突测试算法能在ACC30找到驱逐集,重映射周期降到ACC20也只需几毫秒3!1 W.Son