'Kernel memory leaking' Intel processor design flaw forces Linux, Windows redesign Other OSes will n - Security update fucks intel systems under 10 years

Kernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign
Performance hits loom, other OSes need fixes.

A fundamental design flaw in Intel's processor chips has forced a significant redesign of the Linux and Windows kernels to defang the chip-level security bug.

Programmers are scrambling to overhaul the open-source Linux kernel's virtual memory system. Meanwhile, Microsoft is expected to publicly introduce the necessary changes to its Windows operating system in an upcoming Patch Tuesday: these changes were seeded to beta testers running fast-ring Windows Insider builds in November and December.

Crucially, these updates to both Linux and Windows will incur a performance hit on Intel products. The effects are still being benchmarked, however we're looking at a ballpark figure of five to 30 per cent slow down, depending on the task and the processor model. More recent Intel chips have features – such as PCID – to reduce the performance hit. Your mileage may vary.



Similar operating systems, such as Apple's 64-bit macOS, will also need to be updated – the flaw is in the Intel x86-64 hardware, and it appears a microcode update can't address it. It has to be fixed in software at the OS level, or go buy a new processor without the design blunder.

Details of the vulnerability within Intel's silicon are under wraps: an embargo on the specifics is due to lift early this month, perhaps in time for Microsoft's Patch Tuesday next week. Indeed, patches for the Linux kernel are available for all to see but comments in the source code have been redacted to obfuscate the issue.

However, some details of the flaw have surfaced, and so this is what we know.

Impact
It is understood the bug is present in modern Intel processors produced in the past decade. It allows normal user programs – from database applications to JavaScript in web browsers – to discern to some extent the layout or contents of protected kernel memory areas.

The fix is to separate the kernel's memory completely from user processes using what's called Kernel Page Table Isolation, or KPTI. At one point, Forcefully Unmap Complete Kernel With Interrupt Trampolines, aka FUCKWIT, was mulled by the Linux kernel team, giving you an idea of how annoying this has been for the developers.

Whenever a running program needs to do anything useful – such as write to a file or open a network connection – it has to temporarily hand control of the processor to the kernel to carry out the job. To make the transition from user mode to kernel mode and back to user mode as fast and efficient as possible, the kernel is present in all processes' virtual memory address spaces, although it is invisible to these programs. When the kernel is needed, the program makes a system call, the processor switches to kernel mode and enters the kernel. When it is done, the CPU is told to switch back to user mode, and reenter the process. While in user mode, the kernel's code and data remains out of sight but present in the process's page tables.

Think of the kernel as God sitting on a cloud, looking down on Earth. It's there, and no normal being can see it, yet they can pray to it.

These KPTI patches move the kernel into a completely separate address space, so it's not just invisible to a running process, it's not even there at all. Really, this shouldn't be needed, but clearly there is a flaw in Intel's silicon that allows kernel access protections to be bypassed in some way.

The downside to this separation is that it is relatively expensive, time wise, to keep switching between two separate address spaces for every system call and for every interrupt from the hardware. These context switches do not happen instantly, and they force the processor to dump cached data and reload information from memory. This increases the kernel's overhead, and slows down the computer.

Your Intel-powered machine will run slower as a result.

How can this security hole be abused?
At best, the vulnerability could be leveraged by malware and hackers to more easily exploit other security bugs.

At worst, the hole could be abused by programs and logged-in users to read the contents of the kernel's memory. Suffice to say, this is not great. The kernel's memory space is hidden from user processes and programs because it may contain all sorts of secrets, such as passwords, login keys, files cached from disk, and so on. Imagine a piece of JavaScript running in a browser, or malicious software running on a shared public cloud server, able to sniff sensitive kernel-protected data.

Specifically, in terms of the best-case scenario, it is possible the bug could be abused to defeat KASLR: kernel address space layout randomization. This is a defense mechanism used by various operating systems to place components of the kernel in randomized locations in virtual memory. This mechanism can thwart attempts to abuse other bugs within the kernel: typically, exploit code – particularly return-oriented programming exploits – relies on reusing computer instructions in known locations in memory.

If you randomize the placing of the kernel's code in memory, exploits can't find the internal gadgets they need to fully compromise a system. The processor flaw could be potentially exploited to figure out where in memory the kernel has positioned its data and code, hence the flurry of software patching.

However, it may be that the vulnerability in Intel's chips is worse than the above mitigation bypass. In an email to the Linux kernel mailing list over Christmas, AMD said it is not affected. The wording of that message, though, rather gives the game away as to what the underlying cockup is:
AMD running a victory lap said:
AMD processors are not subject to the types of attacks that the kernel page table isolation feature protects against. The AMD microarchitecture does not allow memory references, including speculative references, that access higher privileged data when running in a lesser privileged mode when that access would result in a page fault.

A key word here is "speculative." Modern processors, like Intel's, perform speculative execution. In order to keep their internal pipelines primed with instructions to obey, the CPU cores try their best to guess what code is going to be run next, fetch it, and execute it.

It appears, from what AMD software engineer Tom Lendacky was suggesting above, that Intel's CPUs speculatively execute code potentially without performing security checks. It seems it may be possible to craft software in such a way that the processor starts executing an instruction that would normally be blocked – such as reading kernel memory from user mode – and completes that instruction before the privilege level check occurs.

That would allow ring-3-level user code to read ring-0-level kernel data. And that is not good.

The specifics of the vulnerability have yet to be confirmed, but consider this: the changes to Linux and Windows are significant and are being pushed out at high speed. That suggests it's more serious than a KASLR bypass.

Also, the updates to separate kernel and user address spaces on Linux are based on a set of fixes dubbed the KAISER patches, which were created by eggheads at Graz University of Technology in Austria. These boffins discovered [PDF] it was possible to defeat KASLR by extracting memory layout information from the kernel in a side-channel attack on the CPU's virtual memory system. The team proposed splitting kernel and user spaces to prevent this information leak, and their research sparked this round of patching.

Their work was reviewed by Anders Fogh, who wrote this interesting blog post in July. That article described his attempts to read kernel memory from user mode by abusing speculative execution. Although Fogh was unable to come up with any working proof-of-concept code, he noted:
Ander Fogh said:
My results demonstrate that speculative execution does indeed continue despite violations of the isolation between kernel mode and user mode.

It appears the KAISER work is related to Fogh's research, and as well as developing a practical means to break KASLR by abusing virtual memory layouts, the team may have somehow proved Fogh right – that speculative execution on Intel x86 chips can be exploited to access kernel memory.

Shared systems
The bug will impact big-name cloud computing environments including Amazon EC2, Microsoft Azure, and Google Compute Engine, said a software developer blogging as Python Sweetness in this heavily shared and tweeted article on Monday:
Python Sweetness (publication) said:
There is presently an embargoed security bug impacting apparently all contemporary [Intel] CPU architectures that implement virtual memory, requiring hardware changes to fully resolve. Urgent development of a software mitigation is being done in the open and recently landed in the Linux kernel, and a similar mitigation began appearing in NT kernels in November. In the worst case the software fix causes huge slowdowns in typical workloads.

There are hints the attack impacts common virtualisation environments including Amazon EC2 and Google Compute Engine...

Microsoft's Azure cloud – which runs a lot of Linux as well as Windows – will undergo maintenance and reboots on January 10, presumably to roll out the above fixes.

Amazon Web Services also warned customers via email to expect a major security update to land on Friday this week, without going into details.

There were rumors of a severe hypervisor bug – possibly in Xen – doing the rounds at the end of 2017. It may be that this hardware flaw is that rumored bug: that hypervisors can be attacked via this kernel memory access cockup, and thus need to be patched, forcing a mass restart of guest virtual machines.

A spokesperson for Intel was not available for comment. ®

Updated to add
The Intel processor flaw is real. A PhD student at the systems and network security group at Vrije Universiteit Amsterdam has developed a proof-of-concept program that exploits the Chipzilla flaw to read kernel memory from user mode:



The Register has also seen proof-of-concept exploit code that leaks a tiny amount of kernel memory to user processes.

Finally, macOS has been patched to counter the chip design blunder since version 10.13.2, according to operating system kernel expert Alex Ionescu. And it appears 64-bit ARM Linux kernels will also get a set of KAISER patches, completely splitting the kernel and user spaces, to block attempts to defeat KASLR. We'll be following up this week.


Source: https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/
 
Last edited by a moderator:
Amazon AWS and Google are both showing suffering from applying fixes, and I'd assume heavy lawsuits are the only way to go from here considering not only did Intel make companies lose millions worth of processing power, they also put their data and the users data at risk by cutting a corner that should never have been cut.

I was going to buy a set of xeons, but I guess I can just wait for AMD to make an explosive entry with their Snowy Owl while this is all going on.
 
God fucking damn it. I just built my system a year ago.

Apparently the Linux patch has been named: Forcefully Unmap Complete Kernel With Interrupt Trampolines (FUCKWIT)

Apparently the Linux patch will not affect gaming, but who knows with Windows.
I saw that too, http://www.pcgamer.com/serious-inte...-but-probably-wont-affect-gaming-performance/ . Hopefully Microsoft cares enough to minimize end user issues; considering I upgraded my comp around the same time as you. Switching cpu and mobo nececitates a complete rebuild, which nobody likes to do or pay for.
 
Last edited:
Sucks to be you guys, I'm on mobile.
Do you root your phone? This vulnerability will affect anything that you'd want to give root access to. So if you like to use apps that require root permissions to function at their best, this affects you if it's powered by an Intel.

How much do I realistically expose my system if I refuse the windows update?
Imagine a rootkit that isn't fixed by wiping and reinstalling your OS.

If you are using a free AV, I recommend slamming down some money on ESET if you take that risk.
 
Well my computer is an over a decade old piece of junk so the jokes on you!
300x300.jpg


If Windows taught us anything, never update. Now I have to go run Trumpet.

52c1004389187b843bf9db95d38e901c61ea3ba8ea392d21a1b1c1c803867511.png
 
Realistically speaking it's like locking your front door, but your window is also open as well as the door to your room.

Also you live in a migrant neighborhood and you've got a hot, white girlfriend passed out in bed that everyone can see.

Now that it is known, expect every hacker on earth working overtime to build exploits for the people that don't update. Basically they'll be able to access anything you do or see. Its catastrophically fucking bad and you can be affected by simply visiting the wrong webpage or a malicious ad with javascript.

Its every chip for a decade. Every. Single. One. Imagine small businesses running Intel chips from 2010 taking a 30% performance hit. Or servers. This is such a massive fucking disaster. I wouldn't be surprised if there's a run on AMD chips now. Nobody is going to want to pay for a CPU that is g0ing to be 30% slower than the asking price. If AMD doesn't jump on this opportunity, I'd be shocked.
 
How much do I realistically expose my system if I refuse the windows update?
It means any single process can take total control of your system and read/write every bit of data regardless of permissions, user-level or virtualization. IE. pulling your bitcoin private key directly out of system memory after you've decrypted it, potentially from inside a VM.
 
The Windows Update security fix has been released as of half an hour ago, but you might not see it just yet as they're usually staggered by region.

Note that Intel has been trying to spread around that the new exploit affects everyone, which is true, but it affects them in such a way that leads to the lower performance.

The bit about Skylake and beyond not seeing a significant impact in this article is horseshit.

---------------------------------------------------------------------------------------
Microsoft issues emergency Windows update for processor security bugs

Microsoft is issuing a rare out-of-band security update to supported versions of Windows today. The software update is part of a number of fixes that will protect against a newly-discovered processor bug in Intel, AMD, and ARM chipsets. Sources familiar with Microsoft’s plans tell The Verge that the company will issue a Windows update that will be automatically applied to Windows 10 machines at 5PM ET / 2PM PT today.

The update will also be available for older and supported versions of Windows today, but systems running operating systems like Windows 7 or Windows 8 won’t automatically be updated through Windows Update until next Tuesday. Windows 10 will be automatically updated today.

While Microsoft is quickly addressing the issues, the fixes will also rely on firmware updates from Intel, AMD, or other vendors that are rolling out. Some anti-virus vendors will also need to update their software to work correctly with the new patches, as the changes are related to Kernel-level access.

The firmware updates and software patches could cause some systems to run slower. Sources familiar with the situation tell The Verge that Intel processors that are based on Skylake or newer architecture won’t see a significant performance degradation. However, older processors could slow down more significantly due to the firmware and software updates.

Intel says any slow downs will be “workload-dependent,” but the company has not expanded on how this will affect older machines. Microsoft is also planning to update its cloud-based servers with the latest firmware and software patches, and these updates are rolling out now.

The Verge understands that Google is planning to document and disclose the security flaws in processors at 5PM ET today. The exact bug appears to be related to the way that regular apps and programs can discover the contents of protect kernel memory areas. Kernels in operating systems have complete control over the entire system, and connect applications to the processor, memory, and other hardware inside a computer. There appears to be a flaw in modern processors that let attackers bypass kernel access protections so that regular apps can read the contents of kernel memory.

Software vendors like Microsoft and other Linux programmers are protecting against this by separating the kernel's memory away from user processes in what’s being called “Kernel Page Table Isolation.” Linux patches have been rolling out over the past month, and now Windows patches are being made available today.

Microsoft has confirmed the Windows update in a statement:
Microsoft said:
We're aware of this industry-wide issue and have been working closely with chip manufacturers to develop and test mitigations to protect our customers. We are in the process of deploying mitigations to cloud services and have also released security updates to protect Windows customers against vulnerabilities affecting supported hardware chips from Intel, ARM, and AMD. We have not received any information to indicate that these vulnerabilities had been used to attack our customers.

Source: https://www.theverge.com/2018/1/3/16846784/microsoft-processor-bug-windows-10-fix

---------------------------------------------------------------

upload_2018-1-3_16-40-53.png

Source: https://twitter.com/never_released
 
Last edited:
unless your application has a lot of kernel calls because of context switching, the impact isn't going to be terribly big. i can see a lot of office based apps and the OS as a whole be impacted minorly in some specific cases - and even then i doubt the user will notice if an escalation or mode switch takes a microsecond or 30 longer.

Apparently, the people really fucked are people who rely on virtualization to sell VPS services where this would enable people on one virtual server to steal information from other servers and, presumably, exploit it to break into them or otherwise compromise sensitive information. Those people have a choice between taking an enormous performance hit or being insecure.

I hope there's a way to avoid this "update" without turning off updates entirely and just saying fuck it until my next computer.

Funny how, even though they've known about this for months, they waited until after the big holiday buying period to mention this bug existed.

It's almost like a 5 to 30% drop in CPU performance could have hurt their sales, but what do I know?

With that blatant fraud plus the insider trading someone should be criminally prosecuted for this. :optimistic:
 
Funny how, even though they've known about this for months, they waited until after the big holiday buying period to mention this bug existed.

It's almost like a 5 to 30% drop in CPU performance could have hurt their sales, but what do I know?

tech and/or entertainment corporations always do this shit. for example, microsoft waited until january 17 to announce scalebound's cancelation, despite them knowing its fate since late november '016.
november/december is where at least half of the sales from the whole year, come from. So no wonder they want to keep bad news, as far as possible, around that period.

also lol at the ceo selling all the stocks. You cant get more obvious than that.

This is the right punishment for all the intel fags, who kept giving them money, even after ryzen and threadripper came out.
 
Last edited:
Apparently, the people really fucked are people who rely on virtualization to sell VPS services where this would enable people on one virtual server to steal information from other servers and, presumably, exploit it to break into them or otherwise compromise sensitive information. Those people have a choice between taking an enormous performance hit or being insecure.

I hope there's a way to avoid this "update" without turning off updates entirely and just saying fuck it until my next computer.
They are very likely going to rely on one of the their update 'backdoor' addresses they don't normally call, much like they did for updating Windows 10 onto people's computers, given how close Microsoft and Intel are to each other.

Virtualization companies are going to be hit hardcore. For the end-user, it's not quite as big of a deal, but streamers and people who enjoy Bethesda games are going to feel the hurt.
 
If you do any sort of streaming and you're using an Intel processor, first check if your processor has any version of 'Intel Quick Sync' enabled on it. If not, and you have an NVIDIA card, read on.

You're going to want to switch over to using the NVENC encoder from now on.

upload_2018-1-3_17-7-29.png


NVENC is essentially the GPU handling video compression. It's generally considered lower quality but better for system performance already. Software encoding is entirely CPU-driven and is going to be one of the things most affected by this emergency hotfix.

If you have an Intel processor without Quick Sync and an AMD video card, you're kinda fucked (unless AMD has a GPU level video encoder I'm not aware of).

I thought this was just Intel
Is whoever wrote this article so stupid they don't even know x86 isn't ARM?
As far as I understand it, the method allows the AMD kernel to able to be affected but not directly read from like the Intel problem. AMD's problem is solved by a simple hotfix that won't impact performance at all, Intel's revolves around having to completely reinvent the wheel.

But don't quote me on that. I'm not an expert on kernels and I've completely forgot everything I've learned from my System Architecture classes.

It is clear that people using AMDs have nothing to worry about, and that's something you can quote me on.
 
Last edited:
As far as I understand it, the method allows the AMD kernel to able to be affected but not directly read from like the Intel problem. AMD's problem is solved by a simple hotfix that won't impact performance at all, Intel's revolves around having to completely reinvent the wheel.

But don't quote me on that. I'm not an expert on kernels and I've completely forgot everything I've learned from my System Architecture classes.

It is clear that people using AMDs have nothing to worry about, and that's something you can quote me on.
It sounds like an exploit based around speculative execution to get access to kernel space from userspace programs. The AMD flaw still allows this to an extent, but if you try to access the kernel's protected memory, you ought to get a page fault as expected. Intel just hands it all over because lol no security.

This is a real big fuckup and sharing architecture and reverse engineering leads to shared flaws. Some more bad than others.

ETA: To address the performance concerns, AMD shouldn't see any major performance impact because they don't have to fuck about with memory accesses because the kernel memory is still protected. Intel has to do more than access than before to add protection, which is why it is taking hits for every syscall.
 
Back