SecurityInsider
Le blog des experts sécurité Wavestone

MELTDOWN & SPECTRE : attaques par canaux auxilliaires sur les processeurs



Le début d’année 2018 semble être une période difficile pour les constructeurs de processeurs puisque pas moins de 3 vulnérabilités critiques viennent d’être publiées à l’encontre des processeurs de différentes marques (Intel, ARM, AMD). Ces vulnérabilités concernent des attaques par canaux auxiliaires qui permettent entre autres de lire arbitrairement la mémoire du noyau depuis une application non privilégiée, voire la mémoire de l’hyperviseur (et par conséquent des autres machines virtuelles qu’il héberge). 

Suis-je affecté ?

C’est extrêmement probable.


Attaques par canaux auxiliaires?

Les attaques par canaux auxiliaires désignent un ensemble d’attaques qui ne ciblent pas un algorithme dans sa conception mais dans son implémentation. Plusieurs catégories d’attaques par canaux auxiliaires existent, dont :
  • Attaque temporelle
  • Attaque par consommation
  • Attaque par injection de fautes
  • etc.


MELTDOWN & SPECTRE

Les vulnérabilités MELTDOWN (CVE-2017-5754) et SPECTRE (CVE-2017-5715 et CVE-2017-5753) reposent sur une attaque temporelle ciblant les temps d’accès aux informations présentes dans le cache du processeur.
Plus précisément, au sein d’un système d’exploitation, les informations contenues en mémoire sont divisées en deux catégories :
  • Les informations relatives aux applications utilisateur, accessibles par le noyau et (sous certaines conditions) à ces mêmes applications ;
  • Les informations privilégiées, relatives au noyau, uniquement accessibles par le noyau.


Les tentatives d’accès aux portions relatives aux noyaux par une application utilisateur sont par conséquent systématiquement bloquées, et il n’est donc pas possible de récupérer la valeurs contenues à ces adresses mémoires … directement. 
Ces vulnérabilités reposent sur le fait que les processeurs vulnérables utilisent le principe d’exécution spéculative afin d’optimiser les performances de ce dernier. L’exécution spéculative  détermine en amont de l’exécution normale si les instructions à exécuter sont réellement nécessaires et comment elles pourraient être accélérées. Bien que rien ne soit réellement exécuté, des restes de cette analyse sont présents dans le cache du processeur, et peu conduire un utilisateur malveillant à extraire les informations contenues en mémoire noyau, sans pour autant y accéder directement.

Des whitepapers sont disponibles pour MELTDOWN et SPECTRE.

Quels impacts ?

La vulnérabilité MELTDOWN permet l’accès à l’ensemble de la mémoire du système d’exploitation par les applications utilisateur. Sous Windows, il serait donc possible de récupérer des informations sensibles, tels que les jetons d’accès de processus, qui peuvent par la suite permettre l’usurpation de privilèges. MELTDOWN ne cible que les processeurs Intel
La vulnérabilité SPECTRE permet d’accéder à la mémoire des autres applications du système et par conséquent à un ensemble d’informations liées à ces programmes : mots de passe, saisies utilisateur, etc. Cette vulnérabilité bas niveau peut être exploitée par des applications haut niveau, un PoC ayant été réalisé en JavaScript. La vulnérabilité cible les processeurs Intel, ARM et AMD.
Ces vulnérabilités sont également exploitables dans le cas de systèmes virtualisés (hyperviseurs et conteneurs), notamment dans le cas de Docker et de Xen PV.

Que faire ?

La vulnérabilité MELTDOWN peut être corrigée par application d’une mise à jour appelée « KTPI » ou « KAISER ». Cette mise à jour rend inaccessible la mémoire noyau pour les applications utilisateur, prévenant leur accès par la vulnérabilité. Cette mise à jour est d’ores et déjà disponible pour Linux (version 4.14.11), partiellement pour Mac OS 10.13.2 (puis complètement en version 10.13.3, et pour Windows (version 17035). Il est cependant important de noter que la mise à jour Windows ne peut être déployée si un logiciel antivirus non compatible est installé, la liste de ceux qui le sont étant disponible et tenue à jour ici.
La correction de la vulnérabilité SPECTRE nécessite en théorie un changement du matériel, ou a minima une mise à jour de son firmware. Cela n’étant pas réalisable de manière simple, des solutions palliatives sont aujourd’hui envisagées, au cas par cas. La vulnérabilité étant particulièrement critique dans le cas des navigateurs (puisqu’exploitable par du code JavaScript), des communiqués ont été rapidement publiés sur par Google et Mozilla ce sujet afin de proposer des solutions court terme.

Concrètement

La majorité du matériel grand public et de celui présent en entreprise est impactée par ces vulnérabilités. Il est donc recommandé de mettre dès que possible à jour les applicatifs et systèmes d’exploitation impactés par MELTDOWN, ainsi que de se renseigner sur les évolutions liées à la mitigation de la vulnérabilité SPECTRE.
Notamment, dans le cadre d’applications et d’infrastructures hébergées en SaaS/IaaS, il est conseillé de se rapprocher des fournisseurs de services d’hébergement pour connaître leur politique de mise à jour sur ce sujet et les dates de redémarrage des infrastructures d’hébergement. Certains communiqués sont déjà disponibles, par exemple Amazon AWS, Azure, OVH et Online.net.



Jean MARSAULT

Aucun commentaire:

Enregistrer un commentaire