And as always, my argument against closed security chip hardware continues to strengthen. Google Titan, Apple M, Samsung Knox (NSA approved btw), its all the same.
Just in time for the M3 Air.
Thirds times the charm. We promise this one won’t have an unpatchable security vulnerabilitiy, honest g- Apple
Intel pioneered the way with Spectre and Meltdown.
They’ll just figure out a way to mitigate it at cost of performance hit.
This is the best summary I could come up with:
A newly discovered vulnerability baked into Apple’s M-series of chips allows attackers to extract secret keys from Macs when they perform widely used cryptographic operations, academic researchers have revealed in a paper published Thursday.
The flaw—a side channel allowing end-to-end key extractions when Apple chips run implementations of widely used cryptographic protocols—can’t be patched directly because it stems from the microarchitectural design of the silicon itself.
The vulnerability can be exploited when the targeted cryptographic operation and the malicious application with normal user system privileges run on the same CPU cluster.
Security experts have long known that classical prefetchers open a side channel that malicious processes can probe to obtain secret key material from cryptographic operations.
This vulnerability is the result of the prefetchers making predictions based on previous access patterns, which can create changes in state that attackers can exploit to leak information.
The breakthrough of the new research is that it exposes a previously overlooked behavior of DMPs in Apple silicon: Sometimes they confuse memory content, such as key material, with the pointer value that is used to load other data.
The original article contains 744 words, the summary contains 183 words. Saved 75%. I’m a bot and I’m open source!
The threat resides in the chips’ data memory-dependent prefetcher
Well that sounds extremely familiar. Nice to see the spirit of Spectre is still living on. The holy grail of speculation without any timing attack leaks is still eluding us, I guess.
When they say “side channel” do they mean with some sort of physical modification/access or purely via software means?
A “side-channel attack” is one where fundamental flaws in the encryption implementation method are targeted, as opposed to flaws in the cryptographic algorithm itself.
By means of analogy, if your cryptographic method is to go to a locked room to have a private conversation, then a spy doesn’t have to pick the lock if they can still hear you through the door. The locked-room security method itself isn’t flawed, but implementing it without a soundproof door has much the same result.
In this case:
The threat resides in the chips’ data memory-dependent prefetcher, a hardware optimization that predicts the memory addresses of data that running code is likely to access in the near future. By loading the contents into the CPU cache before it’s actually needed, the DMP, as the feature is abbreviated, reduces latency between the main memory and the CPU, a common bottleneck in modern computing. DMPs are a relatively new phenomenon found only in M-series chips and Intel’s 13th-generation Raptor Lake microarchitecture, although older forms of prefetchers have been common for years.
Security experts have long known that classical prefetchers open a side channel that malicious processes can probe to obtain secret key material from cryptographic operations. This vulnerability is the result of the prefetchers making predictions based on previous access patterns, which can create changes in state that attackers can exploit to leak information.
So, the encryption the chips use is solid, but some of the hardware employed can still leak data.
TL;DR branch prediction is unsafe, but what are you gonna do, take a 50% performance hit?
Thank you. So this isn’t like the TPM key extraction but closer to Spectre… got it.
I’m guessing it’s similar to spectre https://en.wikipedia.org/wiki/Spectre_(security_vulnerability)
Any chance this is just an exposure of a built in backdoor?
I think it’s more likely that this was unintended.
Store keys in software