Les leçons de « Wanna Cry »

Vendredi 12 mai, vers 9h du matin heure belge, le ransomware « WannaCry » faisait son apparition sur les réseaux mondiaux.

Sa diffusion se passe en plusieurs étapes :

  1. Quelqu’un se laisse convaincre de l’installer sur sa machine (par exemple, en exécutant un programme reçu par mail).
  2. Le virus encrypte les données du disque dur et demande une « rançon », a verser en utilisant la crypto-monnaie Bitcoin, en échange du décryptage. En cas de non paiement, le message menace de supprimer les données.
  3. Le virus scanne le réseau local et, en utilisant une faille de Windows XP/Vista/7 (dans les machines qui n’ont pas été mises à jour), s’installe automatiquement sur les autres machines du réseau.

Cette étape d’auto-réplication est ce qui a permis à WannaCry de se diffuser aussi vite. La plupart des ransomwares nécessitent, pour chaque machine, de convaincre l’utilisateur d’installer le virus. WannaCry n’a besoin que d’un utilisateur par réseau, ce qui facilite la propagation dans les grandes sociétés qui ont de vastes réseaux internes, et qui ont tendance à ne pas mettre à jour leurs machines par peur de voir des vieux programmes indispensables à leur business ne plus fonctionner.

WannaCry permet d’illustrer et de remettre en question un certain nombre de choses : sur les comportements des utilisateurs au sujet des mises à jour ; sur le plan de la lutte contre les infections, avec la façon dont l’infection a été contenue ; et sur la responsabilité de la NSA et les questions de politique de lutte contre le terrorisme et la cybercriminalité.

Le dilemme des mises à jour forcées

Je hais les mises à jour forcées de Windows 10.

Elles semblent toujours arriver au mauvais moment. J’ai systématiquement l’impression (probablement fausse) qu’elles ne font qu’ajouter des nouveaux bugs à un système d’opération qui en a déjà bien assez. Et j’ai une réaction épidermique à leur caractère inévitable : il s’agit de mon ordinateur, et je devrais pouvoir décider de quand il est mis à jour ! Arriver le matin à mon bureau pour voir que mon ordinateur a redémarré, alors que j’avais lancé dessus la veille au soir une série de calculs, et que je dois maintenant découvrir s’ils ont eu le temps d’être exécutés avant la mise à jour où si je peux tout recommencer est frustrant.

Pourtant, le cas de Wanna Cry montre que ces mises à jour forcées ont un intérêt non négligeable. Il s’agit, en fait, du même débat (avec de moindres conséquences) que celui de la vaccination obligatoire. Le choix de ne pas se vacciner – ou de ne pas mettre à jour son système d’opération, et se rendre vulnérable aux virus informatiques – n’est pas seulement un choix personnel, car il affecte aussi tous ceux avec qui l’on est en contact. Il suffit aux virus biologiques qu’un certain pourcentage de la population soit non-vacciné pour pouvoir continuer à se propager. Il suffit aux virus informatiques qu’un certain pourcentage des ordinateurs soit vulnérable pour potentiellement faire tomber tout un réseau.

Il y a je pense de la part de Microsoft un gros problème de communication par rapport à ses mises à jour, un travail pédagogique, et de présentation, qui devrait être fait pour éviter que ces mises à jour ne soient aussi énervantes et perturbatrices. Chaque cyberattaque à grande échelle comme WannaCry leur donne cependant raison sur l’idée de base : retarder les mises à jour met en danger tout les autres ordinateurs.

La responsabilité de la NSA

À l’heure actuelle, on ne peut plus parler de cybercriminalité sans entrer dans des questions de géopolitique. Les Russes sont souvent pointés du doigt pour leurs piratages politiques (comme celui du parti démocrate américain, ou du mouvement En Marche en France). Dans le cas de Wanna Cry, certains soupçonnent la Corée du Nord.

Ce qui est sûr à l’heure actuelle, c’est que la méthode utilisée par le virus pour se propager sur tous les ordinateurs d’un réseau utiliser une faille de sécurité de Windows qui a été détectée par la NSA il y a plus de dix ans… et n’a pas été communiquée à Microsoft, qui ne l’a donc pas réparée avant que les documents de la NSA ne fuitent, permettant à la fois à Microsoft de corriger ses systèmes, et aux hackers d’exploiter la faille.

La NSA n’a pas communiqué à Microsoft l’existence de la faille parce qu’elle voulait pouvoir l’utiliser à ses propres fins. Il est évidemment impossible de savoir dans quelle mesure ils l’ont utilisée, et quelle genre d’information ils ont pu gagner grâce à elle. Il est certain, par contre, que si la NSA avait communiqué avec Microsoft, l’attaque de ces derniers jours n’aurait pas pu avoir lieu.

Et c’est là le problème fondamental avec toutes les backdoors et vulnérabilités exploitées en secret par les différents organes de renseignement aux systèmes informatiques. On peut débattre du fait qu’ils partent d’une « bonne » intention. C’est le débat « perdre de la vie privée pour gagner de la sécurité », qui est une question fondamentalement idéologique, à laquelle chacun peut avoir sa réponse. Le fait est que, invariablement, ces failles se retrouvent exploitées par des pirates. Le choix devient donc : « perdre de la vie privée pour peut-être gagner de la sécurité dans un domaine, et certainement perdre de la sécurité dans un autre ». C’est un jeu dangereux, où les risques dépassent sans doute les bénéfices. La NSA et autres agences gouvernementales protégeraient mieux les citoyens (de leur pays et du reste du monde) en collaborant avec les sociétés informatiques pour les aider à protéger leurs logiciels.

Comment l’infection a été contenue

MalwareTech est un site qui fournit des informations diverses sur les différentes attaques informatiques : virus, malware, botnets, etc… Ils analysent leur fonctionnement, et fournissent des outils, comme le « Botnet Tracker« , pour observer en temps réel la propagation des différentes attaques.

Dans un article publié samedi 13 mai, ils expliquent comment ils ont « accidentellement » arrêtés (temporairement, en tout cas) l’attaque WannaCry.

Lorsque l’attaque a commencé à prendre de l’ampleur vendredi, ils ont installés le virus sur une machine de test, et observés son fonctionnement. Le virus cherchait d’autres ordinateurs sur le réseau local, mais essayait aussi de contacter un nom de domaine inexistant sur Internet. MalwareTech a directement acheté ce nom de domaine, et l’a redirigé vers l’un de ses serveurs pour voir ce que le virus voulait communiquer (et aussi pour traquer sa propagation). Après que le domaine ait été enregistré, cependant, le virus a cessé de fonctionner. Il n’encryptait plus les données, et ne demandait plus de rançon.

En analysant le code, MalwareTech s’est rendu compte que le virus testait l’existence du domaine, et ne s’exécutait que s’il ne le trouvait pas. Pourquoi ? Il s’agit en fait d’une procédure relativement courante, apparemment, pour ce genre de virus. Il s’agit d’un moyen de détecter si le virus se trouve sur machine de test utilisée pour analyser son comportement (et qui aura tendance à simuler une connexion Internet en redirigeant toutes les requêtes vers une machine connue), ou sur une machine qu’il est intéressant d’infecter. Si le virus trouve le domaine, il suppose qu’il est sur une machine qui veut l’analyser, et ne s’exécute pas (pour ne pas fournir d’informations sur son comportement).

En achetant le nom de domaine, MalwareTech a donc accidentellement stoppé l’épidémie. Pas définitivement : il est clair que de nouvelles versions du virus vont faire leur apparition, sans cette faiblesse. Mais MalwareTech a évité de sérieux dégâts à beaucoup de sociétés, et de particuliers.