Janvier 2018, grand retentissement dans le monde de la cybersécurité : un rapport traitant d’une nouvelle menace est publié. Cette faille de sécurité appelée Spectre permet de lire l’ensemble de la mémoire d’un ordinateur, tablette ou smartphone et donc d’accéder à leurs données. Elle peut également lire les saisies clavier… Big Brother le retour…

Un nouveau rapport de l’Université de Technologie de Graz en Autriche vient juste de sortir en mettant en avant la faille NetSpectre découlant directement de Spectre.

Alors comment fonctionne Spectre ? En quoi NetSpectre varie de sa grande sœur et quels sont les impacts de cette faille ? S’agit-il d’une réelle menace ou d’une fausse alerte ?

Rappel sur le fonctionnement de Spectre

Cette faille touchant pratiquement tous les ordinateurs est exploitable depuis déjà 20 ans (soit l’époque de la Coupe du Monde 1998…). Il a fallu attendre un rapport rédigé par des chercheurs de Google pour que les fabricants de processeurs s’en préoccupent, notamment Intel qui domine le secteur avec 80% de parts de marché.

Ce que Spectre a d’extraordinaire, c’est qu’il s’agit d’une faille matériel (hardware) et non pas logiciel (software) qui a pour habitude d’être le maillon faible. Pour mieux comprendre cette faille, il convient tout d’abord de rappeler les bases du fonctionnement du système d’un ordinateur.

Le système d’exploitation (Windows, Linux, iOS, Android…) envoie une instruction par exemple combien fait 5+5. Le processeur (qui peut être comparé au cerveau pour l’être humain) procède au calcul et obtient le résultat 10. Il le stocke dans la mémoire vive de l’appareil pour que ce résultat soit ensuite rendu visible et compréhensible par l’utilisateur. Les informations sont stockées dans différents niveaux de mémoire vive.

Spectre dans ce fonctionnement s’attaque à ce qu’on appelle l’exécution spéculative. Cette technique permet d’optimiser du temps. De quoi s’agit-il concrètement ?

Afin de gagner du temps, pendant que le système d’exploitation est en cours d’exécution et qu’il réfléchit, un processeur va probabiliser une potentielle instruction que pourrait lui transmettre celui-ci d’où le terme « spéculation ».

En réalité, il va tester tous les niveaux de conditions : comme tout le reste de l’informatique le processeur fonctionne en binaire oui ou non. A chaque embranchement « non » il va descendre un niveau de condition pour le tester à nouveau. Il apprend avec le fonctionnement du programme et spécule sur les branches qui seront prises. Il exécutera toute une branche d’instruction et stockera le résultat dans la mémoire cache pour le retrouver rapidement.

Quand le système d’exploitation transmet sa véritable instruction, le processeur vérifie la cohérence du résultat. Si l’instruction demandée est effectivement celle qu’il avait prédit, il y a clairement un gain de temps puisque le résultat est déjà trouvé et rangé à portée de circuits électriques. Si l’instruction probabilisée n’est pas celle qui est réellement demandée, on ne peut pas parler de perte de temps car le processeur va traiter immédiatement la nouvelle demande. De toute façon, il n’aurait rien fait de plus s’il avait simplement attendu cette instruction. Qui sait, le résultat qu’il a trouvé lors de son mauvais pronostic sera peut-être utilisé lors d’une prochaine instruction ! C’est donc un fonctionnement gagnant-gagnant.

En temps normal, la mémoire est protégée : un processus ne peut accéder qu’à sa propre mémoire. Il ne peut donc pas accéder à celle d’un autre processus, notamment celle du noyau. Or Spectre permet d’accéder à la zone mémoire utilisée par des processus en cours d’exécution et de lire les données présentes dans cette zone. Pour réaliser cette attaque, il est nécessaire d’exécuter un code sur la machine ou de créer un java script malveillant sur un navigateur web.

En conséquence le vrai risque de cette vulnérabilité est la fuite de données sensibles du type : identifiants, mots de passe, clés de cryptage… Cela dit, il faut nuancer cette menace car elle n’est pas facile à mettre en place. En effet, il faut être un pirate chevronné pour pouvoir l’exploiter. Mais si elle est plus difficile à attaquer, elle est aussi plus difficile à corriger !

 

Comment fonctionne NetSpectre ? Quel est le réel danger ?

Des chercheurs de l’Université de Technologie de Graz en Autriche ont découvert une nouvelle variante de Spectre, NetSpectre. Elle présente la particularité de ne pas nécessiter l’introduction de code malveillant pour pouvoir exploiter la faille de sécurité des processeurs.

Cela peut être fait à distance via une connexion réseau. En utilisant un canal spécifique, les pirates peuvent dérober des données sur le système. Cependant, l’exfiltration est extrêmement longue puisqu’elle serait de 60 bits/h. Avec une telle vitesse, il faudrait 4 millions d’années pour transférer une chanson mp3 (de durée moyenne d’environ 3 minutes), ce qui ne nous rajeunit pas !

Alors qu’il n’y aurait aucun intérêt à transférer une chanson via cette faille, un mot de passe ou une clé de chiffrement ne pesant que quelques centaines d’octets seraient facilement récupérables en quelques heures sans que la victime ne s’en rende compte. Enfin, il convient de ne pas oublier que le futur est fait de progrès et que le temps d’exfiltration va probablement s’améliorer. Il sera possible de récupérer rapidement toutes les informations contenues sur une machine.

 

Même si NetSpectre ne peut s’emparer que de peu de données (pour l’instant), il suffit que sa cible soit un mot de passe ou un identifiant (de compte bancaire, de dossiers médicaux, d’informations confidentielles…) pour que cette menace qui pourrait sembler minime devienne énorme pour des organisations ou des particuliers. Les mises à jour proposées par les navigateurs, systèmes d’exploitation ou autres doivent être faites le plus régulièrement possible. Pour cela il est également possible d’utiliser un logiciel comme IKare qui permet d’effectuer un scan de vulnérabilité sur l’ensemble de ses machines et de savoir lesquelles ne sont pas à jour.

Une fois de plus il convient donc à chacun de se prémunir contre cette nouvelle vulnérabilité. ☂️