Remix.run Logo
Jerrrrrrrry 20 hours ago

Created a voltage drop that exactly occurred to be timed to the key comparison, then a spike at the continuation.

Irl noop and forced execution control flow to effectively return true.

B e a utiful

Retr0id 18 hours ago | parent | next [-]

No? It is crowbar voltage glitching, but you're significantly underselling it here. The glitching does not affect key comparisons.

It's a double-glitch. The second glitch takes control of PC during a memcpy. The first glitch effectively disables the MMU by skipping initialization (allowing the second glitch to gain shellcode exec). (I am also skipping a lot of details here, the whole talk is worth a watch)

btown 19 hours ago | parent | prev | next [-]

It's fascinating - how does one defend against an attacker or red-team who controls the CPU voltage rails with enough precision to bypass any instruction one writes? It's an entirely new class of vulnerability, as far as I can tell.

This talk https://www.youtube.com/watch?v=BBXKhrHi2eY indicates that others have had success doing this on Intel microcode as well - only in the past few months. Going to be some really exciting exploits coming out here!

PUSH_AX 18 hours ago | parent | next [-]

> how does one defend against an attacker or red-team who controls the CPU voltage rails

The xbox does have defences against this, the talk explicitly mentions rail monitoring defences intended to detect that kind of attack. It had a lot of them, and he had to build around them. The exploit succeeds because he found two glitch points that bypassed the timing randomisation and containment model.

poemxo 18 hours ago | parent [-]

I hope Apple is paying attention, since their first gen AirTags are vulnerable to voltage glitching to disable the speaker and the tracking warning.

nitros 14 hours ago | parent | next [-]

I don't see much motivation for fixing that when I can purchase a nrf52xx Bluetooth Beacon on aliexpress for €4 and flash it with firmware that pretends to be 50 different airtags, rotating every 10 minutes, and therefore bypassing all tracker detections.

extraduder_ire 12 hours ago | parent [-]

What's the battery life like on one of those?

nitros an hour ago | parent [-]

Months if the firmware properly sleeps.

Vexs 18 hours ago | parent | prev | next [-]

They're also, as it turns out, vulnerable to a drillbit

saagarjha an hour ago | parent | prev | next [-]

Apple has a team that works on glitching protection for their phones. Disabling the speaker on AirTags is a very different threat model.

mikepurvis 17 hours ago | parent | prev | next [-]

It's pretty trivial to just open it up and disconnect the speaker too. I took one apart to make a custom wallet card out of it and broke the speaker in doing so; the rest of it worked perfectly fine (though obviously the warning would still work).

tjoff 16 hours ago | parent | prev [-]

Isn't airtags completely and utterly broken, or has anything changed?

bri3d 18 hours ago | parent | prev | next [-]

It's not new - fault injection as a vulnerability class has existed since the beginning of computing, as a security bypass mechanism (clock glitching) since at least the 1990s, and crowbar voltage glitching like this has been widespread since at least the early 2000s. It's extraordinarily hard to defend against but mitigations are also improving rapidly; for example this attack only works on early Xbox One revisions where more advanced glitch protection wasn't enabled (although the author speculates that since the glitch protection can be disabled via software / a fuse state, one could glitch out the glitch protection).

mox1 16 hours ago | parent | prev | next [-]

Just so you know, hardware hackers have been doing this for 20+ years. Hacking satellite TV (google smart card glitching) was done the same way.

Its more that its really hard to do security when the attacker has unlimited physical access.

sabas123 18 hours ago | parent | prev | next [-]

> It's an entirely new class of vulnerability, as far as I can tell.

It is know as voltage glitching. If you're interested our research group applies to Intel CPUs. https://download.vusec.net/papers/microspark_uasc26.pdf

thebruce87m 17 hours ago | parent | prev | next [-]

The microcontrollers I worked on 15 years ago had low voltage detection:

https://en.wikipedia.org/wiki/Low-voltage_detect

LeonM 3 hours ago | parent [-]

Glitching attacks are typically performed by switching the supply voltage at quite high frequencies, a typical low-voltage detection won't trigger a reset under such conditions. And this is also why glitching attacks are often performed by spiking higher voltages, not lower. See for example Joe Grant's latest video on breaking crypto wallets [0].

Low-voltage detection is usually implemented as simple comparator which should trigger instantly, but often only on a single Vcc pin, and due to the decoupling caps found on a typical circuit design there is effectively an RC circuit that filters short fluctuations of supply voltage. So most low-voltage detection implementations only trigger on 'longer' periods of low voltage.

Traditionally low-voltage detection features (like brown-out detection) are there to guarantee functionality of the uC itself or the device the uC controls. It is typically not intended as a defence measure against these types of attacks. In fact, 15 years ago it may not have been much of a concern.

[0] https://www.youtube.com/watch?v=MhJoJRqJ0Wc

msla 19 hours ago | parent | prev | next [-]

You can't. Console makers have these locked-down little systems with all the security they can economically justify... embedded in an arbitrarily-hostile environment created by people who have no need to economically justify anything. It's completely asymmetrical and the individual hackers hold most of the cards. There's no "this exploit is too bizarre" for people whose hobby is breaking consoles, and if even one of those bizarre exploits wins it's game over.

And if you predict the next dozen bizarre things someone might try, you both miss the thirteenth thing that's going to work and you make a console so over-engineered Sony can kick your ass just by mentioning the purchase price of their next console. ("$299", the number that echoed across E3.)

xnyan 18 hours ago | parent [-]

> You can't

It's a moot point, they are not trying to prevent it. They only need to buy enough time to sell games in the lifespan of the hardware, which they did.

> all the security they can economically justify...

It seems like they did a perfect job, it lasted long enough to protect Microsoft game profits.

msla 12 hours ago | parent [-]

Well, they had better hope nobody notices how to use this flaw to chain into another one in the current generation.

phantom784 19 hours ago | parent | prev | next [-]

Could a chip detect this and reset?

mkipper 18 hours ago | parent | next [-]

I'm not at all familiar with the Xbox One, but this is a feature that's generally available if you're designing "closed" hardware like a console. Most SoC these days have some sort of security processor that runs in its own little sandbox and can monitor different things that suggest tampering (e.g. temperatures, rail voltages, discrete tamper I/O) and take a corrective action. That might be as simple as resetting the chip, but often you can do more dramatic things like wiping security keys.

But this exploit shows that it's still almost impossible to protect yourself from motivated attackers with local access. All of that security stuff needs to get initialized by code that the SoC vendor puts in ROM, and if there's an exploit in that, you're hooped.

johncolanduoni 18 hours ago | parent | prev [-]

Yes, and the Xbox One has mechanisms to do just that. But they turned out to not be fully sufficient.

jolan 18 hours ago | parent [-]

This attack is on the early models that didn't have those protections enabled. The researcher surmised that later models do indeed have anti-glitching mechanisms enabled.

ActorNightly 18 hours ago | parent | prev | next [-]

Basically if someone has physical access to device, its game over.

You can do things like efuses that basically brick devices if something gets accessed, but that becomes a matter of whether the attacker falls for the trap.

tverbeure 17 hours ago | parent | next [-]

> Basically if someone has physical access to device, its game over.

It took more than a decade to exploit this vulnerability and even then there are fairly trivial countermeasures that could have been used to prevent it (and that are implemented in other platforms.)

Nothing is unhackable, but it requires a very peculiar definition of "game over".

(And as others have pointed out: only early versions of this Xbos One where vulnerable to this attack.)

weli 31 minutes ago | parent [-]

The incentives to hack the XOne were few. Easy sideloading. No exclusives. Not a great performance per dollar ratio either. It is the opposite of Nintendo consoles if you think about it, and nintendo consoles are notorious for having a really quick homebrew scene.

selectively 15 hours ago | parent | prev | next [-]

This hasn't been true for the time a typical American high school senior has been alive. Please stop repeating things people said years ago.

beachy 18 hours ago | parent | prev [-]

Only if they leave a door open, which they did here.

If your argument is that you can't hope to close every door, then AI will make it easier to close all the doors in the future.

robotnikman 15 hours ago | parent [-]

>then AI will make it easier to close all the doors in the future.

AI could also make it easier to open the doors too.

stinkbeetle 11 hours ago | parent | prev | next [-]

Voltage glitching is an old technique. Here's a paper about it from 2 decades ago https://ieeexplore.ieee.org/document/1708651 but it is at least another decade older as an attack vector.

Defend against it one way by voltage monitoring or physical intrusion detection, and another way by droop and such detection and countermeasures on the device. Both probably just increase the cost of hacking it by some orders of magnitude, but that may be enough.

_kidlike 18 hours ago | parent | prev [-]

not a new vulnerability class.

Extremely impressive feat nonetheless!

braunshedd 18 hours ago | parent | prev | next [-]

The Xbox 360 was hacked in a simpler but nearly identical way [1]! Amazing that despite the various mitigations, the same process was enough to crack the Xbox One.

[1] https://consolemods.org/wiki/Xbox_360:RGH/RGH3

hedora 19 hours ago | parent | prev | next [-]

The earliest example I know of for this is CLKSCREW, but security hardware (like for holding root CA private keys) was hardened against this stuff way before that attack.

Has anyone heard of notable earlier examples?

bri3d 18 hours ago | parent [-]

In terms of fault injection as a security attack vector (vs. just a test vector, where it of course dates back to the beginning of computing) in general, satellite TV cards were attacked with clock glitching at least dating back into the 1990s, like the "unlooper" (1997). There were also numerous attacks against various software RSA implementations that relied on brownout or crowbar glitching like this - I found https://ieeexplore.ieee.org/document/5412860 right off the bat but I remember using these techniques before then.

platevoltage 10 hours ago | parent | prev [-]

This sounds like a way less crude version of the way many unlicensed NES cartridges got around the lockout chip. Just charge a capacitor and blast it at boot time.