Les problèmes de sécurité avec les produits Smarter sont apparus pour la première fois en 2015, lorsque les chercheurs de la société de sécurité londonienne Pen Test Partners ont découvert qu'ils pouvaient récupérer une clé de cryptage Wi-Fi utilisée dans la première version de Smarter iKettle. Les mêmes chercheurs ont constaté que la version 2 de l'iKettle et la version alors actuelle de la cafetière Smarter présentaient des problèmes supplémentaires, notamment l'absence de signature de micrologiciel et aucune enclave de confiance à l'intérieur de l'ESP8266, le chipset qui formait le cerveau des appareils. Résultat : les chercheurs ont montré qu'un pirate pouvait probablement remplacer le firmware d'usine par un firmware malveillant. Le chercheur EvilSocket a également effectué une rétro-ingénierie complète du protocole de l'appareil, permettant de relancer le contrôle de l'appareil.
Il y a deux ans, Smarter a publié la version 3 d'iKettle et la version 2 de sa cafetière, a déclaré Ken Munro, un chercheur qui travaillait pour Pen Test Partners à l'époque. Les produits mis à jour utilisaient un nouveau chipset qui résolvait les problèmes. Il a déclaré que Smarter n'a jamais émis de désignation de vulnérabilité CVE et n'a pas recommandé publiquement à ses clients de ne plus utiliser l'ancienne cafetière. Les données du moteur de recherche du réseau Wigle montrent que les anciennes cafetières sont toujours utilisées.
La cafetière qui demande une rançon
Comme pour enfoncer le clou, Martin Hron, chercheur à la société de sécurité Avast, a procédé à une ingénierie inverse de l'une des plus anciennes cafetières pour voir quels types de hacking il pouvait faire dessus. Après seulement une semaine d'efforts, la réponse était sans appel : il pouvait déclencher la cafetière pour allumer le brûleur, distribuer de l'eau, faire tourner le moulin à grains et afficher un message de rançon, tout en émettant des bips répétés. Précisons que la seule façon d'arrêter le chaos était de débrancher le cordon d'alimentation.
Quant à sa motivation, il a expliqué que :
« Certaines recherches sont si amusantes qu'elles confirment pourquoi je fais ce travail. On m'a demandé de prouver un mythe, appelez-le un soupçon, que la menace des appareils IdO ne se résume pas à y accéder via un routeur faible ou une exposition à Internet, mais qu'un appareil IdO lui-même est vulnérable et peut être facilement être piraté sans forcément pirater le réseau ou le routeur. J'ai également parié que je pourrais faire persister cette menace et faire qu'elle présente un véritable danger pour n'importe quel utilisateur. Nous disons souvent que votre réseau domestique, considéré comme une chaîne de confiance, n'est aussi solide que son maillon le plus faible, mais que se passerait-il si la même chose était vraie au niveau de l'appareil ? Qu'est-ce que cela signifierait ?
« Supposons que vous ayez un appareil IdO bien protégé avec des fonctions accessibles via une API bien définie; même si vous pouvez contrôler l'appareil via l'API, vous ne pouvez probablement pas faire trop de mal. Le firmware, la programmation à l'intérieur de l'appareil, a des contraintes logiques qui ne vous permettent pas, par exemple, de fermer les portes de garage alors que quelqu'un se trouve sur leur chemin ou de surchauffer un appareil pour qu'il brûle.
« Nous avions l'habitude de croire que nous pouvions faire confiance au matériel, tel qu'un appareil de cuisine courant, et qu'il ne pouvait pas être facilement modifié sans démonter physiquement l'appareil. Mais avec les appareils "intelligents" d'aujourd'hui, ce n'est plus le cas. »
Comment a-t-il procédé ?
Lorsque Hron a branché sa cafetière Smarter pour la première fois, il a découvert qu'elle agissait immédiatement comme un point d'accès Wi-Fi qui utilisait une connexion non sécurisée pour communiquer avec une application pour smartphone. L'application, à son tour, est utilisée pour configurer l'appareil et, si l'utilisateur le souhaite, le connecter à un réseau Wi-Fi domestique. Sans chiffrement, le chercheur n'a eu aucun problème à apprendre comment le téléphone contrôlait la machine à café et, comme il n'y avait pas non plus d'authentification, comment une application de téléphone malveillante pouvait faire la même chose.
Cette capacité ne laissait toujours à Hron qu'un petit menu de commandes, aucune d'elles particulièrement nuisible. Il a donc examiné le mécanisme utilisé par la cafetière pour recevoir les mises à jour du micrologiciel.
« Le micrologiciel est à jour et il n'y a pas d'option facile pour pousser la mise à jour du micrologiciel pour pouvoir voir ce qu'il y a dans le trafic réseau. Ce qui est intéressant ici, c’est ce qui manque. Il n'y avait aucune communication à Internet ni de la cafetière ni de l'application. Alors, comment est-il possible que l'application sache que la cafetière dispose du dernier micrologiciel ? Les seuls paquets de données qui sont passés étaient ceux entre la machine et l'application lorsque l'application avait demandé à la machine la version du micrologiciel.
« C'est étrange, et cela semble nous dire que le micrologiciel n'est probablement pas sur Internet et doit faire partie de l'application. Nous avons donc ouvert le fichier .apk aussi facilement qu'un fichier .zip. Ce que nous avons trouvé là-bas a prouvé notre hypothèse.
« Le firmware fait partie de l'application Android et cela signifie également que les nouvelles versions du firmware sont toujours accompagnées de nouvelles versions de l'application. Cela est parfaitement logique si vous y réfléchissez une seconde. Le nouveau micrologiciel ajoute généralement de nouvelles fonctionnalités, qui doivent être reflétées d'une manière ou d'une autre dans l'interface utilisateur de l'application, et il nous permet de trouver un fichier contenant le micrologiciel sans même toucher l'appareil ».
Il a donc découvert que la dernière version du micrologiciel était stockée dans l'application Android qu'il pouvait donc installer sur un ordinateur afin de procéder à une rétro-ingénierie. Presque immédiatement, il a trouvé des cordes lisibles par l'homme.
« De cela, nous pourrions en déduire qu'il n'y a pas de cryptage, et le firmware est probablement une image "en clair" qui est téléchargée directement dans la mémoire FLASH de la cafetière », a-t-il écrit dans ce blog détaillé décrivant le hack.
Hron a cherché à savoir quel processeur la cafetière utilisait. Cela l'a contraint à démonter les composants internes de l'appareil, à trouver la carte de circuit imprimé et à identifier les puces. Par la suite, Hron a pu inverser les fonctions les plus importantes, y compris celles qui vérifient si une carafe est sur le brûleur, provoquent un bip de l'appareil et, surtout, installent une mise à jour.
Hron a finalement acquis suffisamment d'informations pour écrire un script python imitant le processus de mise à jour. En utilisant une version légèrement modifiée du micrologiciel, il a découvert que cela fonctionnait. C'était en quelque sorte son test « hello world ».
Des répercussions qui peuvent être plus profondes
L'étape suivante consistait à créer un micrologiciel modifié qui faisait quelque chose de moins inoffensif.
« À l'origine, nous voulions prouver le fait que cet appareil pouvait exploiter la crypto-monnaie », a écrit Hron. « Compte tenu du processeur et de l'architecture, c'est certainement faisable, mais à une vitesse de 8 MHz, cela n'a aucun sens car la valeur produite par un tel mineur serait négligeable ».
Le chercheur a donc opté pour autre chose : une machine qui exigerait une rançon si le propriétaire voulait qu'elle cesse de fonctionner de manière spectaculaire comme le montre la vidéo. Avec l'avantage d'un espace mémoire inutilisé dans le silicium, Hron a ajouté des lignes de code qui ont provoqué toute cette agitation.
« Nous pensions que cela suffirait à effrayer tout utilisateur et à en faire une expérience très stressante. La seule chose que l'utilisateur peut faire à ce stade est de débrancher la cafetière de la prise de courant. »
Une fois que le script de mise à jour de travail et le micrologiciel modifié sont écrits et chargés sur un téléphone Android (iOS serait beaucoup plus difficile, voire prohibitif, en raison de sa nature fermée), il existe plusieurs façons de mener l'attaque. Le plus simple est de trouver une cafetière vulnérable à portée de Wi-Fi. Dans le cas où l'appareil n'a pas été configuré pour se connecter à un réseau Wi-Fi, il suffit de rechercher le SSID diffusé par la cafetière.
La limitation de cette attaque, elle est évidente pour beaucoup de personnes, est qu'elle ne fonctionne que lorsque l'attaquant peut localiser une cafetière vulnérable et se trouve à portée Wi-Fi de celle-ci. Hron a déclaré que le moyen de contourner ce problème consiste à pirater un routeur Wi-Fi et à l'utiliser pour attaquer la cafetière. Cette attaque peut être effectuée à distance, mais si un attaquant a déjà compromis le routeur, le propriétaire du réseau a des choses pires qu'une cafetière défectueuse à redouter.
En tout état de cause, Hron a déclaré que l'attaque demandant une rançon n'était que le début de ce qu'un attaquant pourrait faire. Avec plus de travail, pense-t-il, un attaquant pourrait programmer une cafetière (et éventuellement d'autres appareils fabriqués par Smarter) pour attaquer le routeur, les ordinateurs ou d'autres appareils connectés au même réseau. Et l'attaquant pourrait probablement le faire sans signe manifeste que le dispositif a été compromis.
Hron a expliqué que « cela a été fait pour souligner que cela est possible et pourrait arriver à d'autres appareils IdO. C'est un bon exemple d'un problème prêt à l'emploi. Vous n'avez rien à configurer. Habituellement, les vendeurs n'y pensent pas. »
Source : Avast
Et vous ?
Disposez-vous d'appareils connectés à la maison ?
Que pensez-vous des découvertes du chercheur en sécurité ? Trouvez-vous cela surprenant ?
Que pensez-vous des déclarations du chercheurs qui indique que des un attaquant pourrait programmer une cafetière (et éventuellement d'autres appareils fabriqués par Smarter) pour attaquer le routeur, les ordinateurs ou d'autres appareils connectés au même réseau sans même que le propriétaire ne s'en rende compte ?