Nous sommes heureux de vous présenter une série de blogs d'analyse technique portant sur divers CVE (Common Vulnerabilities and Exposures) qui peuvent être identifiés et corrigés à l'aide de nos technologies de détection des menaces avancées.Toutes les recherches sont effectuées par des étudiants diplômés qui ont participé au programme Cybersecurity Fellowship (OPSWAT ), lancé en décembre 2023.
Dans ce blog, nous expliquerons la CVE-2017-14469 de Rockwell Micrologix et comment les organisations peuvent se défendre contre les attaques d'exploitation de la CVE- 2017-14469.
Contrôleur Rockwell Automation MicroLogix 1400
Un automate programmable (PLC) est un ordinateur conçu spécifiquement pour contrôler les processus de fabrication industrielle. Il est utilisé dans des secteurs d'infrastructure critiques, tels que les lignes d'assemblage, la surveillance des machines, le contrôle des processus, etc. Le contrôleur MicroLogix 1400 de Rockwell Automation est un automate modulaire et extensible doté d'un grand nombre d'E/S, d'un compteur rapide et d'une prise en charge améliorée du réseau, ce qui le rend adapté à une large gamme d'applications.
14469
Une vulnérabilité dans le FRN 21.2 de Rockwell Automation MicroLogix 1400 Series B et les versions antérieures permet à un attaquant de lire et d'écrire/écrire des données sensibles sur le périphérique. Un paquet non authentifié et spécialement conçu contenant une commande conduirait à la modification du numéro de routine de défaut défini par l'utilisateur, ce qui entraînerait un arrêt inattendu de l'exécution du périphérique.
La base de données nationale des vulnérabilités (NVD) a classé cette vulnérabilité comme "critique" avec un score CVSS (Common Vulnerability Scoring System) maximal. Son impact peut affecter de manière significative la confidentialité, l'intégrité et la disponibilité d'un appareil sans nécessiter d'authentification supplémentaire. La disponibilité du système est cruciale, en particulier dans les systèmes d'infrastructure critiques, où toute interruption ou tout temps d'arrêt peut entraîner des pertes financières massives, voire des dommages physiques. Ce CVE peut entraîner l'arrêt des fonctions de l'automate en déclenchant une "défaillance du système" au sein du contrôleur, ce qui présente un risque d'interruption des systèmes d'infrastructure critiques.
Analyse de la vulnérabilité
Le concept d'erreur est très proche de celui d'exception en programmation. Lorsqu'une erreur se produit, l'exécution de l'instruction est interrompue, ce qui place l'appareil dans un état d'erreur. Les fautes peuvent être classées en deux catégories : les fautes d'utilisateur et les fautes de non-utilisateur.
Il existe deux mécanismes d'effacement des défauts : l'effacement automatique par un cycle d'alimentation du contrôleur, ou l'effacement manuel avec une routine de défaut utilisateur, qui est une procédure qui peut être configurée pour s'exécuter automatiquement en réponse à un défaut utilisateur. Le CVE-2017-14469 concerne le second mécanisme. Pour éviter que le système ne s'arrête ou n'interrompe son exécution de manière inattendue en raison d'une erreur de l'utilisateur, une routine d'erreur de l'utilisateur est définie pour gérer les erreurs attribuées en fonction de leur numéro d'erreur et est exécutée lorsque l'erreur correspondante se produit. S'il n'y a pas de routine pour gérer le défaut, l'appareil arrête l'exécution et affiche le numéro du défaut. La valeur de la routine d'erreur utilisateur est fixée à 0x00 lorsque l'appareil fonctionne normalement, et elle ne doit être configurée que dans la plage de 0x03 à 0xFF pour la gestion des erreurs.
Le MicroLogix 1400 de Rockwell Automation comporte trois positions de commutateur de mode : PROGRAM, REMOTE et RUN. Les modes PROGRAM et REMOTE permettent de télécharger des programmes vers l'appareil, tout en acceptant et en traitant les demandes entrantes. Cependant, en mode RUN, l'appareil n'accepte que des requêtes restreintes. Dans le contexte de cette vulnérabilité, l'exploitation n'est pas possible si le dispositif est en mode RUN.
- Mode inactif, utilisé pour le téléchargement et l'édition de programmes
- Répond aux messages sur le port de communication
- Exécution interrompue et aucune sortie
- Permet à une session logicielle de contrôler l'appareil
- Répond aux messages sur le port de communication
- Exécution et sortie normales
L'appareil communique via le protocole CIP (Common Industrial Protocol) avec l'extension PCCC. Le protocole CIP s'appuie sur le protocoleIndustrial Ethernet/IP. La structure d'un paquet est illustrée dans la figure ci-dessous :
Comme le montre l'image ci-dessus, aucun champ n'est réservé à l'authentification. Cela pose un problème important, car l'appareil n'est pas en mesure de faire la différence entre les demandes d'un attaquant et le trafic normal d'un utilisateur.
En général, un opérateur peut surveiller et mettre à jour la configuration du dispositif par l'intermédiaire d'un logiciel de contrôle. Pour communiquer avec l'appareil, le Software contrôle envoie une demande correspondante avec une commande d'écriture ou de lecture logique protégée, en remplissant l'objet CIP PCCC. Dans le format du protocole CIP PCCC, une commande est identifiée par son code de commande et son code de fonction.
Code de commande | Code de fonction | Description |
0x0F | 800 | Mode de changement |
0x0F | 0xAA | Écriture logique protégée avec trois champs d'adresse |
0x0F | 0xA2 | Lecture logique protégée avec trois champs d'adresse |
La commande d'écriture logique protégée est utilisée pour écrire dans des fichiers sensibles, tels que le fichier d'état, le fichier de bits, le fichier de compteurs et d'autres configurations de l'appareil.
L'appareil utilise trois champs d'adresse dans le paquet CIP pour identifier l'emplacement pour la lecture et l'écriture : le type de fichier, le numéro de fichier et les numéros d'élément. Vous trouverez ci-dessous des exemples de valeurs permettant d'identifier les emplacements des fichiers de configuration qui seront affectés par la commande :
Type de fichier | Numéro de dossier | Numéros des éléments | Description |
840 | 020 | 0x1d | Fichier d'état - Numéro de la routine d'erreur de l'utilisateur |
840 | 020 | 060 | Fichier d'état - Code d'erreur majeur |
840 | 020 | 050 | Fichier d'état - Code d'erreur majeur |
Les données envoyées dans la commande d'écriture ne sont pas validées et peuvent être réglées sur des valeurs non valides.
La vulnérabilité est due à deux raisons principales. Premièrement, l'appareil ne peut pas authentifier les requêtes entrantes, ce qui permet à un attaquant d'envoyer une requête non authentifiée pour modifier des paramètres sensibles. Deuxièmement, l'appareil valide incorrectement les données entrantes, ce qui entraîne la modification des paramètres dans un état non valide.
Pour exploiter avec succès la vulnérabilité, un attaquant envoie une requête malveillante, abusant de la commande d'écriture logique protégée pour écraser le numéro de la routine d'erreur dans le fichier d'état avec une valeur invalide, telle que 0x01 ou 0x02. Lorsque le numéro de la routine d'erreur est remplacé par une valeur non valide et que l'appareil passe en mode RUN par l'intermédiaire d'un autre paquet CIP, une erreur est déclenchée et l'exécution est interrompue.
Exploitation des vulnérabilités
L'attaque peut être divisée en 4 étapes.
- Établir une connexion avec l'appareil via Ethernet/IP pour obtenir l'identifiant de session.
- Envoyer la requête malveillante pour écraser le numéro de la routine d'erreur.
- Fabriquer un paquet CIP malveillant pour remettre l'automate en mode Run afin de déclencher l'erreur.
- L'appareil rencontre une erreur et arrête l'exécution.
Pour communiquer avec l'appareil, un attaquant doit initier une connexion en enregistrant une session avec l'appareil afin d'obtenir la poignée de session et de l'utiliser pour la communication en cours. Le code suivant illustre une demande d'enregistrement de session standard :
Par la suite, un pirate rédige une requête en utilisant l'identifiant de session précédemment obtenu et inclut une charge utile avec une commande d'écriture logique protégée pour écraser le numéro de la routine d'erreur, encapsulée dans un paquet CIP.
Dans la dernière étape, un autre paquet CIP est envoyé pour faire passer l'appareil en mode de fonctionnement et déclencher l'erreur.
Comme le montre l'image, l'exécution de l'automate est interrompue et la vulnérabilité est exploitée avec succès.
Remédiation
OPSWATLes produits de sécurité ICS d'Ipsos sont conçus pour résister à ce type d'attaques. MetaDefender OT Security est un outil de détection des menaces et de renseignement alimenté par l'IA qui détecte toute demande anormale émanant d'attaquants, permettant ainsi aux administrateurs d'identifier les menaces potentielles.
MetaDefender OT Security dispose des capacités suivantes pour améliorer le niveau de sécurité des environnements OT :
- Découvrir et dresser rapidement l'inventaire des actifs grâce à Smart Asset Profiling
- Surveillance active et passive des menaces et des anomalies
- Gestion à distance des correctifs avec des capacités centralisées d'auto-patching
- Flux de travail structuré et rationalisé pour les alertes de risque, géré par un tableau de bord complet et personnalisable.
- Rapports sur la conformité réglementaire au niveau mondial, régional et sectoriel
De plus, MetaDefender OT Security peut également être intégré à MetaDefender Industrial Firewall afin d'empêcher les requêtes malveillantes d'avoir un impact sur les appareils détectés par OT Security. MetaDefender Industrial Firewall est la dernière ligne de défense protégeant les automates programmables, les variateurs de vitesse, les RTU et autres équipements industriels critiques. Il applique des politiques d'accès aux périphériques très granulaires et impose des zones d'accès aux périphériques, garantissant qu'aucun accès ou changement non autorisé ne peut avoir d'impact sur le matériel critique.
Ensemble, ils créent un système de détection et de prévention des intrusions (IDPS) transparent qui détecte et empêche efficacement toute connexion, requête, communication, etc. anormale d'affecter le réseau.
MetaDefender OT Security offre une protection essentielle aux infrastructures critiques grâce à la visibilité des actifs et à la détection robuste des menaces. Au-delà de ses prouesses technologiques, OPSWAT offre des perspectives de carrière intéressantes aux personnes passionnées par la cybersécurité. Rejoignez-nous pour façonner l'avenir de la sécurité et protéger ce qui compte le plus. Explorez les différents rôles et les projets à fort impact sur OPSWAT, où votre expertise peut faire une différence tangible. Ensemble, protégeons les systèmes les plus vitaux du monde.