[Bulletin d’alerte] 001-JAN-18 – Meltdown et Spectre – vulnérabilités hardware

[

//Edito du 12 janvier 2018 – ajout de la partie Plan d’action

Explications

Le 3 janvier 2018, Project Zero, l’équipe d’analystes sécurité de Google, a déclaré avoir trouvé des vulnérabilités appelées “Meltdown” (variante 3) et “Spectre” (variante 1 et 2) impactant les processeurs modernes de marque Intel, AMD, et ARM.

Trois variantes donc :

  • Variante 1: bounds check bypass (CVE-2017-5753).
  • Variante 2: branch target injection (CVE-2017-5715).
  • Variante 3: rogue data cache load (CVE-2017-5754).

Pour tirer parti de cette vulnérabilité, un attaquant doit d’abord être en mesure d’exécuter du code malveillant sur le système ciblé.

Ces vulnérabilités affectent les systèmes Linux, Microsoft, et autres, y compris Android. Plus précisément, en cas d’exploitation réussie, les informations transitant dans la RAM sont susceptibles d’être mises à découvert (mots de passe, données sensibles…). Cependant, un attaquant ne peut pas modifier la donnée qu’il obtient avec ce type d’attaque.

Détails techniques

Afin d’améliorer les performances, de nombreux processeurs peuvent choisir d’exécuter des instructions de manière spéculative en fonction d’hypothèses considérées comme vraies. Au cours de cette exécution spéculative, le processeur vérifie ces hypothèses; si elles sont valides, l’exécution continue. Si elles ne sont pas valides, l’exécution est déroulée et le chemin d’exécution correct peut être démarré en fonction des conditions qui sont alors les bonnes. Il est possible que cette exécution spéculative ait des effets secondaires qui ne sont pas correctement gérées lorsque l’état du CPU est déroulé, pouvant donc conduire à la divulgation d’informations (lecture d’adresses mémoire normalement impossible par exemple).

Spectre, permet notamment la récupération de la mémoire des processus exécutés avec les mêmes privilèges que ceux de la victime.
Notons que dans ce cas, la récupération de ces informations est également possible via du code JavaScript malveillant, et ce dans le but de permettre la lecture des données contenues dans l’espace d’adressage du processus du navigateur par lequel ce script est exécuté (incluant les informations entrées sur les pages voisines, cache, mots de passe…).

Meltdown, nécessitant pour sa part des pré-requis plus complexes (exécution locale de code nécessaire en vue de la préparation de l’exploitation de la vulnérabilité) permet la divulgation de l’ensemble des données contenues dans l’espace mémoire Kernel depuis l’userland.
Des mises à jours logicielles/hardware sont prévues afin de limiter au maximum la possibilité d’exploitation en attendant une solution définitive de la part des constructeurs.

Mitigations possibles actuellement

Afin de limiter l’impact lors d’une exploitation via le navigateur:

Dans les navigateurs Chrome et Firefox, une mitigation est possible en exécutant un processus par onglet, empêchant ainsi la lecture des onglets voisins.

/!\ Attention : cela provoque une importante perte de performances du navigateur /!\

Navigateur Chrome
Commande à exécuter dans la barre de recherche :
chrome://flags/#enable-site-per-process Strict Site Isolation
Puis cliquer sur activer

Navigateur Firefox
Commande à exécuter dans la barre de recherche :
about:config?filter=privacy.firstparty.isolate
Passer la valeur du booléen à true

Mitigations mises en places sur les systèmes d’exploitation Linux et Microsoft:

Les correctifs du système d’exploitation Linux ont déjà été poussés ces dernières semaines.

Quant à Windows, Microsoft a déclaré : “We’re aware of this industry-wide issue and have been working closely with chip manufacturers to develop and test mitigations to protect our customers. We are in the process of deploying mitigations to cloud services and have also released security updates to protect Windows customers against vulnerabilities affecting supported hardware chips from Intel, ARM, and AMD. We have not received any information to indicate that these vulnerabilities had been used to attack our customers.”

(Traduction FR : “Nous sommes conscients de ce problème à l’échelle de l’industrie et travaillons en étroite collaboration avec les fabricants de puces pour développer et tester des mesures d’atténuation afin de protéger nos clients. Nous sommes en train de déployer des mesures d’atténuation sur les services cloud et avons également publié des mises à jour de sécurité pour protéger les clients Windows contre les vulnérabilités affectant les puces matérielles prises en charge par Intel, ARM et AMD. Nous n’avons reçu aucune information indiquant que ces vulnérabilités avaient été utilisées pour attaquer nos clients.” )

Actions manuelles requises pour le bon fonctionnement des antivirus sous Windows < 8:

Le patch qui va être produit par Microsoft risque d’être incompatible avec les antivirus déjà en place sur les machines (comme expliqué ici par Microsoft).

Le patch pourrait en effet avoir un effet de bord causant des BSOD (Blue Screen Of Death) lors d’appels de l’antivirus à la mémoire du Kernel.

Pour éviter les BSOD causés par des applications antivirus incompatibles avec le nouveau patch, Microsoft propose uniquement les mises à jour de sécurité Windows publiées le 3 janvier 2018 sur les périphériques exécutant un logiciel antivirus de partenaires ayant confirmé que leur logiciel est compatible avec le système d’exploitation Windows mis à jour avec le patch de sécurité de janvier 2018 .

Cela concerne les machines sous Windows 7, Windows Server 2008 R2, Windows Server 2012, car elles n’ont pas d’antivirus installé par défaut. (Il existe en effet Windows defender par défaut sur les systèmes d’exploitation plus récents, et donc le patch et la registry key nécessaire a été appliquée).

Pour les machines tournant encore sous les systèmes d’exploitation Windows cités ci-dessus, il faut absolument ajouter la clé de registre suivante :

Key= »HKEY_LOCAL_MACHINE » Subkey= »SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat »Value= »cadca5fe-87d3-4b96-b7fb-a231484277cc » Type= »REG_DWORD”

Plan d’action proposé par le CERT-OPMD:

Produits  Microsoft:

Suite aux vulnérabilités Meltdown et Spectre, Microsoft a sorti plusieurs patchs classés en important.
On peut noter qu’en effet les patchs sont développés pour apporter une mitigation concernant les techniques d’exploitation des vulnérabilités Meltdown et Spectre, mais qu’ils peuvent amener des problèmes conséquents de performances, et parfois même des problèmes de compatibilité avec certains produits (et parfois même des produits de sécurité).

Il faut donc identifier la version de Windows qui va être patché. Si la version est Windows 7 SPI ou Windows Server 2008 R2 SP1 , par défaut l’installation ne comporte pas d’application antivirus. Il est donc nécessaire d’ajouter la clé de registre suivante :

Key= »HKEY_LOCAL_MACHINE » Subkey= »SOFTWARE\Microsoft\Windows\CurrentVersion\QualityCompat »Value= »cadca5fe-87d3-4b96-b7fb-a231484277cc » Type= »REG_DWORD”

Ensuite, il faut suivre les étapes de mise à jour suivantes :

  • Dans le cas d’un Windows Client :

(Tester dans un environnement de test toutes les phases suivantes avant une mise en production)

  1. Vérifier qu’un antivirus supporté par Microsoft est installé sur le client, et demandez au support de l’antivirus si les futurs patchs sont compatibles et ne risquent pas de poser de problème.
  2. Appliquer tous les patchs disponibles Windows, y compris les Windows Security updates de Janvier 2018.
  3. Appliquer les updates firmware fournies par le constructeur du matériel.

Toute la documentation est disponible ici

  • Dans le cas d’un Windows Server :

(Tester dans un environnement de test toutes les phases suivantes avant une mise en production)

  1. Vérifier la disponibilité des mise-à-jour (sources : https://docs.ovh.com/fr/dedicated/meltdown-spectre-kernel-update-per-operating-system/ et https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution )

  2. Windows Server 2008 NON-DISPONIBLE
    Effectuer une mise-à-jour vers Windows Server 2012 R2
    https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution-s
    Windows Server 2008 R2 KB 4056897
    https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution-s
    https://support.microsoft.com/en-us/help/4056897
    Windows Server 2012 NON-DISPONIBLE
    Effectuer une mise-à-jour vers Windows Server 2012 R2
    https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution-s
    Windows Server 2012 R2 KB 4056898
    https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution-s
    https://support.microsoft.com/en-us/help/4056898
    Windows Server 2016 KB 4056890
    https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution-s
    https://support.microsoft.com/en-us/help/4056890
  3. Appliquer les Windows Operating System Updates.
  4. Effectuer les changements nécessaires pour l’activation de la protection (documentation ici)
  5. Appliquer les updates firmware fournies par le constructeur du matériel.