Hacker la Xbox originale aujourd'hui avec un JTAG, cela n'a pas d'intérêt mais c'est tellement fun de faire ça que c'est ce s'est mis en tête Markus Gaasedelen.
Sortie en novembre 2001, la Xbox originale était la première aventure de Microsoft dans l'industrie des consoles de jeux. Avec son matériel ressemblant beaucoup à un PC bon marché mais polyvalent du début des années 2000, l'appareil a été immédiatement surveillé par des amateurs techniques cherchant à y exécuter du code « homebrew » et des systèmes d'exploitation alternatifs.
Au cours de sa vie, la Xbox a été piratée unilatéralement grâce à un large éventail d'attaques matérielles et logicielles. Mais à 20 ans d'âge, ce système Pentium III basé sur Intel constitue une plate-forme étonnante pour apprendre ou explorer une multitude de sujets liés à la sécurité et à l'ingénierie des systèmes informatiques qui sont toujours d'actualité à ce jour.
Pour s'éloigner de notre contenu habituel, cet article exploite une certaine nostalgie pour relever un défi lancé par certaines des premières réflexions des chercheurs Xbox originaux : « pirater » la Xbox originale via le processeur Intel x86 JTAG.
La Xbox originale, contrairement aux autres consoles des années 2000, disposait d'une architecture simple, un processeur Intel et un GPU nVidia, avec de la mémoire unifiée. La sécurité de la Xbox reposait fortement sur un bootrom « secret » de 512 octets soigneusement caché dans le Southbridge nVidia MCPX. Moins de trois mois après son lancement, ce bootrom secret a été tristement célèbre par Andrew « bunnie » Huang, ouvrant ainsi la console à des recherches plus approfondies.
Bunnie a dumpé la ROM secrète à l'aide d'un FPGA sur le bus HyperTransport alors qu'elle quittait le MCPX en direction du Northbridge/GPU, avant de passer par le bus frontal jusqu'au CPU. Cette attaque (entre autres) est décrite en détail dans le livre de Bunnie de 2003 : « Hacking The Xbox » (maintenant gratuit.).
En poussant un peu les recherches, le développeurs se sont aperçus que Microsoft avait intentionnellement relié la broche TRST à la terre sous le processeur Xbox dans le but de désactiver l'interface Intel JTAG et de dissuader quiconque de fouiller en ce sens.
Plus important encore, la boîte noire inversant les instructions JTAG privées d'Intel afin d'interroger la mémoire, les registres ou d'effectuer d'autres actions de type débogueur était considérée comme non exploitable.
Dans son article de blog, Markus Gaasedelen détaille comment il est arrivé à exploiter le JTAG sur l'Intel x86, il a fallu un examen poussé des fiches techniques des processeurs Intel, des manuels de développeurs, des conceptions de références pour comprendre au mieux le fonctionnement des débogueurs matériels.
Son article de blog revisite une vieille idée selon laquelle la Microsoft Xbox originale aurait pu être piratée via l'interface JTAG du processeur x86 d'Intel. Un PCB interposeur du CPU personnalisé a été créé pour transmettre les signaux JTAG à un débogueur matériel CodeTAP. Le bootrom secret de la Xbox a été dumpé avec succès via Intel JTAG, avec de réelles capacités de débogage dès la toute première instruction d'exécution, clôturant ainsi le chapitre d'une théorie vieille de 20 ans.
Si l'article complet vous intéresse : jtag-hacking-the-original-xbox