Sorti il y a à peine une semaine, le réveil connecté Alarmo de Nintendo a déjà été hacké par des bidouilleurs curieux. Mais qu'ont-ils réussi à faire avec ce gadget à première vue anodin ?
Lorsque Nintendo a dévoilé l'Alarmo le mois dernier, beaucoup ont été surpris. Au lieu d'annoncer la très attendue Switch 2, le géant japonais du jeu vidéo a sorti… un réveil. Mais pas n'importe quel réveil : un réveil connecté bardé de capteurs, avec un écran couleur de 2,8 pouces, le tout habillé aux couleurs de personnages Nintendo iconiques comme Mario ou Zelda. Et vendu pour la modique somme de 99 euros.
Mais il n'aura fallu que quelques jours après le lancement de l'Alarmo pour que des petits malins commencent à triturer ses entrailles électroniques. C'est le cas de Gary, un hacker qui s'est procuré un exemplaire dans le but avoué de voir jusqu'où il pouvait le bidouiller.
Connexion Wi-Fi, capteurs et firmware à décortiquer
Avant même de recevoir son Alarmo, Gary a pu bénéficier du travail préliminaire d'autres bidouilleurs qui avaient déjà ouvert leur exemplaire. Ils y ont découvert un microcontrôleur STM32H730ZBI6, une puce mémoire eMMC de 4 Go, ainsi que des pads SWD permettant de déboguer le microcontrôleur. De quoi mettre l'eau à la bouche de Gary.
Une fois son réveil en main, Gary a pu confirmer la présence d'une connexion Wi-Fi 2,4 GHz (pour télécharger des mises à jour logicielles et du contenu additionnel) ainsi que d'un capteur de présence à ondes millimétriques de 24 GHz. Pas mal pour un « simple » réveil ! Cerise sur le gâteau, le firmware principal a pu être extrait de la mémoire eMMC sans trop de difficultés, même si le microcontrôleur lui-même est protégé contre le dumping de firmware par un mécanisme appelé RDP (Readout Protection).
Des portes dérobées pour charger son propre code
En décortiquant le firmware, Gary a découvert quelques failles intéressantes. Il s'avère que lors du démarrage, le firmware est systématiquement chargé dans la RAM externe OSPI avant d'être exécuté. Un point d'entrée potentiel pour injecter son propre code.
Mais le plus intéressant est sans doute le mode de chargement par USB. En maintenant les 3 boutons de l'Alarmo appuyés au démarrage, on peut monter une partition sur laquelle déposer des fichiers binaires signés qui seront chargés par l'Alarmo. Une porte dérobée en bonne et due forme pour exécuter son propre code !
Mieux encore : les mises à jour firmware de l'Alarmo n'ont pas encore colmaté cette brèche, ce qui facilite grandement la tâche des bidouilleurs. Gary en a profité pour créer un projet GitHub permettant de hacker son Alarmo, par exemple pour y afficher des photos de chats. Parce que pourquoi pas, après tout ?
Des protections tenaces, mais qui peuvent être contournées
Malgré ces belles avancées, l'Alarmo n'a pas révélé tous ses secrets. Si le chargement USB permet de contourner la protection RDP pour exécuter du code custom, le microcontrôleur est également verrouillé par un mode d'accès sécurisé (Secure Access Mode) qui empêche le dumping complet du firmware. Mais nul doute que la communauté des hackers va continuer de plancher sur le sujet. Même si, en fin de compte, l'intérêt de bidouiller un réveil à 99 euros reste assez limité, c'est surtout le plaisir de comprendre comment ça marche et de repousser les limites qui motive ces petits génies de l'électronique.
Difficile de savoir si c'est Nintendo qui n'est pas douée pour protéger son hardware ou si les fans sont beaucoup trop zélés dans leur besoin de décortiquer les technologies de la marque japonaise. Rappelez-vous : Nintendo avait déjà connu des déboires avec la Switch dont le hack n'avait pris que quelques mois après sa sortie. Ce nouvel épisode n'augure rien de bon pour la Switch 2, même si on imagine que Big N mettra les bouchées doubles pour un lancement de ce calibre.
Source : Gary Odernichts