Des chercheurs en informatique ont développé un nouveau processeur ultra-sécurisé, capable de déjouer les attaques des pirates informatiques comme jamais auparavant. Pour cela, il est capable de modifier aléatoirement sa structure sous-jacente, ce qui le rendrait pratiquement inviolable.
Le processeur, appelé Morpheus, a été développé par Todd Austin, professeur d’ingénierie électrique et d’informatique à l’Université du Michigan et Lauren Biernacki, doctorante en sciences et ingénierie informatiques au sein de la même université.
Après avoir développé leur premier prototype, ils n’ont pas tardé à le faire tester, et pour cela, ils n’y sont pas allés de main morte : l’année dernière, 525 chercheurs en sécurité informatique ont passé trois mois à essayer de pirater le processeur (ainsi que d’autres conceptions similaires). Résultat : toutes les tentatives contre Morpheus ont échoué… Le développement du premier prototype de Morpheus a été achevé en 2019. Pour déjouer les attaques, il transforme l’architecture de l’ordinateur en véritable puzzle aléatoire.
L’étude qui en découle s’est inscrite dans le cadre d’un programme parrainé par la Defense Advanced Research Program Agency (DARPA) des États-Unis, qui visait à concevoir un processeur sécurisé capable de protéger les logiciels vulnérables. La DARPA a rendu publics les résultats pour la première fois en janvier 2021.
Une façon de protéger les logiciels les plus vulnérables
En somme, le processeur est le composant informatique qui exécute tous les calculs, et qui permet donc de faire fonctionner les logiciels. Comme il est à la base de tous les systèmes logiciels, un processeur sécurisé a le potentiel de protéger tout programme s’exécutant sur ce dernier contre les attaques.
La plupart des processeurs ont une architecture x86 (pour la plupart des ordinateurs portables) ou ARM (pour la plupart des téléphones). Elle représente le jeu d’instructions dont les logiciels ont besoin pour fonctionner sur le processeur en question. Ils ont également une microarchitecture spécifique qui permet l’exécution du jeu d’instructions, et qui définit la vitesse de cette exécution ainsi que la quantité d’énergie qu’elle consomme.
Les pirates de logiciels doivent ainsi connaître parfaitement les détails de cette microarchitecture pour greffer leur code malveillant, ou malware, sur les systèmes vulnérables. Et c’est sur cette nécessité que les chercheurs se sont appuyés pour concevoir leur processeur inviolable. Pour mettre fin aux attaques, Morpheus randomise ces détails de mise en œuvre afin de transformer le système en un véritable puzzle virtuel que les pirates doivent résoudre avant d’exploiter des failles de sécurité.
Un puzzle virtuel
D’une machine Morpheus à l’autre, des détails tels que les commandes exécutées par le processeur ou le format des données du programme changent de manière aléatoire. Comme cela se produit au niveau de la microarchitecture, les logiciels fonctionnant sur le processeur ne sont pas affectés.
Bien entendu, un pirate informatique expérimenté pourrait effectuer une « rétro-ingénierie » d’un processeur Morpheus en quelques heures seulement, s’il en avait l’occasion. Mais pour contrer cela, Morpheus change également sa microarchitecture toutes les quelques centaines de millisecondes.
Ainsi, les attaquants doivent non seulement effectuer une rétro-ingénierie de la microarchitecture, mais aussi le faire très rapidement. En d’autres termes, avec Morpheus, un pirate est confronté à un ordinateur qu’il n’a jamais vu auparavant, et il en va de même à chaque nouvelle tentative.
Lutter contre la nature même de tout programme…
Pour réaliser un exploit de sécurité, les pirates utilisent les vulnérabilités des logiciels pour s’introduire dans un appareil. Une fois à l’intérieur, ils y greffent leur code informatique malveillant. Les logiciels malveillants sont conçus pour infecter les dispositifs hôtes dans le but de voler des données sensibles ou d’espionner les utilisateurs.
L’approche habituelle en matière de sécurité informatique consiste à corriger les vulnérabilités individuelles des logiciels pour empêcher les pirates de pénétrer. Pour que ces techniques basées sur les correctifs soient efficaces, les programmeurs doivent concevoir des logiciels presque parfaits, du moins sans aucun bogue. Mais l’idée même de créer un programme parfait est risible… Les bogues, qu’ils soient mineurs ou majeurs, sont une part inévitable de tout programme. Cependant, les bogues de sécurité, qui n’omettent pas directement le fonctionnement du logiciel, sont par conséquent les plus difficiles à trouver.
Morpheus adopte une approche distincte en « augmentant » le processeur sous-jacent pour empêcher directement les attaquants de greffer leurs logiciels malveillants sur l’appareil en question. Grâce à cette approche, le processeur protège tout logiciel vulnérable qui s’y exécute.
Une nouvelle approche hardware pour une sécurité accrue
Pendant longtemps, les concepteurs de processeurs ont considéré que la sécurité était un problème que seuls les programmeurs pouvaient limiter, puisque ces derniers ont un impact direct sur les bogues logiciels à l’origine des problèmes de sécurité… Mais récemment, les concepteurs ont découvert que les composants pouvaient fortement aider à protéger les logiciels.
Par le passé, des efforts universitaires, tels que le projet Capability Hardware Enhanced RISC Instructions de l’université de Cambridge, ont démontré une forte protection contre les bogues de mémoire. Des efforts commerciaux ont également été entrepris, tels que la technologie Control-flow Enforcement d’Intel, qui devrait bientôt être disponible.
Morpheus adopte une approche sensiblement différente, qui consiste à ignorer les bogues et à rendre aléatoire sa mise en œuvre interne afin de déjouer l’exploitation même des bogues. Heureusement, il s’agit de techniques complémentaires, et leur combinaison rendra probablement les systèmes encore plus difficiles à attaquer.
Actuellement, les ingénieurs à l’origine du projet tentent de déterminer comment les aspects fondamentaux de la conception de leur processeur Morpheus peuvent être appliqués pour protéger les données sensibles sur les appareils des particuliers et au sein des systèmes cloud.