Une faille logicielle de poste de travail expose les systèmes de contrôle industriels au piratage

Le logiciel utilisé pour programmer et déployer le code sur divers contrôleurs industriels Schneider Electric présente une faiblesse qui pourrait permettre aux pirates de prendre le contrôle à distance des postes de travail d'ingénierie.

Le logiciel, connu sous le nom d'Unity Pro, fonctionne sur les PC utilisés par les ingénieurs et comprend un simulateur pour tester le code avant de le déployer sur des automates programmables (API). Il s'agit des dispositifs matériels spécialisés qui surveillent et contrôlent les processus mécaniques - moteurs en rotation, vannes d'ouverture et de fermeture, etc. - à l'intérieur des usines, des centrales électriques, des raffineries de gaz, des services publics et d'autres installations industrielles.

Les chercheurs de la société de cybersécurité industrielle Indegy ont découvert que des attaquants non authentifiés pouvaient exécuter du code malveillant sur les ordinateurs Windows sur lesquels le simulateur PLC Unity Pro est installé. Ce code s'exécuterait avec des privilèges de débogage conduisant à un compromis complet du système.

Étant donné que Unity Pro est généralement installé sur des postes de travail d'ingénierie, un compromis de ces systèmes fournirait aux attaquants la possibilité de reprogrammer les API en production et d'interférer avec les processus critiques. De plus, ils pourraient leur donner accès à la propriété intellectuelle, comme les recettes secrètes des produits en cours de fabrication et qui peuvent être dérivés des programmes légitimes déployés sur les automates programmables..

Selon les chercheurs de l'Indegy, le simulateur Unity Pro PLC ouvre un service réseau sur les postes de travail qui écoute sur un port TCP spécifique et permet aux ordinateurs distants d'envoyer au simulateur du code de contrôle emballé dans un format propriétaire.

Tout ordinateur qui peut communiquer avec le poste de travail d'ingénierie via le réseau peut envoyer des fichiers .apx à exécuter par le simulateur PLC Unity Pro sans authentification. Le simulateur prend en charge les formats binaires pour différents automates Schneider Electric, y compris pour ceux qui utilisent l'architecture x86.

Les chercheurs d'Indegy ont découvert qu'ils pouvaient créer un fichier .apx contenant des instructions x86 malveillantes et que le logiciel Unity Pro exécuterait dans un processus enfant.

Le problème est que ce processus s'exécute avec des privilèges de débogage sur Windows afin que vous puissiez faire tout ce que vous voulez sur la machine, a déclaré Mille Gandelsman, CTO d'Indegy. Sortir de ce processus est trivial car il n'y a pas de bac à sable ni d'isolement de code, a-t-il déclaré.

En raison de leur position privilégiée, les postes de travail d'ingénierie sont ce que Gandelsman appelle les joyaux de la couronne des réseaux de contrôle industriels. Même si des pare-feu séparent les automates du reste du réseau, les postes de travail d'ingénierie seront toujours sur liste blanche et pourront communiquer avec eux car c'est leur rôle.

Selon un avis de sécurité de Schneider Electric concernant ce problème, il existe au moins un facteur limitant: l'attaque ne fonctionnera que si aucun autre programme d'application n'est en cours d'exécution dans le simulateur d'automate ou si cette application n'est pas protégée par mot de passe..

Pour cette raison, la nouvelle version 11.1 d'Unity Pro ne permettra pas le lancement du simulateur sans application associée. Cependant, "il appartient à l'utilisateur de sélectionner l'application par défaut Unity PRO à lancer par le simulateur et de protéger ce programme d'application par un mot de passe", a indiqué la société dans l'avis..

Schneider Electric n'a pas immédiatement répondu à une demande de commentaire.

Un autre facteur limitant est qu'un attaquant potentiel doit déjà avoir accès à un ordinateur sur le réseau qui peut communiquer avec la station de travail d'ingénierie Unity Pro en premier lieu.

L'accès à un tel ordinateur peut être obtenu de plusieurs façons, notamment par le biais d'attaques de logiciels malveillants, d'autres vulnérabilités et même d'initiés malveillants. Cependant, cette vulnérabilité met en évidence l'importance d'une bonne segmentation du réseau, où les actifs de contrôle industriel, y compris les postes de travail d'ingénierie, sont isolés du réseau informatique général d'une entreprise..

Rejoignez les communautés Network World sur Facebook et LinkedIn pour commenter des sujets qui vous tiennent à cœur.