Des chercheurs de l'EPFL découvrent une faille informatique mondiale
Des chercheurs des laboratoires HexHive et Parallel Systems Architecture (PARSA) de la Faculté Informatique et Communications de l’EPFL, en collaboration avec des chercheurs d’IBM, ont identifié une faille de sécurité informatique généralisée concernant les ordinateurs portables, les ordinateurs de bureau et le matériel serveur.
L’année dernière, les failles de sécurité « Spectre » et « Meltdown », qui touchent les CPU (« central processing units » ou processeurs) Intel de la plupart des ordinateurs portables et de bureau et des serveurs, ont défrayé la chronique. Aujourd’hui, les chercheurs des laboratoires HexHive et PARSA de l’EPFL, en collaboration avec le centre de recherche IBM de Zurich, ont identifié une nouvelle attaque similaire, appelée SMoTherSpectre.
Fuite de données
En jargon informatique, SMoTherSpectre est une « attaque spéculative par canal auxiliaire », autrement dit, elle permet à un agresseur potentiel de détourner des données en profitant d’une technique d’optimisation du CPU dans laquelle les instructions sont exécutées de manière « spéculative » après une branche (point de décision) dans le code.
Les CPU modernes traitent de nombreuses instructions simultanément, mais plutôt que d’attendre que l’exécution des instructions de la branche soient terminées, ces CPU « supposent » quelle cible va être utilisée et exécutent ces instructions de manière spéculative. Si la supposition est exacte, les instructions exécutées de manière spéculative sont prises en compte, ce qui améliore la performance; sinon, elles sont ignorées. Malheureusement, les suppositions inexactes génèrent un « canal auxiliaire » qui permet à un agresseur de détourner des informations.
Les attaques Meltdown et Spectre ont également exploité le principe de l’exécution spéculative, mais l’approche unique des chercheurs de l’EPFL cible l’origine même de ces failles de sécurité : la contention de port, qui survient lorsque des séries d’instructions devant être exécutées simultanément sur un CPU sont retardées en raison de conflits de planification. Une attaque SMoTherSpectre met à profit une contention de port pour déterminer les instructions qui ont été exécutées de manière spéculative.
« SMoTherSpectre chronomètre les séquences d’instructions exécutées de manière spéculative, ce qui permet à l’auteur de l’attaque de déduire quelles séquences d’instructions ont été exécutées et d’identifier les exécutions en cours, » explique Mathias Payer, responsable d’HexHive et professeur à l’EPFL.
Une faille difficile à corriger
Mathias Payer explique que cette faille de sécurité est particulièrement difficile à corriger parce qu’elle touche le matériel CPU et non les logiciels.
« Même si un programme logiciel est totalement protégé contre les attaques, il peut être affecté en raison de cette vulnérabilité. Les solutions sont toutes difficiles à implémenter et ont toutes un impact sur la performance et les coûts », explique-t-il, en précisant que les versions futures du matériel Intel devront être mises à jour pour résoudre ce problème.
Mathias Payer ajoute que la distinction entre vulnérabilité matérielle et vulnérabilité logicielle est précisément ce qui différencie SMoTherSpectre d’une autre attaque développée simultanément: PortSmash. Cette dernière permet de dérober des informations sur des instructions CPU exécutées régulièrement en présence d’un bug logiciel, mais le problème est résolu une fois la faille logicielle réparée.
Les chercheurs ont révélé l’attaque SMoTherSpectre à Intel, AMD, OpenSSL et IBM. Ils ont publié l’intégralité de leur étude dans la base de données en ligne arXiv et posté une description technique détaillée dans un blog.