Dernier message de la page précédente :
Faille de sécurité des processeurs Intel
Re: Faille de sécurité des processeurs Intel
J'ai lu l'autre post.
Quelques-uns d'entre vous se disent que si les failles existent depuis tant d'années, c'est qu'il est un peu tard et donc pas si urgent de les combler.
Je comprend cette réaction mais elle n'est pas logique : bien que ces failles existent depuis des lustres :
Soit elles n'ont vraiment été mises au jour que le 1er juin 2017, date à laquelle ceux qui les ont démasquées en ont informé Intel, AMD et les autres puisqu'ils ont découvert très vite que Intel...Et pas que ! et c'est donc en poursuivant leurs investigations qu'ils ont mis au jour...L'ampleur du désastre !
(Google en l’occurrence, à force de leur reprocher des trucs, sont bien obligés d'être à l’affût de ce qu'on pourrait encore leur mettre sur le dos) ensuite c'est embargo général pour éviter l'exploitation des failles avant de trouver la parade. Embargo qui a été évidement dénoncé avant l'heure.
Soit les constructeurs le savent depuis bien plus longtemps mais n'ont pas voulu remettre en cause leurs façon de faire et leur profits, et se sont bien gardé de divulguer le truc ! (J'en doute fortement, ça aurait fuité depuis bien plus longtemps)
De toutes façon, soit les failles sont de découverte trop récente pour avoir déjà été exploitées, soit elles l'ont déjà été mais de façon trop confidentielle pour avoir eu un impact visible et sûrement parce que pas évidentes à manier.
Donc paniquer...Non pour les particuliers, un peu plus pour les entreprises aux serveurs multiples qui sont quasiment tous sous Linux (amazon à déjà communiqué là-dessus)
Rien que pour ça, cette fois Linux est incontestablement le plus impacté, (serveurs et téléphonie mobile) mais je suis sûr qu'il sera le plus prompt à réagir positivement...Pas le choix, peut pas se permettre un retard de réaction.
Trouver une méthode fiable et pérenne pour réparer de façon logicielle une faille matérielle....
Quelques-uns d'entre vous se disent que si les failles existent depuis tant d'années, c'est qu'il est un peu tard et donc pas si urgent de les combler.
Je comprend cette réaction mais elle n'est pas logique : bien que ces failles existent depuis des lustres :
Soit elles n'ont vraiment été mises au jour que le 1er juin 2017, date à laquelle ceux qui les ont démasquées en ont informé Intel, AMD et les autres puisqu'ils ont découvert très vite que Intel...Et pas que ! et c'est donc en poursuivant leurs investigations qu'ils ont mis au jour...L'ampleur du désastre !
(Google en l’occurrence, à force de leur reprocher des trucs, sont bien obligés d'être à l’affût de ce qu'on pourrait encore leur mettre sur le dos) ensuite c'est embargo général pour éviter l'exploitation des failles avant de trouver la parade. Embargo qui a été évidement dénoncé avant l'heure.
Soit les constructeurs le savent depuis bien plus longtemps mais n'ont pas voulu remettre en cause leurs façon de faire et leur profits, et se sont bien gardé de divulguer le truc ! (J'en doute fortement, ça aurait fuité depuis bien plus longtemps)
De toutes façon, soit les failles sont de découverte trop récente pour avoir déjà été exploitées, soit elles l'ont déjà été mais de façon trop confidentielle pour avoir eu un impact visible et sûrement parce que pas évidentes à manier.
Donc paniquer...Non pour les particuliers, un peu plus pour les entreprises aux serveurs multiples qui sont quasiment tous sous Linux (amazon à déjà communiqué là-dessus)
Rien que pour ça, cette fois Linux est incontestablement le plus impacté, (serveurs et téléphonie mobile) mais je suis sûr qu'il sera le plus prompt à réagir positivement...Pas le choix, peut pas se permettre un retard de réaction.
Trouver une méthode fiable et pérenne pour réparer de façon logicielle une faille matérielle....
Re: Faille de sécurité des processeurs Intel
+1000 entièrement d’accordcyberbleuet a écrit :Très bonne synthèse Insam.
Re: Faille de sécurité des processeurs Intel
alain a écrit :
Donc les possesseurs de CPUs AMD: ATENTION ! Il ne faut pas installer ce patch
au risque de perdre 30% de vos performances...
Very bad news...
Attention à ce chiffre de 30% de perte de performance, il repose sur un bechmark partiel fait à la va vite sans réelle référence.
Les benchmarck plus récents ne montrent pas de différence significative pour une utilisation PC :
https://www.phoronix.com/scan.php?page= ... pcid&num=1
J'ai personnellement mis à jour le noyau sur mes machines Debian (https://security-tracker.debian.org/tra ... -2017-5754), et je n'ai rencontré aucun changement perceptible.
Je vous conseil au contraire d'appliquer toutes les mises à jour.
Canonical diffusera probablement le noyau patché à la levé de l'embargo, soit le 9 janvier prochain, ce qui permettra de mettre à jour les distributions sur base Ubuntu (https://wiki.ubuntu.com/SecurityTeam/Kn ... ndMeltdown).
Il y aura certainement une communication sur le blog de officiel de LinuxMint (Clem l'a annoncé dans les commentaires du dernier article : https://blog.linuxmint.com/?p=3494#comment-139538)
Pour ceux qui veulent tester spectre sur leur machine, le code du papier (https://spectreattack.com/spectre.pdf) est disponible sur github :
https://gist.github.com/ErikAugust/724d ... 2a9e3d4bb6
Pour éviter les problèmes de compilation, ouvrez le fichier avec votre éditeur de texte et :
- ajoutez un espace avant la parenthèse ouvrante à CACHE_HIT_THRESHOLD(80) pour obtenir CACHE_HIT_THRESHOLD (80)
- replacez "?" par '?' (changement sur les guillemets)
Ensuite, installez le paquet build-essential si vous ne l'avez pas :
Code : Tout sélectionner
sudo apt install build-essential
Code : Tout sélectionner
gcc -std=c99 -O0 spectre.c -o spectre
Code : Tout sélectionner
./spectre
Code : Tout sélectionner
Reading 40 bytes:
Reading at malicious_x = 0xffffffffffdfebb8... Success: 0x54=’T’ score=2
Reading at malicious_x = 0xffffffffffdfebb9... Success: 0x68=’h’ score=2
Reading at malicious_x = 0xffffffffffdfebba... Success: 0x65=’e’ score=2
Reading at malicious_x = 0xffffffffffdfebbb... Success: 0x20=’ ’ score=2
Reading at malicious_x = 0xffffffffffdfebbc... Success: 0x4D=’M’ score=2
Reading at malicious_x = 0xffffffffffdfebbd... Success: 0x61=’a’ score=2
Reading at malicious_x = 0xffffffffffdfebbe... Success: 0x67=’g’ score=2
Reading at malicious_x = 0xffffffffffdfebbf... Success: 0x69=’i’ score=2
Reading at malicious_x = 0xffffffffffdfebc0... Success: 0x63=’c’ score=2
Reading at malicious_x = 0xffffffffffdfebc1... Success: 0x20=’ ’ score=2
Reading at malicious_x = 0xffffffffffdfebc2... Success: 0x57=’W’ score=2
Reading at malicious_x = 0xffffffffffdfebc3... Success: 0x6F=’o’ score=2
Reading at malicious_x = 0xffffffffffdfebc4... Success: 0x72=’r’ score=2
Reading at malicious_x = 0xffffffffffdfebc5... Success: 0x64=’d’ score=2
Reading at malicious_x = 0xffffffffffdfebc6... Success: 0x73=’s’ score=2
Reading at malicious_x = 0xffffffffffdfebc7... Success: 0x20=’ ’ score=2
Reading at malicious_x = 0xffffffffffdfebc8... Success: 0x61=’a’ score=2
Reading at malicious_x = 0xffffffffffdfebc9... Success: 0x72=’r’ score=2
Reading at malicious_x = 0xffffffffffdfebca... Success: 0x65=’e’ score=2
Reading at malicious_x = 0xffffffffffdfebcb... Success: 0x20=’ ’ score=2
Reading at malicious_x = 0xffffffffffdfebcc... Success: 0x53=’S’ score=2
Reading at malicious_x = 0xffffffffffdfebcd... Success: 0x71=’q’ score=2
Reading at malicious_x = 0xffffffffffdfebce... Success: 0x75=’u’ score=2
Reading at malicious_x = 0xffffffffffdfebcf... Success: 0x65=’e’ score=2
Reading at malicious_x = 0xffffffffffdfebd0... Success: 0x61=’a’ score=7 (second best: 0xB2 score=1)
Reading at malicious_x = 0xffffffffffdfebd1... Success: 0x6D=’m’ score=2
Reading at malicious_x = 0xffffffffffdfebd2... Success: 0x69=’i’ score=7 (second best: 0x7A score=1)
Reading at malicious_x = 0xffffffffffdfebd3... Success: 0x73=’s’ score=2
Reading at malicious_x = 0xffffffffffdfebd4... Success: 0x68=’h’ score=2
Reading at malicious_x = 0xffffffffffdfebd5... Success: 0x20=’ ’ score=2
Reading at malicious_x = 0xffffffffffdfebd6... Success: 0x4F=’O’ score=2
Reading at malicious_x = 0xffffffffffdfebd7... Success: 0x73=’s’ score=2
Reading at malicious_x = 0xffffffffffdfebd8... Success: 0x73=’s’ score=2
Reading at malicious_x = 0xffffffffffdfebd9... Success: 0x69=’i’ score=2
Reading at malicious_x = 0xffffffffffdfebda... Success: 0x66=’f’ score=2
Reading at malicious_x = 0xffffffffffdfebdb... Success: 0x72=’r’ score=2
Reading at malicious_x = 0xffffffffffdfebdc... Success: 0x61=’a’ score=2
Reading at malicious_x = 0xffffffffffdfebdd... Success: 0x67=’g’ score=2
Reading at malicious_x = 0xffffffffffdfebde... Success: 0x65=’e’ score=2
Reading at malicious_x = 0xffffffffffdfebdf... Success: 0x2E=’.’ score=7 (second best: 0x05 score=1)
PC portable : Samsung R780 - Intel Core i5 M430 - 8Go Ram - NVIDIA GeForce GT 330M
Linux Mint 18.3 64 bit - Cinnamon 3.6.7 - Noyau 4.10.0
Linux Mint 18.3 64 bit - Cinnamon 3.6.7 - Noyau 4.10.0
Re: Faille de sécurité des processeurs Intel
@jeep
tres joli tuto et corection du code
jesuis sur que certains aimerais tester mais ne savent pas compiler
tres joli tuto et corection du code
jesuis sur que certains aimerais tester mais ne savent pas compiler
Re: Faille de sécurité des processeurs Intel
J'ai testé et j'ai cette réponse :
Et en insistant lourdement :
En gros, ça veut dire...?
Code : Tout sélectionner
Reading 40 bytes:
Instruction non permise (core dumped)
Code : Tout sélectionner
Le programme « spectre » n'est pas encore installé. Vous pouvez l'installer en tapant :
apt install webgui
Modifié en dernier par Insam le dim. 7 janv. 2018 20:58, modifié 1 fois.
- Phil995511
- Messages : 117
- Enregistré le : dim. 28 août 2016 17:55
- Localisation : Genève
Re: Faille de sécurité des processeurs Intel
Pour ceux que cela intéresse, le patch sous forme de microcode pour les systèmes basés sur Debian 64bits est là :
http://ftp.br.debian.org/debian/pool/no ... _amd64.deb
Infos supplémentaires :
https://debian.pkgs.org/sid/debian-nonf ... 4.deb.html
http://ftp.br.debian.org/debian/pool/no ... _amd64.deb
Infos supplémentaires :
https://debian.pkgs.org/sid/debian-nonf ... 4.deb.html
Portable Asus G56JR - Mint 18.3 Cinnamon 64 bits/Windows 10 Home 64 Bits
Station de travail montée par mes soins - Mint 18.3 Cinnamon 64 bits/Windows 10 Pro 64 Bits
Station de travail montée par mes soins - Mint 18.3 Cinnamon 64 bits/Windows 10 Pro 64 Bits
Re: Faille de sécurité des processeurs Intel
J'ai eu la même réponse sur l'un de mes serveurs.Insam a écrit :J'ai testé et j'ai cette réponse :Code : Tout sélectionner
Reading 40 bytes: Instruction non permise (core dumped)
Peut-être une optimisation de compilation ou une instruction qui ne plaît pas à ton modèle de processeur.
Ça ne veut pas forcément dire que le proc est immunisé contre spectre mais simplement que ce code ne peut pas être utilisé tel quel.
Quel est le modèle de ton processeur ?
Tu peux essayer les modifications suggérées ici si ça te plaît d'expérimenter : https://gist.github.com/ErikAugust/724d ... nt-2310736
Il y a également d'autres options de compilations proposées dans les commentaires.
Là tu as du sortir du répertoire où était le binaire compilé ou tu as du taper "spectre" à la place de "./spectre", ce qui t'a renvoyé cette erreur.Insam a écrit : Et en insistant lourdement :En gros, ça veut dire...?Code : Tout sélectionner
Le programme « spectre » n'est pas encore installé. Vous pouvez l'installer en tapant : apt install webgui
PC portable : Samsung R780 - Intel Core i5 M430 - 8Go Ram - NVIDIA GeForce GT 330M
Linux Mint 18.3 64 bit - Cinnamon 3.6.7 - Noyau 4.10.0
Linux Mint 18.3 64 bit - Cinnamon 3.6.7 - Noyau 4.10.0
Re: Faille de sécurité des processeurs Intel
Merci jeep,
Mon processeur ? Dans ma signature !
Pour mes deux essais avec ./spectre, j'ai effectué exactement la même manip dans le même dossier, les deux terminaux étant restés ouverts en même temps.
Entre les deux essais j'ai juste mis le microcode à jour.
Je ne parviens pas à reproduire le truc, donc je ne sais pas ce qui s'est passé, mais j'ai tellement l'habitude des bizarreries sur ce poste que je ne m'y attarde plus.
Grâce à ton lien, j'ai donc recompilé après avoir modifié le script comme expliqué plus bas dans les commentaires et j'ai maintenant une réponse plus normale...Que je ne pige quand même pas un chouilla !
Comme dit dans ce résultat : pas clair du tout !
Faut-il avoir Success partout au lieu d'Unclear pour être un tant soit peu protégé ?
Où n'est-ce que du vent pour rassurer les paranoïaques en fin de compte
Mon processeur ? Dans ma signature !
Pour mes deux essais avec ./spectre, j'ai effectué exactement la même manip dans le même dossier, les deux terminaux étant restés ouverts en même temps.
Entre les deux essais j'ai juste mis le microcode à jour.
Je ne parviens pas à reproduire le truc, donc je ne sais pas ce qui s'est passé, mais j'ai tellement l'habitude des bizarreries sur ce poste que je ne m'y attarde plus.
Grâce à ton lien, j'ai donc recompilé après avoir modifié le script comme expliqué plus bas dans les commentaires et j'ai maintenant une réponse plus normale...Que je ne pige quand même pas un chouilla !
Code : Tout sélectionner
insam@insam-MS-7592 /media/insam/DONNÉES/TÉLÉCHARGEMENTS/Dézip/724d4a969fb2c6ae1
bbd7b2a9e3d4bb6-41bf9bd0e7577fe3d7b822bbae1fec2e818dcdd6 $ sudo ./spectre
[sudo] Mot de passe de insam :
Reading 40 bytes:
Reading at malicious_x = 0xffffffffffdfeb68... Unclear: 0x0A=’?’ score=54 (second best: 0x03 score=54)
Reading at malicious_x = 0xffffffffffdfeb69... Unclear: 0x0E=’?’ score=59 (second best: 0x06 score=59)
Reading at malicious_x = 0xffffffffffdfeb6a... Unclear: 0x02=’?’ score=61 (second best: 0x07 score=60)
Reading at malicious_x = 0xffffffffffdfeb6b... Unclear: 0x02=’?’ score=63 (second best: 0x00 score=60)
Reading at malicious_x = 0xffffffffffdfeb6c... Unclear: 0x08=’?’ score=60 (second best: 0x06 score=60)
Reading at malicious_x = 0xffffffffffdfeb6d... Unclear: 0x02=’?’ score=61 (second best: 0x09 score=60)
Reading at malicious_x = 0xffffffffffdfeb6e... Unclear: 0x01=’?’ score=61 (second best: 0x08 score=60)
Reading at malicious_x = 0xffffffffffdfeb6f... Unclear: 0x07=’?’ score=62 (second best: 0x02 score=61)
Reading at malicious_x = 0xffffffffffdfeb70... Unclear: 0x0E=’?’ score=59 (second best: 0x0A score=59)
Reading at malicious_x = 0xffffffffffdfeb71... Unclear: 0x02=’?’ score=61 (second best: 0x09 score=60)
Reading at malicious_x = 0xffffffffffdfeb72... Unclear: 0x06=’?’ score=60 (second best: 0x02 score=60)
Reading at malicious_x = 0xffffffffffdfeb73... Unclear: 0x07=’?’ score=59 (second best: 0x06 score=59)
Reading at malicious_x = 0xffffffffffdfeb74... Unclear: 0x01=’?’ score=60 (second best: 0x0E score=59)
Reading at malicious_x = 0xffffffffffdfeb75... Unclear: 0x01=’?’ score=62 (second best: 0x02 score=60)
Reading at malicious_x = 0xffffffffffdfeb76... Unclear: 0x07=’?’ score=61 (second best: 0x01 score=61)
Reading at malicious_x = 0xffffffffffdfeb77... Unclear: 0x0A=’?’ score=59 (second best: 0x09 score=56)
Reading at malicious_x = 0xffffffffffdfeb78... Unclear: 0x09=’?’ score=58 (second best: 0x06 score=58)
Reading at malicious_x = 0xffffffffffdfeb79... Unclear: 0x08=’?’ score=58 (second best: 0x01 score=57)
Reading at malicious_x = 0xffffffffffdfeb7a... Unclear: 0x01=’?’ score=61 (second best: 0x08 score=60)
Reading at malicious_x = 0xffffffffffdfeb7b... Unclear: 0x01=’?’ score=62 (second best: 0x09 score=60)
Reading at malicious_x = 0xffffffffffdfeb7c... Unclear: 0x03=’?’ score=61 (second best: 0x0B score=60)
Reading at malicious_x = 0xffffffffffdfeb7d... Unclear: 0x0A=’?’ score=61 (second best: 0x09 score=61)
Reading at malicious_x = 0xffffffffffdfeb7e... Unclear: 0x02=’?’ score=61 (second best: 0x0A score=60)
Reading at malicious_x = 0xffffffffffdfeb7f... Unclear: 0x03=’?’ score=61 (second best: 0x02 score=60)
Reading at malicious_x = 0xffffffffffdfeb80... Unclear: 0x06=’?’ score=60 (second best: 0x03 score=60)
Reading at malicious_x = 0xffffffffffdfeb81... Unclear: 0x02=’?’ score=62 (second best: 0x07 score=61)
Reading at malicious_x = 0xffffffffffdfeb82... Unclear: 0x08=’?’ score=62 (second best: 0x01 score=62)
Reading at malicious_x = 0xffffffffffdfeb83... Unclear: 0x01=’?’ score=61 (second best: 0x08 score=60)
Reading at malicious_x = 0xffffffffffdfeb84... Unclear: 0x02=’?’ score=61 (second best: 0x01 score=60)
Reading at malicious_x = 0xffffffffffdfeb85... Unclear: 0x0A=’?’ score=61 (second best: 0x0B score=60)
Reading at malicious_x = 0xffffffffffdfeb86... Unclear: 0x01=’?’ score=61 (second best: 0x02 score=59)
Reading at malicious_x = 0xffffffffffdfeb87... Unclear: 0x06=’?’ score=59 (second best: 0x0E score=58)
Reading at malicious_x = 0xffffffffffdfeb88... Unclear: 0x09=’?’ score=60 (second best: 0x08 score=59)
Reading at malicious_x = 0xffffffffffdfeb89... Unclear: 0x02=’?’ score=61 (second best: 0x01 score=59)
Reading at malicious_x = 0xffffffffffdfeb8a... Unclear: 0x01=’?’ score=62 (second best: 0x09 score=60)
Reading at malicious_x = 0xffffffffffdfeb8b... Unclear: 0x02=’?’ score=62 (second best: 0x0A score=61)
Reading at malicious_x = 0xffffffffffdfeb8c... Unclear: 0x02=’?’ score=61 (second best: 0x09 score=60)
Reading at malicious_x = 0xffffffffffdfeb8d... Unclear: 0x08=’?’ score=60 (second best: 0x00 score=61)
Reading at malicious_x = 0xffffffffffdfeb8e... Unclear: 0x02=’?’ score=62 (second best: 0x03 score=61)
Reading at malicious_x = 0xffffffffffdfeb8f... Unclear: 0x06=’?’ score=61 (second best: 0x0A score=59)
insam@insam-MS-7592 /media/insam/DONNÉES/TÉLÉCHARGEMENTS/Dézip/724d4a969fb2c6ae1
bbd7b2a9e3d4bb6-41bf9bd0e7577fe3d7b822bbae1fec2e818dcdd6 $
Faut-il avoir Success partout au lieu d'Unclear pour être un tant soit peu protégé ?
Où n'est-ce que du vent pour rassurer les paranoïaques en fin de compte
Re: Faille de sécurité des processeurs Intel
Super si ça fonctionne !
Le but de ce code est simplement d'illustrer le papier scientifique des chercheurs qui ont découvert la faille, rien de plus.
Lorsqu'il y a écrit "sucess", cela signifie que le code a réussi à retrouver une des lettres du message au début du code "The Magic Words are Squeamish Ossifrage." Lorsqu'il y a un '?', comme dans ton cas, cela veut dire que le caractère n'a pas été trouvé.
Dans ton cas, le code n'a trouvé aucun caractère.
Tu peut essayer de changer la valeur de CACHE_HIT_THRESHOLD (80) en l'augmentant de 100 en 100 (sans dépasser 1 000) pour voir si le code arrive à retrouver les caractères.
Plus de détails sur la manip ici : https://www.numerama.com/discussions/t/ ... r/52677/33
Normalement, il ne devrait pas être possible au code d’accéder aux emplacements mémoires où est stocké le message. La faille spectre permet de deviner où sont ces emplacements mémoire et d'en lire le contenu.
Ici le code se contente de lire ce message qui se trouve dans sont propre processus, mais on pourrait concevoir par exemple un javascript sur une page web qui irait piocher des informations de la mémoire allouée au processus dans lequel il tourne lorsque cette page est ouverte par un navigateur. Firefox a d'ailleurs été mis à jour pour limiter ce risque (v 57.0.4).
Le but de ce code est simplement d'illustrer le papier scientifique des chercheurs qui ont découvert la faille, rien de plus.
Lorsqu'il y a écrit "sucess", cela signifie que le code a réussi à retrouver une des lettres du message au début du code "The Magic Words are Squeamish Ossifrage." Lorsqu'il y a un '?', comme dans ton cas, cela veut dire que le caractère n'a pas été trouvé.
Dans ton cas, le code n'a trouvé aucun caractère.
Tu peut essayer de changer la valeur de CACHE_HIT_THRESHOLD (80) en l'augmentant de 100 en 100 (sans dépasser 1 000) pour voir si le code arrive à retrouver les caractères.
Plus de détails sur la manip ici : https://www.numerama.com/discussions/t/ ... r/52677/33
Normalement, il ne devrait pas être possible au code d’accéder aux emplacements mémoires où est stocké le message. La faille spectre permet de deviner où sont ces emplacements mémoire et d'en lire le contenu.
Ici le code se contente de lire ce message qui se trouve dans sont propre processus, mais on pourrait concevoir par exemple un javascript sur une page web qui irait piocher des informations de la mémoire allouée au processus dans lequel il tourne lorsque cette page est ouverte par un navigateur. Firefox a d'ailleurs été mis à jour pour limiter ce risque (v 57.0.4).
PC portable : Samsung R780 - Intel Core i5 M430 - 8Go Ram - NVIDIA GeForce GT 330M
Linux Mint 18.3 64 bit - Cinnamon 3.6.7 - Noyau 4.10.0
Linux Mint 18.3 64 bit - Cinnamon 3.6.7 - Noyau 4.10.0