Commencement
Définition
Stuxnet est un ver informatique. Autrement dit, c’est un logiciel malveillant qui reproduit sur plusieurs ordinateurs en utilisant un réseau par exemple internet.
Contexte
Dans un premier temps, il est bon de remettre en contexte ce qui s’est passé en 2010. Stuxnet est découvert mi-juin 2010 par un logiciel antivirus biélorusse VirusBlokAda. Il ne s’attaque qu’au système Windows utilisant la technologie Siemens. Le virus Stuxnet infecte les fichiers projets du logiciel de contrôle commande WinCC/PCS7 de Siemens et subvertit une bibliothèque de communication clé de WinCC appelée S7otbxdx.dll.
Siemens est une entreprise allemande spécialisée dans les secteurs de l’énergie, de la santé, de l’industrie et du bâtiment.
À la suite de plusieurs investigations, le virus est découvert aux quatre coins du monde en majorité en Iran. Entre les années 2005 et 2010, l’Iran s’est fait remarquer sur le plan international car ce pays a décidé de relancer un programme de recherche nucléaire. L’entreprise de logiciel informatique Symantec (NASDAQ) indique que ce ver a pu infecter une infrastructure liée au programme nucléaire iranien dans la ville de Natanz. De plus, il semblerait que ce ver puisse prendre le contrôle des centrifugeuses nucléaires.
Une centrifugeuse nucléaire est un appareil permettant de séparer des éléments grâce à la vitesse ici des isotopes d’uranium. Cela est un processus courant et nécessaire d’enrichissement de l’uranium.
Analyse
Conception et propagation
Pour donner suite à toutes ces découvertes, Symantec publie une analyse complète du ver. On y découvre que ce ver était conçu pour aller jusqu’aux centrifugeuses nucléaires iraniennes et qu’il a, pendant des longues années auparavant, fait en toute discrétion son travail. Mais aussi qu’il a été installé à Natanz avec une clé USB malveillante par un employé. En effet, comme tout complexe sensible, la centrale nucléaire de Natanz est déconnectée du réseau. Il utilise, ainsi des systèmes déjà présent dans la plupart des entreprises gérant une infrastructure industrielle, des systèmes de contrôle programmables, des SCADAs. Or, les concepteurs n’avaient pas prévu que l’ordinateur infecté se connecterait par la suite au réseau mondial permettant au ver de s’étendre dans le monde.
SCADA
SCADA est un “Supervisory Control and Data Acquisition”. En d’autres termes, c’est un ensemble de fonctions de supervision industrielle qui traitent les données reçues et contrôle à distance les installations en temps réel.
Cette illustration montre la liaison entre deux centrifugeuses et le système de contrôle. Le système de contrôle va vérifier en temps réel la vitesse des moteurs et les réajuster si besoin automatiquement. La fréquence (100 Hz) correspond à la vitesse des moteurs.
Pour être plus précis, il faut noter que chaque capteur, chaque turbine et chaque valve s’inscrivent dans un SCADA. En effet, chacun communique des informations à un système commun et ce même système doit gérer, anticiper et prévoir selon les données reçues ce qu’il va se passer et quoi faire. En 2010, ce type de système était en pleine expansion. Cela permettait de connaitre l’état d’un système à un instant T de manière plus juste et de gérer des installations en connaissant tous les paramètres.
Un système de type SCADA permet, certes de connaitre l’état d’un système mais, parce qu’il gère des installations, celui-ci est aussi un lien privilégié avec les moteurs des turbines ou avec les valves d’eau. C’est ici que Stuxnet est intervenu.
En prenant le contrôle des centrifugeuses nucléaires iraniennes, Stuxnet est capable de les ralentir pour empêcher l’enrichissement sans que les opérateurs ne s’en aperçoivent directement. Mais petit à petit, celles-ci tombent en panne les unes après les autres et ralentissent toute la machine de l’enrichissement. Pour cela, ce ver change la fréquence de fonctionnement des moteurs donc la vitesse des moteurs.
Ce système est à double tranchant. Il est bénéfique pour gérer des installations mais parce qu’il gère justement des installations peut être dangereux. Cela offre une seule porte d’entrée à un assaillant pour qu’il puisse tout contrôler.
Installation
En règle générale, un logiciel malveillant repose sur l’exploitation d’une ou deux failles de sécurité qui ont déjà été documentées ou corrigées. Mais parfois, le ver exploite des failles zero-day. Par exemple, la faille CVE-2010-2568. Cette faille n’est pas encore résolue. Celle-ci permet, sur Windows, d’accéder à des fichiers DLL (bibliothèque logicielle) arbitrairement sans que personne ne le voit. Le problème n’est pas de lire un fichier DLL mais de pouvoir exécuter du code à distance sans aucune forme d’authentification. Il s’agit de vulnérabilité informatique n’ayant fait l’objet d’aucune publication connu. Stuxnet exploite quant à lui quatre vulnérabilités zero-day affectant les environnements Windows. Le ver est conçu sur plusieurs niveaux.
Au premier niveau, le logiciel est conçu pour se répliquer et peupler les machines qui habitent l’intérieur d’un réseau informatique.
Au deuxième étage, Stuxnet s’active s’il détecte certains spécifications sur la machine infectée. Chaque machine comprend un contrôleur programmable fait par l’industriel allemand Siemens pour l’administration et la maintenance des centrifugeuses utilisées pour enrichir l’uranium. La machine infectée doit avoir un controleur programmable de type S7-300. Il va alors pousser ses invertigations pour connaitre la fréquence des moteurs. Cette fréquence doit être compris entre 807 et 1210 Hz. Ces valeures ne sont pas hasardeuses, elles correspondent à la fréquence des moteures de centrifugeuses à gaz.
Si toutes les spécifications sont vérifiés, Stuxnet déclenche la troisième et dernière étape de son infection: il met en place un rootkit au cœur du SCADA. Celui-ci est capable de modifier discrétement la fréquence des moteurs. La fréquence va alors passer de 1210 Hz à 1410 Hz puis 2 Hz et enfin 1064 Hz. Ainsi, cela freine le fonctionnement des centrifugeuses pour provoquer des casses, sans laisser imaginer que ce soit une attaque extérieure.
Les grandes entreprises touchées n’ont pas tardé à mettre en place des outils de détection et de suppression du ver. Dès juillet 2010, Siemens met en place un outil capable de détecter et de supprimer Stuxnet. Cette entreprise est suivie de près par Microsoft qui annonce avoir réglé les failles utilisées par le ver en août 2010.
À la suite de ces analyses, les spécialistes de Symantec s’accordent sur le fait que ceux qui ont écrit ce ver sont extrêmement bien renseignés que ce soit sur les failles existantes dans Windows mais aussi sur l’architecture informatique du centre de recherche nucléaire de Natanz.
Des analystes de Symantec estiment qu’il aurait fallu une équipe de dix personnes (avec au moins un ingénieur connaissant parfaitement les installations visées) et six mois pour concevoir le virus et préparer son déploiement. Mais là aussi, les avis divergent car d’autres estiment que l’équipe était bien plus conséquente et plusieurs années de conception auraient été nécessaires. Ce ver reste néanmoins très complexe et très nouveau pour l’époque.
De plus, Microsoft juge bon de rajouter à cela deux autres équipes. La première qui aurait volé des certificats Verisign à Taïwan et la seconde qui aurait été sur place, en Iran, pour récupérer les renseignements essentiels à l’opération. On arrive donc à la conclusion que seuls des pays à hautes capacités de renseignement et technologiques pourraient avoir développé et mis en place en Iran le virus. Mais il est possible qu’un pays ou une entité vende le ver comme un outil à pays tiers, qui lui se charge de le déployer.
Conclusion
Toutes ces conclusions, on été faites en 2010 et pour la communauté internationale, le mystère de Stuxnet et de ses concepteurs est toujours entier. Seul l’Iran pointe du doigt l’unité militaire 8200 de Tsahal. Cette unité militaire est une unité de renseignement de l’Armée de défense d’Israël, responsable du renseignement et du chiffrement/déchiffrement de code. Selon l’Iran, Unité militaire 8200 en accord avec la NSA aurait fabriqué de toutes pièces Stuxnet.
Pour donner suite à cela, la Russie dénonce aussi une coopération entre les Américains et les Israéliens pour la création de ce ver et a déclaré que ce projet aurait pu aboutir à une catastrophe plus grande que celle de Tchernobyl. La Russie demande à l ‘OTAN d’enquêter sur cette affaire en 2011.
Ainsi, le NYTimes publie une enquête qui explique comment Stuxnet prend part à un programme de contrôle des forces nucléaires iraniennes décidé dès 2006 par le président George W.Bush. Le quotidien sort cette investigation en juin 2012 et raconte comment ce dossier brûlant est arrivé entre les mains de Barack Obama et comment il a décidé de poursuivre l’opération alors que le secret n’était plus.
Il faut attendre 2013 et les révélations d’Edward Snowden pour que cette hypothèse soit confirmée.
En attendant d’avoir de nouvelles révélations, les systèmes SCADA ont évolué. Le but fut très vite que SCADA ne soit pas une porte d’entrée. Sont alors mis en place diveres sécurités additionnelles, anti-malwares ou des patchs de sécurités. Néanmoins, tous ces rajouts ajoutent de la difficulté lors des déployements d’infrastructures. De plus, le personnel doit être plus qualifié et au fait des risques, impliquant lors des formations et recrutements coûteux. De nombreuses entreprises privées n’ont pas fait tout le nécessaire et en 2014, un nouveau virus est apparu. Ce virus Havex collecte des informations de divers entreprises européennes en passant par leurs systèmes SCADA.
Mais, cela n’a pas suffit pour faire bouger certaines entreprises. Ainsi, en 2017, Industroyer est détecté. Ce virus a coupé l’intégralité du réseau électrique à Kiev en Ukraine en décembre 2016. Pour cela, il passe par le système d’alimentation électrique et coupe tout automatiquement. Comme pour Stuxnet, Industroyer utilise les fonctionnalités qu’offrent les systèmes SCADA pour prendre le contrôle des services électriques.
Stuxnet a infecté une grande majorité des ordinateurs Siemens dans le monde mais sa cible principale était le centre de recherche nucléaire de Natanz. Mais au fil des années, de nouvelles variantes de Stuxnet ont été créée comme Flame, Duqu ou Gauss.
Un très bon film retrace le parcours de Stuxnet, « Zero Days ». Il s’intéresse aux aspects politiques et sociétaux du ver.
Sources
- Article du New York Times du 01 / 06 / 2012 par Mr Broad, Mr Markoff et Mr Sanger. https://www.nytimes.com/2012/06/01/world/middleeast/obama-ordered-wave-of-cyberattacks-against-iran.html
- Article du Numerama du 07 / 12 / 2018 par Mr Laurent. https://www.numerama.com/cyberguerre/763181-stuxnet-lespion-qui-voulait-saboter-le-nucleaire-iranien.html
- Article du Slate du 21 / 11 / 2010 par Mr Benillouche. https://www.slate.fr/dossier/15099/stuxnet
- Article https://www.factorysoftware.fr/produit/supervision-et-controle/ihm-supervision-et-controle/quest-ce-que-scada
- Article https://new.siemens.com/fr/fr/produits/automatisation-entrainements/logiciel-industriel/automation-software/scada.html
- Article https://www.hstoday.us/federal-pages/dhs/stuxnet-and-beyond-the-origins-of-scada-and-vulnerabilities-to-critical-infrastructure/
- Article https://www.welivesecurity.com/2017/06/16/seven-years-stuxnet-industrial-systems-security-spotlight/
- Film “Zero Days” de Alex Gibney