Unfixable Apple Exploit - How It Really Works

  Рет қаралды 15,053

Nathan Baggs

Nathan Baggs

2 ай бұрын

Let's take a deep dive into the GoFetch exploit. This targets Apple silicon (M1, M2 & M3) and is unpatchable.
Exploit site: gofetch.fail/
Become a member to get early access to videos - / @nathanbaggs
Want to build cool stuff from scratch? app.codecrafters.io/join?via=...
💭 All views are my own 💭

Пікірлер: 98
@nathanbaggs
@nathanbaggs 2 ай бұрын
Want early access to new videos and some behind the scenes content? Consider becoming a channel member kzbin.info/door/QvW_89l7f-hCMP1pzGm4xwjoin
@JacksonGolletz
@JacksonGolletz 2 ай бұрын
Really like the off-the-cuff, unrehearsed style! Came from your more scripted full-length videos and still definitely enjoy those, but this feels like a lecture with someone who is really in their element, and that scratches an entirely different itch.
@nathanbaggs
@nathanbaggs 2 ай бұрын
Thanks for the feedback! I’m experimenting with other types of content at the moment, I love doing the big project style videos but they take so long to make, script, film and edit. This was really fun to just switch on the camera and start talking
@skynmystical4861
@skynmystical4861 2 ай бұрын
@@nathanbaggsplease do more! I enjoyed this very much!
@tommo4k
@tommo4k 2 ай бұрын
After watching your video I checked out some of the articles online regarding this. It's funny to read 1) Their different attempts to reword the paper into simpler terms for people to understand, and 2) the level of scaremongering used from article to article - some are very upfront about the fact that this isn't something to worry about right now, while others are very happy to leave you in the dark about if you're safe or not. Great video.
@nathanbaggs
@nathanbaggs 2 ай бұрын
It’s good to have a variety of interpretations pitched at different levels, I just felt there was a gap for something more in depth
@fafardh
@fafardh Күн бұрын
Great video. It's nice for someone to go a bit more into the finer details of the attack rather than just harping on "It's in hardware! It's unfixable! Ohmygod ohmygodohmygod, P A N I C!!!111!!eleven!!" part. (Yes, I am late to the party. Been figuratively literally living under a rock for the past few months and am currently catching up on tech news ;) One minor correction though: Being a "local attack" does not mean "requiring physical access". No one needs to sit at your machine for this exploit. They'd only need to be able to run code on your machine, which sets the bar far lower as that could be done remotely, especially if your machine is already compromised (say by being infected with a virus). Hell, there are even ways to run code on your machine without compromising it (JavaScript, anyone?), though those are most likely unsuited for such highly timing-sensitive attacks at this, so I'd assume your machine would need to be already compromised for this attack to be realistically feasible. Still, whether you should be concerned about this attack with your threat model isn't something any article or KZbin video can tell you. Sorry to say, that'd be something you'd have to decide for yourself.
@nathanbaggs
@nathanbaggs Күн бұрын
Thanks! Yeah I realise my mistake after I filmed it, that’s the problem with just sitting down and talking with no script (:
@biltongza
@biltongza 2 ай бұрын
Really been enjoying your content lately, thanks for doing what you do. You answer a lot of questions I had as a kid playing games and never bothered to find out now as an adult in software engineering. A comment on your presentation where you illustrate by hand, this is something I’ve been dabbling with in my team at work and I’ve found that using different colours makes it not only more interesting, and thus more likely for people to follow along, but also easier to separate things or group common ideas, which makes it easier to follow along.
@Mikeo90
@Mikeo90 2 ай бұрын
Half the time i have no idea what your talking about. Sounds like gibberish yet i keep coming back. 😂 Keep up the great work. I like this on the fly kind of video. 🤙
@JohnAlanWoods
@JohnAlanWoods 2 ай бұрын
Another killer video Nathan, fast becoming the best (and most entertaining) engineering content on YT. I work in applied crypto. Funny that OpenSSL don’t care as local exploit out of scope, I mean they care enough to implement constant time functions for crypto in the first place and this only protects against local side channel anyway. Also with M3 and above you can use chicken bits to disable the DMP during critical path.
@FilthySchemer
@FilthySchemer 2 ай бұрын
Yes, I'm a pretty big fan of how Nathan always delivers his jokes deadpan in-between all of the technical information 😂
@alexanderborsch5978
@alexanderborsch5978 2 ай бұрын
Not like OpenSSL can fix Apple chips
@JohnAlanWoods
@JohnAlanWoods 2 ай бұрын
⁠@@alexanderborsch5978well yes that’s the point, they can fix it by disabling the DMP.
@brianl2607
@brianl2607 2 ай бұрын
i dont work in applied crypto (or any compsci field for that matter), and I easily understand why opensssl would say its outside their scope
@TheKing29102
@TheKing29102 2 ай бұрын
You are the GOAT. Been watching your videos when u had a few hundred subs and good to see how the channel is growing
@jenbanim
@jenbanim 2 ай бұрын
I quite like this format, I'd definitely enjoy seeing more technical deep-dives into vulnerabilities like this. Also yes lattice cryptography is still a big thing in post-quantum cryptography (27:31). In 2022 NIST released 4 quantum-resistant crypto algorithms and three of them were based on lattice cryptography
@nathanbaggs
@nathanbaggs 2 ай бұрын
Glad to know my knowledge isn’t too out of date then
@keshermedia
@keshermedia 2 ай бұрын
😳 Excellent review Nathan, thank you for explaining this so well! 👍👍👍
@temper8281
@temper8281 2 ай бұрын
Love the hands on explanation. Definitely helps me cut trhough the high level stuff which I always have trouble understanding.
@Cute_Maxi
@Cute_Maxi 2 ай бұрын
From my understanding, the M3 chips have the ability to turn off DMP for a performance hit unlike the M1/M2 which do not have this ability. Has anyone heard anything about Apple pushing out a patch to allow users to disable the prefetching just in case?
@NaNed
@NaNed 19 күн бұрын
Your explanations and knowledge distillation are exquisite. Thank you very much for sharing!
@lePoMo
@lePoMo 2 ай бұрын
"local": unless i'm mistaken, local access doesn't mean physical access, it means a process running on the machine. (this is in contrast to remote attack, e.g. by sending malformed network packets). local: so an attacker still somehow needs to get code to execute on your machine. * that could be code executed by another user on the same machine. generally a situation In server environments, e.g. on a shared host. * on a client device, that could be another process, e.g. a website, because a browser executes the JavaScript. JavaScript just being an example here. To my knowledge, browsers now all slightly abstract the clock as javascript sees it, so that javascript can no longer do timing attacks. it could also be an app from the app store, that despite having restricted access executes on the same cpu you could say. summary: "local": should not need physical access, but will still need some way to get a user or machine to execute your code.
@tytrvd
@tytrvd 2 ай бұрын
Great video Nate , the details and drawings really help me understand what's going on with he M1 chip
@highfiveshighfives4980
@highfiveshighfives4980 2 ай бұрын
I was just wondering if you would look into this. Thanks for the great explanation
@phutureproof
@phutureproof 2 ай бұрын
I remember a while back PHP hd an exploit similar to this, new functions were added and patched to make them time safe, I have no idea how to phrase that, anyway, thats my personal experience of this type of attack and it's super interesting to see it on a hardware level even though I have zero understanding of whats going on I can follow along, another great vid cheers man.
@niczoom
@niczoom 2 ай бұрын
Interesting Video. I like this format as well.
@daniel_8
@daniel_8 2 ай бұрын
your videos are gold!
@Mtaalas
@Mtaalas 2 ай бұрын
Well, I'd say the second attacker has a process running on the system itself, physically, all bets are off. That's a total failure of security in that point and it's obvious that it'll fall outside of SSL threat model. The same as if someone has physical access to a switch, then the network security has been breached and all bets are off.
@gardens9416
@gardens9416 2 ай бұрын
thats so insanely not the same lol
@ssygon2
@ssygon2 2 ай бұрын
15:50 Wow nice explanation of how can run a function at constant time. It's interesting at the beginning of video, how can use timing to get more info, when it checks each letter in a loop. 👍
@trickyd499
@trickyd499 2 ай бұрын
As a dev I really appreciate your videos, thank you so much!
@nathanbaggs
@nathanbaggs 2 ай бұрын
Thanks!
@danielschmid8530
@danielschmid8530 2 ай бұрын
Is game hacking even a challenge to you at that point? Outstanding video! Love all your stuff!
@jh500us
@jh500us 2 ай бұрын
Would you or someone be willing to make a M Chip vulnerability for dummies video? Explaining it to your granddad if he was interested in buying a new MacBook this month. This granddad has not yet found a video or article yet dumbed down enough.
@iGrave
@iGrave 2 ай бұрын
I think you mentioned it right at the end that it could be part of a payload/remote exploit - but what part of the process needs local access to the computer? It seems like you're just running some very unique code for sure, but still just code nonetheless. Regarding the multi hour part, surely you're also fine to scale that back, run it at 10% speed to not be noticed and accept you're going to get a result in a day or two rather than a trip to the movies. I would guess timing would be the most tricky, but I would guess that should just fall down to counting CPU cycles, not hooking up a multi-GHz oscilloscope. I don't know a huge amount about crypto, so excuse my ignorance :)
@user-sl6gn1ss8p
@user-sl6gn1ss8p 2 ай бұрын
yeah, I didn't understand why this can't be the payload of some virus-like thingy, but I'm not exactly an expert, as one might guess : p Maybe the point is that if you can do that, than there are other, much more dangerous things you'd rather be doing with this access, so who cares about this specific threat?
@renakunisaki
@renakunisaki 2 ай бұрын
Seems like it could probably even be done by a web page.
@smeagols_smelliest_smuggler
@smeagols_smelliest_smuggler 2 ай бұрын
Excellent explainer! I'd love to see more unscripted videos that 'breakdown' whitepapers or like you said, go a little more in depth.
@LukeAvedon
@LukeAvedon 2 ай бұрын
Dude you really know your stuff!
@nathanbaggs
@nathanbaggs 2 ай бұрын
Thanks! Although I’m by no means a crypto expert
@Satook
@Satook 2 ай бұрын
Great intro and deeper dive! BTW: i think you meant Contiguous instead of congruent.
@nathanbaggs
@nathanbaggs 2 ай бұрын
Yes I did! I tried doing this video unscripted so there’s a few errata
@Chiberia
@Chiberia 2 ай бұрын
I'm only 15 minutes in, but as someone stuck on Windows 10 because of Spectre, I'm not happy knowing my M1 was the computer I bought to replace it... as soon as you started getting into side channel attacks on the CPU cache my heart sank.
@thewelder3538
@thewelder3538 2 ай бұрын
There's an important detail missing from the paint example when doing DH key exchange. Although the common paint colour is known to an attacker, it must also be a colour that must not be able to be manipulated by an attacker too.
@nathanbaggs
@nathanbaggs 2 ай бұрын
By necessity some details will be lost in a high level explanation, I still think it’s one of the best ways of explaining the underlying concept
@thewelder3538
@thewelder3538 2 ай бұрын
@@nathanbaggs Very true, but it is a such a crucial detail. Failure to do this, completely destroys the entire security of the algorithm. How you ensure the agreed common 'colour', that's where I think it goes beyond the scope of a simple explanation.
@Marcus_613
@Marcus_613 2 ай бұрын
How this could be unpatchable on M1, M2 and M3 since there is a special bit on M3 to disable DMP ?
@linsteiner6428
@linsteiner6428 19 күн бұрын
Can you test that on your Mac?
@MrAasimonov
@MrAasimonov 2 ай бұрын
The article says the malicious code needs to run locally on the machine. Why are you saying that the attacked needs to be physically sat at the computer?
@nathanbaggs
@nathanbaggs 2 ай бұрын
A few people have pointed this out. I was a bit brusque in my explanation, it just needs code to be running locally on the machine
@gman8217
@gman8217 2 ай бұрын
impressive way to quickly take advantage of recent news props
@TwistedForHire
@TwistedForHire 2 ай бұрын
Did you mean arrays are stored contiguously? I hadn't heard it referred to it as congruantly. Just wondering
@nathanbaggs
@nathanbaggs 2 ай бұрын
You know what you are 100% right I did mean contiguously. I was trying out something different for this video (it being unscripted), so there’s a couple of errata. Thanks!
@TwistedForHire
@TwistedForHire 2 ай бұрын
@@nathanbaggs I really enjoyed the video and didn't even notice that it was unscripted. Love the content!
@u9vata
@u9vata 2 ай бұрын
I do not really understand why I would need to be at your computer in order to break these, because all I need is that you are running my program while at your computer - like you can put this in an application or a game silently. I see nothing about this not being able to do remotely - pretty much the opposite.
@nathanbaggs
@nathanbaggs 2 ай бұрын
Yes I think this might be an erratum. It just requires the attacker to be able to run a process on the same machine
@saultube44
@saultube44 2 ай бұрын
Is it OK if I call you the Froddo Baggens of Reverse Engineering?
@nathanbaggs
@nathanbaggs 2 ай бұрын
I’ve been called worse (:
@saultube44
@saultube44 2 ай бұрын
@@nathanbaggs 😅👍
@borisdg
@borisdg 2 ай бұрын
Is just M1 affected or the entire architecture aka A14 (Icestorm/Firestorm)? What about M2 and A15(Blizzard/Avalanche)? A16(Sawtooth/Everest)? A17 Pro?
@nholmes86
@nholmes86 2 ай бұрын
Entire..m1,m2and m3
@fafardh
@fafardh Күн бұрын
@@nholmes86 Other comments mentioned that starting with the M3, there's a flag that can be set in code to (temporarily?) disable the DMP, so cypto libraries can work around this on newer machines. Note that: a) this would technically not be a patch as the vulnerability would still be there. Crypto libraries would just be working around the vulnerability. b) this is just hearsay from other comments. I'm not knowledgeable enough about Apple's ARM chips to judge the veracity of this claim.
@renakunisaki
@renakunisaki 2 ай бұрын
Apple be like "let's invent the next Spectre bug"
@drelephanttube
@drelephanttube 2 ай бұрын
Say the attacker could crack it in say a minute, what would that give them the ability to do? Don't they already need local access to the PC?
@georgekontus6730
@georgekontus6730 2 ай бұрын
How do Intel and AMD processors differ from that? Why don't other processors leak or do they?
@tomysshadow
@tomysshadow 2 ай бұрын
There were some similar exploits called Spectre and Meltdown that affected Intel CPUs several years ago that were kind of similar in nature to this, so it's not an Apple specific phenomenon
@fafardh
@fafardh Күн бұрын
@@tomysshadow Yes and no. Timing-Based side-channel attacks have been known for a while now and do affect Intel and AMD chips as well. But ways to mitigate those, such as constant-time functions have since been implemented. This attack exploits a behavior exclusive to Apple's ARM chips to in turn break those mitigations, potentially rendering code vulnerable to timing-based side-channel attacks again. That behavior being (to the best of my knowledge) exclusive to Apple's ARM chips is why Intel and AMD chips aren't affected.
@Darieee
@Darieee 2 ай бұрын
don't wanna use an unsafe prime .. what my old man always told me ..
@agedvagabond
@agedvagabond 2 ай бұрын
Sleep a random number of ms each iteration of char[I] == char. Just to mess with the brute force hackers 😂
@nathanbaggs
@nathanbaggs 2 ай бұрын
LGTM
@falloutboy1234512345
@falloutboy1234512345 2 ай бұрын
whoah sir!
@qwert_au
@qwert_au 2 ай бұрын
but this poses a real threat for stolen devices, no?
@marcoesquandolez4737
@marcoesquandolez4737 2 ай бұрын
That’s what I think too
@ulysse31_aka_nix
@ulysse31_aka_nix 2 ай бұрын
Your explanation was really great ... Then you did was a lot of apple fan did ... You said "someone needs to be sat 2.5 hours at your machine" ... It is wrong ... Totally wrong and you know it: any application and/or service on the machine, that would have a RCE (remote code execution) flaw, would permit to run the code... And that app / service flaw does NOT even need to have specific permissions on the system: could be your browser, your download app... The answer from openssl is totally normal: since IT NOT there concern ! It is Apple concern and openssl cannot patch it !
@nathanbaggs
@nathanbaggs 2 ай бұрын
My focus was more on the runtime of the exploit rather than the access vector. I was trying something new with this video, doing it more raw and unscripted, as such there is a few errata. Eagle eyed watchers are always quick to point it out through and I've enjoyed going through the comments
@marcoesquandolez4737
@marcoesquandolez4737 2 ай бұрын
So, one has to be talented enough to pull this off and it’s more difficult remotely?
@MrAasimonov
@MrAasimonov 2 ай бұрын
It’s a good video, but the number of adverts is way over the top. For a 30-min video there were approximately 7 ad breaks. It comes across as greedy, unfortunately.
@nathanbaggs
@nathanbaggs 2 ай бұрын
I just mark points in the video I think would be ok for an ad, it's really up to KZbin how many ads to serve. Sorry you had a bad experience with it though
@MenkoDany
@MenkoDany 2 ай бұрын
Does this add to the attack surface of the setup app so it can be bypassed? I've a legitimately purchased activation locked M1 Macbook Pro that Apple simply refuses to unlock even though I provided them with the motherfucking receipt. (It was a company device that was on loan to someone and they RMA'd it & never removed the device from their icloud)
@juanmacias5922
@juanmacias5922 2 ай бұрын
Sounds like this would be a bad time to get your m1-m2 stolen lol
@frizzbeees
@frizzbeees 2 ай бұрын
:3
@mrboblox4444
@mrboblox4444 2 ай бұрын
Hello Great Sirs :D
@spareroomtech
@spareroomtech 2 ай бұрын
So what, practically, can this be used to do by an attacker? Break Filevault? Reveal passwords? I think maybe I'm not smart enough to fully understand it entirely. Ha.
@itwork6810
@itwork6810 2 ай бұрын
People are hyperventilating about this because they are worried about their private keys being stolen and then they lose or their crypto. And say things like don’t connect to a public WiFi under any circumstances. And giving every M1 user the impression that they should never buy an Apple computer because the are now fu___ed. However, having watched your great video, it seems that the attack vector is pretty low. How a person might choose to hack somebodies computer to steal private keys is probably more simple. Such as observing the keys entered into the keyboard either visually or remotely. And then just logging in and exporting the private keys. Would you agree that KZbinrs are being way to scare mongering ? And also, is it really impossible to fix ?
@nathanbaggs
@nathanbaggs 2 ай бұрын
I think KZbin is highly competitive so I understand people using sensationalism to try and stand out. In terms of unfixable, this is not something they can change with a software patch as it’s part of the silicone, however I believe it is possible to disable the DMP with some flags
@nholmes86
@nholmes86 2 ай бұрын
In my understanding it was not a mistake…because only programmers can do this.
@Maxtraxv3
@Maxtraxv3 2 ай бұрын
so this exploit is realistically unusable.
@Nesh108
@Nesh108 2 ай бұрын
Well done watching the video 👍
@affieuk
@affieuk 2 ай бұрын
On it's own, yes, however in the real world attackers chain multiple exploits together so maybe use another remotely executable exploit and then use this one. Likely if someones going through the trouble it's be high value targets and not your average Joe.
@Chiberia
@Chiberia 2 ай бұрын
it's not as bad as Spectre, but it's still a pretty significant side channel attack. you can do a lot of damage with that, especially if you pair it with other methods. this also assumes it stops here, and the exploit doesn't evolve. OpenSSL saying it's "outside of their threat model" doesn't necessarily mean it doesn't matter, it just means there's nothing they, in particular, can do about it, through software, and is arguably a reckless thing to toss out there.
@zxcvb_bvcxz
@zxcvb_bvcxz 2 ай бұрын
Was the thumbnail AI generated?
@nathanbaggs
@nathanbaggs 2 ай бұрын
Yup, thought I’d try something different as this is a different style of video for me anyway
@zxcvb_bvcxz
@zxcvb_bvcxz 2 ай бұрын
@@nathanbaggsGross (good video, though)
@belg4mit
@belg4mit Ай бұрын
Are t'authors from Yorkshire? (ey up)
@nathanbaggs
@nathanbaggs Ай бұрын
Wipe tha bloody feet
@Deadsoul-wo4of
@Deadsoul-wo4of 2 ай бұрын
Crash different, total garbage!
I Made A Virus - I Instantly Regretted It
12:44
Nathan Baggs
Рет қаралды 18 М.
The Apple M-Series GoFetch Attack
58:29
Molly Rocket
Рет қаралды 20 М.
They RUINED Everything! 😢
00:31
Carter Sharer
Рет қаралды 25 МЛН
Купили айфон для собачки #shorts #iribaby
00:31
When Steve And His Dog Don'T Give Away To Each Other 😂️
00:21
BigSchool
Рет қаралды 17 МЛН
WHY THROW CHIPS IN THE TRASH?🤪
00:18
JULI_PROETO
Рет қаралды 9 МЛН
How Do Hackers Actually Cheat In Games?
12:38
Nathan Baggs
Рет қаралды 29 М.
Apple's Silicon Magic Is Over!
17:33
Snazzy Labs
Рет қаралды 946 М.
Why Don't You Make Your OWN Game Engine?
7:23
Skeffles
Рет қаралды 5 М.
Fixing Multiplayer Of A 25 Year Old Game
12:37
Nathan Baggs
Рет қаралды 96 М.
How CPUs do Out Of Order Operations - Computerphile
24:12
Computerphile
Рет қаралды 60 М.
The Algorithm Behind Spell Checkers
13:02
b001
Рет қаралды 402 М.
Reverse Engineering RollerCoaster Tycoon | How does it work?
38:54
Nathan Baggs
Рет қаралды 225 М.
i cant stop thinking about this exploit
8:40
Low Level Learning
Рет қаралды 344 М.
Hacking This Game To Remove Jump Scares (Observation Duty)
10:19
Nathan Baggs
Рет қаралды 14 М.
Не прокатило 😳
0:20
Pavlov_family_
Рет қаралды 7 МЛН
Разрезанный Человек 🤯
0:31
MovieLuvsky
Рет қаралды 6 МЛН
Kitten Party After Exhausted Mother Cat Meltdown #funny #catlover #cuteanimals #cartoon
0:32