Fin 2022, alors que Sam Sabetan, chercheur en sécurité informatique, menait des recherches indépendantes sur la sécurité, il a découvert une série de vulnérabilités critiques dans la gamme de produits intelligents de Nexx, qui comprend des ouvre-portes de garage, des alarmes et des prises intelligentes. Ces vulnérabilités permettaient à des cybercriminels d’ouvrir et de fermer des portes de garage à distance. Elles permettent également de prendre le contrôle des alarmes et d’allumer et d’éteindre des prises intelligentes pour n’importe quel client.
« J’ai collaboré étroitement avec l’agence de cybersécurité et de sécurité des infrastructures du ministère américain de la Sécurité intérieure (« CISA ») pour divulguer de manière responsable les résultats de la recherche. La CISA a identifié les cinq CVE suivants :
- utilisation d’informations d’identification codées en dur CWE-798 (CVE-2023-1748, CVSS3.0 : 9.3) ;
- contournement d’autorisation via une clé contrôlée par l’utilisateur CWE-639 (CVE-2023-1749, CVSS3.0 : 6.5) ;
- contournement d’autorisation par une clé contrôlée par l’utilisateur CWE-639 (CVE-2023-1750, CVSS3.0 : 7.1) ;
- mauvaise validation d’entrée CWE-20 (CVE-2023-1751, CVSS3.0 : 7.5) ;
- mauvaise validation de l’authentification CWE-287 (CVE-2023-1752, CVSS3.0 : 8.1).
Quest-ce quun CVE ?
CVE, abréviation de Common Vulnerabilities and Exposures (vulnérabilités et expositions communes), est une liste de failles de sécurité informatique divulguées publiquement. Lorsqu’on parle d’un CVE, il s’agit d’une faille de sécurité à laquelle a été attribué un numéro d’identification CVE. Les avis de sécurité publiés par les fournisseurs et les chercheurs mentionnent presque toujours au moins un numéro d’identification CVE. Les CVE aident les professionnels de l’informatique à coordonner leurs efforts pour établir des priorités et remédier à ces vulnérabilités afin de rendre les systèmes informatiques plus sûrs.
Le programme CVE est supervisé par la société MITRE et financé par l’Agence pour la cybersécurité et la sécurité des infrastructures (CISA), qui fait partie du ministère américain de la sécurité intérieure. Les entrées CVE sont brèves. Elles ne contiennent pas de données techniques, ni d’informations sur les risques, les impacts et les correctifs. Ces informations figurent dans d’autres bases de données, notamment la National Vulnerability Database (NVD) des États-Unis, la base de données CERT/CC Vulnerability Notes Database et diverses listes tenues par des fournisseurs et d’autres organisations.
À travers ces différents systèmes, les identifiants CVE offrent aux utilisateurs un moyen fiable de reconnaître des vulnérabilités uniques et de coordonner le développement d’outils et de solutions de sécurité. La société MITRE tient à jour la liste CVE, mais une faille de sécurité qui devient une entrée CVE est souvent soumise par des organisations et des membres de la communauté open source.
Les identifiants CVE sont attribués par une autorité de numérotation CVE (CNA). Il existe environ 100 CNA, qui représentent les principaux fournisseurs de technologies de l’information, tels que Red Hat, IBM, Cisco, Oracle et Microsoft, ainsi que des entreprises de sécurité et des organismes de recherche. MITRE peut également émettre des CVE directement.
Les CNA reçoivent des blocs de CVE, qui sont gardés en réserve pour être associés à de nouveaux problèmes au fur et à mesure qu’ils sont découverts. Des milliers d’identifiants CVE sont émis chaque année. Un seul produit complexe, tel qu’un système d’exploitation, peut accumuler des centaines de CVE. Les rapports CVE peuvent provenir de n’importe où. Un fournisseur, un chercheur ou un simple utilisateur avisé peut découvrir une faille et la porter à l’attention de quelqu’un. De nombreux fournisseurs offrent des primes aux bogues afin d’encourager la divulgation responsable des problèmes de sécurité.
D’une manière ou d’une autre, les informations relatives à la faille parviennent à l’ANC. L’ANC attribue à l’information un identifiant CVE, rédige une brève description et inclut des références. Le nouveau CVE est ensuite publié sur le site web du CVE.
Souvent, l’ID CVE est attribué avant qu’un avis de sécurité ne soit rendu public. Il est courant que les fournisseurs gardent les failles de sécurité secrètes jusqu’à ce qu’un correctif ait été développé et testé. Cela réduit les possibilités pour les attaquants d’exploiter des failles non corrigées. Une fois rendue publique, une entrée CVE comprend l’identifiant CVE (au format « CVE-2023-1748 »), une brève description de la vulnérabilité ou de l’exposition à la sécurité et des références, qui peuvent inclure des liens vers des rapports et des avis de vulnérabilité.
Système commun d’évaluation des vulnérabilités (CVSS)
Les scores de base du système commun de notation des vulnérabilités (CVSS) fournissent des indications supplémentaires sur une vulnérabilité, en donnant une note de gravité détaillée en notant les aspects constants d’une vulnérabilité : Vecteur d’attaque, complexité de l’attaque, interaction avec l’utilisateur, privilèges requis, portée, confidentialité, intégrité et disponibilité.
Les mesures de base de la version 2 de CVSS sont disponibles pour toutes les vulnérabilités de 2009 à 2016, ainsi que pour certaines vulnérabilités antérieures. En 2016, certains fournisseurs ont adopté la norme CVSS v3.
Certains fournisseurs n’utilisent pas uniquement la notation CVSS pour déterminer la priorité avec laquelle les failles sont corrigées, ou pour déterminer la gravité de la vulnérabilité. Elle est utilisée comme ligne directrice pour identifier et décrire les métriques clés d’une faille, mais la priorité pour laquelle les failles sont corrigées est déterminée par la gravité globale de la faille en utilisant l’échelle à quatre points mentionnée ci-dessus. Le CVSS a pour but d’aider les clients à hiérarchiser l’ordre dans lequel ils corrigent les failles.
Il est déconseillé dutiliser un des produits intelligents de Nexx
Sam Sabetan, conseille à tous ceux qui en utilisent un des élements de la gamme de produits intelligents de Nexx le déconnecter immédiatement jusqu’à ce qu’elles soient corrigées.
Chaque appareil de 80 dollars, utilisé pour ouvrir et fermer les portes de garage et contrôler les alarmes de sécurité domestique et les prises électriques intelligentes, utiliserait le même mot de passe universel facile à trouver pour communiquer avec les serveurs de Nexx. Les contrôleurs diffusent également l’adresse électronique non chiffrée, l’identifiant de l’appareil, le prénom et l’initiale du nom de famille correspondant à chacun d’entre eux, ainsi que le message requis pour ouvrir ou fermer une porte ou allumer ou éteindre une prise intelligente, ou encore programmer une telle commande pour une date ultérieure.
Débrancher immédiatement tous les appareils Nexx
Toute personne disposant d’un bagage technique modéré peut rechercher sur les serveurs Nexx une adresse électronique, un numéro d’identification d’appareil ou un nom donné, puis envoyer des commandes au contrôleur correspondant. (Les contrôleurs Nexx pour les alarmes de sécurité domestique sont susceptibles de présenter une catégorie similaire de vulnérabilités). Les commandes permettent d’ouvrir une porte, d’éteindre un appareil connecté à une prise intelligente ou de désarmer une alarme. Pire encore, au cours des trois derniers mois, le personnel de la société Nexx, basée au Texas, n’aurait pas répondu à de nombreux messages privés l’avertissant des vulnérabilités.
« Nexx a toujours ignoré les tentatives de communication de ma part, du ministère de la sécurité intérieure et des médias », a écrit Sabetan dans un message. « Les propriétaires d’appareils doivent immédiatement débrancher tous les appareils Nexx et créer des tickets d’assistance auprès de l’entreprise pour lui demander de remédier au problème. »
Sabetan estime que plus de 40 000 appareils, situés dans des propriétés résidentielles et commerciales, sont concernés et révèle que plus de 20 000 personnes ont des comptes Nexx actifs.
Comme dit précédemment, les contrôleurs Nexx permettent aux personnes d’utiliser leur téléphone ou leur assistant vocal pour ouvrir et fermer leurs portes de garage, soit sur commande, soit à des moments programmés de la journée. Les appareils peuvent également être utilisés pour contrôler les alarmes de sécurité domestique et les prises intelligentes qui permettent d’allumer ou d’éteindre des appareils à distance.
Le pivot de ce système est constitué par les serveurs exploités par Nexx, auxquels se connectent le téléphone ou l’assistant vocal et l’ouvre-porte de garage. La procédure d’inscription d’un nouvel appareil se déroule en cinq étapes :
- l’utilisateur enregistre son nouvel appareil Nexx auprès du Nexx Cloud via l’application mobile Nexx Home ;
- en coulisses, le cloud Nexx renvoie un mot de passe que l’appareil doit utiliser pour les communications sécurisées avec le nuage Nexx ;
- le mot de passe est transmis au téléphone de l’utilisateur et envoyé à l’appareil Nexx par Bluetooth ou Wi-Fi ;
- l’appareil Nexx établit une connexion indépendante avec le Nexx Cloud en utilisant le mot de passe fourni ;
- L’utilisateur peut maintenant commander sa porte de garage à distance à l’aide de l’application mobile Nexx.
Voici une illustration du processus :
Un mot de passe universel facile à trouver
Pour que tout cela fonctionne, les contrôleurs utilisent un protocole léger connu sous le nom de MQTT. Abréviation de Message Queuing Telemetry Transport, il est utilisé dans les réseaux à faible bande passante, à forte latence ou instables pour favoriser une communication efficace et fiable entre les appareils et les services cloud.
Nexx utilise un modèle de publication à abonnement, dans lequel un message unique est envoyé entre les appareils abonnés (le téléphone, l’assistant vocal et l’ouvre-porte de garage) et un courtier central (le nuage Nexx). Sabetan a constaté que les appareils utilisent le même mot de passe pour communiquer avec le cloud Nexx. De plus, ce mot de passe est facilement accessible en analysant le micrologiciel livré avec l’appareil ou la communication entre l’appareil et le cloud Nexx.
« L’utilisation d’un mot de passe universel pour tous les appareils présente une vulnérabilité importante, car des utilisateurs non autorisés peuvent accéder à l’ensemble de l’écosystème en obtenant le mot de passe partagé », écrit Sabetan. « Ce faisant, ils pourraient compromettre non seulement la vie privée mais aussi la sécurité des clients de Nexx en contrôlant leurs portes de garage sans leur consentement. »
Lorsque Sabetan a utilisé ce mot de passe pour accéder au serveur, il a rapidement trouvé non seulement des communications entre son appareil et le cloud, mais aussi des communications entre d’autres appareils Nexx et le cloud. Cela signifie qu’il a pu passer au crible les adresses électroniques, les noms de famille, les premières initiales et les identifiants d’appareils des autres utilisateurs afin d’identifier les clients sur la base des informations uniques partagées dans ces messages.
Mais il y a pire encore. Sabetan pouvait copier les messages émis par d’autres utilisateurs pour ouvrir leurs portes de n’importe où dans le monde. Cela signifie qu’une simple opération de copier-coller suffisait pour contrôler n’importe quel appareil Nexx, quel que soit l’endroit où il se trouvait. Une vidéo de démonstration du piratage est présentée ci-dessous :
Compte tenu du grand nombre d’appareils concernés, l’agence américaine de cybersécurité et de sécurité des infrastructures a publié un avis suggérant aux utilisateurs de prendre des mesures défensives, notamment :
- réduire au minimum l’exposition au réseau de tous les dispositifs et/ou systèmes de contrôle, en veillant à ce qu’ils ne soient pas accessibles à partir d’Internet ;
- placer les dispositifs des systèmes de contrôle et les dispositifs à distance derrière des pare-feu et les isoler des réseaux d’entreprise ;
- lorsque l’accès à distance est nécessaire, utiliser des méthodes sécurisées, telles que les réseaux privés virtuels (VPN), en reconnaissant que les VPN peuvent présenter des vulnérabilités et qu’ils doivent être mis à jour avec la version la plus récente disponible. Reconnaître également qu’un VPN n’est aussi sûr que les appareils qui y sont connectés.
L’utilisation d’un mot de passe universel pour tous les dispositifs présente une vulnérabilité importante, car des utilisateurs non autorisés peuvent accéder à l’ensemble de l’écosystème en obtenant le mot de passe partagé. Ce faisant, ils pourraient compromettre non seulement la vie privée mais aussi la sécurité des clients de Nexx en contrôlant leurs portes de garage sans leur consentement.
En plus d’être largement disponible dans l’API de Nexx, le mot de passe codé en dur est également accessible au public dans le micrologiciel livré avec l’appareil.
Bien que pratique pour les utilisateurs, la fonctionnalité de minuterie et de programmation de l’application mobile de Nexx est susceptible de faire l’objet d’attaques de type « Insecure Direct Object Reference » (« IDOR »). Les vulnérabilités IDOR surviennent lorsqu’une application expose une référence à un objet interne, tel qu’un fichier ou une clé de base de données, sans contrôle d’autorisation adéquat.
En ce qui concerne les fonctions de minuterie et de programmation de Nexx, l’identifiant de l’appareil est envoyé à l’API sans vérifier si l’appareil est associé à votre compte. L’identifiant de l’appareil est un identifiant unique généré pour l’appareil lorsqu’il est enregistré dans le nuage de Nexx. Il est différent du numéro de série de l’appareil.
En modifiant le paramètre deviceId lors de la configuration d’un horaire ou d’une minuterie pour une porte de garage, il est possible de manipuler la fonctionnalité d’horaire ou de minuterie d’un autre appareil. Un exemple avec un deviceId modifié est présenté dans la requête de la figure.
Selon certains anlystes, ces mesures sont impossibles à mettre en uvre avec les contrôleurs Nexx, et se ramènent à l’insécurité générale de l’IdO et au conseil de Sabetan de se débarrasser du produit jusqu’à ce qu’un correctif arrive.
Sources :
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous des objets connectés utilisé pour notre sécurité ? Êtes-vous pour ou contre l’utilisation de ses objets ?
Voir aussi :