Microsoft confirms Windows performance hits with Meltdown, Spectre patches

Jan. 10, 2018

It’s official: Microsoft Windows patches for recently revealed critical microprocessor flaws will cause noticeable performance slowdowns on Windows machines, the company said.

Performance degradation has been a key concern after Microsoft and Linux operating system kernels were retooled to mitigate attacks on Intel, AMD, and ARM processors via the so-called Meltdown and Spectre hardware vulnerabilities. Security experts had estimated up to 30% degradation for Linux and Windows, so performance is a big part of the equation when it comes to risk assessment and in some cases, whether to patch at all.

Microsoft in a blog post confirmed that Windows servers will experience noticeable performance slowdowns, as will Windows 7 and 8 client machines running older processors (2015-timeframe PCs with Haswell or older CPUs). While newer Windows 10 platforms won’t experience perceptible performance drops, those on older hardware will.

To be fully secured from the flaws, machines must apply the operating system, browser, and microcode patches, says Frank Shaw, communications lead at Microsoft, in a Dark Reading interview.

Specifically, Windows 10 client machines running modern microprocessors (2016-era PCs with Skylake, Kabylake, or newer CPUs) will suffer some performance hits, but it won’t be “user-perceptible,” according to Microsoft. “It will be a couple of percentage points, depending on various workloads. It’s not something people will truly notice,” says Shaw.

Windows 10 machines on Haswell-class or older microprocessors however will experience noticeable performance changes in some cases, however, Shaw says.

And older Windows 7 and Windows 8 machines will experience performance degradation with the patches. “For context, on newer CPUs such as on Skylake and beyond, Intel has refined the instructions used to disable branch speculation to be more specific to indirect branches, reducing the overall performance penalty of the Spectre mitigation,” Microsoft said. “Older versions of Windows have a larger performance impact because Windows 7 and Windows 8 have more user-kernel transitions because of legacy design decisions, such as all font rendering taking place in the kernel. We will publish data on benchmark performance in the weeks ahead.”

Microsoft said it’s working on fine-tuning the Windows performance of its patches. This is especially crucial for Windows servers.

In its Windows update for the one variant of the Spectre Bounds Check Bypass attack (CVE-2017-5753), Microsoft made a compiler change and hardened its Edge and IE 11 browsers to prevent JavaScript-borne exploits, a fix that doesn’t require processor a microcode update on the machine.

For the Spectre Branch Target Injection (CVE-2017-5715), Microsoft’s patch alerts Windows to call new CPU instructions in the case of risky scenarios with the side-channel communications process. That patch requires the microprocessor update on the machine.

For Meltdown’s so-called Rogue Data Cache attack (CVE-2017-5754), Microsoft said it isolated kernel and user-mode page tables to thwart such an attack; no microcode updates are needed on the machine for that fix.

Meanwhile, Microsoft recommends that server administrators employ mitigations at the physical layer of the server to isolate virtualized workloads on the server. Azure was already updated accordingly to protect virtual machine environments, according to the company. “For on-premises servers, this can be done by applying the appropriate microcode update to the physical server, and if you are running using Hyper-V updating it using our recent Windows Update release.”

Dark Reading has the full article