Cutting corners: All AMD processors released since 2013 are vulnerable to a pair of new side-channel attacks, "Collide + Probe" and "Load + Reload." Both exploit weaknesses in AMD’s L1D cache way predictor, a tool that predicts where data is stored in the processor, to detect when that data is accessed. By combining the new exploits with existing methodologies, researchers from the Graz University of Technology were able to crack open all the secrets of AMD processors in labs and real-world servers.
Processors run a lot of software concurrently and essential to systems' security is keeping programs separate so that one can't see what the other is doing, but new research into AMD’s processors has uncovered flaws that allow data to be shared between programs running on the same core.
“The key takeaway of this paper is that AMD’s cache way predictors leak secret information,” says the research paper from the Austrian team.
In both new exploits, collectively called "Take A Way" flaws, attacking software begins by picking an address corresponding with the target data’s address. The attacker then accesses the data stored in their version of the address, but that creates a link based on the address within the cache and the way predictor. The route the processor will take to access that address next time is guaranteed to be quite quick. But if the address is triggered a third time, then the processor will get to it slowly.
All the attacker has to do, then, is bring up that address at regular intervals. If it comes up quick then the victim hadn’t accessed it during the interval, but if it takes a while, it was accessed. This allows the attacker to monitor when the victim accesses data stored within the processor, without knowing where that data is, and without the requirement of sharing memory with the victim.
From there the researchers paired the exploits with existing attack patterns and weaknesses to stir up some trouble. They constructed a covert channel between two pieces of software that are not meant to be able to communicate. They were able to break ASLR (address space layout randomization) which is a key step in accessing processor memory. Subsequently, they were able to leak kernel data and even crack AES encryption keys.
In short, that’s the better part of the processor cracked open. It’s not easy to do, and it involves combining a lot of different exploits in some complex ways, but it’s possible. AMD has yet to respond to the paper's allegations, and perhaps most importantly, announce if this can be fixed via a firmware update and at what kind of performance cost. The flaws reportedly affect some older Athlon CPUs as well as all Ryzen and Threadripper processors.
There are quite a few of these hardware exploits out and about, though most of them up until now have targeted Intel processors. There haven’t been any attacks recorded in the wild yet. Furthermore, defenses against this specific attack shouldn’t be too difficult to implement according to the researchers. The team claims they notified AMD of their findings last August, so the company has had a long time to react and hopefully have a software update to remedy most of the issues soon. They do suggest that a watertight seal might involve physical updates to the architecture though.
Masthead Credit: Michael Dziedzic on Unsplash