Deux failles majeures ont été révélées cette semaine par une équipe de chercheurs. Elles touchent la quasi intégralité des ordinateurs dans le monde.

 

Meltdown

Seuls les processeurs Intel et certains AMD x86/x64 sont touchés, à l’exception de ceux qui ne supportent pas OOO (Out Of Order), comme les processeurs fabriqués avant 1995, ainsi que les Itanium et Atom d’avant 2013.

 Comment Meltdown fonctionne-t-il ?

Afin de gagner des cycles de vitesse, il existe un optimiseur processeur appelé le OOO.
C’est un système de réorganisation de l’ordre dans lequel les instructions processeur vont s’exécuter afin d’optimiser la vitesse (algorithme de Tomasulo).
La faille se situe au niveau de l’ajout volontaire d’une instruction non autorisée (comme la lecture d’une zone mémoire) et son erreur (qui génère une exception via une interruption). Cette faille permet de lire une zone mémoire protégée et de récupérer ainsi des informations sensibles.
Il existe un patch logiciel pour ce problème initialement matériel, qui tend à limiter l’optimisation OOO, mais ce patch implique un ralentissement, ce qui est un vrai problème pour la virtualisation ou les bases de données, qui utilisent énormément d’appels système.

 

Spectre

Tous les processeurs x86/x64 sont touchés (AMD et ARM y compris).

Comment Spectre fonctionne-t-il ?

Un système de prédiction d’exécution est utilisé afin de gagner en vitesse d’exécution. Si la prédiction est bonne, le calcul est intégré dans le flux, s’il est faux, il est rejeté. Ce rejet peut polluer le cache processeur, et être utilisé pour exploiter une faille, le mécanisme d’état de la prédiction intégrant déjà la lecture de zone mémoire en avance (afin de gagner du temps).
Cette faille permet de lire n’importe quelle zone mémoire depuis n’importe quel processus. On peut par exemple développer un applicatif qui peut lire les zones mémoires sécurisés d’openssh, et récupérer des clés, login pass, etc. Le contenu du cache des processus peut être directement lu en parallèle à un autre accès.

Deux PoC (Proof of Concept) Meltdown et Spectre démontrent la possibilité de lire les données entre le kernel et une application (Meltdown) et entre 2 applications (Spectre).

Concernant Spectre, il n’y aura jamais de correctif à 100%, sauf sur les futurs processeurs.
Le seul correctif possible passe par la mitigation et la sécurité applicative, comme par exemple dans un navigateur Internet.

 

Quels sont les risques ?

Dans les deux cas, le pirate doit pouvoir lancer du code sur la machine. Il n’y a pas d’exploitation à distance possible, sauf dans le cas d’une faille d’exécution de code distant comme dans CVE-2017-16943, par exemple.

Même si ces failles représentent une menace importante, elles permettent ‘que’ de lire de l’information (clé chiffrement, mot de passe etc.) mais en aucun cas ne permettent d’écrire de l’information, ou d’exécuter du code arbitraire.

Les patchs logiciels existants (patch Windows 10 dans la nuit du 3 au 4 janvier 2018, Windows Update pour les autres, et mises à jour Kernel, microcode_ctl et linux-firmware pour Linux) ne font que mitiger la faille Spectre. Le risque est donc d’observer un ralentissement des systèmes patchés, notamment pour les environnements serveurs.

Pour les utilisateurs de ses solutions, Microsoft a sorti en avance le patch de janvier 2018 pour Windows 7 et Windows 2008 R2, téléchargeable ici.

 

L’impact au niveau d’Icodia

Coté serveur

Sur la plateforme mutualisé l’impact est inexistant, car l’exécution de binaires reste dans un environnement sécurité et limité.

Même constat sur la plateforme VPS et pour les serveurs dédiés, car les fonctions d’exécution sont bloquées. Cependant, l’utilisateur peut activer l’exécution de binaires depuis l’IcoAdmin serveur. Dans ce cas, le risque est plus important, mais son impact n’est pas différent d’une faille de dépassement de buffer kernel classique.

Coté client

Ici, le risque est plus important, car il est possible, par exemple via un code JS, d’outrepasser les droits et les restrictions d’une application. On peut imaginer qu’un site web contenant une page frauduleuse puisse récupérer les mots de passes stockés dans la mémoire du navigateur (il existe un exemple de PoC en JS).
Il est donc IMPORTANT de mettre à jour noyau, navigateurs, etc.

 

Comment agit le support Icodia ?

Pour nos clients disposant d’une infogérance, nous procédons malgré tout à la mise à jour (kernel + linux-firmware + microcode_ctl).
Cela limite énormément les risques de dépassement de buffer, ou d’exploitation des failles Meltdown et Spectre.