英特尔再爆重大芯片漏洞,苹果谷歌微软相继中招
近两年间,想必作为全球知名的半导体公司 Intel 的研发团队承受着巨大的压力,先是经历了被诸多媒体称之为“史诗级行业芯片漏洞事件”之 Meltdown (熔断)与 Spectre(幽灵)的劫难;后又在 5G 调制解调器的研发上摔了跟头;如今又有最新的消息爆出,安全研究人员在英特尔芯片中再次发现一种严重的漏洞——微架构数据采样(Microarchitectural Data Sampling,简称 MDS),对此,不少人也将该漏洞叫做“ZombieLoad”(僵尸负载)。 01、再现“Meltdown 与 Spectre 身影”的ZombieLoad 之所以ZombieLoad 会引起安全研究人员的高度关注,是因为其与曾经影响了所有 iPhone、Android、PC 设备的Meltdown 与 Spectre 有着诸多的相似之处。 我们都知道彼时不少芯片厂商为了提高 CPU 性能,从而在芯片上引入了两种特性,一种叫乱序执行(Out-of-Order Execution),另一种为推测性执行(Speculative Execution),如今这两种特性是现代处理器工作方式的重要组成部分: 乱序执行:是一种应用在高性能微处理器中来利用指令周期以避免特定类型的延迟消耗的范式。在这种方式下,可以避免因为获取下一条程序指令所引起的处理器等待,取而代之的处理下一条可以立即执行的指令; 推测执行:采用这个技术的计算机系统会根据现有信息,利用空转时间提前执行一些将来可能用得上,也可能用不上的指令。如果指令执行完成后发现用不上,系统会抛弃计算结果,并回退执行期间造成的副作用(如缓存)。 其中,对于采用推测执行,最大的好处就是可以让应用程序或系统运行得更快、更高效。但让大家不容忽视的是,这也就造成了黑客可以利用Meltdown 或 Spectre漏洞,在应用软件未经任何授权下便可读取到英特尔处理器内核的信息,进而攻击者可获取到用户设备上的一些敏感数据,如密码、登录密钥、私人消息、邮件甚至是商业秘密文件。 如今,最新被研究人员发现的ZombieLoad 漏洞,针对的也是英特尔芯片在引用两种特性作设计的缺陷,即可以使用推测性执行来诱骗英特尔的处理器抓取从芯片的一个组件转移到另一个组件的敏感数据,不过这与使用推测性执行来获取内存中的敏感数据的 Meltdown 不同,MDS 攻击专注位于芯片组件之间的缓冲区。 据英特尔官方介绍,虽然 MDS 攻击也是通过侧信道攻击的方式,但它的实现是由四种截然不同的漏洞共同组成。 事实上,这四种不同的 MDS 攻击都利用了英特尔芯片如何执行省时技巧的捷径。在上文推测执行的解释中,我们看到 CPU 在程序执行请求之前或猜测程序正在请求数据的过程中,经常跟随代码中的命令分支,以便获得先机。如果指令执行完成后发现用不上,那么系统会抛弃计算结果。(在不同条件下,芯片可以从三个不同的缓冲区中获取数据,因此研究人员可以进行多次攻击。) 此前,英特尔的芯片设计人员可能认为错误的猜测,即使提供敏感数据的猜测也无关紧要。于是,他们将这些结果抛弃了。 但其实这个漏洞,如同Meltdown 和 Spectre 一样,攻击者可以通过处理器的缓存泄漏处理器从缓冲区获取的数据。整个过程,最多从一个 CPU 的缓冲区窃取几个字节的任意数据。但是倘若连续重复数百万次,攻击者可以开始窃取 CPU 正在实时访问的所有数据流。 与此同时,通过一些其他技巧,低权限攻击者可以发出请求,说服 … Read more英特尔再爆重大芯片漏洞,苹果谷歌微软相继中招