Dmitri Evtyushkin, professeur adjoint au département d'informatique de William &Mary, a étudié les failles de sécurité de l'exécution spéculative. Crédit :Adrienne Bérard
La menace a commencé à faire les gros titres autour du Nouvel An. Des publications du monde entier ont mis en garde contre la plus grande vulnérabilité de puce informatique jamais découverte, une série de failles de sécurité affectant tout appareil doté d'un microprocesseur, des ordinateurs portables aux smartphones.
Les chercheurs ont découvert que dans un effort pour rendre les puces informatiques plus efficaces, les principaux fabricants avaient inséré par inadvertance une ouverture qui permettrait aux pirates d'espionner des données sensibles. Dans deux articles publiés le 3 janvier, les chercheurs ont inventé les menaces de cybersécurité Meltdown et Spectre.
Le nom Meltdown a été choisi pour la capacité de l'attaque à "faire fondre" le système de sécurité généralement appliqué par le matériel d'un processeur. Le nom Spectre était basé sur la cause première de la vulnérabilité de sécurité, exécution spéculative, une technique d'amélioration de la vitesse dans laquelle le processeur essaie de prédire quelle partie du code il devra exécuter ensuite et commence à l'exécuter. Et, un peu comme un vrai spectre, l'attaque est presque impossible à détecter.
Fin janvier, des sociétés de matériel informatique comme Intel, ARM Holdings Plc. et Advanced Micro Devices Inc. avaient publié des mises à jour du microcode pour corriger les vulnérabilités. Les entreprises ont également travaillé avec des développeurs de systèmes d'exploitation, comme Windows et Linux, pour concevoir et publier des mises à jour logicielles. Les défauts étaient physiques, partie du matériel de traitement informatique. Éliminer complètement le problème nécessiterait de modifier des millions de puces informatiques.
Au lieu, les développeurs et les fabricants ont choisi de s'essayer à la correction des défauts matériels avec des mises à jour logicielles. Les mises à jour ont ralenti les performances et, dans certains cas, rendu les systèmes inopérants, mais l'effort coordonné a semblé avoir réussi à se prémunir contre Meltdown et à réduire la vulnérabilité à une attaque de Spectre.
Le monde a vite évolué, mais Dmitry Evtyushkin ne pouvait pas. Il était au courant des défauts de processeur de type Spectre depuis des années. En réalité, ses recherches avaient contribué à les éclairer en premier lieu. Et Spectre, comme son nom, se cache toujours là-bas.
"Les chercheurs ne sont toujours pas tout à fait sûrs de l'impact réel de Spectre, " dit Evtyushkin, professeur adjoint au département d'informatique de William &Mary. "Ils ne connaissent pas toute l'étendue de ce à quoi ils ont affaire. Il y a tellement de processeurs différents et tellement de façons différentes d'exploiter ce type de vulnérabilité."
Considérez une attaque Spectre comme une sorte de sonar à l'intérieur d'un ordinateur. Pour voir comment fonctionne le traitement, un attaquant fait rebondir les programmes les uns sur les autres et mappe une image en fonction de ces collisions. L'attaquant utilise alors cette image, ainsi que d'autres effets secondaires des collisions, pour accéder aux données sensibles à l'intérieur de l'ordinateur.
« Nous avons différents processus qui sont responsables de différentes activités, " Evtyushkin a déclaré. "Vous pouvez les considérer comme vos applications. Par exemple, vous avez votre client de messagerie, votre gestionnaire de mots de passe, vos jeux. Tous doivent être isolés. Ils ne devraient pas interférer les uns avec les autres."
En 2016, tout en complétant son doctorat. à l'Université de Binghamton, Evtyushkin et deux autres chercheurs ont trouvé un moyen de forcer les processus à interférer. Leur étude, intitulé « Jump Over ASLR :attaquer le prédicteur de branche pour contourner l'ASLR, " faisait partie d'un ensemble de recherches qui ont détaillé les défauts du processeur similaires à ceux montrés dans les études sur Meltdown et Spectre.
"J'ai découvert qu'il est possible de créer des collisions à l'intérieur de ces multiples domaines, " Evtyushkin a dit, "qui contribue à la découverte de la disposition de la mémoire."
Les systèmes informatiques sont conçus pour rendre la disposition de la mémoire d'un programme extrêmement difficile à trouver. Il est masqué par une technique de durcissement connue sous le nom de randomisation de la disposition de l'espace d'adressage (ASLR). La mesure de sécurité protège la structure de la mémoire d'un programme en randomisant les positions des composants clés du programme, ce qui rend presque impossible pour un attaquant de connaître les adresses spécifiques où se trouvent ces composants. L'ASLR est comme une combinaison d'un coffre-fort. Une attaque qui traverse l'ASLR révélerait la structure de données entière d'un programme - chaque élément d'information qu'il contient.
Evtyushkin a découvert qu'un pirate informatique pouvait contourner l'ASLR en utilisant un composant central du matériel de la puce informatique, le Prédicteur de Branche. Le BP a été introduit pour rendre les processeurs informatiques - ou CPU - plus efficaces en rationalisant la façon dont les programmes s'exécutent. Lorsqu'un programme est exécuté, il est envoyé le long d'un chemin connu sous le nom de branche. La première fois qu'un programme est exécuté, le processeur ne peut pas déterminer la cible finale de la branche. Il repose donc sur un mécanisme matériel, le BP, qui prédit une cible en fonction du comportement précédent de la branche.
Si les attaquants accèdent au BP, ils peuvent contrôler la façon dont les branches sont gérées par le processeur et provoquer toutes sortes de collisions. Un attaquant averti peut détecter de telles collisions et contourner la protection basée sur la randomisation qui masque la mise en page d'un programme.
"J'ai découvert que de nombreux mécanismes dans les ordinateurs d'aujourd'hui sont partagés entre différents programmes, " Evtyushkin a déclaré. "Un attaquant peut exécuter du code qui provoque des changements à l'intérieur des structures de données internes dans le matériel. En faisant cela, ils peuvent soit détecter des instructions de branchement dans un programme victime, soit déclencher une exécution spéculative de manière à ce qu'il commence à divulguer des données sensibles à la sécurité."
Dans l'environnement contrôlé du laboratoire, Evtyushkin et son équipe ont exécuté une série d'attaques via le BP. En décembre 2016, l'équipe a publié ses résultats. Leurs travaux sont devenus partie intégrante d'un corpus de recherche international suffisamment important pour susciter une vague d'attention médiatique mondiale.
"Ce défaut de conception était là depuis longtemps et je viens de découvrir une façon de l'utiliser, " a déclaré Evtyushkin. " Il existe d'autres moyens de manipuler l'exécution spéculative, qui s'avèrent plus graves en termes de sécurité."
Depuis la publication de ses conclusions en 2016, Evtyushkin a poursuivi ses recherches sur les prédicteurs de branche. Son domaine d'intérêt actuel est une autre partie du travail du BP :dire aux programmes quelle direction prendre. Les détails de ses recherches ne peuvent être divulgués avant la publication d'un article sur son travail à la fin du mois de mars. Il a déclaré qu'Intel avait été informé des failles qu'il avait découvertes et qu'il examinait les recherches avant la publication du document.
Evtyushkin n'est pas optimiste quant à une solution rapide. Il, avec des dizaines d'autres chercheurs, a passé ces dernières années à dire aux fabricants de matériel informatique qu'ils devaient reconcevoir leurs processeurs afin de résoudre les failles de sécurité. Actuellement, les entreprises ont publié quelques mises à jour logicielles, mais le matériel n'a pas été mis à jour pour résoudre le problème. Evtyushkin dit qu'il doit y avoir un large, correctif systématique pour résoudre plusieurs problèmes dans la conception de matériel moderne.
« Toute cette culture de priorisation de la performance, plutôt que la sécurité, est à blâmer, " Evtyushkin a déclaré. "Il y a une forte concurrence dans la production de matériel informatique. Les développeurs veulent créer des puces plus rapides, ils doivent donc ajouter une exécution spéculative agressive. Ils abandonnent les contrôles de sécurité afin de le rendre rapide. »
Du bon côté, il n'y a pas d'incidents connus d'attaques de type Spectre, mais Evtyushkin dit qu'une attaque pourrait se produire à l'insu même d'un opérateur averti. Une attaque Spectre peut arriver par une myriade de voies différentes telles qu'un site Web, un téléchargement de fichier, une application pour téléphone portable ou un lecteur multimédia. Une fois qu'il est dedans, c'est invisible.
"L'un des problèmes avec Spectre est qu'il est complètement silencieux, " Evtyushkin a déclaré. "Vous ne voyez rien se passer. Par rapport aux attaques traditionnelles, où une application plante généralement et vous pouvez voir les dégâts, avec les attaques de microarchitecture, vous ne le verrez pas et ne le saurez pas."
Pour vous prémunir contre tout type d'attaque, Evtyushkin encourage des pratiques informatiques sûres telles que ne pas exécuter de code non fiable et mettre régulièrement à jour vos systèmes.
"D'habitude, les personnes qui sont responsables de ces mises à jour en savent plus sur les vulnérabilités et, espérons-le, peuvent faire quelque chose à ce sujet, ", a déclaré Evtyushkin.
Evtyushkin dit que son travail sensibilise et que les mises à jour matérielles nécessaires suivront. Il travaille actuellement avec des collaborateurs pour développer des méthodes de protection plus systémiques, telles que la restructuration de l'exécution spéculative et du matériel Branch Predictor pour le rendre plus sûr tout en maintenant des performances élevées.
"Cette recherche était considérée comme extrêmement geek, mais maintenant le public y prête attention, " Evtyushkin a déclaré. "Cela aide à résoudre le problème, car tout le monde le sait. Cela motive toutes ces grandes entreprises à prendre les choses plus au sérieux."