幽灵安全漏洞Spectre对计算机的影响都挺大的,特别是用做Linux云服务器的入门级主机,牺牲了相当的系统性能换得漏洞补丁,而此次幽灵安全漏洞Spectre1.1新变种再次冲击仅有的计算机性能,如果Spectre1.2、Spectre1.3、Spectre1.4新变种那岂不是老电脑要直接淘汰,用入门的Linux云服务器岂不是要升级配置。
来自麻省理工的 Vladimir Kiriansky 与咨询公司 Carl Waldspurger 的两位安全开发人员,发布了一篇揭露臭名昭著的“幽灵”(Spectre)安全漏洞新变种的论文,因其会产生投机性的缓冲区溢出。在论文中,两位安全人员解释了他们新发现的这个变种(Spectre 1.1/CVE-2018-3693)可以如何攻击和防御。
对于处理器厂商来说,2018年初被曝光的该漏洞、以及后续陆续出现的多个其它变种,着实令业界感到头疼。而最新的 Spectre 1.1 漏洞,则利用了投机性的缓冲区溢出。 与经典的缓冲区溢出安全漏洞类似,Spectre 1.1 又被称作‘边界检查绕过存储’(简称 BCBS),将其与最原始的投机性执行攻击区分开来。
开发人员考虑将新变种归于 Spectre V1 家族的一个微小版本: 其在投机性执行窗口中使用了相同的开口(即有条件分支投机),但 Spectre 1.1 还是影响了数十亿的现代处理器(波及 Intel 和 AMD)。
开发人员称,预测缓冲区溢出使得本地攻击者可以在脆弱的系统上执行任意不受信任的代码。 通过边际信道分析(side-channel analysis)和投机缓冲区溢出(speculative buffer overflow),它可利用微处理器的投机性执行和分支预测来暴露敏感信息。
通过直接或重定向控制流,数据值攻击可以绕过一些 Spectre-v1 的缓解补丁。 控制流攻击允许任意投机代码的执行,它可以绕过栅栏指令和此前所有针对预测执行攻击的软件补救措施。
更可怕的是,开发人员还指出了所谓的 Spectre 1.2 漏洞! 作为幽灵漏洞的另一个小变体,其影响那些不会强行读/写保护和依赖于懒惰的 PTE 强制执行的处理器。
在一场 Spectre 1.2 攻击中,被允许的投机存储可覆写只读的数据、代码指针、以及代码元数据: 其包括 vtables、GOT/IAT、以及控制流缓解元数据,结果就是依赖于只读存储器的硬件执行沙箱都被无效化了。
开发人员已经在英特尔 x86 和 ARM 处理器上验证了 Spectre 1.1 和 Spectre 1.2 攻击: 对于 Spectre 1.1,推荐采取 SLoth 家族微架构缓解方案。对于芯片制造商来说,可在未来的处理器上部署所谓的‘流氓数据缓存存储’保护特性。
尽管开发人员认为通过处理器微代码更新即可完全缓解 Spectre 1.1 漏洞,但英特尔还是建议用户和操作系统供应商部署安全补丁,以应对在可预见的将来会出现的一些新变种,对于经常用于重要部署的Linux,用户要密切注意相关版本的提供商补丁。
相关主题 |