this post was submitted on 22 Mar 2024
625 points (98.9% liked)

Technology

59217 readers
2372 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

The attack has been dubbed GoFetch: https://gofetch.fail/

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 35 points 7 months ago* (last edited 7 months ago) (3 children)

Wow, what a dishearteningly predictable attack.

I have studied computer architecture and hardware security at the graduate level—though I am far from an expert. That said, any student in the classroom could have laid out the theoretical weaknesses in a "data memory-dependent prefetcher".

My gut says (based on my own experience having a conversation like this) the engineers knew there was a "information leak" but management did not take it seriously. It's hard to convince someone without a cryptographic background why you need to {redesign/add a workaround/use a lower performance design} because of "leaks". If you can't demonstrate an attack they will assume the issue isn't exploitable.

[–] [email protected] 9 points 7 months ago* (last edited 7 months ago)

So the attack is (very basically, if I understand correctly)

Setup:

  • I control at least one process on the machine I am targeting another process on
  • I can send data to the target process and the process will decrypt that

Attack:

  • I send data that in some intermediate state of decryption will look like a pointer
  • This "pointer" contains some information about the secret key I am trying to steal
  • The prefetcher does it's thing loading the data "pointed to" in the cache
  • I can observe via a cache side channel what the prefetcher did, giving me this "pointer" containing information about the secret key
  • Repeat until I have gathered enough information about the secret key

Is this somewhat correct? Those speculative execution vulnerabilities always make my brain hurt a little

[–] [email protected] -2 points 7 months ago (1 children)

The more probable answer is that the NSA asked for the backdoor to be left in. They do all the time, it's public knowledge at this point. AMD and Intel chips have the requisite backdoors by design, and so does Apple. The Chinese and Russian designed chips using the same architecture models, do not. Hmmmm... They have other backdoors of course.

It's all about security theatre for the public but decrypted data for large organizational consumption.

[–] [email protected] 5 points 7 months ago (1 children)

I don't believe that explanation is more probable. If the NSA had the power to compell Apple to place a backdoor in their chip, it would probably be a proper backdoor. It wouldn't be a side channel in the cache that is exploitable only in specific conditions.

The exploit page mentions that the Intel DMP is robust because it is more selective. So this is likely just a simple design error of making the system a little too trigger-happy.

[–] [email protected] 2 points 7 months ago

They do have the power and they do compel US companies to do exactly this. When discovered publicly they usually limit it to the first level of the "vulnerability" until more is discovered later.

It is not conjecture, there is leaked documents that prove it. And anyone who works in semiconductor design (cough cough) is very much aware.