Did you know just how easily you can glitch microcontrollers? It’s so easy, you really have no excuse for not having tried it out yet. Look, [lord feistel] is doing glitching attacks on an ATMega328P! All you need is an Arduino board with its few SMD capacitors removed or a bare 328P chip, a FET, and some sort of MCU to drive it. All of these are extremely generic components, and you can quickly breadboard them, following [lord feistel]’s guide on GitHub.
In the proof-of-concept, you can connect a HD44780 display to the chip, and have the victim MCU output digits onto the display in an infinite loop. Inside of the loop is a command to output a smiley face – but the command is never reachable, because the counter is reset in an if
right before it. By glitching the ATMega’s power input, you can skip the if
and witness the ;)
on your display; it is that simple.
What are you waiting for? Breadboard it up and see for yourself, this might be the method that you hack your next device and make it do your bidding. If the FET-and-MCU glitching starts to fail you at some point, there’s fancier tools you can use, like the ChipWhisperer. As for practical examples, [scanlime]’s elegant glitching-powered firmware hack is hard to forget.
> [scanlime]’s elegant glitching-powered firmware hack
Speaking about Micah [scanlime], does anybody know how she is going? Her last edited videos are from 3 years ago… Wish you the best Micah!
I do really hope she’s okay too! She’s active online, just, not in the same ways than before
One of the things I learned in writing code for automotive applications is that you put little (goto 0) bits all over in your code, between things, especially between the code for different functions, so that if program flow gets badly interrupted by a glitch, it’ll likely hit a goto0 and end up in a known state.
Glitching is sin :)