CERTFR-2018-ALE-001
Vulnerability from certfr_alerte

[Mise à jour du 25/05/2018 : ajout de bulletins Microsoft (cf. section Documentation)]

[Mise à jour du 22/05/2018 : publications de nouvelles variantes]

[Mise à jour du 23/02/2018 : annonce d'Intel sur la sortie des mises à jour des micrologiciels (cf. section Solution)]

[Mise à jour du 12/02/2018 : ajout des bulletins de sécurité VMware, RedHat et SUSE (cf. section Solution)]

[Mise à jour du 23/01/2018 : modification des recommandations suite au communiqué d'Intel (cf. section Solution)]

Le 4 janvier 2018, deux vulnérabilités affectant plusieurs familles de processeurs et pouvant conduire à des fuites d'informations ont été rendues publiques [1][2]. Intitulées Spectre et Meltdown, ces deux vulnérabilités ont reçu les identifiants CVE-2017-5715, CVE-2017-5753 pour Spectre et CVE-2017-5754 pour Meltdown. Le 21 mai 2018, deux nouvelles vulnérabilités identifiées CVE-2018-3639 et CVE-2018-3640, reposant sur des principes similaires, ont également été publiées [42].

Vulnérabilité Meltdown

Les processeurs modernes intègrent plusieurs fonctionnalités visant à améliorer leurs performances. Parmi celles-ci, l'exécution dite out-of-order permet d'exécuter les instructions d'un programme en fonction de la disponibilité des ressources de calculs et plus nécessairement de façon séquentielle. Une faiblesse de ce mécanisme peut cependant conduire à l'exécution d'une instruction sans que le niveau de privilèges requis par celle-ci ne soit correctement vérifié. Bien que le résultat de l'exécution d'une telle instruction ne soit pas validé par la suite, il peut être possible de récupérer l'information en utilisant une attaque par canaux cachés.

La vulnérabilité CVE-2017-5754 exploite l’exécution out-of-order sur des instructions requérant un haut niveau de privilège pour permettre l'accès en lecture à des zones mémoires propres au système d’exploitation depuis du code s’exécutant de façon non-privilégiée. En particulier, l'exploitation de cette vulnérabilité permet d'accéder depuis un programme utilisateur à la mémoire du système d'exploitation. Cela peut conduire à des fuites de données sensibles présentes en mémoire et peut inclure des informations d'autres programmes ou encore des clés de chiffrement. Cette fuite d'informations peut aussi être mise en œuvre pour faciliter la compromission d'un système.

La vulnérabilité CVE-2018-3640 exploite l’exécution out-of-order sur des instructions requérant un haut niveau de privilège pour permettre l'accès en lecture à des registres propres au système d’exploitation depuis du code s’exécutant de façon non-privilégiée. En particulier, l'exploitation de cette vulnérabilité permet d'accéder depuis un programme utilisateur à des paramètres de configuration du processeur. Cette fuite d'informations peut aussi être mise en œuvre pour faciliter la compromission d'un système.

Vulnérabilité Spectre

L'exécution spéculative est une seconde technique d'optimisation utilisée par les processeurs modernes. Les dépendances entre les instructions limitent les possibilités d'exécution out-of-order. Pour remédier à cette limitation, le processeur émet des hypothèses concernant les résultats non encore disponibles. Ceci lui permet de poursuivre l’exécution out-of-order en utilisant ces hypothèses en remplacement des résultats attendus. On parle alors d'exécution spéculative. Ces hypothèses sont vérifiées par le processeur dès que les résultats auxquels elles se rapportent deviennent disponibles. Si elles se révèlent correctes, le processeur valide l'exécution spéculative. Mais inversement, si elles se révèlent erronées, les effets de l'exécution spéculative doivent être annulés et l'exécution doit reprendre au point on les hypothèses erronées avaient été émises, c'est à dire là où l'exécution spéculative avait débutée.

Cependant les effets d'une exécution spéculative erronée sur le cache perdurent. Or, en mesurant des temps d'accès à des zones mémoires, il est possible de connaître l'état du cache. Par conséquent, un attaquant sera capable de déterminer les résultats intermédiaires d'une exécution spéculative erronée si ceux-ci influent sur l'état du cache. Cette utilisation du cache pour mener à bien l'exploitation est commune aux trois variantes de Spectre.

Variante 1 (CVE-2017-5753)

Le prédicteur de branches est un composant du processeur utilisé pour émettre des hypothèses concernant l'adresse de la prochaine instruction à exécuter. En particulier, il est utilisé pour prédire l'issue des sauts conditionnels. D'autre part, ce composant est partagé entre des codes s'exécutant dans des cloisonnements de sécurité différents (processus, niveaux de privilège).

Dans la variante 1 de Spectre, un attaquant influe sur les heuristiques du prédicteur de branches pour fausser la prédiction d'un saut conditionnel s’exécutant dans un autre cloisonnement de sécurité, ce qui a pour effet de déclencher une exécution spéculative erronée. Un code est vulnérable si cette exécution spéculative erronée modifie le cache de façon qui dépende d'une valeur secrète (c'est à dire non directement accessible depuis le cloisonnement dans lequel se situe l'attaquant).

Exemple de code vulnérable fourni dans l'article:

[pastacode lang="c" manual="if%20(x%20%3C%20array1_size)%0Ay%20%3D%20array2%5Barray1%5Bx%5D%20*%20256%5D%3B" message="" highlight="" provider="manual"/]

Un attaquant maîtrisant la valeur de x peut obtenir une lecture arbitraire dans l'espace d'adressage du processus exécutant le code ci-dessus. Pour cela, l'attaquant commence par soumettre un grand nombre de x valides (c'est à dire vérifiant la condition de la ligne 1) pour faire croire au prédicteur de branches que la condition ligne 1 est toujours vraie. Puis il soumet un x pointant à une adresse arbitraire. Le prédicteur de branches estime néanmoins que la condition est vraie, ce qui déclenche l'exécution spéculative de la ligne 2. La valeur secrète pointée par x est récupérée puis utilisée pour former l'adresse d'une seconde lecture mémoire. Cette seconde lecture aura un effet sur le cache décelable par l'attaquant qui sera alors en mesure de retrouver la valeur secrète.

Variante 2 (CVE-2017-5715)

Le prédicteur de branches est également utilisé pour prédire l'issue des sauts indirects. Dans la variante 2 de Spectre, un attaquant influe sur les heuristiques du prédicteur de branches pour fausser la prédiction d'un saut indirect s’exécutant dans un autre cloisonnement de sécurité, ce qui a pour effet de déclencher une exécution spéculative erronée à une adresse arbitraire maîtrisée par l'attaquant. En choisissant correctement le code exécuté spéculativement, l'attaquant est alors capable d'obtenir une lecture arbitraire dans l'espace d'adressage du processus victime.

Variante 3 (CVE-2018-3639)

Les processeurs émettent également des hypothèses concernant l'adresse de certains accès mémoire. Pour bénéficier de plus de libertés dans l'ordre d'exécution d'opérations de lecture mémoire, le processeur va devoir prédire si celles-ci chevauchent des opérations d'écriture en attente d'exécution. Si une opération de lecture ne chevauche aucune opération d'écriture en attente d'exécution, rien ne s'oppose à qu'elle puisse être exécutée de façon anticipée.

Dans la variante 3 de Spectre, un attaquant influe sur les heuristiques du processeur utilisées pour la prédiction d'adresses, ce qui a pour effet de déclencher une exécution spéculative erronée d'une opération de lecture mémoire et des instructions qui en dépendent. Un code est vulnérable si cette exécution spéculative erronée manipule une valeur secrète et la laisse fuir à travers un état observable du cache

Microsoft (une des parties ayant découvert la vulnérabilité) [43] affirme ne pas avoir identifié de code vulnérable dans leurs produits, ce qui laisse penser que les codes vulnérables sont peu fréquents.

Impact

Les vulnérabilités décrites dans cette alerte peuvent impacter tous les systèmes utilisant un processeur vulnérable et donc de façon indépendante du système d'exploitation. Selon les chercheurs à l'origine de la découverte de ces failles, il est ainsi possible d'accéder à l'intégralité de la mémoire physique sur des systèmes Linux et OSX et à une part importante de la mémoire sur un système Windows.

On notera que l'impact peut être plus particulièrement important dans des systèmes de ressources partagés de type conteneur (Docker, LXC) où il serait possible depuis un environnement restreint d'accéder à toutes les données présentes sur la machine physique dans lequel s'exécute le conteneur ou encore dans des environnements virtualisés utilisant la para-virtualisation de type Xen.

Preuve de concept

Le CERT-FR constate que des preuves de concept fonctionnelles pour Meltdown sont désormais publiques. Les règles Yara suivantes servent à détecter les binaires liés à la bibliothèque publiée par l'Institute of Applied Information Processing and Communications (IAIK) :

[pastacode lang="c" manual="rule%20meltdown_iaik_libkdump_meltdown_nonull%20%7B%0A%0Ameta%3A%0A%0Aauthor%20%3D%20%22ANSSI%22%0A%0ATLP_level%20%3D%20%22White%22%0A%0Adescription%20%3D%20%22Detects%20Meltdown%20PoC%20libkdump%20meltdown_nonull%20method%22%0A%0Aversion%20%3D%20%221.0%22%0A%0Alast_modified%20%3D%20%222018-01-09%22%0A%0Astrings%3A%0A%0A%2F*%0A%0A.text%3A00000000000018A6%2048%2031%20C0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xor%20%20%20%20%20%20rax%2C%20rax%20%20%20.text%3A00000000000018A9%0A%0A.text%3A00000000000018A9%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20loc_18A9%3A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3B%20CODE%20XREF%3A%20libkdump_read_tsx%2B48j%0A%0A.text%3A00000000000018A9%208A%2001%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20al%2C%20%5Brcx%5D%0A%0A.text%3A00000000000018AB%2048%20C1%20E0%200C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20shl%20%20%20%20%20%20rax%2C%200Ch%0A%0A.text%3A00000000000018AF%2074%20F8%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20jz%20%20%20%20%20%20%20%20short%20loc_18A9%0A%0A.text%3A00000000000018B1%2048%208B%201C%2003%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20rbx%2C%20%5Brbx%2Brax%5D%0A%0A*%2F%0A%0A%24asm%3D%7B%0A%0A48%2031%20C0%0A%0A8A%2001%0A%0A48%20C1%20E0%200C%0A%0A74%20F8%0A%0A48%208B%201C%2003%0A%0A%7D%0A%0Acondition%3A%20%24asm%0A%0A%7D%0A%0A%0Arule%20meltdown_iaik_libkdump_meltdown_fast%20%7B%0A%0Ameta%3A%0A%0Aauthor%20%3D%20%22ANSSI%22%0A%0ATLP_level%20%3D%20%22White%22%0A%0Adescription%20%3D%20%22Detects%20Meltdown%20PoC%20libkdump%20meltdown_fast%20method%22%0A%0Aversion%20%3D%20%221.0%22%0A%0Alast_modified%20%3D%20%222018-01-09%22%0A%0Astrings%3A%0A%0A%20%20%20%20%2F*%0A%0A.text%3A000000000000184F%2048%2031%20C0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xor%20%20%20%20%20%20%20rax%2C%20rax%0A%0A.text%3A0000000000001852%208A%2001%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20%20al%2C%20%5Brcx%5D%0A%0A.text%3A0000000000001854%2048%20C1%20E0%200C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20shl%20%20%20%20%20%20%20rax%2C%200Ch%0A%0A.text%3A0000000000001858%2048%208B%201C%2003%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20rbx%2C%20%5Brbx%2Brax%5D%0A%0A*%2F%0A%0A%24asm%20%3D%20%7B%0A%0A48%2031%20C0%0A%0A8A%2001%0A%0A48%20C1%20E0%200C%0A%0A48%208B%201C%2003%0A%0A%7D%0A%0Acondition%3A%0A%0A%24asm%0A%0A%7D%0A%0A%0Arule%20meltdown_iaik_libkdump_meltdown%20%7B%0A%0Ameta%3A%0A%0Aauthor%20%3D%20%22ANSSI%22%0A%0ATLP_level%20%3D%20%22White%22%0A%0Adescription%20%3D%20%22Detects%20Meltdown%20PoC%20libkdump%20meltdown%20method%22%0A%0Aversion%20%3D%20%221.0%22%0A%0Alast_modified%20%3D%20%222018-01-09%22%0A%0Astrings%3A%0A%0A%2F*%0A%0A.text%3A00000000000018A8%2048%2031%20C0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xor%20%20%20%20%20rax%2C%20rax%20%20%20.text%3A00000000000018AB%0A%0A.text%3A00000000000018AB%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20loc_18AB%3A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3B%20CODE%20XREF%3A%20libkdump_read_tsx%2B4Dj%0A%0A.text%3A00000000000018AB%2048%208B%2036%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20%20rsi%2C%20%5Brsi%5D%0A%0A.text%3A00000000000018AE%208A%2001%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20%20al%2C%20%5Brcx%5D%0A%0A.text%3A00000000000018B0%2048%20C1%20E0%200C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20shl%20%20%20%20%20%20%20rax%2C%200Ch%0A%0A.text%3A00000000000018B4%2074%20F5%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20jz%20%20%20%20%20%20%20%20short%20loc_18AB%0A%0A.text%3A00000000000018B6%2048%208B%201C%2003%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20rbx%2C%20%5Brbx%2Brax%5D%0A%0A*%2F%0A%0A%24asm%3D%7B%0A%0A48%2031%20C0%0A%0A48%208B%2036%0A%0A8A%2001%0A%0A48%20C1%20E0%200C%0A%0A74%20F5%0A%0A48%208B%201C%2003%0A%0A%7D%0A%0Acondition%3A%0A%0A%24asm%0A%0A%7D" message="" highlight="" provider="manual"/]

Campagne de pourriels

Le CERT-FR constate qu'une campagne de pourriels visant à distribuer des logiciels malveillants a été lancée afin de profiter de la situation autour des vulnérabilité Spectre et Meltdown [32]. Des attaquants se faisant passer pour la Bundesamt für Sicherheit in der Informationstechnik (BSI), l'équivalent allemand de l'ANSSI, ont envoyé des courriers électroniques invitant leurs destinataires à se rendre sur une copie du site de la BSI. La différence avec le site officiel était une modification de l'alerte concernant les vulnérabilités: l'utilisateur était invité à installer un correctif qui se trouvait être un logiciel malveillant.

Le CERT-FR rappelle de faire preuve de la plus grande vigilance quand à l'ouverture des courriers électroniques ainsi que d'installer les correctifs de sécurité dans les plus brefs délais, et ce uniquement depuis les sources officielles des éditeurs.

Solution

Correctifs disponibles

Plusieurs éditeurs ont publiés des correctifs partiels pour les vulnérabilités Meltdown et Spectre. Le CERT-FR recommande l'application des correctifs disponibles dès que possible.

Apple

Apple indique dans une communication du 4 janvier 2017 que les systèmes iOS 11.2, macOS 10.13.2 et tvOS 11.2 profitent de correctifs contre la vulnérabilité Meltdown [9].

Le 8 janvier 2018, Apple a publié des correctifs pour ses produits iOS, Safari et macOS High Sierra [26].

Mozilla

Mozilla a publié une communication annonçant que la version 57.0.4 de Firefox intègre deux correctifs de sécurité liés aux vulnérabilités décrites dans cette alerte [25].

Microsoft

Microsoft a annoncé dans un communiqué [10] que ses navigateurs Internet Explorer et Edge avaient bénéficié d'un correctif contre la vulnérabilité Spectre sur les systèmes Windows 10 et Windows Server 2016 [11][12]. Les correctifs de sécurité fournis par Microsoft sont néanmoins dépendants des logiciels anti-virus installés sur le système. Pour tous détails sur l'application de ces correctifs le CERT-FR recommande de se reporter au site de l'éditeur. Pour les systèmes 32 bits des versions antérieures à Windows 10 et Windows Server 2016, un correctif sera déployé à l'occasion de la mise à jour mensuelle, le 9 janvier 2018. Pour Windows Server, une simple mise à jour ne suffit par pour se prémunir du problème. Microsoft a publié une série de mesures à mettre en oeuvre pour se protéger [22]. Dans tous les cas, Microsoft conseille de mettre à jour le micrologiciel de son processeur lorsque des correctifs seront disponibles.

SUSE

Des correctifs pour les vulnérabilités Spectre et Meltdown ont été distribués par SUSE [13].

Le 11 janvier 2018, SUSE a publié des correctifs pour le noyau Linux ainsi que pour le microgiciel Intel utilisés par ses produits [29][30].

Red Hat

Des correctifs pour les vulnérabilités Spectre et Meltdown ont été distribués par Red Hat [23].

Ubuntu

Le mardi 9 janvier 2018, Ubuntu a publié plusieurs bulletins de sécurité concernant des correctifs pour la vulnérabilité Meltdown [27]. Le 11 janvier 2018, Ubuntu a publié un bulletin de sécurité annonçant la mise à disposition d'un correctif pour le microgiciel Intel [31].

VMware

Des correctifs contre la vulnérabilité Spectre ont été apportés par VMware pour leurs produits ESXi, Workstation et Fusion sous OS X. Il est à noter que les plateformes ESXi en version 5.5 reçoivent un correctif seulement pour la variante CVE-2017-5715 de Spectre [14].

Android

Dans leur bulletin de sécurité pour les correctifs du mois de janvier 2018 [16], Android annonce ne pas détenir d'informations sur une reproduction des vulnérabilités Spectre et Meltdown sur leurs appareils. Cependant, les correctifs disponibles pour ce mois de janvier 2018 intègrent des mesures permettant de limiter le risque de tels attaques [15].

Google

Dans un communiqué sur l'état de ses produits face aux vulnérabilités Meltdown et Spectre, Google annonce que Chrome OS sous Intel profite de la fonctionnalité KPTI (correctif limitant les effets de la vulnérabilité Meltdown) pour les noyaux en versions 3.18 et 4.4 à partir de la version 63 du système d'exploitation [17].

Citrix

Dans un avis de sécurité daté du 4 janvier 2018 Citrix annonce apporter un correctif de sécurité pour les produits Citrix XenServer 7.1 LTSR CU1 [19].

Amazon AWS

Dans un communiqué du 4 janvier 2018 [20], Amazon indique que les instances disposant d'une configuration par défaut (Amazon Linux AMI)  vont bénéficier d'une mise à jour du noyau Linux pour adresser les effets de la vulnérabilité CVE-2017-5754 (Meltdown) [21].

Debian

Le 10 janvier 2018, un bulletin de sécurité publié par Debian propose un correctif pour la vulnérabilité Meltdown [28].

Pour la semaine du 15 au 21 janvier 2018, les éditeurs suivants ont publiés des correctifs pour Meldown et Spectre:

  • SUSE [33]
  • Oracle [34] [35]
  • Red Hat [36]
  • Moxa [37] (l'éditeur annonce que d'autres correctifs sont à venir)

Le 22 janvier 2018, Intel a publié un communiqué [38] pour annoncer qu'ils avaient trouvé la cause des dysfonctionnements liés à leur correctif. Dans certains cas, le correctif apporté à leur microgiciel provoquait des redémarrages intempestifs. La situation n'est toutefois pas encore résolue. Intel conseille donc de retarder l'installation du correctif pour le microprocesseur.

Le CERT-FR rappelle qu'il est important d'installer les correctifs de sécurité dans les plus brefs délais. Concernant Spectre et Meldown, il est nécessaire de mettre à jour en priorité les navigateurs puis les systèmes d'exploitation. Toutefois, il est également important de tester ces correctifs dans des environnements contrôlés avant de les pousser en production. Concernant les microgiciels d'Intel, le CERT-FR recommande une prudence accrue dans leurs déploiements voir d'attendre la version finale de ces mises à jour. En matière de risques, l'exploitation de la vulnérabilité Spectre est particulièrement complexe et est la seule à être couverte par la mise à jour du micrologiciel.

Les 8 et 9 février 2018, plusieurs éditeurs ont publiés des correctifs supplémentaires:

  • VMware [39]
  • Red Hat [40]
  • SUSE [41]

Le 20 février 2018, Intel a annoncé que les mises à jour de sécurité des micrologiciels pour certaines familles de processeurs étaient disponibles. Sont concernés les processeurs de type Kaby Lake, Coffee Lake ainsi que certains Skylake ( cf. https://newsroom.intel.com/news/latest-intel-security-news-updated-firmware-available/). Intel a également mis à jour son calendrier prévisionnel des sorties futures (cf. https://newsroom.intel.com/wp-content/uploads/sites/11/2018/02/microcode-update-guidance.pdf).

Les éditeurs suivants ont également publiés de nouveaux correctifs :

  • Ubuntu (cf. )
  • SUSE (cf. ,  et )
  • Siemens (cf. )

Contournement provisoire

Dans leur article sur la vulnérabilité Meltdown, les auteurs de la publication indiquent que la fonctionnalité de sécurité KAISER [5] permet de limiter les implications dues à l'exploitation de Meltdown. Ce mécanisme a été intégré dans les dernières versions du noyau Linux sous le nom de Kernel page-table isolation (KPTI) [6] et est en cours d'intégration dans les versions précédentes du noyau.

Cette fonctionnalité renforce la séparation entre les zones mémoires accessibles en mode utilisateur et celles accessibles en mode noyau. De ce fait il n'est donc plus possible de d'accéder lors de l'utilisation de la vulnérabilité Meltdown aux informations noyau.

Systèmes de virtualisation

Les systèmes virtualisés de type Xen sont vulnérables aux failles présentés dans cette alerte. Concernant Meltdown un contournement pouvant être mis en œuvre est d'utiliser une virtualisation matérielle. En effet, d'après un avis de sécurité de l'éditeur [18], la CVE-2017-5754 n'affecte que les systèmes Xen en architecture Intel 64 bits utilisant la para-virtualisation.

D'une façon globale, l'ANSSI a émis un guide relatif à la virtualisation précisant que « les systèmes invités présents sur une même machine physique [doivent manipuler] des données qui ont une sensibilité similaire » [7].

Vérifications des correctifs disponibles

Windows

Microsoft a mis à disposition un script PowerShell qui permet de vérifier si un correctif pour les vulnérabilités a été appliqué sur un système Windows [4].

Linux

Afin de s'assurer de la présence du mécanisme de sécurité KPTI sur un système utilisant un noyau Linux il est possible d'exécuter la commande suivante :

[pastacode lang="bash" manual="dmesg%20%7C%20grep%20'Kernel%2FUser%20page%20tables%20isolation'" message="" highlight="" provider="manual"/]

Dans le cas où KPTI est activé un message sera affiché en sortie.

  • Processeurs Intel
    • La liste des processeurs vulnérables est fournie dans la section documentation.
  • Processeurs AMD
    • AMD est vulnérable à Spectre, mais pas à Meltdown.
  • Processeurs ARM :
    • ARM Cortex-R7
    • ARM Cortex-R8
    • ARM Cortex-A8
    • ARM Cortex-A9
    • ARM Cortex-A15
    • ARM Cortex-A17
    • ARM Cortex-A57
    • ARM Cortex-A72
    • ARM Cortex-A73
    • ARM Cortex-A75

 

Impacted products
Vendor Product Description
References
Sites détaillant le principe de la vulnérabilité None vendor-advisory
Avis CERT-FR CERTFR-2018-AVI-005 Multiples vulnérabilités dans le noyau Linux de SUSE - other
Billet de blogue de Microsoft du 3 janvier 2018 sur un correctif pour Internet Explorer et Edge - other
Bulletin de sécurité de Microsoft KB4056890 du 3 janvier 2018 - other
Avis CERT-FR CERTFR-2018-AVI-032 Multiples vulnérabilités dans le noyau Linux de SUSE - other
Bulletin de sécurité Apple HT208394 du 4 janvier 2018 - other
Communiqué Ubuntu - other
CERT KB - other
Bulletin de sécurité de Microsoft KB4056892 du 3 janvier 2018 - other
Avis de sécurité Amazon ALAS-2018-939 du 4 janvier 2018 - other
Article ARM détaillant les vulnérabilités ainsi que les contre-mesures envisagées - other
Bulletin de sécurité Schneider Electric - other
Avis de sécurité ARM du 3 janvier 2017 - other
Avis CERT-FR CERTFR-2018-AVI-006 Multiples vulnérabilités dans les produits VMware - other
Bulletin de sécurité Microsoft ADV180002 - other
Avis de vulnérabilité d'Intel et liste des processeurs vulnérables - other
Security Advisory 115 Intel - other
Bulletin de sécurité Microsoft concernant les vulnérabilités d'attaques par canaux auxiliaires d'exécution spéculative - other
Billet de blogue Mozilla - other
Bulletin de sécurité Microsoft ADV180013 du 21 mai 2018 - other
Bulletin de sécurité Microsoft ADV180012 du 21 mai 2018 - other
Site détaillant le principe de la vulnérabilité - other
Avis CERT-FR CERTFR-2018-AVI-028 Vulnérabilité dans le microgiciel Intel pour SUSE - other
Commentaires d'AMD sur une éventuelle vulnérabilité de leurs processeurs - other
Bulletin de sécurité Juniper - other
Bulletin de sécurité Xen XSA-254 du 3 janvier 2018 - other
Avis CERT-FR CERTFR-2018-AVI-017 Multiples vulnérabilités dans le noyau Linux d'Ubuntu - other
Bulletin de sécurité Android du 2 janvier 2018 - other
Avis CERT-FR CERTFR-2018-AVI-008 Multiples vulnérabilités dans Mozilla Firefox - other
Avis CERT-FR CERTFR-2018-AVI-013 Multiples vulnérabilités dans les produits Apple - other
Site détaillant le principe de la vulnérabilité - other
Avis CERT-FR CERTFR-2018-AVI-030 Vulnérabilité dans le microgiciel Intel pour Ubuntu - other
Avis CERT-FR CERTFR-2018-AVI-030 Vulnérabilité dans le microgiciel Intel pour Ubuntu - other
Avis CERT-FR CERTFR-2018-AVI-079 Multiples vulnérabilités dans le noyau Linux de RedHat - other
Bulletin de sécurité Cisco - other
Avis CERT-FR CERTFR-2018-AVI-039 Multiples vulnérabilités dans Oracle Virtualization - other
Communiqué Intel - other
Billet de blogue Google Project Zero - other
Avis CERT-FR CERTFR-2018-AVI-077 Multiples vulnérabilités dans les produits VMware - other
Communiqué de la BSI - other
Avis CERT-FR CERTFR-2018-AVI-038 Multiples vulnérabilités dans Oracle Sun Systems Products Suite - other
Article du 15 novembre 2017 sur le mécanisme de sécurité KAISER - other
Bulletin de sécurité Citrix CTX231390 du 4 janvier 2018 - other
Avis CERT-FR CERTFR-2018-AVI-080 Multiples vulnérabilités dans le noyau Linux de SUSE - other
Guide relatif à la sécurité des systèmes de virtualisation - other
Article de blog publié par Microsoft au sujet de CVE-2018-3639 - other
Bulletin de sécurité Fortinet FG-IR-18-002 - other
Mise à jour du microgiciel Intel pour Linux relatif à la CVE-2017-5715 - other
Avis CERT-FR CERTFR-2018-AVI-018 Multiples vulnérabilités dans le noyau Linux de Debian - other
Communication de Microsoft sur les dépendances entre la mise à jour et les logiciels anti-virus - other
Avis CERT-FR CERTFR-2018-AVI-029 Multiples vulnérabilités dans le noyau Linux de SUSE - other
Bulletin de sécurité Xen - other
Article Intel détaillant les vulnérabilités ainsi que les contre-mesures envisagées - other
Article du 30 décembre 2017 sur l'intégration du correctif KPTI dans le noyau Linux - other
Mesures à mettre en oeuvre pour protéger son Windows Server - other
Avis CERT-FR CERTFR-2018-AVI-004 Multiples vulnérabilités dans le noyau Linux de RedHat - other
Avis CERT-FR CERTFR-2018-AVI-002 Multiples vulnérabilités dans Google Android - other
Communiqué de Google sur les attaques utilisant une méthode d'exécution spéculative - other
Communiqué d'Amazon AWS-2018-013 en lien avec les vulnérabilités d'exécution spéculative - other
Avis CERT-FR CERTFR-2018-AVI-040 Vulnérabilité dans le micrologiciel processeur pour Red Hat - other
Bulletin de sécurité Microsoft pour les professionnels concernant les vulnérabilités d'attaques par canaux auxiliaires d'exécution spéculative - other
Avis CERT-FR CERTFR-2018-AVI-044 Multiples vulnérabilités dans les produits Moxa - other

Show details on source website


{
  "$ref": "https://www.cert.ssi.gouv.fr/openapi.json",
  "affected_systems": [],
  "affected_systems_content": "\u003cul\u003e \u003cli\u003eProcesseurs Intel \u003cul\u003e \u003cli\u003eLa liste des processeurs vuln\u00e9rables est fournie dans la section documentation.\u003c/li\u003e \u003c/ul\u003e \u003c/li\u003e \u003cli\u003eProcesseurs AMD \u003cul\u003e \u003cli\u003eAMD est vuln\u00e9rable \u00e0 Spectre, mais pas \u00e0 Meltdown.\u003c/li\u003e \u003c/ul\u003e \u003c/li\u003e \u003cli\u003eProcesseurs ARM : \u003cul\u003e \u003cli\u003eARM Cortex-R7\u003c/li\u003e \u003cli\u003eARM Cortex-R8\u003c/li\u003e \u003cli\u003eARM Cortex-A8\u003c/li\u003e \u003cli\u003eARM Cortex-A9\u003c/li\u003e \u003cli\u003eARM Cortex-A15\u003c/li\u003e \u003cli\u003eARM Cortex-A17\u003c/li\u003e \u003cli\u003eARM Cortex-A57\u003c/li\u003e \u003cli\u003eARM Cortex-A72\u003c/li\u003e \u003cli\u003eARM Cortex-A73\u003c/li\u003e \u003cli\u003eARM Cortex-A75\u003c/li\u003e \u003c/ul\u003e \u003c/li\u003e \u003c/ul\u003e \u003cp\u003e\u0026nbsp;\u003c/p\u003e ",
  "closed_at": "2018-10-10",
  "content": "## Solution\n\n### Correctifs disponibles\n\nPlusieurs \u00e9diteurs ont publi\u00e9s des correctifs partiels pour les\nvuln\u00e9rabilit\u00e9s Meltdown et Spectre. Le CERT-FR recommande l\u0027application\ndes correctifs disponibles d\u00e8s que possible.\n\n#### Apple\n\nApple indique dans une communication du 4 janvier 2017 que les syst\u00e8mes\niOS 11.2, macOS 10.13.2 et tvOS 11.2 profitent de correctifs contre la\nvuln\u00e9rabilit\u00e9 Meltdown \\[9\\].\n\nLe 8 janvier 2018, Apple a publi\u00e9 des correctifs pour ses produits iOS,\nSafari et macOS High Sierra \\[26\\].\n\n#### Mozilla\n\nMozilla a publi\u00e9 une communication annon\u00e7ant que la version 57.0.4 de\nFirefox int\u00e8gre deux correctifs de s\u00e9curit\u00e9 li\u00e9s aux vuln\u00e9rabilit\u00e9s\nd\u00e9crites dans cette alerte \\[25\\].\n\n#### Microsoft\n\nMicrosoft a annonc\u00e9 dans un communiqu\u00e9 \\[10\\] que ses navigateurs\nInternet Explorer et Edge avaient b\u00e9n\u00e9fici\u00e9 d\u0027un correctif contre la\nvuln\u00e9rabilit\u00e9 Spectre sur les syst\u00e8mes Windows 10 et Windows Server 2016\n\\[11\\]\\[12\\]. Les correctifs de s\u00e9curit\u00e9 fournis par Microsoft sont\nn\u00e9anmoins d\u00e9pendants des logiciels anti-virus install\u00e9s sur le syst\u00e8me.\nPour tous d\u00e9tails sur l\u0027application de ces correctifs le CERT-FR\nrecommande de se reporter au site de l\u0027\u00e9diteur. Pour les syst\u00e8mes 32\nbits des versions ant\u00e9rieures \u00e0 Windows 10 et Windows Server 2016, un\ncorrectif sera d\u00e9ploy\u00e9 \u00e0 l\u0027occasion de la mise \u00e0 jour mensuelle, le 9\njanvier 2018. Pour Windows Server, une simple mise \u00e0 jour ne suffit par\npour se pr\u00e9munir du probl\u00e8me. Microsoft a publi\u00e9 une s\u00e9rie de mesures \u00e0\nmettre en oeuvre pour se prot\u00e9ger \\[22\\]. Dans tous les cas, Microsoft\nconseille de mettre \u00e0 jour le micrologiciel de son processeur lorsque\ndes correctifs seront disponibles.\n\n#### SUSE\n\nDes correctifs pour les vuln\u00e9rabilit\u00e9s Spectre et Meltdown ont \u00e9t\u00e9\ndistribu\u00e9s par SUSE \\[13\\].\n\nLe 11 janvier 2018, SUSE a publi\u00e9 des correctifs pour le noyau Linux\nainsi que pour le microgiciel Intel utilis\u00e9s par ses produits\n\\[29\\]\\[30\\].\n\n#### Red Hat\n\nDes correctifs\u00a0pour les vuln\u00e9rabilit\u00e9s Spectre et Meltdown ont \u00e9t\u00e9\ndistribu\u00e9s par Red Hat \\[23\\].\n\n#### Ubuntu\n\nLe mardi 9 janvier 2018, Ubuntu a publi\u00e9 plusieurs bulletins de s\u00e9curit\u00e9\nconcernant des correctifs pour la vuln\u00e9rabilit\u00e9 Meltdown \\[27\\]. Le 11\njanvier 2018, Ubuntu a publi\u00e9 un bulletin de s\u00e9curit\u00e9 annon\u00e7ant la mise\n\u00e0 disposition d\u0027un correctif pour le microgiciel Intel \\[31\\].\n\n#### VMware\n\nDes correctifs contre la vuln\u00e9rabilit\u00e9 Spectre ont \u00e9t\u00e9 apport\u00e9s par\nVMware pour leurs produits ESXi, Workstation et Fusion sous OS X. Il est\n\u00e0 noter que les plateformes ESXi en version 5.5 re\u00e7oivent un correctif\nseulement pour la variante CVE-2017-5715 de Spectre \\[14\\].\n\n#### Android\n\nDans leur bulletin de s\u00e9curit\u00e9 pour les correctifs du mois de janvier\n2018 \\[16\\], Android annonce ne pas d\u00e9tenir d\u0027informations sur une\nreproduction des vuln\u00e9rabilit\u00e9s Spectre et Meltdown sur leurs appareils.\nCependant, les correctifs disponibles pour ce mois de janvier 2018\nint\u00e8grent des mesures permettant de limiter le risque de tels attaques\n\\[15\\].\n\n#### Google\n\nDans un communiqu\u00e9 sur l\u0027\u00e9tat de ses produits face aux vuln\u00e9rabilit\u00e9s\nMeltdown et Spectre, Google annonce que Chrome OS sous Intel profite de\nla fonctionnalit\u00e9 KPTI (correctif limitant les effets de la\nvuln\u00e9rabilit\u00e9 Meltdown) pour les noyaux en versions 3.18 et 4.4 \u00e0 partir\nde la version 63 du syst\u00e8me d\u0027exploitation \\[17\\].\n\n#### Citrix\n\nDans un avis de s\u00e9curit\u00e9 dat\u00e9 du 4 janvier 2018 Citrix annonce apporter\nun correctif de s\u00e9curit\u00e9 pour les produits Citrix XenServer 7.1 LTSR CU1\n\\[19\\].\n\n#### Amazon AWS\n\nDans un communiqu\u00e9 du 4 janvier 2018 \\[20\\], Amazon indique que les\ninstances disposant d\u0027une configuration par d\u00e9faut (Amazon Linux AMI)\u00a0\nvont b\u00e9n\u00e9ficier d\u0027une mise \u00e0 jour du noyau Linux pour adresser les\neffets de la vuln\u00e9rabilit\u00e9 CVE-2017-5754 (Meltdown) \\[21\\].\n\n#### Debian\n\nLe 10 janvier 2018, un bulletin de s\u00e9curit\u00e9 publi\u00e9 par Debian propose un\ncorrectif pour la vuln\u00e9rabilit\u00e9 Meltdown \\[28\\].\n\n\u00a0\n\nPour la semaine du 15 au 21 janvier 2018, les \u00e9diteurs suivants ont\npubli\u00e9s des correctifs pour Meldown et Spectre:\n\n-   SUSE \\[33\\]\n-   Oracle \\[34\\] \\[35\\]\n-   Red Hat \\[36\\]\n-   Moxa \\[37\\] (l\u0027\u00e9diteur annonce que d\u0027autres correctifs sont \u00e0 venir)\n\n**Le 22 janvier 2018, Intel a publi\u00e9 un communiqu\u00e9 \\[38\\] pour annoncer\nqu\u0027ils avaient trouv\u00e9 la cause des dysfonctionnements li\u00e9s \u00e0 leur\ncorrectif. Dans certains cas, le correctif apport\u00e9 \u00e0 leur microgiciel\nprovoquait des red\u00e9marrages intempestifs. La situation n\u0027est toutefois\npas encore r\u00e9solue. Intel conseille donc de retarder l\u0027installation du\ncorrectif pour le microprocesseur.**\n\n**Le CERT-FR rappelle qu\u0027il est important d\u0027installer les correctifs de\ns\u00e9curit\u00e9 dans les plus brefs d\u00e9lais. Concernant Spectre et Meldown, il\nest n\u00e9cessaire de mettre \u00e0 jour en priorit\u00e9 les navigateurs puis les\nsyst\u00e8mes d\u0027exploitation.\u00a0Toutefois, il est \u00e9galement important de tester\nces correctifs dans des environnements contr\u00f4l\u00e9s avant de les pousser en\nproduction. Concernant les microgiciels d\u0027Intel, le CERT-FR\u00a0recommande\nune prudence accrue dans leurs d\u00e9ploiements voir d\u0027attendre la version\nfinale de ces mises \u00e0 jour. En mati\u00e8re de risques, l\u0027exploitation de la\nvuln\u00e9rabilit\u00e9 Spectre est particuli\u00e8rement\u00a0complexe et est la seule \u00e0\n\u00eatre couverte par la mise \u00e0 jour du micrologiciel.**\n\nLes 8 et 9 f\u00e9vrier 2018, plusieurs \u00e9diteurs ont publi\u00e9s des correctifs\nsuppl\u00e9mentaires:\n\n-   VMware \\[39\\]\n-   Red Hat \\[40\\]\n-   SUSE \\[41\\]\n\nLe 20 f\u00e9vrier 2018, Intel a annonc\u00e9 que les mises \u00e0 jour de s\u00e9curit\u00e9 des\nmicrologiciels pour certaines familles de processeurs \u00e9taient\ndisponibles. Sont concern\u00e9s les processeurs de type Kaby Lake, Coffee\nLake ainsi que certains Skylake (\ncf.\u00a0\u003chttps://newsroom.intel.com/news/latest-intel-security-news-updated-firmware-available/\u003e).\nIntel a \u00e9galement mis \u00e0 jour son calendrier pr\u00e9visionnel des sorties\nfutures (cf.\n\u003chttps://newsroom.intel.com/wp-content/uploads/sites/11/2018/02/microcode-update-guidance.pdf\u003e).\n\nLes \u00e9diteurs suivants ont \u00e9galement publi\u00e9s de nouveaux correctifs :\n\n-   Ubuntu\n    (cf.\u00a0\u003c/avis/CERTFR-2018-AVI-094/\u003e)\n-   SUSE (cf. \u003c/avis/CERTFR-2018-AVI-080/\u003e,\n    \u003c/avis/CERTFR-2018-AVI-083/\u003e\u00a0et\n    \u003c/avis/CERTFR-2018-AVI-091/\u003e)\n-   Siemens (cf.\n    \u003c/avis/CERTFR-2018-AVI-095/\u003e)\n\n\u00a0\n\n## Contournement provisoire\n\nDans leur article sur la vuln\u00e9rabilit\u00e9 Meltdown, les auteurs de la\npublication indiquent que la fonctionnalit\u00e9 de s\u00e9curit\u00e9 KAISER \\[5\\]\npermet de limiter les implications dues \u00e0 l\u0027exploitation de Meltdown.\u00a0Ce\nm\u00e9canisme a \u00e9t\u00e9 int\u00e9gr\u00e9 dans les derni\u00e8res versions du noyau Linux sous\nle nom de Kernel page-table isolation (KPTI) \\[6\\] et est en cours\nd\u0027int\u00e9gration dans les versions pr\u00e9c\u00e9dentes du noyau.\n\nCette fonctionnalit\u00e9 renforce la s\u00e9paration entre les zones m\u00e9moires\naccessibles en mode utilisateur et celles accessibles en mode noyau. De\nce fait il n\u0027est donc plus possible de d\u0027acc\u00e9der lors de l\u0027utilisation\nde la vuln\u00e9rabilit\u00e9 Meltdown aux informations noyau.\n\n### Syst\u00e8mes de virtualisation\n\nLes syst\u00e8mes virtualis\u00e9s de type Xen sont vuln\u00e9rables aux failles\npr\u00e9sent\u00e9s dans cette alerte. Concernant Meltdown un contournement\npouvant \u00eatre mis en \u0153uvre est d\u0027utiliser une virtualisation mat\u00e9rielle.\nEn effet, d\u0027apr\u00e8s un avis de s\u00e9curit\u00e9 de l\u0027\u00e9diteur \\[18\\], la\nCVE-2017-5754 n\u0027affecte que les syst\u00e8mes Xen en architecture Intel 64\nbits utilisant la para-virtualisation.\n\nD\u0027une fa\u00e7on globale, l\u0027ANSSI a \u00e9mis un guide relatif \u00e0 la virtualisation\npr\u00e9cisant que \u003cspan class=\"citation\"\u003e\u00ab\u003c/span\u003e les syst\u00e8mes invit\u00e9s\npr\u00e9sents sur une m\u00eame machine physique \\[doivent manipuler\\] des donn\u00e9es\nqui ont une \u003cspan class=\"highlight selected\"\u003esensibilit\u00e9\u003c/span\u003e\nsimilaire \u003cspan class=\"citation\"\u003e\u00bb\u003c/span\u003e \\[7\\].\n\n### V\u00e9rifications des correctifs disponibles\n\n#### Windows\n\nMicrosoft a mis \u00e0 disposition un script PowerShell qui permet de\nv\u00e9rifier si un correctif pour les vuln\u00e9rabilit\u00e9s a \u00e9t\u00e9 appliqu\u00e9 sur un\nsyst\u00e8me Windows \\[4\\].\n\n#### Linux\n\nAfin de s\u0027assurer de la pr\u00e9sence du m\u00e9canisme de s\u00e9curit\u00e9 KPTI sur un\nsyst\u00e8me utilisant un noyau Linux il est possible d\u0027ex\u00e9cuter la commande\nsuivante :\n\n\\[pastacode lang=\"bash\"\nmanual=\"dmesg%20%7C%20grep%20\u0027Kernel%2FUser%20page%20tables%20isolation\u0027\"\nmessage=\"\" highlight=\"\" provider=\"manual\"/\\]\n\nDans le cas o\u00f9 KPTI est activ\u00e9 un message sera affich\u00e9 en sortie.\n",
  "cves": [
    {
      "name": "CVE-2017-5754",
      "url": "https://www.cve.org/CVERecord?id=CVE-2017-5754"
    },
    {
      "name": "CVE-2017-5753",
      "url": "https://www.cve.org/CVERecord?id=CVE-2017-5753"
    },
    {
      "name": "CVE-2018-3640",
      "url": "https://www.cve.org/CVERecord?id=CVE-2018-3640"
    },
    {
      "name": "CVE-2017-5715",
      "url": "https://www.cve.org/CVERecord?id=CVE-2017-5715"
    },
    {
      "name": "CVE-2018-3639",
      "url": "https://www.cve.org/CVERecord?id=CVE-2018-3639"
    }
  ],
  "initial_release_date": "2018-01-04T00:00:00",
  "last_revision_date": "2018-10-10T00:00:00",
  "links": [
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-005 Multiples vuln\u00e9rabilit\u00e9s dans le noyau Linux de SUSE",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-005"
    },
    {
      "title": "Billet de blogue de Microsoft du 3 janvier 2018 sur un correctif pour Internet Explorer et Edge",
      "url": "https://blogs.windows.com/msedgedev/2018/01/03/speculative-execution-mitigations-microsoft-edge-internet-explorer/"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 de Microsoft KB4056890 du 3 janvier 2018",
      "url": "https://support.microsoft.com/en-us/help/4056890/windows-10-update-kb4056890"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-032 Multiples vuln\u00e9rabilit\u00e9s dans le noyau Linux de SUSE",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-032/"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Apple HT208394 du 4 janvier 2018",
      "url": "https://support.apple.com/en-us/HT208394"
    },
    {
      "title": "Communiqu\u00e9 Ubuntu",
      "url": "https://insights.ubuntu.com/2018/01/04/ubuntu-updates-for-the-meltdown-spectre-vulnerabilities/"
    },
    {
      "title": "CERT KB",
      "url": "https://www.kb.cert.org/vuls/id/584653"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 de Microsoft KB4056892 du 3 janvier 2018",
      "url": "https://support.microsoft.com/en-us/help/4056892/windows-10-update-kb4056892"
    },
    {
      "title": "Avis de s\u00e9curit\u00e9 Amazon ALAS-2018-939 du 4 janvier 2018",
      "url": "https://alas.aws.amazon.com/ALAS-2018-939.html"
    },
    {
      "title": "Article ARM d\u00e9taillant les vuln\u00e9rabilit\u00e9s ainsi que les contre-mesures envisag\u00e9es",
      "url": "https://developer.arm.com/support/security-update"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Schneider Electric",
      "url": "https://download.schneider-electric.com/files?p_enDocType=Technical+leaflet\u0026p_File_Id=8786151194\u0026p_File_Name=SEVD-2018-005-01+-Spectre+and+Meltdown.pdf\u0026p_Reference=SEVD-2018-005-01"
    },
    {
      "title": "Avis de s\u00e9curit\u00e9 ARM du 3 janvier 2017",
      "url": "https://developer.arm.com/support/security-update"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-006 Multiples vuln\u00e9rabilit\u00e9s dans les produits VMware",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-006"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Microsoft ADV180002",
      "url": "https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180002"
    },
    {
      "title": "Avis de vuln\u00e9rabilit\u00e9 d\u0027Intel et liste des processeurs vuln\u00e9rables",
      "url": "https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00088\u0026languageid=en-fr"
    },
    {
      "title": "Security Advisory 115 Intel",
      "url": "https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00115.html"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Microsoft concernant les vuln\u00e9rabilit\u00e9s d\u0027attaques par canaux auxiliaires d\u0027ex\u00e9cution sp\u00e9culative",
      "url": "https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution-s"
    },
    {
      "title": "Billet de blogue Mozilla",
      "url": "https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Microsoft ADV180013 du 21 mai 2018",
      "url": "https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/ADV180013"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Microsoft ADV180012 du 21 mai 2018",
      "url": "https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/ADV180012"
    },
    {
      "title": "Site d\u00e9taillant le principe de la vuln\u00e9rabilit\u00e9",
      "url": "https://spectreattack.com/"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-028 Vuln\u00e9rabilit\u00e9 dans le microgiciel Intel pour SUSE",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-028"
    },
    {
      "title": "Commentaires d\u0027AMD sur une \u00e9ventuelle vuln\u00e9rabilit\u00e9 de leurs processeurs",
      "url": "https://www.amd.com/en/corporate/speculative-execution"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Juniper",
      "url": "https://kb.juniper.net/InfoCenter/index?page=content\u0026id=JSA10842\u0026cat=SIRT_1\u0026actp=LIST"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Xen XSA-254 du 3 janvier 2018",
      "url": "https://xenbits.xen.org/xsa/advisory-254.html"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-017 Multiples vuln\u00e9rabilit\u00e9s dans le noyau Linux d\u0027Ubuntu",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-017"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Android du 2 janvier 2018",
      "url": "https://source.android.com/security/bulletin/2018-01-01"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-008 Multiples vuln\u00e9rabilit\u00e9s dans Mozilla Firefox",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-008"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-013 Multiples vuln\u00e9rabilit\u00e9s dans les produits Apple",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-013"
    },
    {
      "title": "Site d\u00e9taillant le principe de la vuln\u00e9rabilit\u00e9",
      "url": "https://meltdownattack.com/"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-030 Vuln\u00e9rabilit\u00e9 dans le microgiciel Intel pour Ubuntu",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-029"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-030 Vuln\u00e9rabilit\u00e9 dans le microgiciel Intel pour Ubuntu",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-030"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-079 Multiples vuln\u00e9rabilit\u00e9s dans le noyau Linux de RedHat",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-079"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Cisco",
      "url": "https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180104-cpusidechannel"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-039 Multiples vuln\u00e9rabilit\u00e9s dans Oracle Virtualization",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-039/"
    },
    {
      "title": "Communiqu\u00e9 Intel",
      "url": "https://newsroom.intel.com/news/root-cause-of-reboot-issue-identified-updated-guidance-for-customers-and-partners/"
    },
    {
      "title": "Billet de blogue Google Project Zero",
      "url": "https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-077 Multiples vuln\u00e9rabilit\u00e9s dans les produits VMware",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-077"
    },
    {
      "title": "Communiqu\u00e9 de la BSI",
      "url": "https://www.bsi.bund.de/DE/Presse/Pressemitteilungen/Presse2018/Gefaelschte_BSI-Mails_12012018.html"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-038 Multiples vuln\u00e9rabilit\u00e9s dans Oracle Sun Systems Products Suite",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-038/"
    },
    {
      "title": "Article du 15 novembre 2017 sur le m\u00e9canisme de s\u00e9curit\u00e9 KAISER",
      "url": "https://lwn.net/Articles/738975/"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Citrix CTX231390 du 4 janvier 2018",
      "url": "https://support.citrix.com/article/CTX231390"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-080 Multiples vuln\u00e9rabilit\u00e9s dans le noyau Linux de SUSE",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-080"
    },
    {
      "title": "Guide relatif \u00e0 la s\u00e9curit\u00e9 des syst\u00e8mes de virtualisation",
      "url": "https://www.ssi.gouv.fr/guide/problematiques-de-securite-associees-a-la-virtualisation-des-systemes-dinformation"
    },
    {
      "title": "Article de blog publi\u00e9 par Microsoft au sujet de CVE-2018-3639",
      "url": "https://blogs.technet.microsoft.com/srd/2018/05/21/analysis-and-mitigation-of-speculative-store-bypass-cve-2018-3639/"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Fortinet FG-IR-18-002",
      "url": "https://fortiguard.com/psirt/FG-IR-18-002"
    },
    {
      "title": "Mise \u00e0 jour du microgiciel Intel pour Linux relatif \u00e0 la CVE-2017-5715",
      "url": "https://downloadcenter.intel.com/download/27337/Linux-Processor-Microcode-Data-File"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-018 Multiples vuln\u00e9rabilit\u00e9s dans le noyau Linux de Debian",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-018"
    },
    {
      "title": "Communication de Microsoft sur les d\u00e9pendances entre la mise \u00e0 jour et les logiciels anti-virus",
      "url": "https://support.microsoft.com/en-us/help/4072699/important-information-regarding-the-windows-security-updates-released"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-029 Multiples vuln\u00e9rabilit\u00e9s dans le noyau Linux de SUSE",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-029"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Xen",
      "url": "https://xenbits.xen.org/xsa/advisory-254.html"
    },
    {
      "title": "Article Intel d\u00e9taillant les vuln\u00e9rabilit\u00e9s ainsi que les contre-mesures envisag\u00e9es",
      "url": "https://newsroom.intel.com/wp-content/uploads/sites/11/2018/01/Intel-Analysis-of-Speculative-Execution-Side-Channels.pdf"
    },
    {
      "title": "Article du 30 d\u00e9cembre 2017 sur l\u0027int\u00e9gration du correctif KPTI dans le noyau Linux",
      "url": "https://lwn.net/Articles/742404/"
    },
    {
      "title": "Mesures \u00e0 mettre en oeuvre pour prot\u00e9ger son Windows Server",
      "url": "https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-004 Multiples vuln\u00e9rabilit\u00e9s dans le noyau Linux de RedHat",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-004"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-002 Multiples vuln\u00e9rabilit\u00e9s dans Google Android",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-002"
    },
    {
      "title": "Communiqu\u00e9 de Google sur les attaques utilisant une m\u00e9thode d\u0027ex\u00e9cution sp\u00e9culative",
      "url": "https://support.google.com/faqs/answer/7622138"
    },
    {
      "title": "Communiqu\u00e9 d\u0027Amazon\u00a0AWS-2018-013 en lien avec les vuln\u00e9rabilit\u00e9s d\u0027ex\u00e9cution sp\u00e9culative",
      "url": "https://aws.amazon.com/fr/security/security-bulletins/AWS-2018-013/"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-040 Vuln\u00e9rabilit\u00e9 dans le micrologiciel processeur pour Red Hat",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-040/"
    },
    {
      "title": "Bulletin de s\u00e9curit\u00e9 Microsoft pour les professionnels concernant les vuln\u00e9rabilit\u00e9s d\u0027attaques par canaux auxiliaires d\u0027ex\u00e9cution sp\u00e9culative",
      "url": "https://support.microsoft.com/en-us/help/4073119/windows-client-guidance-for-it-pros-to-protect-against-speculative-exe"
    },
    {
      "title": "Avis CERT-FR CERTFR-2018-AVI-044 Multiples vuln\u00e9rabilit\u00e9s dans les produits Moxa",
      "url": "https://www.cert.ssi.gouv.fr/avis/CERTFR-2018-AVI-044"
    }
  ],
  "reference": "CERTFR-2018-ALE-001",
  "revisions": [
    {
      "description": "Version initiale",
      "revision_date": "2018-01-04T00:00:00.000000"
    },
    {
      "description": "Ajout et correction de liens",
      "revision_date": "2018-01-04T00:00:00.000000"
    },
    {
      "description": "Ajout de liens",
      "revision_date": "2018-01-05T00:00:00.000000"
    },
    {
      "description": "Ajout de d\u00e9tails sur les correctifs disponibles",
      "revision_date": "2018-01-05T00:00:00.000000"
    },
    {
      "description": "Ajout de d\u00e9tails sur les correctifs disponibles",
      "revision_date": "2018-01-05T00:00:00.000000"
    },
    {
      "description": "Ajout de d\u00e9tails sur les correctifs disponibles et sur les contournements possibles",
      "revision_date": "2018-01-05T00:00:00.000000"
    },
    {
      "description": "Ajout de liens et de recommandations pour Windows Server",
      "revision_date": "2018-01-05T00:00:00.000000"
    },
    {
      "description": "Ajout de d\u00e9tails sur les correctifs disponibles",
      "revision_date": "2018-01-09T00:00:00.000000"
    },
    {
      "description": "Ajout de liens et ajout de la section Preuve de concept",
      "revision_date": "2018-01-09T00:00:00.000000"
    },
    {
      "description": "Ajout de r\u00e8gles Yara",
      "revision_date": "2018-01-09T00:00:00.000000"
    },
    {
      "description": "Mise \u00e0 jour des correctifs disponibles",
      "revision_date": "2018-01-10T00:00:00.000000"
    },
    {
      "description": "Mise \u00e0 jour des correctifs disponibles",
      "revision_date": "2018-01-12T00:00:00.000000"
    },
    {
      "description": "Ajout de la section Campagne de pourriel",
      "revision_date": "2018-01-12T00:00:00.000000"
    },
    {
      "description": "Ajout de correctifs disponibles en semaine 03",
      "revision_date": "2018-01-19T00:00:00.000000"
    },
    {
      "description": "modification des recommandations suite au communiqu\u00e9 d\u0027Intel",
      "revision_date": "2018-01-23T00:00:00.000000"
    },
    {
      "description": "ajout des bulletins de s\u00e9curit\u00e9 VMware, RedHat et SUSE",
      "revision_date": "2018-02-12T00:00:00.000000"
    },
    {
      "description": "Ajout de l\u0027annonce d\u0027Intel sur la sortie des derniers correctifs de s\u00e9curit\u00e9.",
      "revision_date": "2018-02-23T00:00:00.000000"
    },
    {
      "description": "Ajout des vuln\u00e9rabilit\u00e9s 3a et 4",
      "revision_date": "2018-05-23T00:00:00.000000"
    },
    {
      "description": "Correction mise en page et ajout de liens",
      "revision_date": "2018-05-23T00:00:00.000000"
    },
    {
      "description": "Ajout de bulletins Microsoft",
      "revision_date": "2018-05-25T00:00:00.000000"
    },
    {
      "description": "Cl\u00f4ture de l\u0027alerte.",
      "revision_date": "2018-10-10T00:00:00.000000"
    }
  ],
  "risks": [
    {
      "description": "Atteinte \u00e0 la confidentialit\u00e9 des donn\u00e9es"
    }
  ],
  "summary": "\u003cstrong\u003e\\[Mise \u00e0 jour du 25/05/2018 : ajout de bulletins Microsoft (cf.\nsection Documentation)\\]\u003c/strong\u003e\n\n\u003cstrong\u003e\\[Mise \u00e0 jour du 22/05/2018 : publications de nouvelles variantes\\]  \n\u003c/strong\u003e\n\n\u003cstrong\u003e\\[Mise \u00e0 jour du 23/02/2018 : annonce d\u0027Intel sur la sortie des mises\n\u00e0 jour des micrologiciels (cf. section Solution)\\]\u003c/strong\u003e\n\n\u003cstrong\u003e\\[Mise \u00e0 jour du 12/02/2018 : ajout des bulletins de s\u00e9curit\u00e9 VMware,\nRedHat et SUSE (cf. section Solution)\\]\u003c/strong\u003e\n\n\u003cstrong\u003e\\[Mise \u00e0 jour du 23/01/2018 : modification des recommandations suite\nau communiqu\u00e9 d\u0027Intel (cf. section Solution)\\]\u003c/strong\u003e\n\nLe 4 janvier 2018, deux vuln\u00e9rabilit\u00e9s affectant plusieurs familles de\nprocesseurs et pouvant conduire \u00e0 des fuites d\u0027informations ont \u00e9t\u00e9\nrendues publiques \\[1\\]\\[2\\]. Intitul\u00e9es Spectre et Meltdown, ces deux\nvuln\u00e9rabilit\u00e9s ont re\u00e7u les identifiants CVE-2017-5715, CVE-2017-5753\npour Spectre et CVE-2017-5754 pour Meltdown. Le 21 mai 2018, deux\nnouvelles vuln\u00e9rabilit\u00e9s identifi\u00e9es CVE-2018-3639 et CVE-2018-3640,\nreposant sur des principes similaires, ont \u00e9galement \u00e9t\u00e9 publi\u00e9es\n\\[42\\].\n\n### Vuln\u00e9rabilit\u00e9 Meltdown\n\nLes processeurs modernes int\u00e8grent plusieurs fonctionnalit\u00e9s visant \u00e0\nam\u00e9liorer leurs performances. Parmi celles-ci, l\u0027ex\u00e9cution dite\n*out-of-order* permet d\u0027ex\u00e9cuter les instructions d\u0027un programme en\nfonction de la disponibilit\u00e9 des ressources de calculs et plus\nn\u00e9cessairement de fa\u00e7on s\u00e9quentielle. Une faiblesse de ce m\u00e9canisme peut\ncependant conduire \u00e0 l\u0027ex\u00e9cution d\u0027une instruction sans que le niveau de\nprivil\u00e8ges requis par celle-ci ne soit correctement v\u00e9rifi\u00e9. Bien que le\nr\u00e9sultat de l\u0027ex\u00e9cution d\u0027une telle instruction ne soit pas valid\u00e9 par\nla suite, il peut \u00eatre possible de r\u00e9cup\u00e9rer l\u0027information en utilisant\nune attaque par canaux cach\u00e9s.\n\nLa vuln\u00e9rabilit\u00e9 CVE-2017-5754 exploite l\u2019ex\u00e9cution *out-of-order* sur\ndes instructions requ\u00e9rant un haut niveau de privil\u00e8ge pour permettre\nl\u0027acc\u00e8s en lecture \u00e0 des zones m\u00e9moires propres au syst\u00e8me\nd\u2019exploitation depuis du code s\u2019ex\u00e9cutant de fa\u00e7on non-privil\u00e9gi\u00e9e. En\nparticulier, l\u0027exploitation de cette vuln\u00e9rabilit\u00e9 permet d\u0027acc\u00e9der\ndepuis un programme utilisateur \u00e0 la m\u00e9moire du syst\u00e8me d\u0027exploitation.\nCela peut conduire \u00e0 des fuites de donn\u00e9es sensibles pr\u00e9sentes en\nm\u00e9moire et peut inclure des informations d\u0027autres programmes ou encore\ndes cl\u00e9s de chiffrement. Cette fuite d\u0027informations peut aussi \u00eatre mise\nen \u0153uvre pour faciliter la compromission d\u0027un syst\u00e8me.\n\nLa vuln\u00e9rabilit\u00e9 CVE-2018-3640 exploite l\u2019ex\u00e9cution *out-of-order* sur\ndes instructions requ\u00e9rant un haut niveau de privil\u00e8ge pour permettre\nl\u0027acc\u00e8s en lecture \u00e0 des registres propres au syst\u00e8me d\u2019exploitation\ndepuis du code s\u2019ex\u00e9cutant de fa\u00e7on non-privil\u00e9gi\u00e9e. En particulier,\nl\u0027exploitation de cette vuln\u00e9rabilit\u00e9 permet d\u0027acc\u00e9der depuis un\nprogramme utilisateur \u00e0 des param\u00e8tres de configuration du processeur.\nCette fuite d\u0027informations peut aussi \u00eatre mise en \u0153uvre pour faciliter\nla compromission d\u0027un syst\u00e8me.\n\n### Vuln\u00e9rabilit\u00e9 Spectre\n\nL\u0027ex\u00e9cution sp\u00e9culative est une seconde technique d\u0027optimisation\nutilis\u00e9e par les processeurs modernes. Les d\u00e9pendances entre les\ninstructions limitent les possibilit\u00e9s d\u0027ex\u00e9cution *out-of-order*. Pour\nrem\u00e9dier \u00e0 cette limitation, le processeur \u00e9met des hypoth\u00e8ses\nconcernant les r\u00e9sultats non encore disponibles. Ceci lui permet de\npoursuivre l\u2019ex\u00e9cution *out-of-order* en utilisant ces hypoth\u00e8ses en\nremplacement des r\u00e9sultats attendus. On parle alors d\u0027ex\u00e9cution\nsp\u00e9culative. Ces hypoth\u00e8ses sont v\u00e9rifi\u00e9es par le processeur d\u00e8s que les\nr\u00e9sultats auxquels elles se rapportent deviennent disponibles. Si elles\nse r\u00e9v\u00e8lent correctes, le processeur valide l\u0027ex\u00e9cution sp\u00e9culative.\nMais inversement, si elles se r\u00e9v\u00e8lent erron\u00e9es, les effets de\nl\u0027ex\u00e9cution sp\u00e9culative doivent \u00eatre annul\u00e9s et l\u0027ex\u00e9cution doit\nreprendre au point on les hypoth\u00e8ses erron\u00e9es avaient \u00e9t\u00e9 \u00e9mises, c\u0027est\n\u00e0 dire l\u00e0 o\u00f9 l\u0027ex\u00e9cution sp\u00e9culative avait d\u00e9but\u00e9e.\n\nCependant les effets d\u0027une ex\u00e9cution sp\u00e9culative erron\u00e9e sur le cache\nperdurent. Or, en mesurant des temps d\u0027acc\u00e8s \u00e0 des zones m\u00e9moires, il\nest possible de conna\u00eetre l\u0027\u00e9tat du cache. Par cons\u00e9quent, un attaquant\nsera capable de d\u00e9terminer les r\u00e9sultats interm\u00e9diaires d\u0027une ex\u00e9cution\nsp\u00e9culative erron\u00e9e si ceux-ci influent sur l\u0027\u00e9tat du cache. Cette\nutilisation du cache pour mener \u00e0 bien l\u0027exploitation est commune aux\ntrois variantes de Spectre.\n\n#### Variante 1 (CVE-2017-5753)\n\nLe pr\u00e9dicteur de branches est un composant du processeur utilis\u00e9 pour\n\u00e9mettre des hypoth\u00e8ses concernant l\u0027adresse de la prochaine instruction\n\u00e0 ex\u00e9cuter. En particulier, il est utilis\u00e9 pour pr\u00e9dire l\u0027issue des\nsauts conditionnels. D\u0027autre part, ce composant est partag\u00e9 entre des\ncodes s\u0027ex\u00e9cutant dans des cloisonnements de s\u00e9curit\u00e9 diff\u00e9rents\n(processus, niveaux de privil\u00e8ge).\n\nDans la variante 1 de Spectre, un attaquant influe sur les heuristiques\ndu pr\u00e9dicteur de branches pour fausser la pr\u00e9diction d\u0027un saut\nconditionnel s\u2019ex\u00e9cutant dans un autre cloisonnement de s\u00e9curit\u00e9, ce qui\na pour effet de d\u00e9clencher une ex\u00e9cution sp\u00e9culative erron\u00e9e. Un code\nest vuln\u00e9rable si cette ex\u00e9cution sp\u00e9culative erron\u00e9e modifie le cache\nde fa\u00e7on qui d\u00e9pende d\u0027une valeur secr\u00e8te (c\u0027est \u00e0 dire non directement\naccessible depuis le cloisonnement dans lequel se situe l\u0027attaquant).\n\nExemple de code vuln\u00e9rable fourni dans l\u0027article:\n\n\\[pastacode lang=\"c\"\nmanual=\"if%20(x%20%3C%20array1_size)%0Ay%20%3D%20array2%5Barray1%5Bx%5D%20\\*%20256%5D%3B\"\nmessage=\"\" highlight=\"\" provider=\"manual\"/\\]\n\nUn attaquant ma\u00eetrisant la valeur de x peut obtenir une lecture\narbitraire dans l\u0027espace d\u0027adressage du processus ex\u00e9cutant le code\nci-dessus. Pour cela, l\u0027attaquant commence par soumettre un grand nombre\nde x valides (c\u0027est \u00e0 dire v\u00e9rifiant la condition de la ligne 1) pour\nfaire croire au pr\u00e9dicteur de branches que la condition ligne 1 est\ntoujours vraie. Puis il soumet un x pointant \u00e0 une adresse arbitraire.\nLe pr\u00e9dicteur de branches estime n\u00e9anmoins que la condition est vraie,\nce qui d\u00e9clenche l\u0027ex\u00e9cution sp\u00e9culative de la ligne 2. La valeur\nsecr\u00e8te point\u00e9e par x est r\u00e9cup\u00e9r\u00e9e puis utilis\u00e9e pour former l\u0027adresse\nd\u0027une seconde lecture m\u00e9moire. Cette seconde lecture aura un effet sur\nle cache d\u00e9celable par l\u0027attaquant qui sera alors en mesure de retrouver\nla valeur secr\u00e8te.\n\n#### Variante 2 (CVE-2017-5715)\n\nLe pr\u00e9dicteur de branches est \u00e9galement utilis\u00e9 pour pr\u00e9dire l\u0027issue des\nsauts indirects. Dans la variante 2 de Spectre, un attaquant influe sur\nles heuristiques du pr\u00e9dicteur de branches pour fausser la pr\u00e9diction\nd\u0027un saut indirect s\u2019ex\u00e9cutant dans un autre cloisonnement de s\u00e9curit\u00e9,\nce qui a pour effet de d\u00e9clencher une ex\u00e9cution sp\u00e9culative erron\u00e9e \u00e0\nune adresse arbitraire ma\u00eetris\u00e9e par l\u0027attaquant. En choisissant\ncorrectement le code ex\u00e9cut\u00e9 sp\u00e9culativement, l\u0027attaquant est alors\ncapable d\u0027obtenir une lecture arbitraire dans l\u0027espace d\u0027adressage du\nprocessus victime.\n\n#### Variante 3 (CVE-2018-3639)\n\nLes processeurs \u00e9mettent \u00e9galement des hypoth\u00e8ses concernant l\u0027adresse\nde certains acc\u00e8s m\u00e9moire. Pour b\u00e9n\u00e9ficier de plus de libert\u00e9s dans\nl\u0027ordre d\u0027ex\u00e9cution d\u0027op\u00e9rations de lecture m\u00e9moire, le processeur va\ndevoir pr\u00e9dire si celles-ci chevauchent des op\u00e9rations d\u0027\u00e9criture en\nattente d\u0027ex\u00e9cution. Si une op\u00e9ration de lecture ne chevauche aucune\nop\u00e9ration d\u0027\u00e9criture en attente d\u0027ex\u00e9cution, rien ne s\u0027oppose \u00e0 qu\u0027elle\npuisse \u00eatre ex\u00e9cut\u00e9e de fa\u00e7on anticip\u00e9e.\n\nDans la variante 3 de Spectre, un attaquant influe sur les heuristiques\ndu processeur utilis\u00e9es pour la pr\u00e9diction d\u0027adresses, ce qui a pour\neffet de d\u00e9clencher une ex\u00e9cution sp\u00e9culative erron\u00e9e d\u0027une op\u00e9ration de\nlecture m\u00e9moire et des instructions qui en d\u00e9pendent. Un code est\nvuln\u00e9rable si cette ex\u00e9cution sp\u00e9culative erron\u00e9e manipule une valeur\nsecr\u00e8te et la laisse fuir \u00e0 travers un \u00e9tat observable du cache\n\nMicrosoft (une des parties ayant d\u00e9couvert la vuln\u00e9rabilit\u00e9) \\[43\\]\naffirme ne pas avoir identifi\u00e9 de code vuln\u00e9rable dans leurs produits,\nce qui laisse penser que les codes vuln\u00e9rables sont peu fr\u00e9quents.\n\n### Impact\n\nLes vuln\u00e9rabilit\u00e9s d\u00e9crites dans cette alerte peuvent impacter tous les\nsyst\u00e8mes utilisant un processeur vuln\u00e9rable et donc de fa\u00e7on\nind\u00e9pendante du syst\u00e8me d\u0027exploitation. Selon les chercheurs \u00e0 l\u0027origine\nde la d\u00e9couverte de ces failles, il est ainsi possible d\u0027acc\u00e9der \u00e0\nl\u0027int\u00e9gralit\u00e9 de la m\u00e9moire physique sur des syst\u00e8mes Linux et OSX et \u00e0\nune part importante de la m\u00e9moire sur un syst\u00e8me Windows.\n\nOn notera que l\u0027impact peut \u00eatre plus particuli\u00e8rement important dans\ndes syst\u00e8mes de ressources partag\u00e9s de type conteneur (Docker, LXC) o\u00f9\nil serait possible depuis un environnement restreint d\u0027acc\u00e9der \u00e0 toutes\nles donn\u00e9es pr\u00e9sentes sur la machine physique dans lequel s\u0027ex\u00e9cute le\nconteneur ou encore dans des environnements virtualis\u00e9s utilisant la\npara-virtualisation de type Xen.\n\n### Preuve de concept\n\nLe CERT-FR constate que des preuves de concept fonctionnelles pour\nMeltdown sont d\u00e9sormais publiques. Les r\u00e8gles Yara suivantes servent \u00e0\nd\u00e9tecter les binaires li\u00e9s \u00e0 la biblioth\u00e8que publi\u00e9e par l\u0027Institute of\nApplied Information Processing and Communications (IAIK) :\n\n\\[pastacode lang=\"c\"\nmanual=\"rule%20meltdown_iaik_libkdump_meltdown_nonull%20%7B%0A%0Ameta%3A%0A%0Aauthor%20%3D%20%22ANSSI%22%0A%0ATLP_level%20%3D%20%22White%22%0A%0Adescription%20%3D%20%22Detects%20Meltdown%20PoC%20libkdump%20meltdown_nonull%20method%22%0A%0Aversion%20%3D%20%221.0%22%0A%0Alast_modified%20%3D%20%222018-01-09%22%0A%0Astrings%3A%0A%0A%2F\\*%0A%0A.text%3A00000000000018A6%2048%2031%20C0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xor%20%20%20%20%20%20rax%2C%20rax%20%20%20.text%3A00000000000018A9%0A%0A.text%3A00000000000018A9%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20loc_18A9%3A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3B%20CODE%20XREF%3A%20libkdump_read_tsx%2B48j%0A%0A.text%3A00000000000018A9%208A%2001%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20al%2C%20%5Brcx%5D%0A%0A.text%3A00000000000018AB%2048%20C1%20E0%200C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20shl%20%20%20%20%20%20rax%2C%200Ch%0A%0A.text%3A00000000000018AF%2074%20F8%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20jz%20%20%20%20%20%20%20%20short%20loc_18A9%0A%0A.text%3A00000000000018B1%2048%208B%201C%2003%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20rbx%2C%20%5Brbx%2Brax%5D%0A%0A\\*%2F%0A%0A%24asm%3D%7B%0A%0A48%2031%20C0%0A%0A8A%2001%0A%0A48%20C1%20E0%200C%0A%0A74%20F8%0A%0A48%208B%201C%2003%0A%0A%7D%0A%0Acondition%3A%20%24asm%0A%0A%7D%0A%0A%0Arule%20meltdown_iaik_libkdump_meltdown_fast%20%7B%0A%0Ameta%3A%0A%0Aauthor%20%3D%20%22ANSSI%22%0A%0ATLP_level%20%3D%20%22White%22%0A%0Adescription%20%3D%20%22Detects%20Meltdown%20PoC%20libkdump%20meltdown_fast%20method%22%0A%0Aversion%20%3D%20%221.0%22%0A%0Alast_modified%20%3D%20%222018-01-09%22%0A%0Astrings%3A%0A%0A%20%20%20%20%2F\\*%0A%0A.text%3A000000000000184F%2048%2031%20C0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xor%20%20%20%20%20%20%20rax%2C%20rax%0A%0A.text%3A0000000000001852%208A%2001%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20%20al%2C%20%5Brcx%5D%0A%0A.text%3A0000000000001854%2048%20C1%20E0%200C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20shl%20%20%20%20%20%20%20rax%2C%200Ch%0A%0A.text%3A0000000000001858%2048%208B%201C%2003%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20rbx%2C%20%5Brbx%2Brax%5D%0A%0A\\*%2F%0A%0A%24asm%20%3D%20%7B%0A%0A48%2031%20C0%0A%0A8A%2001%0A%0A48%20C1%20E0%200C%0A%0A48%208B%201C%2003%0A%0A%7D%0A%0Acondition%3A%0A%0A%24asm%0A%0A%7D%0A%0A%0Arule%20meltdown_iaik_libkdump_meltdown%20%7B%0A%0Ameta%3A%0A%0Aauthor%20%3D%20%22ANSSI%22%0A%0ATLP_level%20%3D%20%22White%22%0A%0Adescription%20%3D%20%22Detects%20Meltdown%20PoC%20libkdump%20meltdown%20method%22%0A%0Aversion%20%3D%20%221.0%22%0A%0Alast_modified%20%3D%20%222018-01-09%22%0A%0Astrings%3A%0A%0A%2F\\*%0A%0A.text%3A00000000000018A8%2048%2031%20C0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xor%20%20%20%20%20rax%2C%20rax%20%20%20.text%3A00000000000018AB%0A%0A.text%3A00000000000018AB%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20loc_18AB%3A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3B%20CODE%20XREF%3A%20libkdump_read_tsx%2B4Dj%0A%0A.text%3A00000000000018AB%2048%208B%2036%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20%20rsi%2C%20%5Brsi%5D%0A%0A.text%3A00000000000018AE%208A%2001%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20%20al%2C%20%5Brcx%5D%0A%0A.text%3A00000000000018B0%2048%20C1%20E0%200C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20shl%20%20%20%20%20%20%20rax%2C%200Ch%0A%0A.text%3A00000000000018B4%2074%20F5%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20jz%20%20%20%20%20%20%20%20short%20loc_18AB%0A%0A.text%3A00000000000018B6%2048%208B%201C%2003%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mov%20%20%20%20rbx%2C%20%5Brbx%2Brax%5D%0A%0A\\*%2F%0A%0A%24asm%3D%7B%0A%0A48%2031%20C0%0A%0A48%208B%2036%0A%0A8A%2001%0A%0A48%20C1%20E0%200C%0A%0A74%20F5%0A%0A48%208B%201C%2003%0A%0A%7D%0A%0Acondition%3A%0A%0A%24asm%0A%0A%7D\"\nmessage=\"\" highlight=\"\" provider=\"manual\"/\\]\n\n### Campagne de pourriels\n\nLe CERT-FR constate qu\u0027une campagne de pourriels visant \u00e0 distribuer des\nlogiciels malveillants a \u00e9t\u00e9 lanc\u00e9e afin de profiter de la situation\nautour des vuln\u00e9rabilit\u00e9 Spectre et Meltdown \\[32\\]. Des attaquants se\nfaisant passer pour la *\u003cspan lang=\"de\"\u003eBundesamt f\u00fcr Sicherheit in der\nInformationstechnik \u003c/span\u003e*\u003cspan lang=\"de\"\u003e(BSI), l\u0027\u00e9quivalent allemand\nde l\u0027ANSSI, ont envoy\u00e9 des courriers \u00e9lectroniques invitant leurs\ndestinataires \u00e0 se rendre sur une copie du site de la BSI. La diff\u00e9rence\navec le site officiel \u00e9tait une modification de l\u0027alerte concernant les\nvuln\u00e9rabilit\u00e9s: l\u0027utilisateur \u00e9tait invit\u00e9 \u00e0 installer un correctif qui\nse trouvait \u00eatre un logiciel malveillant.\u003c/span\u003e\n\nLe CERT-FR rappelle de faire preuve de la plus grande vigilance quand \u00e0\nl\u0027ouverture des courriers \u00e9lectroniques ainsi que d\u0027installer les\ncorrectifs de s\u00e9curit\u00e9 dans les plus brefs d\u00e9lais, et ce uniquement\ndepuis les sources officielles des \u00e9diteurs.\n",
  "title": "Multiples vuln\u00e9rabilit\u00e9s de fuite d\u0027informations dans des processeurs",
  "vendor_advisories": [
    {
      "published_at": null,
      "title": "Sites d\u00e9taillant le principe de la vuln\u00e9rabilit\u00e9",
      "url": null
    }
  ]
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…