DAWG: A Defense Against Cache Timing Attacks in Speculative Execution Processors
-
摘要:
- 由于推测式执行的问题,软件的侧信道攻击更加的严重。同时大部分的软件攻击都是利用cache tag的状态作为信息的泄露通道,大部分的软件防御措施可以修补特定的攻击,但是被可以规避
- 文章建议通过对硬件很小的修改,以抵御广泛的攻击,包括基于推测执行的攻击,从而消除与cache tag状态相关的隐蔽信道攻击的整个攻击面
- DWAG:Dynamically Allocated Way Guard,用于组相连的结构(包括memory caches)的安全路划分(way partitioning)的一种通用机制
- DWAG为组相连的结构提供了一个保护域的概念来提供强隔离,当应用缓存时,DAWG完全隔离保护域中的命中,缺失和数据更新
-
介绍:
- 违反隔离(violating isolation):可以在不破化程序执行(violating integrity 完整性违反)的情况下,获取到受害者的信息,例如通过直接/间接读取内存信息、根据程序的控制流判断等。
- 为了防止数据溢出,必须在保护域之间有很强的隔离,能够阻止数据发射器和接收器不会共享同一个通道。DAWG为组相连结构提供一个保护域的概念,以提供强隔离。DAWG禁止跨保护域的命中,对于cache一致性也有隔离。只有在少数几个例程中,DAWG需要使用推测执行的栅栏来进行保护
- 论文贡献:
- 为使用元数据的cache替换策略提供强隔离,因为在路划分的cache中,替换策略也可以泄露信息
- 提出了一种新的路划分策略(DAWG),能够提供强大的隔离属性,以阻止基于cache状态的侧信道攻击。同时DAWG不需要对操作系统进行太深入的更改。
- 分析了DAWG的安全性,使用DAWG测试了一些最近的利用推测式执行和cache的侧信道攻击
- 分析了利用cache partition进行隔离的局限性,同时评估了DAWG的性能影响
-
相关工作介绍
- thread model
- 文章重点在于阻塞利用缓存的状态进行侧信道攻击的方法,对于其它的侧信道攻击则不受影响,例如:L3 cache slice的争用,L2 cache bank争用,NoC,Dram带宽争用,分支结构,TLB&#x
- thread model