# Stuxnet

Stuxnet est un ver informatique découvert en 2010 qui aurait été conçu par la National Security Agency (NSA) et la Central Intelligence Agency (CIA), en collaboration avec l'unité israélienne 8200, pour s'attaquer aux centrifugeuses iraniennes d’enrichissement d'uranium. Le programme a commencé sous la présidence de George W. Bush et a continué sous la présidence de Barack Obama. Il fait partie de l'opération Olympic Games, et ses caractéristiques le classent parmi les APT.
Spécifique au système Windows, il a été découvert en juin 2010 par VirusBlokAda, société de sécurité informatique basée en Biélorussie. La complexité du ver est très inhabituelle pour un logiciel malveillant. Il a été décrit par différents experts comme cyber arme, conçue pour attaquer une cible industrielle déterminée. Il s'agirait d'une première dans l'histoire.
C'est le premier ver découvert qui espionne et reprogramme des systèmes industriels, ce qui comporte un risque élevé. Il cible spécifiquement les systèmes SCADA utilisés pour le contrôle commande de procédés industriels. Stuxnet a la capacité de reprogrammer des automates programmables industriels (API)$^,$ produits par Siemens et de camoufler ses modifications. Les automates programmables Siemens sont utilisés tant par quelques centrales hydro-électriques ou nucléaires que pour la distribution d'eau potable ou les oléoducs.
Le ver a affecté 45 000 systèmes informatiques, dont 30 000 situés en Iran, y compris des PC appartenant à des employés de la centrale nucléaire de Bouchehr. Les 15 000 autres systèmes informatiques sont des ordinateurs et des centrales situés en Allemagne, en France, en Inde et en Indonésie, utilisateurs de technologies Siemens.

## Mode d'attaque

Il a été signalé pour la première fois par la société de sécurité VirusBlokAda mi-juin 2010, et des antécédents ont été retracés jusqu’à juin 2009.
Le virus s’attaque aux systèmes Windows à l’aide de quatre attaques « zero day » (y compris la vulnérabilité CPLINK (en) et la vulnérabilité exploitée par le ver Conficker) et vise les systèmes utilisant les logiciels SCADA WinCC/PCS 7 (de) de Siemens.
Le virus est probablement inoculé par la mise à jour d'un virus déjà installé sur les ordinateurs cibles ; il contamine ensuite d’autres ordinateurs WinCC du réseau à l’aide d’autres défauts natifs de structure des systèmes (exploits). Une fois dans le système, il utilise les mots de passe par défaut pour faire des requêtes au logiciel. Siemens déconseille cependant de changer les mots de passe par défaut car « cela pourrait affecter le bon fonctionnement de l’usine ».
La complexité du ver est inhabituelle pour un malware : l’attaque demande des connaissances en procédés industriels et en failles de Windows à un moment donné, et marque la volonté de perturber des infrastructures industrielles$^,$. Le nombre d’exploits Windows « zero day » utilisés est également inhabituel : ces exploits non découverts, rares et précieux, ne sont en effet pas normalement gaspillés par les pirates au point d'en mobiliser quatre dans le même ver. Stuxnet a une taille d’un demi-mégaoctet et est écrit dans différents langages de programmation (y compris C et C++) ce qui est également peu courant pour un malware$^,$.

## L'Iran, cible d'une cyber-attaque israélienne ?

Un porte-parole de Siemens a indiqué que le ver avait été trouvé sur 15 systèmes dont 5 sont situés en Allemagne dans des usines abritant des systèmes de contrôle de processus industriels. Siemens indique qu’aucune infection active n’a été découverte et qu’aucun dommage causé par le ver n’a été signalé. Symantec indique que la plupart des systèmes infectés sont en Iran (près de 30 000 sur 45 000 ordinateurs infectés), ce qui a conduit à penser qu’il avait pu viser délibérément une « infrastructure de grande valeur » en Iran, vraisemblablement liée au programme de recherche nucléaire. Ralph Langner, un chercheur en cyber sécurité allemand, indique que la cible visée a probablement été atteinte.
L'Iran a accusé un État ou une organisation étrangère de l'avoir délibérément visé. L'analyste Bruce Schneier a qualifié d'intéressante l'hypothèse selon laquelle la centrale nucléaire de Bouchehr aurait été visée, tout en considérant qu'il manquait de preuves. L'Iran a indiqué que dans la mesure où les ordinateurs d'employés de la centrale avaient été touchés, la centrale l'avait aussi été. Début octobre 2010, à l'occasion d'un article sur l'Unité 8200, section elle-même de l'Aman, le service de renseignement militaire israélien, Le Figaro écrivait :
   « Des indices découverts dans les algorithmes du programme Stuxnet, ayant infecté, entre autres, les systèmes informatiques iraniens, feraient référence à l'héroïne biblique Esther. Les liens éventuels entre cette offensive virtuelle et Israël ne seront sans doute jamais prouvés, mais la suspicion des milieux du renseignement est forte. »
En novembre 2010, des chercheurs de Symantec et de Langner Communications ont affirmé que le ver visait les systèmes de contrôle des turbines à vapeur tels que ceux utilisés à la centrale nucléaire de Bouchehr et des éléments clés de centrifugeuses. En effet, le virus aurait modifié à l'insu des opérateurs de la centrale les vitesses de rotation des centrifugeuses entraînant une dégradation de celles-ci et des explosions. Des chercheurs de Symantec avaient également indiqué auparavant que Stuxnet avait une date « de destruction » fixée au 24 juin 2012.
Le général israélien Gabi Ashkenazi a affirmé, lors de son départ à la retraite, être le responsable de l'attaque par le ver Stuxnet.
La Russie a dénoncé une coopération entre les États-Unis et Israël 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. Elle a demandé à l'OTAN d'enquêter sur cette affaire. Une enquête approfondie du New York Times confirme d'ailleurs cette hypothèse de coopération à fins malveillantes américano-israélienne.

## Analyse de Stuxnet

En février 2011, Symantec publie une analyse complète de Stuxnet. Les spécialistes estiment qu'il a fallu six mois de développement et une équipe de cinq à dix personnes pour écrire le programme, dont au moins un ingénieur connaissant parfaitement les équipements industriels visés. Microsoft, quant à lui, estime que le temps nécessaire pour créer Stuxnet a été de « 10 000 jours homme », sans compter l'équipe qui a volé les certificats Verisign de Realtek Semiconductor Corps et Micron Technology Corp à Taïwan, ainsi qu'une équipe en Iran qui a vraisemblablement fourni les renseignements nécessaires à cette opération.
L'architecture du programme est très complète pour un ver informatique, elle comporte différentes parties :

### Protection

Le ver est capable de s'exécuter en trompant un processus du cœur de Windows (Ntdll.dll), et en leurrant les anti-virus les plus connus. Il possède aussi des portions chiffrées qui interdisent toute lecture du virus non chargé en mémoire. Une particularité intéressante est qu'il ne s'attaque pas aux ordinateurs qui possèdent l'antivirus ETrust v5 et v6.

### Propagation

L'ordinateur portable a récupéré l'infection en se connectant à un ordinateur infecté de l'usine avant de propager lui-même cette infection à tout le pays et à l'étranger en se connectant à internet (dans un cadre externe à l'usine qui fonctionne, pour sa part, en réseau fermé).
D’après Eugène Kaspersky, le ver a également infecté le système d’une usine nucléaire en Russie. L’étanchéité du réseau de l’usine a toutefois permis d’épargner l’infection du réseau public russe.

### Installation

Le ver, une fois exécuté avec succès sur un ordinateur encore sain, va s'installer. Pour ce faire, il utilise deux autres failles, encore inconnues par Microsoft au moment de la création de Stuxnet, pour obtenir les droits administrateur.
* La première a été référencée et corrigée par Microsoft sous le n$^o$ MS10-073. Cette faille fonctionne à l'aide d'un layout de clavier incorrect spécialement codé.
* La seconde est une faille dans l'ordonnanceur de tâche, et ne possède pas encore de patch au moment de l'analyse de Symantec en février 2011.
Ces deux failles permettent d'exécuter du code arbitraire avec les droits administrateur. Une fois les droits obtenus, le ver installe les composants suivants :
* Deux rootkits qui lui permettent de s'exécuter au démarrage, de leurrer les protections anti-virus et de se copier sans se faire détecter sur les disques amovibles comme les clés USB (grâce au vol des certificats Verisign).
* Une procédure de réinstallation, si une de ses ressources est effacée.
* Sa charge utile pour attaquer les équipements Siemens visés : cette partie spécifique, extrêmement complexe, comporte deux sous-parties : une procédure de leurre des outils de monitoring, et une procédure de contrôle du logiciel Siemens.
* Un serveur pour envoyer et recevoir des informations et des données : sa première action est de communiquer avec deux serveurs de contrôle : www.mypremierfutbol.com et www.todaysfutbol.com
* Un mécanisme complexe de mise à jour pour exécuter le nouveau code reçu via ces serveurs si besoin.
* Un mécanisme de désinstallation.
* Un mécanisme P2P de mise à jour si une nouvelle version est disponible sur un autre ordinateur infecté.

## Outil de suppression

Le 15 juillet 2010, Siemens met à disposition de ses clients un outil capable de détecter et de supprimer le ver.
Le 2 août 2010, Microsoft annonce le Bulletin de sécurité MS10-046.
Le 19 août 2010, un outil de suppression est mis à disposition par FSB Security Labs en France.
Le 8 octobre 2010, un outil de suppression est mis à disposition par BitDefender.