Babyphone de Troie
Un Français a découvert début mars que le fournisseur chinois qui équipe des dizaines de modèles de caméras IP et babyphones vendus sur Amazon, Fnac, Cdiscount ou en marque blanche chez les opérateurs mobiles disposait d’un accès direct aux images de centaines de milliers d’appareils, au travers d’une infrastructure ouverte aux quatre vents. Deux mois plus tard, il publie l’ensemble de ses découvertes, qui dressent un tableau particulièrement inquiétant, et laissent supposer une utilisation à grande échelle des alertes émises par les caméras en question.
Quel meilleur cheval de Troie qu’un appareil dédié à la sécurité ? Le Français Sammy Azdoufal, développeur qui se présente comme spécialiste IA, a découvert début mars que plusieurs centaines de références de caméras IP, babyphones et autres accessoires dédiés à la surveillance domestique étaient susceptibles de présenter des failles béantes exposant les images capturées, et donc l’intimité des foyers concernés. En cause ? Une entreprise chinoise baptisée Meari, qui vend ses produits ou ses services principalement en marque blanche à des tiers.
Ces derniers distribuent ensuite les produits finaux concernés soit sous leurs propres couleurs, au travers notamment des places de marché de grands noms tels que Amazon, Fnac, Darty ou Cdiscount, mais aussi chez les opérateurs téléphoniques ou les acteurs de la télésurveillance, en marque blanche, à l’image du brésilien Intelbras.
Au total, le développeur affirme, liste à l’appui, avoir pu établir un lien direct entre Meari et 378 références distinctes de caméras, distribuées dans au moins 15 pays. Surtout, il explique à Next avoir pu directement compter plus de 1,1 million d’appareils vulnérables se connecter, en clair, aux serveurs de Meari, sur une simple période de 24 heures. « Si j’avais laissé tourner mon script une semaine, le volume d’appareils aurait sans doute été bien plus conséquent », estime-t-il.
Deux mois après sa découverte initiale, l’équipementier chinois est censé avoir sécurisé son backend, mais de nombreux comportements problématiques subsistent. « Disons que si j’avais un enfant, je n’achèterais pas une caméra équipée par Meari », résume Sammy Azdoufal.
Le précédent DJI
Si son nom vous dit quelque chose, c’est peut-être parce que l’intéressé n’en est pas à son coup d’essai. Mi-février, le développeur a eu les honneurs de la presse mondiale : il révèle avoir découvert de façon fortuite une faille de sécurité majeure affectant des milliers de robots aspirateurs DJI, alors qu’il bidouillait le sien pour voir s’il était possible de le commander à distance avec une manette de PS5.
Via cette porte dérobée, il devient en mesure de prendre le contrôle d’un robot aspirateur de son choix et donc d’accéder aux images que transmet le robot, simplement à l’aide de son numéro de série. Reproduite et racontée dans le détail par The Verge, sa découverte aboutit sur une conclusion effrayante : la prise de contrôle est possible parce que les robots de la marque communiquent en clair avec les serveurs MQTT de DJI, et que l’accès à ces derniers n’est pas dûment sécurisé.
Le 6 mars dernier, DJI a confirmé un problème de sécurité. Le constructeur a alors annoncé avoir corrigé une vulnérabilité au niveau de son infrastructure et évoqué, sans les nommer, la contribution de deux chercheurs indépendants. Sammy Azdoufal a de son côté indiqué avoir reçu la promesse d’un virement de 30 000 dollars dans le cadre du programme bug bounty de la marque.
Une application Android un peu trop bavarde
Ses travaux relatifs à Meari partent eux aussi d’une découverte fortuite, survenue le 2 mars dernier, avant même le dénouement de l’affaire DJI. « Je parlais de cette histoire d’aspirateur avec une collègue, elle m’explique qu’elle a acheté un babyphone sur Amazon, et se demande si c’est sûr de l’utiliser pour sa fille », nous raconte Sammy Azdoufal, contacté début mars. L’appareil fait partie des références premier prix vendues sur la plateforme.
Il ne dispose pas d’un environnement logiciel à ses couleurs mais fait appel à Cloudedge, une application « hub » dédiée aux objets connectés. En étudiant le code de l’application, le développeur découvre « plein de choses qui ne vont pas », dont des routes en clair vers des brokers MQTT : « J’essaie de me connecter pour voir, et là ça fonctionne ».
Avant d’aller plus loin, un petit point de vocabulaire s’impose peut-être. Dans le monde de l’Internet des objets (IoT), MQTT est un protocole de messagerie en étoile, qui sous-tend les échanges entre un serveur central (le broker MQTT dont il est question ici), et deux acteurs dont les rôles peuvent permuter : l’expéditeur (par exemple la caméra IP) et le destinataire (l’application mobile utilisée par son propriétaire). Quand votre caméra IP détecte un mouvement, elle envoie une alerte au broker MQTT, qui la relaie ensuite vers l’application mobile installée sur votre téléphone.
Dans le cas de l’application CloudEdge, nous avons pu vérifier début mars les affirmations de Sammy Azdoufal sur la base du client Android distribué via Google Play, et tout particulièrement la présence, en clair dans le code, d’une URL pointant vers la console d’administration du backend de Meari.
Le développeur pousse son investigation plus avant. « Après quelques tests, je me rends compte qu’ils ont laissé le mot de passe par défaut ». Une fois passée cette porte béante, « je réalise qu’il n’y a pas de vérification de la propriété par appareil, en m’abonnant à un broker je peux donc voir tout le monde ».
Dit autrement, une fois connecté au serveur, il est en mesure d’en observer l’activité, et par exemple d’y brancher le script grâce auquel il affirme avoir comptabilisé plus d’un million d’appareils connectés et donc vulnérables. Il indique également avoir pu accéder au CMS (l’outil de gestion du site Web) de Meari, utilisé notamment par les clients de l’entreprise pour gérer leurs propres flottes d’appareils ou leurs propres applications en marque blanche.
Il reste 61% de l'article à découvrir.
Vous devez être abonné•e pour lire la suite de cet article.
Déjà abonné•e ? Générez une clé RSS dans votre profil.