Selon un chercheur de l'Université de Princeton, certes, la faille Heartbleed était logicielle, mais la vulnérabilité a montré des faiblesses évidentes dans les architectures matérielles existantes. « Les données sont vulnérables quand elles sont en transit ou quand elles se trouvent dans la mémoire de l'ordinateur », a expliqué Ruby Lee, professeur d'ingénierie au Département de génie électrique de l'université de Princeton, lors de la conférence Hot Chips (10-12 août, Cupertino) qui a été suivie par nos confrères d'IDG News Service. La faiblesse se trouve à la fois dans la mémoire et dans le cache encore appelé mémoire secondaire, dans lequel les données sont stockées temporairement avant d'être envoyées vers l'unité de traitement ou de stockage. « Ce mode de fonctionnement est normal pour le hardware. Il n'y a pas de bogues, mais il y a une fuite d'informations », a indiqué le chercheur. Avant d'enseigner à Princeton, Ruby Lee était architecte en chef et développeur principal pour l'unité processeurs de Hewlett-Packard.
La faille Heartbleed, qui a touché la bibliothèque de chiffrement Open Source Open SSL, a été découverte en avril dernier et a conduit les fabricants de matériel à livrer des correctifs en urgence. Elle a suscité beaucoup d'échanges pendant la conférence Hot Chips. La question de la sécurisation de la mémoire a été particulièrement discutée par les experts en processeurs. Ces derniers ont également parlé des moyens que pouvaient utiliser les pirates pour accéder aux données présentes en mémoire, dans les unités de stockage et pendant les transferts de données. Selon les fabricants de puces, le hardware est la première ligne de défense contre ces attaques, et ils ont proposé différentes techniques pour chiffrer les données et ajouter des systèmes de clés sécurisées au sein même du processeur. Un projet de recherche de l'université de Princeton, financé par le Département américain de la Sécurité intérieure, a débouché sur une nouvelle architecture qui permet de sécuriser la mémoire et le cache.
Le matériel continue à exposer lés clés qu'il conserve
La faille Heartbleed a mis en évidence un défaut critique dans certaines versions de la bibliothèque OpenSSL, qui permet de communiquer de façon sécurisée sur Internet et sur les réseaux. Les fabricants de matériel ont fourni des correctifs pour modifier les serveurs, les équipements réseaux et les appliances affectés par la faille et protéger les systèmes. Les pirates ont exploité la faille Heartbleed en utilisant une modalité d'attaque dite « side-channel » : le principe consistait à suivre l'activité des systèmes et à profiter des failles dans OpenSSL pour lire les données dans le cache.
« Les attaquants pouvaient voler des données importantes comme des mots de passe, des clés privées et autres informations d'authentification résidant dans la mémoire et dans le cache », a rappelé Ruby Lee. « A l'époque, on a beaucoup parlé des attaques, mais très peu des solutions », a ajouté le chercheur. « Or le matériel continue à exposer à tout moment les clés secrètes qu'il contient. Chaque composant matériel qui fonctionne avec un cache reste toujours potentiellement vulnérable à une fuite collatérale exploitable par une attaque dite side channel », a-t-il insisté.
L'attaquant reconstruit la clé dans sa totalité
La quantité de mémoire fixe allouée au cache représente vraiment le point faible du système. En effet, les attaquants peuvent reproduire le processus d'accès à la mémoire cache et envoyer des chaînes de données vers des portions de mémoire spécifiques en cours d'utilisation. Ils peuvent alors extraire des données à partir des adresses mémoire pour reconstruire les clés. « Parce que l'adresse mémoire est fixe, l'attaquant peut remonter en arrière et voir quelles adresses mémoire ont été utilisées par la victime », a expliqué Ruby Lee. « Ensuite, l'attaquant n'a plus qu'à reconstruire la clé dans sa totalité ». Les attaquants peuvent « lire ce qui est inscrit dans les clés primaires, les clés symétriques utilisées pour le chiffrement et les clés privées utilisées pour l'authentification », a encore déclaré le chercheur.
« Il est difficile de mener des attaques logicielles sur du hardware, mais les attaques side-channel peuvent être dangereuses », a ajouté l'enseignant de Princeton. D'autres failles comme Heartbleed pourraient exposer les systèmes vulnérables. « Si l'attaquant est capable de mener des attaques contre des systèmes fixes, c'est encore plus facile. En effet, à partir du moment où il trouve un chemin, il peut attaquer 80 % du système et, s'il veut renouveler l'attaque, il peut retrouver le même chemin », a déclaré Ruby Lee.
Effacer les traces avec l'architecture Newcache
Pour contrer ces attaques, le chercheur et certains de ses collègues de Princeton ont reconstruit l'architecture de cache de façon à ce que les traces laissées par la victime soient effectivement effacées, ce qui rend les attaques side channel plus difficiles. Cette nouvelle architecture de cache, appelée Newcache, pourrait remplacer le cache et la mémoire des systèmes vulnérables actuels. « Le Département de la sécurité intérieure américain aimerait que l'industrie adopte certaines de ces techniques », a déclaré le chercheur. Le Newcache est structuré comme un cache standard, mais il est doté d'une cartographie dynamique et aléatoire de sorte que les attaquants auront plus de difficultés à associer l'usage mémoire avec les bits de la clé. Ils auront plus de mal à localiser les données en cache et à les extraire. « La cible devient mobile de sorte que l'attaquant ne peut pas accéder aux données ou revenir dans un système qui conserve toujours la même configuration », a déclaré Ruby Lee.
« Newcache est prêt et les nouvelles mesures de sécurité ne vont pas affecter les performances », a encore précisé le chercheur. « En général, la mémoire est ralentie par des fonctionnalités comme l'ECC pour la correction d'erreur. Mais les tests effectués jusqu'à présent montrent que Newcache améliore les performances du système », a affirmé Ruby Lee. « Les caches sécurisés prennent beaucoup plus de place, mais ne consomment pas plus de ressources, et avec un circuit intelligent, ils ne sont pas plus lents que les caches classiques », a déclaré le chercheur. Il faudra peut-être plusieurs années aux concepteurs de puces et de systèmes pour modifier les caractéristiques de la mémoire, mais le chercheur estime que les fabricants de puces doivent commencer à penser à la sécurisation des données au sein des systèmes. « La sécurité de la mémoire devrait être une priorité, avec Newcache ou pas », a déclaré Ruby Lee. « Dans le domaine de la sécurité, la plupart des avancées se font sur un mode réactif. Après une attaque, les gens s'activent pour trouver une solution de défense et corriger la faille », a déclaré Ruby Lee. « Mais il faudrait commencer à préparer à l'avenir ».