Metldown et Spectre

Meltdown et Spectre: La menace de sécurité d’une autre dimension

Ce sont les deux dernière failles de sécurité découvertes pour nos ordinateurs histoire de commencer l’année en beauté. Et elles sont de taille ! Cette fois ci elles ne concernent pas comme d’habitude un programme que vous utilisez ou le système d’exploitation de votre ordinateur mais directement le processeur qui le fait fonctionner. Meltdown ne toucherait « que » les processeurs Intel vendus depuis un dizaine d’année alors que Spectre concerne tous les processeurs. C’est ce point qui va les rendre bien plus difficiles à corriger et les rend dangereuses. Je vais essayer dans cet article de vous expliquer comment elles fonctionnent, quels sont les risques encourus et comment se protéger au mieux.

D’où viennent les failles?

C’est le 3 janvier que deux équipes de Google Project Zero rendaient publique l’existence de ces failles. Elles sont très particulières en cela que c’est la recherche de la performance qui les a provoquées. Alors essayons de comprendre comment elle fonctionnent et les risques qu’elles font encourir.

Un processeur moderne est capables d’exécuter plusieurs morceaux de code (programmes) en parallèle. C’est cette capacité qui est utilisée afin d’optimiser les temps d’exécution des programmes dans nos ordinateurs, smartphones et tablettes. Dans un programme on effectue en permanence des choix qui modifient la façon dont la suite sera exécutée, par exemple (en simplifiant) :

Si le nom d’utilisateur est correct

alors demander le mot de passe.

sinon afficher un message d’erreur.

L’idée partant d’une bonne intention est de faire exécuter en parallèle la branche la plus probable avant de connaître le résultat de la condition. Si la condition se réalise c’est tout bénéfice on a gagné du temps sinon on ne perd rien et cela prendra le même temps que si on avait attendu de connaître le résultat. Tout est parfait et statistiquement nos processeurs gagnent en performance. Oui mais…

Il y a un autre problème certaines données doivent être protégées comme nos mots de passe par exemple. Cela est normalement réalisé par le fait que ces données ne sont théoriquement accessibles que par des programmes faisant partie du noyau du système d’exploitation (Windows, Linux, Android…) et pour plus de sécurité encore sont stockées uniquement dans la mémoire système qui est protégée également. Alors ? Où est problème ?

Le problème vient d’un autre mécanisme d’accélération de nos processeurs : La mémoire cache. C’est une partie de la mémoire contenue directement à l’intérieur du processeur qui est beaucoup plus rapide où se retrouve stockée toutes sorte de données afin d’aller le plus vite possible quand on à besoin de les lire ou de les modifier.

Vous suivez toujours ? Alors voila comment ces failles fonctionnent. Imaginez un morceau de code introduit sur votre ordinateur qui provoque une alternative ou la plus probable est d’aller lire là ou il est stocké votre identifiant et votre mot de passe et le mettre en mémoire. Ce morceau de code va s’exécuter et …. ouf tout cela est stocké dans la mémoire système qui est protégée. Ou mais avant d’être stockées dans la mémoire système tout cela transite dans la mémoire cache bien avant que l’exception “accès interdit” soit détectée et le bout de code qui déclenché tout cela peut récupérer vos données dans la mémoire cache et le (vilain) tour est joué.

Je vous rassure c’est quand même un peu plus compliqué que cela et il faut des connaissances minimales en programmation pour y arriver. Pour la faille baptisée Spectre c’est très compliqué et l’équipe qui l’a découverte indique qui est vraiment très difficile de l’exploiter et qu’il est peu probable qu’elle le soit rapidement. Mais pour Meltdown c’est beaucoup plus simple et il suffit d’un peu de code écrit en JavaScript pour la mettre œuvre. JavaScript c’est un langage de programmation utilisé pour l’immense majorité des sites Internet. D’où le risque important pour nos données personnelles.

Les risques.

Le risque encouru est relativement simple et très dangereux à la fois puisque potentiellement tout le contenu de votre mémoire peut être lu par quelqu’un de malveillant. Donc aucune donnée personnelle n’est à l’abri.

Comment se protéger ?

C’est là que les chose se compliquent énormément puisque la faille ne concerne plus des programmes que vous exécutez mais le micro-code contenu à l’intérieur même du processeur. Ce sont donc les processeurs eux mêmes qu’il va falloir patcher, ce sera donc long et complexe. En attendant il y a quand même des façons de minimiser le risque. Comme d’habitude le risque va venir d’Internet et les éditeurs de navigateurs internet on déjà fourni des mises à jours pour les plus utilisés d’entre eux : Firefox, Chrome, Edge et Internet Explorer. Il faut donc mettre votre navigateur à jour si cela n’a pas encore été fait. Les versions protégées ou qui vont l’être sont

  • Firefox 57.0.4
  • Chrome : Il faudra attendre un peu la version protégée (64) sera disponible le 23/01/18 en attendant Google fournit une solution d’attente : Vous copier ceci chrome://flags/#enable-site-per-process dans la barre d’adresse de chrome, puis vous cliquez sur Activer pour l’option Isolation des sites stricte.
  • Windows : Normalement cela se fait automatiquement au travers de Windows update, si nous ne l’avez pas encore fait c’est vraiment le moment.

Les Systèmes d’exploitation eux-mêmes peuvent apporter une meilleure protection même si elle n’est pas totale.

  • Linux : Une modification a été apporté
  • MacOs et iOS : Apple indique qu’une modification a déjà été apportée depuis la version 10.13.2
  • Windows : Les modifications sont en cours de déploiement au moyen de Windows update.
  • Andoid : Google a commencé à mettre à jour les Nexus et Pixel, pour les autres il faudra attendre que les fabricants de portables déploient leur propre mise à jour.

Attention toutefois pour Windows, certains antivirus empêchent le déploiement du correctif. Vous trouverez la liste des antivirus compatibles dans le document suivant .

Pour tous en tous cas ne téléchargez que des applications de sources parfaitement fiables et vérifiées.

Reste que cela ne suffit pas, il reste tous les clouds que vous utilisez peut être et là il vous faut faire confiance à l’hébergeur du cloud, certains (les plus connus et les plus gros) iront vite et feront le nécessaire dés que possible, les autres…. Alors souvenez vous que quand vous stockez vos données sur le cloud, vous les stockez sur l’ordinateur d’un autre

Et enfin la véritable solution ne pourra venir que des fabricants de processeurs avec un patch qui modifiera le micro-code des processeurs eux-mêmes. Le processus sera long et complexe. En outre il est évident que le correctif sera coûteux en performance puisque il faudra inhiber au moins partiellement l’astuce utilisée actuellement pour l’améliorer. Les experts estiment cette perte de performance entre 5 et 30 % selon les processeurs.

Avec tout ça je vous ai pas encore souhaité une bonne année, alors Bonne Année quand même.

Mise à Jour: Entre et la rédaction de cet article et sa publication, les experts de Google annoncent avoir mis en évidence la faille Meltdown également sur au moins un processeur ARM et un processeur AMD, c’est donc très probablement TOUS les processeurs qui seraient touchés.

Share Button

Articles similaires