L’équipe 82 de Claroty découvre cinq vulnérabilités dans le protocole MMS, posant des risques importants pour les appareils industriels

Les chercheurs de l’équipe 82 de Claroty ont identifié et signalé cinq vulnérabilités aux fournisseurs concernés par des problèmes dans la mise en œuvre du protocole MMS (Manufacturing Messaging Spécification). Ces vulnérabilités présentent des risques importants, car elles pourraient permettre à un attaquant de faire planter un appareil industriel ou même d’exécuter du code à distance dans certains scénarios. La divulgation du protocole MMS fait suite à une enquête approfondie de Team82 sur les implémentations commerciales et open source du protocole dans le secteur de l’électricité et sur la manière dont ils sont utilisés pour la communication entre les centres de contrôle et les appareils de sous-station numériques modernes.

La société basée à New York met également à disposition gratuitement un outil développé au cours de ses recherches appelé ‘Détecteur de pile MMS.’ L’outil s’est avéré inestimable pour identifier des implémentations spécifiques basées sur les charges utiles MMS observées et est disponible sur la page Team82 GitHub.

Dans un article de blog cette semaine, Mashav Sapir et Vera Mens, chercheurs de Claroty détails publiés sur cinq vulnérabilités découvertes dans deux implémentations du protocole MMS ; Bibliothèque libIEC61850 de MZ Automation et bibliothèque TMW IEC 61850 de Triangle Microworks. L’exploitation réussie de ces failles pourrait permettre à un attaquant de faire planter un appareil industriel ou, dans certains cas, de permettre l’exécution de code à distance.

La norme CEI 61850 définit la communication entre les appareils électroniques intelligents (IED) – des contrôleurs basés sur un microprocesseur qui communiquent avec des appareils de niveau inférieur, tels que des capteurs, et des systèmes SCADA (contrôle de surveillance et acquisition de données) de haut niveau.

Les services de communication au sein de la CEI 61850 sont mappés sur divers protocoles, notamment le MMS qui est utilisé entre les IED et les appareils SCADA pour échanger des informations de contrôle et lire et écrire des valeurs vers et depuis les IED ; GOOSE (Generic Object Oriented System Event) qui est utilisé entre les IED pour échanger des informations sur des sous-stations spécifiques contrôlées par l’IED ; et SV (Sampled Values) qui est utilisé pour échanger des mesures dans des environnements sensibles aux retards entre les IED et les unités de mesure.

« À l’origine, le protocole MMS a été développé au-dessus du Modèle de réseau OSIdéveloppé par l’ISO », selon les chercheurs. « Le modèle OSI, analogue au modèle TCP/IP (celui sur lequel Internet est construit), décrit l’infrastructure permettant d’interconnecter plusieurs réseaux informatiques. Contrairement au modèle TCP/IP à quatre couches, le modèle OSI comporte sept couches indépendantes.

Le protocole MMS, également référencé sous le nom OIN 9506a été développé par l’ISO en collaboration avec la CEI (Commission Electrotechnique Internationale) dans les années 90. Le protocole est largement utilisé par les industries électriques, automobiles et autres. Les principaux avantages du MMS par rapport aux autres protocoles de messagerie sont que, d’une part, le protocole comporte une grande couche d’abstraction et peut être utilisé par différents fabricants pour interconnecter différents types d’appareils, mais d’autre part, le protocole est bien défini dans un sens. de la façon dont la communication doit être construite et représentée, ce qui nécessite un accord minimum entre les différentes parties avant de pouvoir être interconnectées.

Le concept central du MMS et avec lequel l’abstraction discutée est réalisée est le modèle VMD (Virtual Manufacturing Device). Le modèle définit les objets virtuels, les services fournis par l’objet et les actions que le serveur MMS entreprend lorsqu’un service spécifique sur un objet spécifique est demandé. Il appartient à l’implémenteur du service d’associer l’objet à l’élément interne réel.

Les chercheurs ont expliqué que leur approche consistait à rechercher des vulnérabilités dans les implémentations populaires du protocole. « Découvrir les implémentations populaires est assez simple. Nous pouvons simplement rechercher des produits de serveur MMS en ligne, car les fournisseurs qui implémentent le protocole MMS le spécifient généralement. De plus, des versions open source sont disponibles.

En analysant les appareils exposés à Internet trouvés via des moteurs de recherche tels que Shodan et Censys, ils ont compilé la liste suivante de serveurs MMS populaires, notamment SISCO : bibliothèque MMS, Info Tech : Bibliothèque 61850, Automatisation MZ : libIEC61850 (open source), Triangle MicroWorks : kit d’évaluation de la bibliothèque 61850et ABB : mise en œuvre du MMS par ABB.

« Maintenant que nous avons une compréhension de base du protocole et une liste d’implémentations open source et fermées, l’étape suivante consiste à identifier des implémentations spécifiques basées sur les charges utiles MMS observées ; L’identification de ces implémentations est inestimable pour notre recherche sur les vulnérabilités », ont ajouté les chercheurs. « Pour réaliser cette tâche, nous avons développé un nouvel outil appelé « MMS Stack Detector ». L’outil examinera les informations uniques pour l’implémentation envoyées par le périphérique/serveur et demandera le nom de l’implémentation ainsi que d’autres informations utiles.

Les chercheurs de Team82 ont noté que lors de la recherche de vulnérabilités dans plusieurs implémentations de protocoles, le fuzzing est une approche favorable. En effet, les corpus générés par le fuzzing d’une application peuvent être utilisés pour tester d’autres applications. Lorsque la recherche est menée sur plusieurs piles de mise en œuvre, la recherche manuelle des vulnérabilités est moins réalisable.

Ils ont décidé de fuzzer deux implémentations MMS populaires : libiec61850 de MZ Automation (Open Source) et la bibliothèque de codes sources IEC 61850 de Triangle Microworks, un fournisseur de solutions pour les protocoles de communication SCADA.

“Nous avons commencé nos tentatives de fuzzing en ciblant une implémentation open source du logiciel de protocole MMS”, détaille le message. « L’incitation à commencer par une implémentation open source était le fait qu’il est plus facile de se préparer au fuzzing, cela implique de trouver des fonctions candidates au fuzzing pertinentes et de construire un harnais approprié. Après avoir acquis une certaine expérience avec le logiciel open source MMS et obtenu un large éventail de corpus à partir de processus de fuzzing existants, nous avons abordé le fuzzing binaire source fermée qui était plus difficile à cibler.

Les cinq CVE émis par ICS-CERT comprenaient le CVE-2022-2970 avec un score CVSS v3 de 10, qui identifie que le produit concerné ne nettoie pas les entrées avant l’utilisation de « memcpy », ce qui pourrait permettre à un attaquant de planter l’appareil ou d’exécuter à distance du code arbitraire. Le CVE-2022-2971 avec un score CVSS v3 de 8,6 indique que le produit concerné accède à une ressource en utilisant un type incompatible, ce qui pourrait permettre à un attaquant de faire planter le serveur avec une charge utile malveillante.

Le CVE-2022-2972 avec un score CVSS v3 de 10, le produit concerné est vulnérable à un débordement de tampon basé sur la pile, ce qui pourrait permettre à un attaquant de planter le périphérique ou d’exécuter du code arbitraire à distance. Le CVE-2022-2973 avec un score CVSS v3 de 8,6, il a été identifié que le produit concerné utilise un pointeur NULL dans certaines situations. ce qui pourrait permettre à un attaquant de faire planter le serveur.

Enfin, le problème a été signalé à Triangle MicroWorks, et un CVE-2022-38138 a été publié pour suivre cette vulnérabilité. La CISA a émis un consultatifrecommandant à leurs clients de mettre à jour la bibliothèque.

Les chercheurs ont également révélé qu’en utilisant des recherches supplémentaires sur les fuzz, « nous avons identifié des vulnérabilités dans d’autres implémentations, faisant planter avec succès les deux appareils prenant en charge le MMS dans notre laboratoire. Cela a une fois de plus mis en évidence le fossé entre les exigences de sécurité de la technologie moderne et les protocoles obsolètes et difficiles à remplacer.

Claroty a également dévoilé un contrôleur populaire et haut de gamme de Siemens. SIPROTEC5 utilise La pile MMS de SISCO pour le support MMS. “Nous avons divulgué cette vulnérabilité au fournisseur, le fournisseur a pu identifier la vulnérabilité et a mentionné que la vulnérabilité existe dans un logiciel tiers. Pile MMS SISCO et est suivi sous CVE-2015-6574. Par conséquent, Siemens a utilisé une version obsolète de la pile MMS vulnérable dans son micrologiciel.

En raison de cette divulgation, Siemens a mis à jour son micrologiciel avec une version mise à jour de la pile de protocoles et CISA a publié un consultatif pour alerter leurs clients de la mise à jour.

Les chercheurs en sécurité sont invités à poursuivre leurs efforts pour sécuriser les appareils ICS (systèmes de contrôle industriel) en examinant les implémentations de protocoles populaires, en trouvant les vulnérabilités via des méthodes de fuzzing ou manuelles et en les divulguant de manière responsable aux fournisseurs.

Anna Ribeiro

Rédacteur en chef de Cyber ​​News industrielles. Anna Ribeiro est une journaliste indépendante avec plus de 14 ans d’expérience dans les domaines de la sécurité, du stockage de données, de la virtualisation et de l’IoT.

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.