Faille de sécurité des processeurs Intel

Tous les sujets touchant à la sécurité du système.
Avatar du membre
ultimatum
Messages : 1090
Enregistré le : mar. 25 oct. 2016 07:52

Re: Faille de sécurité des processeurs Intel

Message par ultimatum »

Dernier message de la page précédente :

zebulon a écrit :
Je vais plutôt verrouiller ton sujet (plus récent) et mettre un lien vers celui ci
logique hihi
Image

Avatar du membre
Insam
Messages : 3477
Enregistré le : mer. 15 juil. 2015 15:03
Localisation : Breizh-Izel

Re: Faille de sécurité des processeurs Intel

Message par Insam »

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....
Image

cyberbleuet

Re: Faille de sécurité des processeurs Intel

Message par cyberbleuet »

Très bonne synthèse Insam.

Avatar du membre
ultimatum
Messages : 1090
Enregistré le : mar. 25 oct. 2016 07:52

Re: Faille de sécurité des processeurs Intel

Message par ultimatum »

cyberbleuet a écrit :Très bonne synthèse Insam.
+1000 entièrement d’accord
Image

Avatar du membre
Jeep
Messages : 46
Enregistré le : dim. 6 août 2017 12:44

Re: Faille de sécurité des processeurs Intel

Message par Jeep »

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
Compiler le code :

Code : Tout sélectionner

gcc -std=c99 -O0 spectre.c -o spectre
Et l'exécuter :

Code : Tout sélectionner

./spectre
Si le code fonctionne sur votre processeur, vous obtiendrez le résultat suivant :

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)
Si le code ne fonctionne pas, cela ne signifie pas que votre processeur est immunisé ! Pensez dans tous les cas à mettre à jour le noyau et le micro-code du processeur au fur et à mesure que les patch sont diffusés.
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

Avatar du membre
ultimatum
Messages : 1090
Enregistré le : mar. 25 oct. 2016 07:52

Re: Faille de sécurité des processeurs Intel

Message par ultimatum »

@jeep
tres joli tuto et corection du code

jesuis sur que certains aimerais tester mais ne savent pas compiler
Image

Avatar du membre
Insam
Messages : 3477
Enregistré le : mer. 15 juil. 2015 15:03
Localisation : Breizh-Izel

Re: Faille de sécurité des processeurs Intel

Message par Insam »

J'ai testé et j'ai cette réponse :

Code : Tout sélectionner

Reading 40 bytes:
Instruction non permise (core dumped)
Et en insistant lourdement :

Code : Tout sélectionner

Le programme « spectre » n'est pas encore installé. Vous pouvez l'installer en tapant :
apt install webgui
En gros, ça veut dire...?
Modifié en dernier par Insam le dim. 7 janv. 2018 20:58, modifié 1 fois.
Image

Avatar du membre
Phil995511
Messages : 117
Enregistré le : dim. 28 août 2016 17:55
Localisation : Genève

Re: Faille de sécurité des processeurs Intel

Message par Phil995511 »

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
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

Avatar du membre
Jeep
Messages : 46
Enregistré le : dim. 6 août 2017 12:44

Re: Faille de sécurité des processeurs Intel

Message par Jeep »

Insam a écrit :J'ai testé et j'ai cette réponse :

Code : Tout sélectionner

Reading 40 bytes:
Instruction non permise (core dumped)
J'ai eu la même réponse sur l'un de mes serveurs.
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.
Insam a écrit : Et en insistant lourdement :

Code : Tout sélectionner

Le programme « spectre » n'est pas encore installé. Vous pouvez l'installer en tapant :
apt install webgui
En gros, ça veut dire...?
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.
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

Avatar du membre
Insam
Messages : 3477
Enregistré le : mer. 15 juil. 2015 15:03
Localisation : Breizh-Izel

Re: Faille de sécurité des processeurs Intel

Message par Insam »

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 !

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 $ 
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
Image

Avatar du membre
Jeep
Messages : 46
Enregistré le : dim. 6 août 2017 12:44

Re: Faille de sécurité des processeurs Intel

Message par Jeep »

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).
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

Verrouillé