快捷搜索:  网络  渗透  后门  CVE  扫描  木马  黑客  as

谷歌的“Spectre攻击”修补方案Retpoline,可避免性能影响

1 月 5 日,谷歌团队地下一种避免 Spectre 攻击的技巧“Retpoline”,企业黑客,且对性能的影响可以忽稍不计。据谷歌团队表示,这是一种避免分支目标注入的二进制修改技巧。行使这类要领任何开发者都可以应用并部署在计算机中,用以防范 Spectre 攻击。

谷歌表示,他们给这个编程技巧,取名为Retpoline,而这类要领对计算机性能的影响“微不足道”(要是与在过去的几天中发布的其他补丁对CPU性能影响程度进行对比的话)。

修补方案的作者是 Paul Turner,他是谷歌基础举措措施手艺部门的高级工程师。而在谷歌公司内部,他们已经应用这类技巧对私稀有据中心的 Linux 服务器进行了安全更新,只造成微小的性能消耗。详细内容可以在《Retpoline:一个避免分支目标注入的软件结构》一文中查看。

Retpoline.png

在 Linux 中应用 Retpoline 

作者 Turner 同时也向 Linux Kernel 项目提出了完美建议,他建议在 Linux 中加入 Retpoline 技巧。在向其他Linux 开发者诠释他的方案时,他具体描绘了这类方案的性能消费。

Retpoline平均会在内部工作量中增添了0-1.5%范围内的团体开销,这其中也包括了一些特别高的数据包处理内容。

Retpoline 技巧也对 Intel 开发者有帮助,Andi Kleen 表示,

要是我们想在内核中避免非直接调用,Retpoline 要领就可以做到不运用推测(speculation)且间接调用。

linux-kernel1.png

怎么样避免推测执行

Kleen 所说的“推测执行”,我们在前几天的报导(1,2,3)中已经提过,这是一种所有当代CPU都会应用的代码优化技巧,也是 Meltdown 以及 Spectre 漏洞出现的首要根源。

Retpoline 是一个软件结构,可以让间接分支从推测执行平星散出来,可以应用在维护敏感二进制文件(操作体系以及治理程序),避免分支目标注入对间接分支酿成的影响。

而 Retpoline 的名字则是源自于“归回”(return)以及“trampoline”(蹦床),这象征着这是一个使用返归操作进行来归反弹的结构,形象地表现出在需要维护的内容中,相干的推测执行是通过“无住手地”反弹而避免被窥探到。

屏幕快照 2018-01-08 上午11.19.12.png

按照其他开发者对这个修复技巧的评价来看,Retpoline创建了类似于实际代码中永遥不会调用的无限轮回之类的器械,这可以阻止 CPU 进入推测执行环节。

开发人员可以在他们的应用程序二进制代码中应用 Retpoline 技巧,防止他们的应用程序讲内存信息暴露给 Spectre 攻击。

这也能够应用在操作体系内核中,体系程序、库以及其他软件若有需要,也能够添加。

目前除了 Linux Kernel 项目,GCC 以及 LLVM 项目也正在添加对该方案的支持。

更具体的内容可以查看【谷歌公告】

*编译收拾整理Elaine,参考bleeping,

您可能还会对下面的文章感兴趣: