5 janvier 2018

Il y a eu beaucoup de spéculations en ce début d’année concernant l’annonce de 3 vulnérabilités touchant les processeurs actuels.

L’annonce fait grand bruit puisqu’il s’agit de vulnérabilités bas-niveau, touchant des processeurs présents partout autour de nous, aussi bien dans nos ordinateurs que dans nos datacenters, nos téléphones et nos smart-devices.

Nomios vous propose de faire un point sur le sujet.

KPTI, KAISER, F**CKWIT ou encore Intel Bug

Tout est parti de l’annonce d’un patch Linux surnommé KPTI pour Kernel Page Table Isolation, dont les développeurs y font aussi référence ironiquement sous les noms de KAISER pour Kernel Address Isolation to have Side-channels Efficiently Removed ou encore F**CKWIT Forcefully Unmap Complete Kernel With Interrupt Trampolines.

Comme les noms ci-dessus laissent entendre, il s’agit d’un patch du noyau Linux pour résoudre des problèmes d’isolation entre la mémoire utilisateur et la mémoire système.

Cette isolation, présente dans tous les systèmes d’exploitation modernes, est essentielle pour la sécurité d’un système. C’est elle qui empêche une application d’accéder (ou pire, modifier) aux informations du noyau.

En d’autres termes, c’est cette séparation qui empêche un code malicieux de prendre le contrôle nativement d’une machine pour y lancer un malware, voler des données, ou encore écouter le réseau.

Les premières spéculations sur le sujet font état d’une erreur de design des processeurs Intel. Il serait possible d’attaquer les processeurs Intel récents par une attaque « Side-Channel« , afin de mettre à mal cette séparation.

En sécurité, cela veut donc dire qu’une personne pouvant exécuter du code sur une machine serait capable d’en prendre le contrôle, même depuis un environnement restreint.

Spectre, Meltdown

Les spéculations autour de ces vulnérabilités ont obligé l’équipe de Google Projet Zero à publier en avance le résultat de leurs recherches.

Il y a donc 2 attaques, dont 3 variantes.

Cette isolation, présente dans tous les systèmes d’exploitation modernes, est essentielle pour la sécurité d’un système.

Ces deux attaques concernent les processeurs au moins Intel, AMD et ARM.

La troisième variante ne concerne qu’Intel, nommée « Meltdown » (https://spectreattack.com/):

C’est probablement la plus critique des trois.

Nous reviendrons sur les détails techniques autour de ces vulnérabilités dans un prochain article.

Un peu d’histoire

Ces découvertes ne sont pas si récentes, des premiers travaux publics sur le sujet ont été publiés par Anders Fogh, un chercheur en sécurité Allemand, en Juillet 2017.

Les constructeurs semblent avoir été informés avant l’été par Google.
Les différents vendeurs affectés par le souci se sont accordés à ne pas publier d’information sur le sujet, dans l’attente du développement de correctifs.

L’équipe de Google Projet Zero avait initialement prévu de publier ses travaux le 9 janvier prochain.

Remédiation et impact

C’est pour deux raisons que ces bugs font autant de bruit.

La source du problème

Le problème est situé sur le design même des processeurs. Ces vulnérabilités résident dans une fonctionnalité appelée « exécution spéculative« .
Cette technologie permet au processeur d’anticiper les instructions processeurs futures si elles n’ont pas d’incidence sur des exécutions en cours, et donc ne pas attendre la fin d’une instruction potentiellement lente pour en lancer une nouvelle.
Le processeur procède alors aux calculs en avance pour paralléliser le traitement, et mettre l’information disponible en cache, car ceux-ci sont bien plus rapides que la mémoire (environ 40x plus rapide).

Le processeur va alors pré-calculer des opérations légales en avance, alors qu’une opération interdite se trouve en amont de l’exécution. Bien que *in fine*, l’instruction illégale provoquera un arrêt du traitement, la valeur calculée en cache sera, elle, potentiellement disponible.

La correction

La vulnérabilité réside donc dans le matériel. Pour corriger définitivement le problème, il faudra changer les processeurs par des non impactés, physiquement. Chose qui, bien évidemment, ne se fera pas du jour au lendemain.

C’est pourquoi les développeurs de systèmes d’exploitation sont obligés de corriger le problème au niveau logiciel, et ainsi reconstruire la gestion mémoire dans leurs noyaux respectifs.

Apple, Microsoft et la fondation Linux ont déjà développé les correctifs. Celui pour Linux est d’ores et déjà disponible.
Ceux pour Windows et OSX sont disponibles dans les versions beta/preview.

Impact

Ces correctifs vont affecter la performance des processeurs de vos machines. C’est une certitude.

Ce sont des fonctions de performance qui sont affectées par le problème. Nous n’avons pas encore suffisamment de recul mais les premiers tests présagent un impact de 5 à 30% de performances en moins.

Ce qui est forcément significatif.

Actions à venir

Si vous êtes hébergeurs de serveurs partagés, ou si vous possédez des environnements multi-utilisateurs, alors ce problème vous concerne particulièrement. L’isolation entre un hyperviseur et ses machines virtuelles, et l’étanchéité entre deux machines virtuelles de vos clients reposent sur l’isolation du processeur. Vous devez donc impérativement garder un oeil sur ce problème, et appliquer les correctifs de sécurité dès qu’ils seront disponibles pour vos environnements.

Ce n’est pas pour rien qu’Amazon, Google ou encore OVH procède dès maintenant à la mise en place des correctifs, au risque d’affecter les performances de leurs services.

Dans le reste des cas, vous n’avez pas à vous inquiéter pour le moment. Il n’y a pas d’urgence à appliquer les correctifs. Pour exploiter la vulnérabilité, un attaquant doit déjà être en mesure d’exécuter du code sur votre machine, ce qui veut dire qu’il est déjà présent dans votre infrastructure.

Cependant, comme pour le reste de l’année, afin d’assurer la sécurité de vos systèmes, il est impératif de tenir votre infrastructure à jour des correctifs de sécurité disponibles.

Nos partenaires

Nomios suit de très près les évolutions en matière de sécurité. Nous travaillons avec nos partenaires sur le sujet pour fournir à nos clients les informations importantes le concernant.

À ce jour, l’exploitation de ces vulnérabilités est possible uniquement si un attaquant peut exécuter du code sur un équipement. Dans la majorité des cas, les équipements de nos partenaires ne le permettent pas.

Par mesure de précaution, il convient de vérifier que les accès administratifs de vos équipements sont bien filtrés et authentifiés.

Nomios est en mesure de vous accompagner pour analyser votre situation et vous proposer des solutions améliorant la sécurité de votre système d’information.

Partager :

Auteurs