Comprendre les différences entre Spectre et Meltdown
L'année 2018 a commencé avec une nouvelle bombe pour l'industrie de la sécurité informatique. L'industrie a appris qu'une série de vulnérabilités nommées Spectre et Meltdown vont affecter tous les microprocesseurs haut de gamme produits au cours des 20 dernières années. Les vulnérabilités ont été découvertes par des chercheurs il y a près de six mois. Les menaces de sécurité ne sont pas nouvelles pour l'industrie informatique. Cependant, l'ampleur de ces nouvelles menaces est stupéfiante. De l'ordinateur personnel aux clouds d'entreprise, chaque microprocesseur haut de gamme est en danger. Et les problèmes sont liés au matériel, ils sont donc plus difficiles à résoudre.
La cause du spectre et de l'effondrement
Des programmes malveillants peuvent exploiter Spectre et Meltdown pour accéder à des données privilégiées. Ils obtiennent cet accès en profitant de l'exécution spéculative et de la mise en cache. Voici les concepts qui sont en jeu :
- Exécution spéculative : Lorsqu'un programme s'exécute sur un microprocesseur, il doit souvent attendre pour obtenir les informations de la mémoire RAM. Cependant, comparé au temps d'exécution sur le microprocesseur, le temps d'extraction de la mémoire est long. Ainsi, afin d'accélérer le processus, lorsqu'un microprocesseur fait face à une situation où il a besoin d'informations de la mémoire pour prendre une décision concernant le prochain calcul, il calcule de manière spéculative le résultat qu'il pense être nécessaire. Lorsque les informations de la mémoire arrivent, si le microprocesseur a spéculé sur la bonne branche, alors il a le résultat prêt. Cela accélère le processus. En cas de spéculation erronée, le microprocesseur ignore simplement le résultat.
- Mise en cache : Pour accélérer davantage l'exécution, les microprocesseurs utilisent la mise en cache. Parce que l'accès à la mémoire RAM est plus lent, les microprocesseurs récupèrent les informations et les conservent dans le cache. Le cache est également l'endroit où les résultats de l'exécution spéculative sont stockés.
- Mémoire protégée : Le concept de mémoire protégée est utilisé pour s'assurer qu'il y a une ségrégation des données sur le microprocesseur. Dans un environnement de mémoire protégé, un processus ne peut pas voir les données d'un autre processus sans privilège accordé.
Les vulnérabilités Spectre et Meltdown sont exposées en raison de l'interaction complexe de ces idées. Les processus ne peuvent pas accéder aux informations d'autres processus sans autorisation dans la mémoire protégée. Mais en raison de la façon dont les caches de microprocesseurs modernes sont conçus, il est possible pour un processus de lire les informations stockées dans le cache par les tâches d'exécution spéculatives sans aucune approbation d'autorisation. Une description plus détaillée des vulnérabilités est disponible auprès de l'équipe Project Zero de Google.
Différences entre Spectre et Meltdown
Les problèmes ont été documentés sous trois variantes :
- Variante 1 : contournement de la vérification des limites (CVE-2017-5753)
- Variante 2 : injection de cible de branche (CVE-2017-5715)
- Variante 3 : charge de cache de données non autorisées (CVE-2017-5754)
Les variantes 1 et 2 sont regroupées en Spectre. La variante 3 s'appelle Meltdown. Voici les points clés concernant les menaces :
Spectre
Menace: Exploiter les informations d'autres processus en cours d'exécution.
Processeurs concernés : Les processeurs Intel, AMD et ARM sont menacés.
Remède: Les fabricants et les fournisseurs de logiciels travaillent sur des mises à jour. Spectre est considéré comme une menace plus difficile à résoudre que Meltdown. L'utilisation la plus probable de Spectre serait d'utiliser JavaScript pour accéder aux données sur les clés de session du navigateur, les mots de passe, etc. Les utilisateurs doivent régulièrement mettre à jour leurs navigateurs Internet Explorer, Firefox, Chrome et Safari en plus des autres applications en ligne.
Fusion
Menace: Lecture de données à partir de la mémoire privée du noyau sans autorisation.
Processeurs concernés : Processeurs Intel et ARM. Les processeurs AMD ne sont pas affectés.
Remède: Des correctifs ont été publiés pour Windows et Linux. MacOS a été patché depuis 10.13.2 et iOS depuis 11.2. Selon Intel, les mises à jour du système d'exploitation devraient suffire à atténuer le risque, pas besoin de mises à jour du firmware.
Regarder vers l'avant
Spectre et Meltdown sont des problèmes à long terme. Personne ne sait si les vulnérabilités ont déjà été exploitées. Il est important que vous gardiez tous vos systèmes d'exploitation et logiciels à jour pour minimiser le risque d'exposition.
Lectures complémentaires :
- Explication du projet Zéro de Google
- Liste complète des processeurs vulnérables à Spectre et Meltdown
Les références:
- https://blog.aboyer.com/meltdown-spectre-bugs-explained
- https://googleprojectzero.blogspot.ca/2018/01/lecture-privileged-memory-with-side.html
- https://news.co.uk/news/technology/meltdown-and-spectre-chip-exploits-whats-the-difference/
- https://spectreattack.com/
- https://www.csoonline.com/article/3247868/vulnerabilities/spectre-and-meltdown-explained-what-they-are-how-they-work-whats-at-risk.html
- https://www.techarpe.com/guides/complete-meltdown-spectre-cpu-list/
- https://www.la république technologique.com/article/spectre-and-meltdown-cheat-sheet/
- https://www.l'Atlantique.com/technology/archive/2018/01/spectre-meltdown-cybersecurity/551147/
- Meltdown and Spectre - Comprendre et atténuer les menaces - Webcast SANS DFIR
- Spectre & Meltdown - Computerphile