Google promises Spectre fix that won’t slow PCs
Wants industry to adopt Retpoline.
Google has developed a fix for the Spectre flaw in Intel processors that it claims avoids the performance degradation issues patches developed by Intel and Microsoft have resulted in.
Intel and its technology partners have been scrambling to deploy patches to user devices since Spectre and the associated Meltdown chip flaws were made public earlier this month.
But the fixes for the Spectre vulnerability have had the side effect of slowing CPU performance by varying degrees, Intel and vendors last week revealed.
Google had earlier outlined how it was addressing the issue, and on Friday provided detail about a fix it had deployed that it says does not negatively impact performance.
Google’s fix – called Retpoline – addresses the ‘branch target injection’, or second variant, of the two Spectre CPU attacks. This second variant is considered to be the hardest to patch without affecting performance.
The attack would allow someone to jump between different instances on the same CPU in a Google Cloud or other cloud environment.
Intel and AMD – which is also affected by the Spectre flaw – have offered processor microcode alongside operating system/ kernel fixes to address the problem, but this approach slows down some systems.
Google initially thought it would only be able to mitigate the problem by disabling the speculative execution CPU feature at the heart of the problem, which causes the slowdown of cloud application performance.
So it started looking for a way to address the issue without hardware support, coming up with the software-based ‘Retpoline’ binary modification technique.
Retpoline prevents branch target injection, Google said, modifying programs to “ensure that execution cannot be influenced by an attacker”.
“Retpoline sequences are a software construct which allow indirect branches to be isolated from speculative execution,” Google VP Ben Treynor Sloss said in a blog post on Friday.
“This may be applied to protect sensitive binaries (such as operating system or hypervisor implementations) from branch target injection attacks against their indirect branches.”
Sloss said this approach had a “negligible” impact on the performance of applications in the Google cloud.
“We believe that Retpoline-based protection is the best-performing solution for Variant 2 on current hardware. Retpoline fully protects against Variant 2 without impacting customer performance on all our platforms.”
The company wants Retpoline to be rolled out industry-wide.
It has already deployed the solution across its own infrastructure, and has since open-sourced its compiler implementation “in the interest of protecting all users”.
Intel admitted the Retpoline technique “may perform better” than its own blended approach.
“For Intel Core processors of the Broadwell generation and later, this Retpoline mitigation strategy also requires a microcode update to be applied for the mitigation to be fully effective.”
The other two variants of the Spectre and Meltdown attacks – variants one and three – do not result in performance degradation.
Microsoft last week warned that its own remediation for variant two would have a bigger impact on performance the older the version of Windows and silicon on the machine.
It is unclear whether performance issues with AMD chips stemming from Spectre fixes have also been experienced. Microsoft was however forced to pause its distribution of patches to certain AMD processors after the update bricked machines with older CPUs.