Apple’s M1 chips have an “unpatchable” hardware vulnerability that could allow attackers to break through the last security line, MIT researchers have found.
The vulnerability resides in a hardware-level security mechanism used in Apple M1 chips called pointer authentication codes or PAC. This feature makes it much more difficult for an attacker to inject malicious code into a device’s memory and provides a level of defense against buffer overflow exploits, a type of attack that forces memory to flow to other locations on the chip.
However, researchers at MIT’s Computer Science and Artificial Intelligence Laboratory have developed a new hardware attack, which combines memory corruption and speculative execution attacks to circumvent the security feature. The attack shows that pointer authentication can be defeated without leaving a trace, and because it uses a hardware mechanism, no software patch can fix this.
The attack, aptly named “Pacman”, works by “guessing” a pointer authentication code (PAC), a cryptographic signature that confirms that an app has not been maliciously modified. This is done using speculative execution – a technique used by modern computer processors to speed up performance by speculatively guessing different lines of calculation – to leak PAC verification results, while a hardware side channel reveals whether the guess was correct or not.
In addition, since there are only so many possible values for the PAC, the researchers found that it is possible to try them all to find the right one.
In a proof of concept, the researchers showed that the attack works even against the kernel — the software core of a device’s operating system — which has “huge implications for future security work on all ARM systems with pointer authentication enabled,” said Joseph Ravichandran, a researcher. PhD student at MIT CSAIL and co-lead author of the research paper.
“The idea behind pointer authentication is that if all else fails, you can still rely on it to prevent attackers from taking control of your system,” Ravichandran added. “We’ve shown that pointer authentication as a last line of defense isn’t as absolute as we once thought it was.”
Apple has so far implemented pointer authentication on all of its custom ARM-based silicon, including the M1, M1 Pro, and M1 Max, and a number of other chip makers, including Qualcomm and Samsung, have announced or are expected to ship new processors that support the hardware-level security feature. MIT said it hasn’t tested the attack on Apple’s unreleased M2 chip, which also supports pointer authentication.
“If our attack is not mitigated, our attack will affect most mobile devices, and probably even desktop devices in the coming years,” MIT said in the research paper.
The researchers – who presented their findings to Apple – noted that the Pacman attack is not a “magic bypass” for all security on the M1 chip, and can only catch an existing bug that pointer authentication protects against. When it was reached, Apple did not comment on the record.
Last May, a developer discovered a fatal flaw in Apple’s M1 chip that creates a hidden channel that two or more already installed malicious apps can use to send information to each other. But the bug was ultimately deemed “harmless” because malware cannot use it to steal or interfere with data on a Mac.