Des chercheurs en sécurité ont publié sur le projet Zéro une nouvelle vulnérabilité appelée Spectre et fusion pour permettre à un programme de voler des informations dans la mémoire d’autres programmes. Cela affecte les architectures Intel, AMD et ARM.
Cette faille peut être exploitée à distance en visitant un site web JavaScript. Les détails techniques sont disponibles sur le site Web redhat , l’ équipe de sécurité Ubuntu .
Fuite d'informations lors d'attaques spéculatives sur les canaux secondaires d'exécution (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754, alias Spectre et Meltdown)
Il a été découvert qu'une nouvelle classe d'attaques par canaux auxiliaires affecte la plupart des processeurs, notamment les processeurs Intel, AMD et ARM. L’attaque permet aux processus de l’espace utilisateur malveillant de lire la mémoire du noyau et le code malveillant des invités de lire la mémoire de l’hyperviseur. Pour résoudre ce problème, des mises à jour du noyau Ubuntu et du microcode du processeur seront nécessaires. Ces mises à jour seront annoncées dans les prochains avis de sécurité Ubuntu dès qu'elles seront disponibles.
Exemple d'implémentation en JavaScript
Comme preuve de concept, du code JavaScript a été écrit qui, lorsqu'il est exécuté dans le navigateur Google Chrome, permet à JavaScript de lire la mémoire privée à partir du processus dans lequel il s'exécute.
Mon système semble être affecté par la vulnérabilité du spectre. J'ai compilé et exécuté cette preuve de concept ( spectre.c
).
Informations système:
$ uname -a
4.13.0-0.bpo.1-amd64 #1 SMP Debian 4.13.13-1~bpo9+1 (2017-11-22) x86_64 GNU/Linux
$ cat /proc/cpuinfo
model name : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
$gcc --version
gcc (Debian 6.3.0-18) 6.3.0 20170516
Comment atténuer les vulnérabilités Spectre et Meldown sur les systèmes Linux?
Lectures supplémentaires: Utilisation de Meltdown pour voler des mots de passe en temps réel .
Mise à jour
Utilisation de l' Spectre & Meltdown Checker
après le passage à la 4.9.0-5
version du noyau suivante réponse @Carlos Pasqualini , car une mise à jour de sécurité est disponible pour atténuer les CVE-2017-5754 sur debian Stretch:
CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel: NO (only 31 opcodes found, should be >= 70)
> STATUS: VULNERABLE (heuristic to be improved when official patches become available)
CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
* Hardware (CPU microcode) support for mitigation: NO
* Kernel support for IBRS: NO
* IBRS enabled for Kernel space: NO
* IBRS enabled for User space: NO
* Mitigation 2
* Kernel compiled with retpoline option: NO
* Kernel compiled with a retpoline-aware compiler: NO
> STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)
CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI): YES
* PTI enabled and active: YES
> STATUS: NOT VULNERABLE (PTI mitigates the vulnerability)
Mise à jour le 25 janvier 2018
Le spectre-meltdown-checker
script est officiellement emballé par debian, il est disponible pour Debian Stretch via le référentiel de backports, Buster et Sid.
Dérivation spéculative de magasin (SSB) - également appelée variante 4
Les systèmes dotés de microprocesseurs utilisant une exécution spéculative et une exécution spéculative de lectures en mémoire avant la connaissance des adresses de toutes les écritures précédentes peuvent permettre la divulgation non autorisée d'informations à un attaquant disposant d'un accès utilisateur local via une analyse par canal latéral.
Rogue System Register Read (RSRE) - également connu sous le nom de variante 3a
Les systèmes dotés de microprocesseurs utilisant une exécution spéculative et effectuant des lectures spéculatives de registres système peuvent permettre la divulgation non autorisée de paramètres système à un attaquant disposant d'un accès utilisateur local via une analyse par canal latéral.
Modifier le 27 juillet 2018
NetSpectre: Lecture de mémoire arbitraire sur le réseau
Dans cet article, nous présentons NetSpectre, une nouvelle attaque basée sur la variante 1 de Spectre, ne nécessitant aucun code sous le contrôle de l'attaquant sur le périphérique cible, affectant ainsi des milliards de périphériques. Semblable à une attaque Spectre locale, notre attaque à distance nécessite la présence d'un gadget Spectre dans le code de la cible. Nous montrons que les systèmes contenant les gadgets Specter requis dans une interface réseau ou une API exposée peuvent être attaqués avec notre attaque Specter à distance générique, ce qui permet de lire de la mémoire arbitraire sur le réseau. L'attaquant n'envoie qu'une série de requêtes spécialement conçues à la victime et mesure le temps de réponse nécessaire à la fuite d'une valeur secrète de la mémoire de la victime.