Meltdown, Spectre : le point sur une catastrophe

Meltdown, Spectre : le point sur une catastrophe

En 7 questions, retour sur le feuilleton Spectre et Meltdown. De quoi s’agit-il exactement ? Est-ce vraiment aussi terrible qu’il y paraît ? Qu’est-ce qui est fait pour nous protéger ? Que dois-je faire de mon côté ?

1. De quoi s’agit-il exactement ?

Meltdown et Spectre sont deux attaques qui permettent à un attaquant de contourner la protection la plus fondamentale que fournissent les microprocesseurs depuis la nuit des temps : l’isolation entre les différents programmes qui s’exécutent sur le même ordinateur au même moment.

Il ne s’agit pas à proprement parler de failles, mais plutôt d’un habile détournement des astuces mises en œuvre depuis vingt ans par la quasi-totalité des microprocesseurs du marché afin d’en améliorer les performances. Nous sommes, en définitive, victimes des raccourcis pris dans notre insatiable course à la puissance !

2. Pourquoi est-ce grave ?

Grâce à ces techniques un attaquant est en mesure d’accéder à des informations auxquelles il ne devrait pas avoir accès.

À chaque instant, la mémoire de l’ordinateur contient en effet toute sorte d’informations sensibles : tous les mots de passe utilisés sur la machine par ses différentes applications (emails, informations de paiement, mots de passe…), mais aussi les clés de chiffrement stockées par le système d’exploitation, des certificats numériques, etc.

Ces informations sont bien entendu créées, gérées et manipulées par des programmes différents.

En désignant des zones mémoires spécifiques pour chacun d’entre eux, et en s’assurant que chaque programme soit le seul à pouvoir accéder à la zone qui lui est attribuée, le processeur joue un rôle capital dans la sécurité du système.

Ces attaques viennent briser ce principe d’isolation fondamental.

Elles le font chacune de manière différente, ne concernent pas tous les processeurs en même temps (Meltdown ne concerne que ceux d’Intel alors que Spectre est plus universelle), mais elles constituent à elles deux un risque majeur pour la confidentialité de nos machines.

3. Qui est le plus à risque ?

Les services de type « Cloud », qui permettent à un client d’exécuter du code sur une machine partagée (mutualisée, virtualisée…) avec d’autres clients sont les plus à risque.

Car dans un tel contexte, un client malhonnête serait en mesure d’accéder à des informations normalement protégées (celles d’autres applications avec Spectre ou carrément la mémoire réservée au système d’exploitation avec Meltdown), et donc aux données manipulées par les autres clients.

Cela inclut à minima leurs mots de passe d’accès au service, mais bien sûr toute autre information sensible qu’ils y traitent.

Selon le type de virtualisation mis en œuvre, cependant, l’impact sera différent. Mais il convient pour l’instant de considérer que toute machine partagée animée par l’un des processeurs vulnérables est à risque.

4. Cela ne concerne donc que les fournisseurs de Cloud ?

Non. Tous les systèmes intégrants l’un des processeurs concernés (et ils sont très nombreux !) et autorisant l’exécution de code venu de l’extérieur (directement, par exemple en téléchargeant ou en créant un exécutable, mais aussi indirectement, via le navigateur web par exemple) sont à risque. Car outre le vol d’information ces attaques peuvent aider à prendre le contrôle total du système.

Enfin, il ne faut pas oublier les nombreux objets connectés : si un attaquant est en mesure d’exécuter du code – même sans privilèges – ces techniques permettront d’en prendre le contrôle plus aisément.

5. Les pirates ont-ils déjà tiré profit de ces attaques ?

Cela est difficile à dire. L’exploitation de ces techniques ne laisse a priori aucune trace dans les journaux des systèmes attaqués. Il est donc notamment impossible, aujourd’hui, de savoir si un système donné a été attaqué par le passé.

À l’avenir, des méthodes seront probablement développées pour faciliter la détection de telles attaques (voir par exemple l’initiative de Capsule 8 : https://capsule8.com/blog/detecting-meltdown-using-capsule8/). Mais pour l’instant, cela est très compliqué à détecter en temps réel et, comme nous l’avons évoqué, quasiment impossible à déterminer après coup, à moins de retrouver les exécutables malveillants laissés sur le système.

La question se pose également de savoir si ces techniques – ou des approches similaires – n’étaient pas déjà connues par des attaquants qui les auraient gardées secrètes, notamment des services de renseignement (ce qui, pour les États-Unis du moins, a été démenti par le coordinateur cybersécurité de la Maison-Blanche)

En tout cas, selon les découvreurs de la vulnérabilité Meltdown cités par le site d’informations Wired, Intel leur aurait confirmé qu’ils sont les quatrièmes à avoir alerté le fondeur à ce sujet dans une période de temps réduite. L’idée était donc dans l’air !

Mais ce qui est certain, en revanche, c’est que les attaquants ne vont pas se priver de tenter de les exploiter à partir d’aujourd’hui.

6. Est-il facile d’utiliser ces vulnérabilités pour un attaquant ?

Ces attaques exigent de bien comprendre le fonctionnement des microprocesseurs et maîtriser un timing parfait, ce qui n’est pas trivial ! (Le récit de la découverte croisée de ces techniques est d’ailleurs une lecture passionnante : https://www.wired.com/story/meltdown-spectre-bug-collision-intel-chip-flaw-discovery/)

Toutefois, et comme toute attaque populaire, une fois celle-ci « packagée » par des experts, elle devient beaucoup plus simple à utiliser par n’importe qui. Des démonstrations ont même déjà prouvé qu’il était possible de mettre en œuvre ces attaques via Javascript, à la visite d’un simple site web piégé. Ce n’est donc probablement qu’une question de temps avant que la plupart des frameworks d’exploitation ne les intègrent.

Gardons en tête toutefois que pour cibler des utilisateurs grand public, il sera toujours bien plus simple d’avoir recours à des techniques bien plus simples et déjà éprouvées (phishing, malware traditionnel, etc).

7. Comment puis-je me protéger ?

L’une des premières recommandations officielle était de changer de microprocesseur ! Désormais, nous savons que cela ne sera pas heureusement pas nécessaire en dehors des systèmes particulièrement sensibles. Une combinaison de correctifs logiciels pour les applications, les systèmes d’exploitation, les navigateurs web et les BIOS, permettra de réduire l’exposition au risque de telles attaques au prix d’une perte de performance qui s’avère raisonnable (bien qu’estimée à 30% initialement, les premiers tests font plutôt état d’une perte de puissance de 2 à 5% pour la majorité des usages, sauf dans le cas des disques durs de type SSD, qui subissent un ralentissement beaucoup plus conséquent)

Si vous êtes client de solution Cloud (hébergement, applications en mode SaaS), votre priorité devrait être d’interroger votre fournisseur afin de connaître son plan de remédiation. S’il ne sait pas de quoi vous parlez, il est temps d’en changer ! Mais rassurez-vous : les principaux leaders de ce marché (Amazon, OVH, Google, Microsoft…) et de nombreux autres acteurs locaux sont déjà engagés dans des travaux colossaux en ce sens

Concernant les serveurs et autres ordinateurs personnels, il faut guetter la disponibilité des mises à jour et les appliquer. Les versions récentes des principaux systèmes d’exploitation disposent désormais de correctifs afin de rendre plus difficile l’exploitation de Meltdown et/ou Spectre :

  • Chez Apple, iOS 11.2, macOS 10.13.2 et tvOS 11.2 sont corrigés
  • Chez Microsoft, Windows 7 SP1, 8.1 et 10 et Server 2016 ont bénéficié d’un correctif dès le 3 janvier. Windows Server 2008, 2012 seront corrigés le 9 janvier. Attention toutefois à vérifier si l’antivirus installé sur le poste de travail est compatible, sinon il pourrait empêcher la mise à jour (voir https://support.microsoft.com/en-us/help/4072699/january-3-2018-windows-security-updates-and-antivirus-software)
  • Pour Linux, des correctifs du noyau sont désormais disponibles pour les principales distributions
  • Pour Google, ChromeOS profite des corrections apportées aux noyaux Linux
  • Pour les navigateurs, Microsoft Internet Explorer et Edge sont corrigés depuis le 3 janvier, Firefox l’est déjà dans sa version 57.0.4, et Chrome le sera le 23 janvier en version 64. En attendant, il est possible d’appliquer une contre-mesure : https://support.google.com/chrome/answer/7623121?hl=en-GB
  • VMware a publié des correctifs afin de protéger ses gammes ESXi, Workstation et Fusion.

À noter également que les fabricants de microprocesseurs publient leurs propres correctifs, complémentaires à ceux des éditeurs logiciels ci-dessus. Certains sont déjà disponibles via des correctifs du BIOS pour Windows, notamment (ASUS semble avoir été l’un des premiers à réagir).  

Lire les articles précédents :
On nous cache tout, etc (une brève réflexion historique à propos de Meltdown et Spectre)

Et si les failles Melton et Spectre avaient été connues depuis longtemps ? Retour sur deux affaires historiques où des...

Fermer