211service.com
Les puces peuvent être intrinsèquement vulnérables aux attaques Spectre et Meltdown
Songsak Wilairit / Eye Em
Les logiciels malveillants représentent une menace permanente pour la vie moderne, attaquant tout, des bases de données et des caméras au commerce électronique, aux centrales électriques et aux hôpitaux. Dans leurs formes les plus insidieuses, les logiciels malveillants peuvent voler des informations sensibles sans que personne ne sache qu'une fuite a eu lieu.
La lutte contre ces attaques repose sur une hypothèse importante : qu'un logiciel suffisamment puissant et bien conçu peut garantir la sécurité de toute information. En effet, de vastes entreprises de cybersécurité sont basées sur cette idée.
Mais aujourd'hui, Ross McIlroy et ses collègues de Google affirment que cette hypothèse est dangereusement fausse. Leur travail se concentre sur une nouvelle génération d'attaques malveillantes qui les ont obligés à reconsidérer la nature de la cybersécurité et son fonctionnement.
Les nouvelles attaques, connues sous le nom de Spectre et Meltdown, sont étudiées depuis début 2018. Mais leur signification plus large ne devient claire que maintenant.
La découverte choquante de Google est qu'ils exploitent une faille fondamentale dans le fonctionnement des processeurs d'informations. Et pour cette raison, les experts en sécurité peuvent ne jamais être en mesure de protéger ces appareils, même en principe.
L'équipe de Google affirme que la menace affecte tous les fabricants de puces, y compris Intel, ARM, AMD, MIPS, IBM et Oracle. Cette classe de failles est plus profonde et plus largement distribuée que peut-être n'importe quelle faille de sécurité dans l'histoire, affectant des milliards de processeurs en production dans toutes les classes d'appareils, disent McIlroy et co.
Dans le passé, les logiciels malveillants avaient tendance à exploiter le code mal conçu et les erreurs qu'il contient. Ces erreurs fournissent aux acteurs malveillants des moyens de perturber les calculs ou d'accéder à des informations confidentielles. Une approche importante consiste donc à corriger ces erreurs avec des correctifs logiciels avant qu'elles ne puissent être exploitées.
Mais lorsque la faille réside dans les fondements de la conception informatique, les correctifs logiciels offrent une faible protection. Le défi est que la nature même du calcul permet aux informations de fuir via des mécanismes appelés canaux secondaires.
Un exemple de canal latéral est le clignotement des voyants d'un modem, d'un routeur ou même d'un PC. Divers chercheurs en sécurité ont souligné que le clignotement est corrélé au transfert de données et qu'un acteur malveillant peut simplement regarder les flashs pour écouter. En effet, les chercheurs en sécurité ont démontré des attaques similaires avec un éventail ahurissant de canaux secondaires, y compris la consommation d'énergie, les microphones et les caméras haute résolution.
La nouvelle menace est plus insidieuse car elle existe à l'interface entre le matériel et le logiciel, connue sous le nom d'architecture de la machine. A ce niveau, un processeur traite tous les langages de programmation de la même manière. Il exécute les commandes les unes après les autres sans se soucier du programme qui les a demandées.
Les informaticiens ont toujours supposé que ces commandes pouvaient être séparées de manière à garantir la confidentialité. L'idée est que certains logiciels suffisamment avancés devraient être capables de rassembler les commandes de manière à les séparer.
Mais le résultat clé de l'équipe de Google est de montrer que cette hypothèse est fausse. Un processeur ne peut pas faire la différence entre une bonne commande et une mauvaise, même en principe. Ainsi, si une commande lui dit d'envoyer des informations à une zone de la mémoire facilement accessible ultérieurement, la machine obéit.
Il est facile d'imaginer que cela peut être évité avec un logiciel qui sépare les bonnes commandes des mauvaises. Mais l'équipe de Google montre que cela ne fait qu'ajouter une autre couche de complexité au défi, ainsi qu'un nouvel ensemble de canaux secondaires potentiels.
Pour montrer l'omniprésence de la menace, l'équipe de Google a construit un gadget de lecture universel. Il s'agit de l'écoute indiscrète ultime - une routine capable de lire toute la mémoire adressable d'un processeur, inconnue de l'utilisateur.
Ce n'est en aucun cas un logiciel parfait. Il fonctionne parfois de manière probabiliste et peut donc échouer. Mais il n'y a aucun moyen de l'empêcher de fonctionner quand il le fait.
McIlroy and co a créé quatre variantes de ce gadget. Nous avons développé des preuves de concept en C++, JavaScript et WebAssembly pour toutes les vulnérabilités signalées, explique l'équipe. Ils ont constaté que ces gadgets de lecture divulguaient des informations à des taux allant jusqu'à 2,5 kilo-octets par seconde.
La variante 4 du gadget de lecture universel est particulièrement préoccupante. McIlroy et co disent qu'ils n'ont pas été en mesure de trouver un moyen efficace de le combattre ou de réduire sa menace. Nous ne pensons pas que la variante 4 puisse être efficacement atténuée dans le logiciel, disent-ils.
Les tentatives de l'équipe pour lutter contre ces attaques ont eu un impact significatif sur les performances informatiques. Par exemple, une forme d'atténuation pour la première variante du gadget de lecture universel a entraîné un ralentissement de 2,8 fois, tel que mesuré par un programme d'analyse comparative Java appelé Octane.
Au cours de l'année dernière, Intel a repensé ses puces pour tenter d'atténuer les menaces les plus graves des attaques Spectre et Meltdown. Mais cela se serait fait au prix d'une baisse des performances pouvant atteindre 14%. Et il est peu probable que les modifications soient infaillibles.
L'une des raisons de l'inquiétude de Google est la menace qui pèse sur le commerce électronique. Il n'est pas difficile d'imaginer une attaque révélant les clés cryptographiques utilisées pour sécuriser les transactions, permettant ainsi un vol à grande échelle.
Ainsi, la société a déjà livré des versions de Chrome avec les premières lignes de défense. Les versions 64 à 67 empêchent les attaques dans le navigateur via JavaScript.
Mais la menace est beaucoup plus profonde. De nombreux problèmes surviennent en raison de l'architecture complexe des appareils basés sur la propriété intellectuelle qui est soigneusement protégée.
Cette complexité fait elle-même partie du problème. Les conceptions sont basées sur des modèles abstraits qui sont devenus plus complexes à mesure que les fabricants ont poursuivi l'objectif d'un calcul plus rapide. McIlroy et co montrent que ces modèles abstraits ont toujours des canaux secondaires qui existent en dehors du modèle. Nous avons découvert qu'un code non fiable peut construire un gadget de lecture universel pour lire toute la mémoire dans le même espace d'adressage via des canaux secondaires, disent-ils. Cela met en danger les données arbitraires en mémoire, même les données « au repos » qui ne sont pas actuellement impliquées dans les calculs et qui étaient auparavant considérées comme à l'abri des attaques par canal latéral.
Il y a cependant une petite bonne nouvelle. Jusqu'à présent, aucune attaque connue n'exploite Spectre ou Meltdown. Pour le moment, la menace est confinée aux laboratoires de chercheurs en cybersécurité comme McIlroy et ses collègues.
Mais cela ne réconforte guère les fabricants de puces et les experts en sécurité. Il n'est pas difficile d'imaginer que des acteurs malveillants, y compris des équipes parrainées par l'État, pourraient développer des moyens d'exploiter cette vulnérabilité. C'est un problème, comme le disent McIlroy et co, qui semble destiné à nous hanter pendant longtemps.
Réf : arxiv.org/abs/1902.05178 : Spectre est là pour rester : une analyse des canaux secondaires et de l'exécution spéculative