Spectre/Meltdown的软硬件协同防御
2018-01-11

Spectre与Meltdown这两个攻击引起了众多安全研究者的兴趣。 之前Google、百度、腾讯先后发表了对这两个攻击原理、防御方法与攻击影响的描述, 今天主要从软硬件协同防御的角度来谈一下自己的看法。下面是今天在“CCF体系结构专委会、信息保密专委会高端技术论坛”所作报告的材料,希望对大家有用。

PPT下载地址:http://ipads.se.sjtu.edu.cn/courses/csp/specctre-meltdown-IPADS.pptx

报告视频地址:http://v.youku.com/vshow/idXMzMxMDIyMTg1Ng==.html

本文仅仅简单介绍下对攻击的分解和对防御的归类。

这两个攻击的原理,之前的文章已经介绍的比较清楚了。主要包含三个步骤:执行一段与内核Data相关的访存代码;访存改变了Cache布局; Cache布局的改变泄露了Data。这里的Data可以是内核的数据,也可以是其他进程或VM的数据,总之是攻击者感兴趣希望窃取的数据。

如果把两类攻击用上述三步来描述,如下图所示:



 

其中,V2即可直接跳转到内核代码执行,又可以跳转到用户态的恶意进程代码执行,因此区分为V2-k和V2-u。

下图归纳了目前提出的一系列防御方法:



 

除了上述防御,还从系统的角度提出了其他软硬件协同防御的方法,更多细节,请参考PPT中的内容。