Het kostte me negen jaar om mijn Xbox 360 te hacken

In 2017 kocht ik een Matrix CoolRunner Rev D. Deze kleine chip wordt een 'glitcher' genoemd en is een type modchip. Het enige doel waarvoor hij is ontworpen, is om een korte energiepuls (~ 100 nanoseconden) naar een Xbox 360-console te sturen.

Je vraagt je misschien af: "Wat is daar het nut van?". Het antwoord is vrij interessant.

Microsoft is goed in beveiliging

Het komt neer op het simpele feit dat Microsoft heeft geleerd van de fouten van hun vorige console (de originele Xbox) en de beveiliging van diens opvolger goed heeft ontworpen.

Het is zelfs zo goed gedaan dat de console als essentieel onhackbaar werd beschouwd via conventionele methoden:

tmbinc zei het zelf: softwarematige benaderingen om onondertekende code op de 360 uit te voeren werken grotendeels niet; het systeem is vanuit een softwarepunt van uitzicht ontworpen om veilig te zijn. [1]

Het toegangspunt van het systeem, genaamd 1BL, is fysiek ingebakken in het silicium van de CPU van de Xbox 360 [2]. De taak van 1BL is om de volgende fase van de bootloader, genaamd CB, vanuit het flashgeheugen te laden en te verifiëren of deze door Microsoft is ondertekend.

Zonder de ondertekeningssleutels van Microsoft was er dus geen echte manier om de controle over het systeem over te nemen tijdens het bootproces. Dit wordt alleen maar moeilijker naarmate de console door de verschillende boot-fasen gaat. Aanvullende beveiligingsfuncties worden ingeschakeld terwijl het proces door de boot-chain cascadeert. Al deze functies zouden individueel omzeild moeten worden om code op de console te kunnen draaien die niet door Microsoft met een fijnkammetje is gecontroleerd.

Dus, als de deur van het kasteel op slot zit en de bewakers, die op slimme trucjes zijn getraind, bij de deur de identiteitsbewijzen controleren, hoe kom je dan binnen? Nou, je gebruikt geen sleutel. Je vertelt de bewaker dat zijn veters loszitten en slaat hem vervolgens met een knuppel op zijn hoofd.

De zwakke schakel vinden

Het punt is dat wanneer het slot zelf veilig is en de procedures rondom de toegang solide zijn, de zwakste schakel soms iets fundamentelers wordt. In onze metafoor is dit een persoon, maar in het geval van de Xbox 360 is het het feit dat computatie vertrouwt op stabiele energieomstandigheden om op een voorspelbare manier te functioneren.

Dit is het idee dat fault injection ondermijnt. In het geval van de Xbox 360 ontdekten onderzoekers dat door heel snel een reset-signaal op de CPU te schakelen (CPU_RESET) — een signaal dat normaal gesproken bedoeld is om de CPU te herinitialiseren — er iets veel interessanters gebeurde. In plaats van te resetten, voerde de CPU de huidige instructie onjuist uit.

(Afbeelding: Grafiek die glitching demonstreert als spanning over tijd [3])

Dit gaf de onderzoekers een zeer nuttige 'primitive'. Ze ontdekten dat een instructie die essentieel is voor het proces van signatuurverificatie, de mr (move register) instructie, geglitched kon worden zodat hij een waarde die hij wilde verplaatsen negeerde en in plaats daarvan een 0 naar het bestemmingsregister verplaatste [4].

Door simpelweg te weten wanneer ze de 'lampjes aan en uit' moesten schakelen, kregen ze arbitraire code-executie.

De toekomst is glitching

Het is verbazingwekkend dat dit soort esoterische side-channel aanvallen überhaupt bestaan. Maar ik denk dat het grotere punt is dat ze steeds gebruikelijker worden.

Het soort trust chains die de Xbox 360 tien jaar geleden moeilijk te hacken maakten, zijn inmiddels gangbaar geworden in de wereld van computerhardware. Microsoft zelf begon in 2021 met het afdwingen van hardware-backed secure boot voor hun besturingssystemen [5].

Recentelijk, in 2024, werden de beveiligingsfuncties van een ESP32 v3 (secure boot en flash-encryptie) omzeild met behulp van een fault injection aanval [6].

Er zijn ook recente voorbeelden waarbij specifiek de Raspberry Pi Pico microcontroller wordt ingezet om soortgelijke fault injection aanvallen uit te voeren:

  • De firmware van de Apple AirTag werd in 2021 gedumpt door stacksmashing met behulp van een Raspberry Pi Pico en fault injection [7].
  • De PicoFly modchip, uitgebracht in 2023 voor de Nintendo Switch, gebruikt fault injection om de secure boot op de console te verslaan [8].

Voor mij suggereert dit dat fault injection de afgelopen jaren een aantrekkelijkere aanvalsvector is geworden, omdat het beveiligingsecosysteem in de loop der tijd is verhard. Tegelijkertijd is het toegankelijker dan ooit geworden door de komst van goedkope en nauwkeurige microcontrollers zoals de Pi Pico.

Een liefdesbrief aan de Pico

(Afbeelding: De Raspberry Pi Pico microcontroller, uitgebracht in 2021 voor £5 door de Raspberry Pi Foundation [9])

De Pico zelf is veelzijdig omdat hij zeer precieze timing mogelijk maakt via zijn PIO-blokken. Deze gespecialiseerde blokken bevatten genoeg primitives om veel standaardprotocollen te implementeren en hebben een effectieve timingresolutie van ~7,5 nanoseconden dankzij de 133 MHz klok [10]:

$$\frac{1}{133\text{ MHz}} \approx 7.52\text{ns}$$

Ik heb deze veelzijdigheid zelf in de praktijk gezien toen ik in 2026 eindelijk de Matrix CoolRunner van het stof afveegde en besloot het nog een keer te proberen om mijn Xbox 360 te modchippen.

Terug in 2017, toen ik het apparaat kocht, was het vrij duur om een Xbox 360 te modchippen. Je had een aantal tools en vaardigheden nodig om erin te slagen:

  • Een glitching-chip
  • Soldeertin en een bout
  • Een NAND-programmeur
  • Een JTAG-programmeur

Ik probeerde wat geld te besparen door mijn eigen NAND/JTAG-programmeur te bouwen met de printerpoort (LPT-poort) van een zeer oude pc die ik speciaal hiervoor in reserve had. Als ik dit werkend had gekregen, had het meer dan 30 minuten geduurd om de NAND te dumpen. Ik herinner me de reden niet meer, maar het lukte me in 2017 niet en het project werd in de ijskast gezet.

(Afbeelding: Bedradingsschema LPT NAND dumper [11])

Hetzelfde proces in 2026 opnieuw proberen was in vergelijking een fluitje van een cent. Ik kon PicoFlasher flashen op een Pi Pico en deze solderen aan de juiste pads op mijn Xbox 360. De dump-operatie duurde toen slechts enkele seconden.

(Afbeelding: Raspberry Pi Pico aangesloten op de NAND interface header van de Xbox 360)

Op dezelfde manier flashte ik Pico-dirtyJTAG op een Pi Pico en kon ik de timing-bestanden van de CoolRunner programmeren met behulp van de timing-bestanden van Octal450 en door het urjtag project vanuit de broncode te installeren.

(Afbeelding: Raspberry Pi Pico aangesloten op de Matrix CoolRunner JTAG interface)

Samenvatting

Zelfs de meest zorgvuldig gebouwde toren kan instorten onder het gewicht van zijn eigen fundamentele aannames. Net als veel aspecten van computerbeveiliging is fault injection een kat-en-muisspel geworden, waarbij steeds geavanceerdere verdedigingen worden beantwoord met nieuwe tools en methoden om ze te omzeilen.

Ik denk dat we nu een punt hebben bereikt waarop DIY-tooling echt begint te schitteren, waardoor uitdagingen die tien jaar geleden nog dure, gespecialiseerde apparatuur vereisten, nu eenvoudig te overwinnen zijn.

Ik heb dit in eigen persoon ervaren: een project dat me in 2017 versloeg, werd in 2026 triviaal gemaakt door een microcontroller van £5.

Ironisch genoeg kwam vorige week nog een software-only exploit voor de Xbox 360 uit, waardoor mijn jaren van inspanning enigszins overbodig zijn geworden. Desalniettemin was het een fascinerende diepe duik in de innerlijke werking van de console en de beveiligingsmechanismen die zijn ontworpen om hem te beschermen.

Bronverwijzingen

  1. GliGli and Tiros, Reset Glitch Hack, geraadpleegd op 7 oktober 2026. https://github.com/gligli/tools/blob/master/resetglitchhack/resetglitchhack.txt
  2. Free60Project, BootProcess, Free60, geraadpleegd op 7 oktober 2026. https://free60.org/System-Software/BootProcess/
  3. Fault Injection Library, Overview – Voltage Glitching, geraadpleegd op 8 oktober 2026. https://fault-injection-library.readthedocs.io/en/latest/overview/
  4. Rodrigo Copetti, Xbox 360 Architecture – The Glitcher, A Practical Analysis, geraadpleegd op 8 oktober 2026. https://www.copetti.org/writings/consoles/xbox-360/#tab-13-1-the-glitcher
  5. Tom Warren, Microsoft’s Windows 11 will require TPM chips for security, The Verge, 25 juni 2021, geraadpleegd op 8 oktober 2026. https://www.theverge.com/2021/6/25/22550376/microsoft-windows-11-tpm-chips-requirement-security
  6. Delvaux et al., Fault Injection Attacks on the ESP32, USENIX WOOT 2024, geraadpleegd op 8 oktober 2026. https://www.usenix.org/conference/woot24/presentation/delvaux
  7. stacksmashing, Hacking Apple AirTags, YouTube, 2021, geraadpleegd op 8 oktober 2026. https://www.youtube.com/watch?v=E0PWQvW-14
  8. Ansem-SoD, Picofly, GitHub, 2023, geraadpleegd op 8 oktober 2026. https://github.com/Ansem-SoD/Picofly
  9. Raspberry Pi Foundation, Getting started with Raspberry Pi Pico, Raspberry Pi Projects, geraadpleegd op 8 oktober 2026. https://projects.raspberrypi.org/en/projects/get-started-pico-w/1
  10. Raspberry Pi Foundation, RP2040 Datasheet, geraadpleegd op 8 oktober 2026. https://datasheets.raspberrypi.com/rp2040-datasheet.pdf
  11. Superben51, How to hack (RGH) your Xbox 360, Instructables, geraadpleegd op 8 oktober 2026. https://www.instructables.com/How-to-hackRHG-your-Xbox-360/