Amazon Echo : un vecteur potentiel d’espionnage du foyer numérique
– Itespresso.fr – 2017 –
La société britannique de conseil en cybersécurité MWR Labs ne va pas jusque-là, mais affirme que l’assistant numérique peut être détourné par des tiers, entre autres pour intercepter toutes les données vocales que capte le microphone.
Le hack est rendu possible par la présence, sur le dessous de l’appareil, d’un connecteur à 18 points.
MWR Labs s’est engouffré dans une brèche ouverte par des chercheurs qui avaient exploité ce connecteur pour lancer un OS Linux depuis une carte SD (un wiki dédié a été mis en place, accompagné d’un livre blanc).
En utilisant les broches UART (RX en entrée, TX en sortie), la firme a pu suivre la séquence de démarrage de l’Echo.
Celle-ci se déroule en trois phases. Du code localisé dans une ROM cachée s’exécute d’abord pour établir une configuration matérielle de base. Il assure ensuite le chargement, dans le cache du processeur (un DM3725 de Texas Instruments, basé sur un cœur ARM Cortex-A8), d’un premier chargeur d’amorçage (X-loader) auquel succède un deuxième (U-Boot), placé en mémoire vive et qui charge le noyau.
L’Echo est paramétré de telle sorte que la carte SD externe a, au démarrage, la priorité sur le stockage interne. C’est irréversible à moins de modifier directement la carte mère.
Pour que le carte SD soit reconnue, il faut connecter six broches.
La bonne partition
La version de U-Boot utilisée par MWR Labs permet d’interrompre le processus de démarrage et d’ouvrir l’interface en ligne de commande. À partir de là, on peut accéder à la mémoire interne de l’appareil.
Cette dernière comprend huit partitions, dont « main-A » et « main-B », sur lesquelles le système de fichiers et le noyau se logent alternativement, au gré des mises à jour du firmware.
Une fois la bonne partition trouvée avec trois lignes de commandes, on peut configurer U-Boot pour qu’il démarre depuis ce volume, tout en modifiant les paramètres du noyau pour un montage en lecture-écriture.
Au redémarrage, on obtient, sur l’interface UART, un terminal en mode root, sans nécessité de s’authentifier.
MWR Labs monte alors la partition /var et y installe un shell inversé lui permettant d’établir une connexion distance sur le port 1 337.
Une fois la liaison effective, les chercheurs ont pu examiner les différents processus en cours d’exécution sur l’Echo. Et comprendre comment les données audio étaient créées et exploitées. Ils ont, en conséquence, développé un script qui intercepte toutes ces données et les transmet sur TCP/IP. Le tout sans aucun impact perceptible sur le fonctionnement de l’assistant.
La vulnérabilité n’est plus présente sur les Echo vendus en 2017, Amazon ayant empêché le démarrage sur SD externe en connectant deux broches (+3V et MOSI/CMD). MWR Labs reconnaît qu’il faut disposer d’un accès physique à l’appareil pour enclencher le hack, mais note que certains Echo sont particulièrement exposés, à l’image de ceux installés dans des chambres d’hôtel. On soulignera toutefois que le produit est doté d’un interrupteur pour couper le micro.