Mohammad R. Fadiheh (de gauche à droite), Le professeur Wolfgang Kunz et Dominik Stoffel ont développé le nouvel algorithme en collaboration avec des scientifiques de Stanford. Crédit :Koziel/TUK
Début 2018, les chercheurs en cybersécurité ont découvert deux failles de sécurité qui, selon eux, étaient présentes dans presque tous les processeurs haut de gamme fabriqués et utilisés par les grandes entreprises. Connu sinistrement sous le nom de Spectre et Meltdown, ces failles étaient troublantes car elles représentaient un nouveau type de brèche jamais connu auparavant qui pouvait permettre aux pirates de déduire des données secrètes :mots de passe, numéros de sécurité sociale, les dossiers médicaux — de la façon dont les ordinateurs précalculent certaines données à l'aide de caractéristiques architecturales appelées « exécution dans le désordre » et « exécution spéculative » pour accélérer leurs processus.
Avec ça, une course a commencé dans la communauté du matériel alors que les concepteurs de puces se sont dépêchés de trouver des correctifs à Spectre et Meltdown et de révéler des failles encore inconnues avant les pirates. Dans l'année qui a suivi, de nombreuses variantes de ces attaques sont apparues, et plus sont attendus.
Dans ces "attaques par canal secret, " aucune donnée ne change jamais de mains entre le processeur piraté et les attaquants essayant de voler des données. L'information est déduite de la manière dont les réponses dans un jeu de mots croisés peuvent être devinées sans connaître la réponse réelle à l'indice. Ces piratages, donc, sont presque impossibles à repérer.
Face à cette menace émergente, une équipe dirigée par des informaticiens de la TU Kaiserslautern, Allemagne, en collaboration avec des chercheurs de l'Université de Stanford en Californie, a adopté une nouvelle approche pour exposer les défauts potentiels dans les nouvelles conceptions de puces. C'est un algorithme, Vérification unique de l'exécution du programme, ou UPEC, pour faire court.
« UPEC est une forme de vérification de sécurité automatisée qui alertera les concepteurs des failles potentielles dans leurs microarchitectures, bien avant que les copeaux ne soient produits en masse, " déclare le professeur principal Wolfgang Kunz, Chaire d'automatisation de la conception électronique à la TU Kaiserslautern.
Ce qui est plus important, c'est qu'ils ont montré que de telles failles de sécurité existent dans un spectre de processeurs beaucoup plus large qu'on ne le pensait auparavant, affectant non seulement les processeurs haut de gamme mais même les processeurs simples qui sont omniprésents dans de nombreuses applications de la vie quotidienne, comme dans l'Internet des objets.
En substance, L'UPEC analyse les effets secondaires microarchitecturaux des décisions de conception et détecte s'ils peuvent être exploités pour créer des canaux secrets. Ce qui est particulièrement important, c'est que l'UPEC est exhaustive. Il prend en compte tous les programmes possibles pouvant s'exécuter sur le processeur. Les chercheurs pensent que l'UPEC peut exposer toutes les vulnérabilités potentielles des canaux cachés dans les futures conceptions de puces, même ceux que les concepteurs n'avaient pas anticipés.
Dans des tests en conditions réelles, l'équipe de recherche a demandé à l'UPEC d'analyser plusieurs conceptions de puces open source et d'identifier un certain nombre de défauts jusqu'alors inconnus. L'équipe a créé et analysé différentes variantes de conception de ces processeurs et a démontré que ces faiblesses résultent facilement des processus de conception normaux et peuvent affecter pratiquement n'importe quel processeur, processeurs particulièrement simples et pas seulement la classe des processeurs haut de gamme analysés dans les attaques Spectre/Meltdown.
"Le point clé ici est que même les étapes de conception simples, comme ajouter ou supprimer un tampon, peut introduire par inadvertance des vulnérabilités de canaux cachés dans à peu près n'importe quel processeur, " dit Mo Fadiheh, membre de l'équipe de Kaiserslautern.
Une attaque importante que l'UPEC a révélée est ce que l'équipe a surnommé l'attaque "Orc" qui pourrait être présente sur des puces qui sont déjà utilisées comme épine dorsale dans de nombreuses applications critiques pour la sécurité dans l'Internet des objets et dans les systèmes autonomes. systèmes, comme les voitures et les avions autonomes.
"Théoriquement, un pirate informatique pourrait utiliser une attaque Orc pour prendre le contrôle d'un véhicule autonome ou pour réquisitionner des ordinateurs en réseau sur l'Internet des objets, " déclare Subhasish Mitra, membre de l'équipe, professeur de génie électrique et d'informatique à l'Université de Stanford.
Orc est la première attaque imprévue à être découverte automatiquement par un logiciel seul. La découverte d'Orc démontre que les attaques par canaux cachés sont possibles dans des processeurs simples. Les chercheurs ne peuvent pas dire avec certitude si les vulnérabilités Orc sont intégrées dans des puces déjà sur le marché car ils ne disposent pas du code source propriétaire pour effectuer de telles évaluations.
"Nous suggérons aux entreprises qui fabriquent ces processeurs plus simples d'utiliser UPEC pour être certains qu'ils ne portent pas Orc et d'autres vulnérabilités, " Kunz recommande.
L'UPEC n'exige pas qu'un concepteur ait une connaissance existante des attaques potentielles et fournit des garanties de sécurité démontrables. Notamment, pour la communauté des concepteurs de processeurs, L'UPEC n'exige aucune modification radicale des processus de conception standard. Jusque là, L'UPEC fonctionne pour les processeurs de complexité jusqu'à moyenne. D'autres recherches sont en cours sur les processeurs haut de gamme. La mise en œuvre actuelle de l'UPEC a été construite en faisant des extensions à un environnement de vérification formel existant fourni par Onespin Solutions.
"Orc démontre que de graves défauts peuvent résulter de décisions de conception apparemment inoffensives que les concepteurs de puces prennent chaque jour, " dit le professeur Mark D. Hill, un expert en architecture informatique de l'Université du Wisconsin-Madison. "Avec l'UPEC, les concepteurs peuvent être beaucoup plus sûrs qu'ils trouveront et élimineront tous les défauts potentiels des canaux cachés dans leurs conceptions."