Industroyer : anatomie du malware qui cible les réseaux électriques
Un malware spécifiquement pensé pour les équipements des réseaux électriques. Mis au jour par Eset, la souche Industroyer montre sans ambiguïté que des assaillants écrivent des logiciels malveillants dédiés à des équipements très particuliers déployés dans l'industrie. Avec, pour objectif de mener des cyberattaques ayant des effets tout à fait concrets. Dans le cas d'Industroyer, il s'agit de provoquer des pannes d'électricité en ciblant des équipements déployés dans les stations de distribution (relais et coupe-circuits). « La dangerosité d'Industroyer provient du fait qu'il utilise des protocoles de la façon dont ils ont été designés », écrit Eset.
La souche n'est que le quatrième malware connu dans l'histoire à viser spécifiquement des Scada (après Stuxnet, BlackEnergy et DragonFly/Havex) et le second à avoir pour objectif de perturber le fonctionnement physique des systèmes. Stuxnet, qui avait significativement ralenti le programme nucléaire iranien en s'attaquant aux centrifugeuses à uranium, étant en la matière le précurseur.
Pas besoin de chercher des failles
Avec Industroyer, les assaillants exploitent le décalage entre des protocoles mis au point voici des décennies, dans un monde où les systèmes industriels étaient déconnectés, et la réalité des entreprises aujourd'hui, où nombre de Scada sont reliés à des réseaux informatiques eux-mêmes connectés à Internet. « Cela signifie que les assaillants n'ont pas eu à chercher des vulnérabilités dans les protocoles ; tout ce qu'ils ont eu à faire est d'apprendre à leur malware à 'parler' dans ces langages », écrit Eset. Une technique déjà employée par Dragonfly, un des autres rares malwares conçus pour s'attaquer à des systèmes industriels, mais à des fins d'espionnage.
En dehors de ses 4 modules ciblant autant de protocoles spécifiques (IEC 60870-5-101, IEC 60870-5-104, IEC 61850 et OLE for Process Control Data Access), Industroyer s'apparente à un malware modulaire évolué. D'après les descriptions qu'en fait Eset dans un livre blanc, le composant coeur de ce malware Windows est une backdoor que les assaillants emploient pour gérer leur attaque : installation de nouveaux composants, lien avec les serveurs de commande et de contrôle. Cette backdoor principale opère comme un service Windows . « Le malware renferme quelques autres fonctionnalités conçues pour lui permettre de rester sous le radar, assurer la persistance de la souche sur les systèmes infectés et effacer toute trace une fois le travail effectué », précise Eset. Par exemple, les communications entre Industroyer et ses serveurs de commande et contrôle sont masquées dans des connexions Tor. Et les assaillants implantent une seconde backdoor - une version infectée de l'application NotePad - pour regagner l'accès au système compromis si leur backdoor principale est découverte et désactivée. Selon Eset, Industroyer renferme aussi un module permettant de lancer des attaques par déni de service contre des équipements Siemens (la gamme Siprotec, des relais de protection utilisés dans les stations de distribution de l'électricité), en exploitant une faille connue sur ces systèmes (CVE-2015-5374).
En Ukraine en 2016. et aussi en 2015 ?
« Ceux qui se cachent derrière le malware Win32/Industroyer possèdent une connaissance approfondie des systèmes de contrôle industriels et, plus spécifiquement, des protocoles employés dans les systèmes de gestion de l'énergie électrique, relève Eset. Il semble peu probable que quiconque puisse écrire et tester un pareil malware sans accès à des équipements spécialisés, utilisés dans les environnements industriels ciblés ». Bref, sans le dire, Eset semble soupçonner un groupe de hacking doté de moyens importants et probablement soutenu par un Etat. L'éditeur indique qu'Industroyer aurait été employé pour provoquer une panne d'électricité en Ukraine en décembre 2016. Sans toutefois se montrer catégorique sur ce point. Et sans faire un quelconque rapprochement avec la précédente campagne ayant ciblé les réseaux d'énergie ukrainiens, en décembre 2015.
Appelée à la rescousse par Eset, la société Dragos, spécialiste de la sécurité de Scada, se montre, elle, plus affirmative. Elle confirme que le malware Industroyer (qu'elle rebaptise CrashOverRide) a bien été employé dans l'attaque du 17 décembre 2016 contre le réseau électrique de Kiev. Et établit un lien entre cette attaque et celles qui ont ciblé, avec un malware baptisé BlackEnergy, des entreprises américaines et européennes en 2014 et le réseau électrique ukrainien - déjà - en 2015.
Lire aussi : Sécurisation des identifiants et protection contre les attaques par déplacement latéral
Ouvrir les coupe-circuit
A l'époque de cette dernière, une analyse du SANS ICS, la branche spécialisée sur les systèmes industriels (Scada) du SANS, organisation regroupant 165 000 professionnels de la sécurité, avait déjà noté que les hackers s'étaient attachés à rendre les opérateurs des réseaux de distribution d'électricité aveugles avant d'endommager les systèmes Scada à proprement parler, en ouvrant des coupe-circuit. Un mécanisme qu'on retrouve dans Industroyer, qui ouvre les coupe-circuit sur les équipements situés dans les stations de distribution, « les forçant à rester dans une boucle infinie gardant les coupe-circuit ouverts même si les opérateurs tentent de les fermer ». Ce qui provoque la coupure de courant dans la station de distribution concernée. Pour restaurer le service, les techniciens doivent repasser en manuel et intervenir sur la station concernée, résume Dragos.
Dans un document assez détaillé, la société, qui voit l'attaque de fin 2016 comme une sorte « de proof-of-concept » (toutes les fonctionnalités n'ayant pas été employées), étudie les scénarios de panne qui pourraient découler d'une attaque avec Industroyer. « Le public doit comprendre que les pannes peuvent se mesurer en heures ou en jours, mais pas en semaines ou en mois. Les opérateurs du réseau électrique s'entraînent régulièrement à restaurer le courant après des événements d'amplitude comparable, comme des tempêtes », écrit Dragos. Même si ce dernier identifie quelques scénarios susceptibles de donner du fil à retordre aux opérateurs de réseau électrique, notamment si les assaillants amplifient la confusion en empêchant les opérateurs d'avoir accès aux bonnes informations ou en s'attaquent simultanément aux relais de protection (ce que semble faire le module découvert par Eset, que Dragos affirme toutefois ne pas être parvenu à analyser).
Industroyer s'adapte à l'infrastructure
Malgré ces bémols, Dragos voit clairement Industroyer comme une élévation de la menace contre les réseaux électriques et leurs Scada. Avant tout parce que ce malware est modulaire et peut-être adapté à la réalité de l'infrastructure ciblée. « Avec un faible effort d'adaptation, comme l'inclusion d'un module pour le protocole DNP3, le malware serait efficace en Amérique du Nord », prévient ainsi Dragos. La capacité d'Industroyer à recevoir de nouvelles charges utiles, via des modules additionnels, peut d'ailleurs lui permettre d'aller cibler d'autres infrastructures critiques que les seuls réseaux électriques. Des infrastructures qui, elles aussi, véhiculent des protocoles vieux de plusieurs décennies.
A lire aussi :
Nouveau black-out en Ukraine : encore une cyberattaque ?
Comment des hackers ont provoqué une panne de courant en Ukraine
Panne de courant via une cyberattaque : les spécialistes ne sont pas surpris
Crédit photo : chungking / Shutterstock
Sur le même thème
Voir tous les articles Cybersécurité