Tu pensais que Spectre était de l'histoire ancienne ? Il est toujours vivant, et il donne des coups de pied
Les cybermenaces vont et viennent, mais certaines laissent une empreinte durable en raison de leur impact. Pensez à Spectre et à Meltdown, par exemple, deux des vulnérabilités les plus largement couvertes de mémoire récente.
Il est bien sûr frustrant de constater qu'une cybermenace refuse tout simplement de disparaître, et c'est encore pire lorsqu'il s'agit d'une vulnérabilité très importante. C'est ce qui se passe avec Spectre, l'un des exploits les plus dangereux de ces derniers temps. Bien que les systèmes patchés soient protégés contre Spectre, la nature des correctifs Spectre et l'impact qui en résulte sur les performances signifie qu'un grand nombre de systèmes n'ont pas été patchés....
Cela laisse de nombreux systèmes clés vulnérables à Spectre. Pire encore, un nouvel exploit accessible au public pour Spectre vient d'être publié. Il s'avère que Spectre n'est pas tout à fait mort. Jetons-y un coup d'œil.
Contenu
- Introduction à Spectre
- Comment fonctionne la vulnérabilité Spectre ?
- Pourquoi les correctifs Spectre ont-ils entraîné des complications
- Problèmes de performance avec les correctifs CPU Spectre
- Les correctifs du système d'exploitation ont également eu un impact sur les performances
- Résultat : des retards dans la mise en place des correctifs
- Qu'est-ce que VirusTotal DB ?
- La découverte du code
- Comment l'exploit public Spectre affecte le monde informatique
- Se protéger contre l'exploit public Spectre
Introduction à Spectre
Spectre fait en fait partie d'un trio de vulnérabilités qui sont liées. Il existe deux versions de Spectre, tandis que la troisième vulnérabilité est appelée Meltdown. À l'époque, les chercheurs en sécurité ont qualifié ces vulnérabilités de catastrophiques. Heureusement, des correctifs adéquats ont été rapidement publiés, mais il y avait une complication.
Comment fonctionne la vulnérabilité Spectre ?
Tout d'abord, voyons comment fonctionne Spectre. Les vulnérabilités se situent souvent dans les logiciels : il s'agit d'erreurs ou d'omissions dans le code des applications ou des systèmes d'exploitation. Les vulnérabilités de Spectre sont toutefois des vulnérabilités matérielles, situées dans le matériel utilisé dans tous les ordinateurs du monde : l'unité centrale de traitement, ou CPU.
Au moment de leur découverte, les deux vulnérabilités Spectre et Meltdown affectaient presque tous les processeurs utilisés, des puces Intel aux processeurs AMD et Arm, même si le degré de vulnérabilité d'un processeur dépendait de son fournisseur et de son architecture.
Les vulnérabilités se résument à une faille matérielle dans la conception des processeurs, qui est essentiellement un problème au niveau du silicium.
Sans entrer dans les détails techniques, les processeurs modernes traitent les instructions de l'unité centrale de façon complexe, en exécutant les instructions dans le désordre et de façon spéculative, par exemple. Les processeurs font cela afin de rendre l'exécution des instructions plus efficace - en d'autres termes, pour exécuter les instructions plus rapidement.
Spectre et son cousin Meltdown reposent sur des failles dans la manière dont l'exécution des instructions est gérée dans les processeurs modernes. En manipulant ces failles, un pirate qui exploite la vulnérabilité est capable de lire un espace mémoire arbitraire et ainsi d'obtenir des données sensibles.
Pourquoi les correctifs Spectre ont-ils entraîné des complications
Spectre est une vulnérabilité matérielle et les fournisseurs de CPU, dont Intel et AMD, ont publié des correctifs pour atténuer les risques de Spectre. Le correctif est essentiellement un petit logiciel qui met à jour le microcode du processeur.
Le microcode du processeur comprend la liste des instructions disponibles pour le processeur, ainsi que les procédures suivies lorsqu'une instruction comporte plusieurs étapes - ce qui aurait également un impact sur le traitement des efficacités d'exécution telles que l'exécution spéculative et hors ordre.
Lorsqu'un bogue ou une vulnérabilité est détecté(e) dans une fonctionnalité spécifique du processeur, un correctif contenant un microcode peut être émis par le fabricant pour désactiver l'instruction, la rendre inopérante ou modifier la façon dont l'instruction est traitée en interne. Il s'agit du même matériel, mais les performances du CPU seront légèrement différentes.
Des éditions plus récentes de processeurs couramment utilisés ont apporté des modifications de conception pour être moins vulnérables à Spectre et Meltdown, les fournisseurs ayant tiré les leçons de ce trio de vulnérabilités.
Certains utilisateurs n'ont tout simplement jamais exécuté les correctifs, comme c'est toujours le problème avec les correctifs, et le microcode de leur CPU n'a donc jamais été mis à jour. Cependant, un problème plus important est rapidement apparu avec les correctifs publiés pour protéger les utilisateurs contre Spectre et Meltdown.
Problèmes de performance avec le CPU Spectre correctifs
Les changements apportés au microcode du processeur inclus dans les correctifs des fournisseurs ont souvent eu un impact sur les performances des processeurs et donc des serveurs qui utilisent ces processeurs, et dans certains cas, à un degré inacceptable.
Comme Spectre et Meltdown exploitaient des failles dans les technologies sophistiquées qui rendent les processeurs plus efficaces, il était difficile de développer des correctifs qui n'avaient pas d'impact sur ces efficacités. Lorsqu'ils ont été publiés, les correctifs d'Intel, d'AMD et d'autres fournisseurs de processeurs qui protégeaient contre les vulnérabilités ont modifié ou limité certaines de ces efficacités d'exécution des instructions.
Des problèmes de performance sont rapidement apparus et ont affecté tous les systèmes d'exploitation et la plupart des CPU. Cet effet variait en fonction du CPU en question, certaines puces Intel étant plus touchées que les processeurs AMD. Dans une analyse, le site de matériel ExtremeTech a constaté lors de tests que les puces Intel étaient affectées cinq fois plus sévèrement que les puces AMD.
Microsoft a également publié un article traitant de l'impact sur les performances, soulignant un impact plus important sur les anciens processeurs par rapport aux dernières générations - la société a suggéré que certains utilisateurs verront une baisse sensible des performances.
Les correctifs du système d'exploitation ont également eu un impact sur les performances
La première voie d'atténuation contre Spectre et son cousin était un patch qui mettait à jour le microcode du processeur. Cependant, les fournisseurs de systèmes d'exploitation ont également publié des correctifs pour tenter de se protéger contre Meltdown et Spectre.
Tout comme les correctifs pour le CPU, les mesures d'atténuation mises en œuvre dans le système d'exploitation ont entraîné des problèmes de performance. Dans le système d'exploitation, l'atténuation a été réalisée en modifiant la façon dont le système d'exploitation et, par extension, le logiciel utilisateur fonctionnant au-dessus dudit système d'exploitation, traduit son code en instructions machine. En d'autres termes, les instructions du CPU qu'il utilisera pour exécuter ses fonctions.
Par exemple, fin 2018, il est apparu qu'une atténuation appliquée à une version du noyau Linux provoquait une baisse des performances pouvant atteindre 50 % pour certaines charges de travail. Dans ce cas, il s'agissait d'une mesure d'atténuation appelée Single Thread Indirect Branch Predictors (STIBP). l'impact sur les performances était si important que Linus Torvalds lui-même est intervenu.
Résultat : des retards dans la mise en place des correctifs
L'impact sur les performances des correctifs Spectre, qui a fait l'objet d'une large publication, est rapidement devenu un obstacle à l'application de correctifs à grande échelle et de manière cohérente - un obstacle qui va au-delà des problèmes que rencontrent les entreprises pour appliquer des correctifs à leurs machines, même lorsqu'il n'y a pas d'impact sur les performances.
Lorsque les charges de travail exigeaient certains niveaux de performance, et même lorsque l'efficacité était la seule préoccupation, les administrateurs système ont parfois choisi de ne pas appliquer de correctif au cas où le correctif causerait de graves problèmes de performance et donc de fiabilité.
Le résultat est que, bien que Spectre et Meltdown soient deux vulnérabilités connues, de nombreux systèmes dans la nature n'ont jamais été corrigés, simplement parce que les utilisateurs étaient préoccupés par des problèmes de performance. Il s'agit d'une situation relativement unique car, dans la plupart des cas, les administrateurs système appliquent des correctifs aussi efficaces que possible pour se prémunir contre les risques de sécurité.
Malgré les problèmes liés à l'application des correctifs, il y a un aspect relativement positif concernant les vulnérabilités de Spectre : depuis leur découverte, aucune exploitation publiquement disponible n'a été publiée pour Spectre. Jusqu'à aujourd'hui.
Qu'est-ce que VirusTotal DB ?
L'accès à une exploitation publique et publiée d'une vulnérabilité peut rendre cette dernière beaucoup plus dangereuse qu'elle ne l'était auparavant. Malheureusement, dans le cas de Spectre, le premier exploit disponible publiquement vient d'apparaître. Il a été récemment publié sur un site Web appelé VirusTotal DB. Tout d'abord, jetons un coup d'œil à VirusTotal DB et à quoi il sert.
VirusTotal a été développé à l'origine en Espagne, mais est maintenant sous les auspices d'Alphabet, la société mère de Google. Il s'agit essentiellement d'un agrégateur, qui rassemble divers moteurs d'analyse en ligne et produits antivirus. Les utilisateurs peuvent télécharger des fichiers pour vérification, notamment pour éviter les faux positifs.
Le site web s'appuie sur une série de contributeurs, depuis les moteurs antivirus et les scanners de sites web jusqu'aux contributions des utilisateurs. Et c'est dans l'une de ces contributions qu'un exploit fonctionnel pour Spectre a été découvert.
La découverte du code
En février 2021, un analyste a découvert qu'en ajoutant une contribution à VirusTotal, un utilisateur a simultanément téléchargé un programme d'exploitation pour Spectre qui peut être utilisé sur des systèmes Linux non corrigés.
Le code faisait partie d'un outil appelé Immunity Canvas. L'application effectue des tests de pénétration automatiques. C'est-à-dire qu'elle teste les systèmes contre les vulnérabilités à de multiples exploits. La société a développé un outil de travail pour tester cet exploit Spectre spécifique.
Mais en contribuant son code à VirusTotal, Immunity Canvas a inclus le code de l'exploit. Après tout, le code de test peut être utilisé en dehors de l'outil de test de pénétration original et utilisé indépendamment avec les modifications appropriées.
Le code n'est pas immédiatement utilisable : la partie qui veut l'utiliser doit être suffisamment motivée pour manipuler le code et en faire un exploit fonctionnel, mais il y a suffisamment de code dans la contribution de VirusTotal pour qu'un acteur déterminé puisse construire un exploit Spectre fonctionnel.
Comment l'exploit public Spectre affecte le monde informatique
En théorie, dans un monde où les correctifs sont appliqués de manière cohérente, l'exploit désormais public pour Spectre ne poserait aucun danger. Bien sûr, comme nous l'avons expliqué plus haut dans cet article, le problème réside dans le fait que la baisse de performance générée par certains correctifs Spectre signifie que certains utilisateurs ont choisi de ne pas patcher leurs systèmes contre Spectre.
Cet impact sur les performances peut être élevé. Il est compréhensible que certaines entreprises considèrent que l'impact sur les performances est bien pire que le risque ou l'impact d'une violation de la sécurité, car cet impact nécessiterait une expansion significative du matériel pour le compenser.
Avec cet exploit public, ce calcul a changé - les risques d'une attaque sont beaucoup plus élevés avec le code d'exploitation maintenant dans la nature. En particulier, les systèmes vulnérables à Spectre sont généralement encore dans leur cycle de vie utile.
Il existe également une autre possibilité qui devrait inquiéter les utilisateurs de systèmes qui ne sont pas protégés contre Spectre. Les vulnérabilités Spectre et Meltdown sont toutes étroitement liées. Maintenant que l'une des vulnérabilités a fait l'objet d'un exploit publié, il existe une voie de travail pour exploiter les autres vulnérabilités - et un attaquant déterminé pourrait bien profiter de l'occasion.
Cela conduit à une tempête parfaite d'un exploit publiquement visible et d'un nombre important de systèmes non corrigés. Les administrateurs système et les entreprises qui essayaient de rester à l'écart des mesures d'atténuation pour des raisons de performances doivent maintenant les reconsidérer et les appliquer.
S'ils continuent à refuser de le faire, ils doivent se rendre compte qu'ils risquent des attaques et des violations qui pourraient rapidement entraîner des coûts très élevés.
Se protéger contre l'exploit public Spectre
Spectre est une vulnérabilité vieille de trois ans, largement connue et rendue publique, pour laquelle des mesures d'atténuation sont disponibles depuis des années. Peu de systèmes devraient être laissés sans protection. Pourtant, les mesures d'atténuation ont eu un impact non négligeable sur les performances des systèmes sur lesquels elles ont été déployées, et les administrateurs système ont donc été réticents à les appliquer.
L'existence d'un exploit Spectre accessible au public n'est tout simplement pas une bonne nouvelle, mais il ne devrait pas être difficile de s'en protéger. Des correctifs ont été publiés pour le matériel, et les fournisseurs de systèmes d'exploitation ont également publié des correctifs efficaces. Cet exploit public ne fonctionnera pas sur un système corrigé.
Si les systèmes n'ont pas été corrigés, les utilisateurs doivent maintenant prendre des mesures pour se protéger contre Spectre et Meltdown, même si les performances risquent d'en souffrir. C'est aussi simple que cela.
Maintenant que l'exploit Spectre est publiquement disponible, il est temps d'agir - les administrateurs système doivent patcher les systèmes vulnérables contre Spectre, et ils doivent le faire maintenant, même si cela a un impact sur les performances. Lorsque l'application de correctifs est difficile, les administrateurs système peuvent utiliser des outils tels que KernelCare pour appliquer des correctifs à la volée, sans avoir à redémarrer les systèmes critiques..
