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.
la source
Réponses:
Alan Cox a partagé un lien du blog d'AMD: https://www.amd.com/fr/corporate/speculative-execution
Première variante: Bounds Check Bypass Variante deux: injection de cible de branche Variante trois: chargement du cache de données non fiablesCependant, il serait bon d’avoir confirmation des déclarations de ces sociétés par une tierce partie.
Les 'mesures d'atténuation' sur les systèmes affectés nécessiteraient un nouveau noyau et un redémarrage, mais sur de nombreuses distributions, aucun package contenant les correctifs n'est encore disponible:
Debian:
Autres sources d'informations que j'ai trouvées:
la source
27 janvier 2018 Intel Microcode casse certains systèmes
La mise à jour 2018-01-08 d’Intel Microcode, destinée à résoudre les problèmes de sécurité liés au branchement d’exécution spéculatifs, a endommagé certains systèmes. Cela a affecté de nombreux systèmes Ubuntu du 8 au 21 janvier. Le 22 janvier 2018, Ubuntu a publié une mise à jour qui remet l'ancien Microcode du 2017-07-07.
Si vous avez rencontré des problèmes avec les mises à jour, que vous avez réinstallé Ubuntu et que vous avez désactivé les mises à jour entre le 2018-01-08 et le 2018-01-22, vous souhaiterez peut-être essayer à nouveau les mises à jour automatiques d'Ubuntu.
Mise à jour du Spectre du 16 janvier 2018 dans les versions 4.14.14 et 4.9.77
Si vous exécutez déjà les versions de noyau 4.14.13 ou 4.9.76 telles que je suis, l'installation est simple
4.14.14
et4.9.77
lorsqu'elles sortent dans quelques jours pour atténuer la faille de sécurité de Spectre. Le nom de ce correctif est Retpoline et ne présente pas les conséquences graves en termes de performances spécifiées précédemment:Sans entrer dans les détails de JavaScript, voici comment éviter immédiatement le trou de fusion (et à compter du 10 janvier 2018, Spectre protection)
Mise à jour du 12 janvier 2018
La protection initiale de Spectre est là et sera améliorée dans les semaines et les mois à venir.
Noyaux Linux 4.14.13, 4.9.76 LTS et 4.4.111 LTS
De cet article de Softpedia :
De nombreux utilisateurs ont eu des problèmes avec les mises à jour Ubuntu LTS le 4 janvier 2018 et le 10 janvier 2018. Je l'utilise
4.14.13
depuis quelques jours sans aucun problème, toutefois, YMMV .Mise à jour du 7 janvier 2018
Greg Kroah-Hartman a écrit hier une mise à jour de la situation concernant les failles de sécurité du noyau Meltdown et du noyau Spectre Linux. Certains pourraient l'appeler le deuxième homme le plus puissant du monde Linux, juste après Linus. L'article traite des noyaux stables (décrits ci-dessous) et des noyaux LTS dont disposent la majorité des utilisateurs d'Ubuntu.
Noyaux Linux 4.14.11, 4.9.74, 4.4.109, 3.16.52 et 3.2.97: Défaut de fusion du correctif
De cet article :
Les utilisateurs sont invités à mettre à jour leurs systèmes immédiatement
4 janvier 2018 01h42 GMT · Par Marius Nestor
Les mainteneurs du noyau Linux, Greg Kroah-Hartman et Ben Hutchings, ont publié une nouvelle version des séries de noyaux Linux 4.14, 4.9, 4.4, 3.16, 3.18 et 3.12 du LTS (support à long terme) qui corrigent apparemment l'une des deux failles de sécurité critiques affectant la plupart des systèmes modernes. processeurs.
Les noyaux Linux 4.14.11, 4.9.74, 4.4.109, 3.16.52, 3.18.91 et 3.2.97 sont maintenant disponibles pour téléchargement sur le site Web kernel.org, et les utilisateurs sont instamment invités à mettre à jour leurs distributions GNU / Linux. à ces nouvelles versions s’ils exécutent immédiatement l’une de ces séries de noyaux. Pourquoi mettre à jour? Parce qu'ils corrigent apparemment une vulnérabilité critique appelée Meltdown.
Comme indiqué précédemment, Meltdown et Specter sont deux exploits qui affectent presque tous les périphériques alimentés par des processeurs modernes (CPU) lancés au cours des 25 dernières années. Oui, cela signifie presque tous les téléphones mobiles et les ordinateurs personnels. Meltdown peut être exploité par un attaquant sans privilège afin d'obtenir de manière malveillante des informations sensibles stockées dans la mémoire du noyau.
La vulnérabilité de correctif pour Spectre est toujours en cours
Bien que Meltdown soit une vulnérabilité sérieuse pouvant exposer vos données secrètes, y compris vos mots de passe et clés de cryptage, Spectre est encore pire et il n’est pas facile à corriger. Les chercheurs en sécurité disent que cela nous hantera pendant un certain temps. Spectre est connu pour exploiter la technique d'exécution spéculative utilisée par les processeurs modernes pour optimiser les performances.
Tant que le bogue Specter n'aura pas été corrigé, il est vivement recommandé de mettre au moins vos distributions GNU / Linux à jour avec l'une des versions du noyau Linux récemment publiées. Recherchez donc la nouvelle mise à jour du noyau dans les répertoires de logiciels de votre distribution préférée et installez-la dès que possible. N'attendez pas qu'il soit trop tard, faites-le maintenant!
J'utilisais le noyau 4.14.10 depuis une semaine et le téléchargement et le démarrage de la version 4.14.11 du noyau principal d'Ubuntu ne me posaient donc pas trop de problème.
Les utilisateurs d’Ubuntu 16.04 pourraient être plus à l’aise avec les versions de noyau 4.4.109 ou 4.9.74 publiées en même temps que 4.14.11.
Si vos mises à jour régulières n'installez pas la version du noyau souhaitée, vous pouvez le faire manuellement en suivant la réponse à cette question: Demandez à Ubuntu: https://askubuntu.com/questions/879888/how-do-i-update-kernel-to-the-latest -mainline-version / 879920 # 879920
4.14.12 - Quelle différence un jour fait
Moins de 24 heures après ma réponse initiale, un correctif a été publié pour corriger la version du noyau 4.14.11 qu’ils auraient pu se précipiter. La mise à niveau vers 4.14.12 est recommandée pour tous les utilisateurs 4.14.11. Greg-KH dit :
En regardant cette mise à jour, peu de lignes de code source ont été modifiées.
la source
apt-get dist-upgrade
.Effectivement. Par conséquent, une solution raisonnable consiste à désactiver JavaScript dans vos navigateurs Web ou à utiliser des navigateurs Web qui ne prennent pas en charge JavaScript.
La plupart des navigateurs prenant en charge JavaScript ont un paramètre permettant de le désactiver. Par ailleurs, si vous souhaitez conserver une liste blanche de sites ou de domaines pour lesquels JavaScript doit être autorisé, plusieurs add-ons peuvent vous aider, tels que uBlock Origin et NoScript .
NB Il va sans dire que désactiver / restreindre JavaScript ne devrait pas être votre seule mesure d’ atténuation. Vous devez en outre examiner (et probablement appliquer) les correctifs de noyau et autres mises à jour de sécurité pertinents une fois qu'ils ont été écrits, testés et publiés. Sur les distributions dérivées de Debian, l' utilisation des commandes telles que
sudo apt update
,sudo apt list-upgradable
, etsudo apt upgrade
.Mise à jour: ne me croyez pas sur parole. Alan Cox dit à peu près la même chose:
la source
Le fait que ceci soit exploitable à l'aide de JavaScript n'est pas le principal problème, et ne devrait pas être la préoccupation principale (bien qu'il s'agisse d'un problème majeur car le code distant peut ainsi être facilement exécuté sur votre système, mais ce n'est pas le seul. comme cela peut arriver).
Votre focus ne devrait pas être sur Javascript et / ou votre navigateur. Idéalement, votre processeur devrait être corrigé. Malheureusement, pour la plupart des bugs actuels, cela ne semble pas possible. Debian, ensemble, toutes les autres parties fournissant des systèmes d’exploitation iront donc de la seule façon possible, à moins de recommander un CPU qui ne soit pas imparfait: elles obligent le système à contourner le bogue dans le CPU. Ces correctifs ne résolvent pas les problèmes. Au lieu de cela, le système d'exploitation les cache le mieux possible de tout programme qu'un utilisateur exécute sur la machine (et donc aussi sur votre navigateur).
Cette dissimulation est un travail de calcul supplémentaire, et donc les performances globales de votre système seront inférieures à celles de l'extérieur. Combien plus bas dépend probablement fortement de ce que font exactement ces programmes.
Gardez cela à l’esprit pour revenir à votre question: pour protéger votre système Debian, vous devez installer les mises à jour de sécurité. J'espère que Debian fera tout son possible, à la lumière de ces bugs, pour exécuter Debian de manière aussi sécurisée que possible, malgré les défauts inhérents au processeur.
Toutes sortes de grandes entreprises travaillent déjà sur cette question, de même que de nombreux gourous du matériel et de Linux. Je ne veux pas vous empêcher absolument d'essayer quelque chose vous-même ou d'essayer d'aider l'effort général. Cependant, si votre propre sécurité et une solution rapide sont tout ce qui vous intéresse, ils trouveront probablement une meilleure solution plus rapidement que vous ne le feriez, en commençant dès maintenant à examiner la question vous-même.
la source