Les sites industriels utilisant des automates programmables (AP) de la série S7-1500 connectés au réseau de Siemens sont avisés d’isoler physiquement les appareils après la découverte de vulnérabilités graves.
Selon les chercheurs de Red Balloon Security, plusieurs vulnérabilités architecturales existent dans les automates Siemens SIMATIC et SIPLUS S7-1500 qui pourraient permettre aux attaquants de contourner toutes les fonctionnalités de démarrage protégées, entraînant une modification arbitraire persistante du code d’exploitation et des données.
Les vulnérabilités fondamentales – des implémentations matérielles inappropriées de la racine de confiance (RoT) utilisant un processeur cryptographique dédié – ne peuvent pas être contournées et ne peuvent pas être corrigées par une mise à jour du micrologiciel, car le matériel est physiquement non modifiable, selon les chercheurs.
Le système sur puce (SoC) personnalisé de Siemens n’établit pas de RoT indestructible au début du processus de démarrage, affirment les chercheurs dans un rapport cette semaine. Cela inclut le manque de vérifications de signature asymétriques pour toutes les étapes du chargeur d’amorçage et du micrologiciel avant l’exécution. L’incapacité d’établir une racine de confiance sur l’appareil permet aux attaquants de charger un chargeur d’amorçage et un micrologiciel personnalisés. Ces modifications pourraient permettre aux attaquants d’exécuter et de contourner les fonctions d’inviolabilité et de vérification de l’intégrité sur l’appareil.
« Les vulnérabilités architecturales permettent aux attaquants hors ligne non seulement de déchiffrer le micrologiciel chiffré de l’automate de la série S7-1500, mais également de générer un micrologiciel chiffré arbitraire qui peut être amorcé sur plus de 100 modules CPU de l’automate Siemens de la série S7-1500 différents », déclarent les chercheurs. De plus, ces vulnérabilités permettent aux attaquants de contourner de manière persistante les fonctionnalités de validation d’intégrité et de sécurité du système d’exploitation ADONIS et du code d’espace utilisateur qui en découle.
Dans un avis, Siemens indique qu’un attaquant aurait besoin d’un accès physique à l’appareil pour remplacer l’image de démarrage de l’appareil et exécuter du code arbitraire.
Étant donné que l’exploitation de cette vulnérabilité nécessite une altération physique du produit, Siemens recommande aux clients d’évaluer le risque d’accès physique au(x) périphérique(s) et de mettre en œuvre des mesures, telles que le placement des périphériques dans des armoires de commande verrouillées, pour s’assurer que seul le personnel de confiance y ait accès.
Red Balloon recommande également aux professionnels de l’informatique de mettre en œuvre l’attestation d’intégrité d’exécution ; ajouter une vérification de signature asymétrique pour le micrologiciel au schéma de démarrage ; et cryptez le micrologiciel avec des clés spécifiques à l’appareil qui sont générées sur des appareils individuels.
Les vulnérabilités ont été nommées CVE-2022-38773 et un pointage CVSS v3 de 4,6 leur a été attribué.
Selon Siemens, les produits CPU SIMATIC S7-1500 sont conçus pour un contrôle discret et continu dans des environnements industriels tels que la fabrication, l’agroalimentaire et les industries chimiques.
Le fabricant a publié de nouvelles versions matérielles pour plusieurs types de CPU de la famille de produits S7-1500 dans lesquels cette vulnérabilité est corrigée, et travaille sur de nouvelles versions matérielles pour les types d’AP restants afin de résoudre complètement cette vulnérabilité.
Selon Red Balloon, un scénario d’attaque ressemblerait à ceci : un attaquant ayant un accès physique à l’appareil pourrait soit se connecter au bus de communication I2C, soit extraire la puce physique ATECC du PCB de l’automate pour s’authentifier à tort et l’utiliser comme oracle pour générer un micrologiciel. matériel de déchiffrement. La vérification de l’intégrité du micrologiciel et du chargeur d’amorçage Siemens ADONIS RTOS est située dans le micrologiciel lui-même (chaîne de confiance) qui peut être facilement contournée par le micrologiciel falsifié de l’attaquant.
La dernière étape serait de téléverser le micrologiciel modifié sur l’appareil soit via une reprogrammation flash NAND, soit de le chaîner avec une vulnérabilité d’exécution de code à distance existante. En téléversant un micro logiciel malveillant sur un appareil cible, soit physiquement, soit en exploitant une vulnérabilité d’exécution de code à distance existante, les attaquants pourraient obtenir de manière persistante l’exécution de code arbitraire et potentiellement contourner toute mise à jour officielle de sécurité et de micrologiciel, à l’insu de l’utilisateur.
Adaptation et traduction française par Renaud Larue-Langlois.