Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les techniques de mitigation logicielles ciblant Spectre ne peuvent compenser les défauts de conception
Structurels des puces touchées, selon Google

Le , par Christian Olivier

408PARTAGES

12  0 
Un groupe de chercheurs travaillant pour Google affirme qu’il sera difficile d’éviter les bogues liés à Spectre à l’avenir, à moins que les CPU ne fassent l’objet d’une révision en profondeur. D’après eux, les techniques de mitigation basées sur les logiciels seules ne suffiront pas à empêcher l’exploitation de vulnérabilités matérielles de ce type, des solutions logicielles d’atténuation qu’ils considèrent, pour la plupart, comme incomplètes.


Il faut rappeler que c’est grâce à Google qu’on sait que les vulnérabilités critiques touchant les puces modernes, et probablement toute l’industrie des semi-conducteurs, affectent surtout les CPU x86 64 — bits d’Intel. Mais ces failles de sécurité touchent également les processeurs basés sur l’architecture ARM (Samsung, Qualcomm, MediaTek, Apple, Huawei…), l’architecture CPU mise au point par IBM et, dans une moindre mesure, les processeurs d’AMD.

Spectre correspond aux deux premières variantes — 1 (bounds check bypass) et 2 (branch target injection) — des vulnérabilités critiques découvertes par la firme de Mountain View et expose aux types d’attaques spécifiques qui y sont relatifs. Spectre brise la barrière entre les applications et permet à un attaquant d’obtenir, en toute discrétion, des informations sensibles sur des applications en cours d’exécution, même si elles sont protégées.

Les chercheurs de Google ont découvert que la temporisation du cache de données des processeurs modernes peut être utilisée de manière abusive pour récupérer illégalement les informations sur un ordinateur. Cette fonctionnalité est utilisée par la plupart des processeurs modernes pour optimiser les performances, mais elle peut également occasionner de graves problèmes de sécurité. Ils avaient réussi à démontrer que des attaquants peuvent tirer parti de cette fonctionnalité (connue aussi sous le nom d’exécution spéculative) pour exploiter des processus au niveau de l’espace utilisateur en contournant la MMU et lire le contenu de la mémoire du noyau d’un ordinateur qui en temps normal aurait dû leur être inaccessible.

Ce problème étant matériel, c’est-à-dire qu’il concerne la partie non reconfigurable des puces, il ne serait pas envisageable de recourir à un patch via microcode pour corriger toutes les variantes des différentes failles de sécurité révélées au cours des 14 derniers mois, notamment celles de Spectre. Pour remédier efficacement à ce problème, il faudrait soit recourir à une technique d’isolation de la table de correspondance, soit concevoir de nouveaux processeurs avec une architecture révisée en conséquence.

Dans un document distribué par ArXiv, les chercheurs de la filiale d’Alphabet assurent désormais que tous les processeurs qui prennent en charge l’exécution spéculative resteront toujours sensibles aux diverses attaques par canal latéral, malgré les mesures d’atténuation qui pourraient être découvertes à l’avenir. D’après eux, pour véritablement remédier à tous les bogues actuels et futurs liés à Spectre et à la menace qu’ils représentent, les concepteurs de CPU doivent s’atteler à proposer de nouvelles architectures pour leurs microprocesseurs.


Intel a dit qu’il inclura des correctifs matériels pour des bogues matériels spécifiques et connus dans ses futures puces. Le problème, selon les chercheurs de Google, est que les bogues liés à Spectre sont considérés comme une classe à part entière, et large de surcroit, de vulnérabilités liées à l’exécution spéculative qui favorisent les attaques par canal latéral.

Les chercheurs ont proposé plusieurs solutions possibles, notamment la désactivation totale de la fonctionnalité d’exécution spéculative, l’atténuation précise de la temporisation et « le branchless masking ». Ils ont fait remarquer que ces mesures d’atténuation ne sont pas sans poser de problèmes et qu’il est probable qu’il faille faire face à des pénalités au niveau des performances si elles venaient à être mises en œuvre.

Ils ont conclu en disant : : « Spectre porte peut-être trop bien son nom, car il semble destiné à nous hanter pendant longtemps », soulignant le fait que, depuis trop longtemps déjà, nous privilégions la performance et la complexité au détriment de la sécurité.

Source : Publication des chercheurs de Google (PDF)

Et vous ?

Qu’en pensez-vous ?

Voir aussi

AMD pourrait vendre plus de CPU serveur dédiés au cloud computing, après le scandale des vulnérabilités matérielles touchant surtout les CPU Intel
Sept nouvelles variantes de Meltdown et Spectre ont été découvertes par des chercheurs en sécurité, Intel ne se montre pas inquiet
PortSmash : une nouvelle faille critique qui affecte les CPU Intel exploitant l'Hyperthreading ou le SMT, des CPU AMD pourraient aussi être touchés
Microsoft publie des correctifs pour Foreshadow, une variante de Spectre, sur Windows 10 et Server 2016

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de emixam16
Membre expérimenté https://www.developpez.com
Le 06/03/2019 à 14:45
D'un côté si il a fallu 20 ans pour trouver le problème, c'était pas si mal conçu que ça à la base.
Pas systématiquement.

Dans les cas de Spectre/Meltdown/Foreshadow/Spoiler, ces failles sont effectivement relativement balèzes (même si pas non plus exceptionnelles) et c'est compréhensible qu'elles aient mis du temps à être découvertes.

Mais des failles critiques, qui tiennent très longtemps dans le systèmes sont courantes. Voici deux exemples:
- La faille WinRar découverte récemment (https://www.developpez.com/actu/2479...-utilisateurs/) est très bête. Elle exploite une faille "bête" dans un format très peu utilisé (.ace). Et comme winrar ne prend pas en compte l'extension, en renommant simplement le fichier en .rar, je peux l'exploiter très facilement et compromettre une machine.
- L'idée derrière la faille HeartBleed était très basique aussi (principe expliqué en images par xkcd ici https://xkcd.com/1354/).

En résumé, qu'une faille n'ait été trouvé qu'après très longtemps ne veut pas dire que le logiciel était bien sécurisé... Juste qu'aucun chercheur en sécurité n'a regardé au bon endroit... Et vu le nombre d'endroits à regarder c'est compréhensible.
9  0 
Avatar de defZero
Membre averti https://www.developpez.com
Le 01/11/2019 à 22:38
@phil995511
Sauf que à ma connaissance pour mener ce type d'attaques il faut être physiquement présent sur une machine vulnérable dont les Bios / OS n'ont pas été patchés...
Tout le problème est là justement.
Les vulnérabilité découvertes dans les micro-archi Intel (et pour certaines même chez ARM/AMD) peuvent être exploités à "distances", puisqu'elles permettes de passer les barrières Mémoire/Processus mis en place par les OS pour empêcher les opérations d'écritures/lectures/exécutions sur une architecture à mémoire partagé.
Typiquement avec la bonne payload lancer sur un serveur cloud que ce soit dans un conteneur ou une VM, avec processeur Intel, il est possible de lire/écrire/exécuter des registres/buffers/instructions et leurs valeurs, sans que ce soit détectable.
De même une attaque par JS permettrait d'échapper à la sandbox mis en place par le navigateur est d'écouter en temps réelle tous ce qui passerait par le processeur.
Et ça, que la machine est été patché ou pas, puisque des dire même d'Intel, étant des bugs lié à la micro-architecture des processeurs, ce n'est pas "patchable".
La porté des attaques peut tout au plus être atténué, ce qui semble convenir à Intel ...moins à ses clients.

Intel de leur côté prétendent que la désactivation de l'Hyper Treading n'est pas nécessaire.
Tu m'étonne.
Tu voit une boite comme Intel venir expliquer à ses clients et leurs dires :
"Écouter, on s'est tromper il faudrait peut-être mieux désactiver l'HyperThreading sur nos processeurs en fin de compte.
Par contre vous allez perdre d'office 20% de performances et ne comptez pas sur un remboursement de notre part, même si c'est un vis cacher.
Parce qu'on à fait des erreurs OK, mais on ne va tout de même par rembourser tout le monde pour qu'ils aillent chez la concurrence".

Se mettraient-ils avec de telles affirmations potentiellement en porte à faux vis-à-vis de leurs clients au risque de les voir se retourner contre eux ?!
Là tu considère qu'Intel ne prend pas ses clients pour des pigeons, or ils démontrent tous les jours le contraire.
La preuve, ils continuent de vendre leurs processeurs/contrôleurs à des prix exorbitant, alors que ceux-ci sont toujours bugués et que les bios/UEFI des CM ne sont toujours pas systématiquement patchés en sortie d'usine (au bon vouloir des fabricants quoi ).
C'est un peu comme AMD qui demande à ses client de patcher une CM neuve pour pouvoir faire fonctionner leurs derniers Processeur "Compatible" .
Ça va 5 minute, mais ce n'est absolument pas normale.
Et quand une nouvelle faille apparait (ou qu'une fuite à lieu, parce que les Meltdown/Spectre c'est après 6 mois qu'on en a entendu parlé, alors qu'elles sont présentes dans tous les Processeurs Intel sortie depuis 95), leur premier réflexe a toujours été d'abord de le nier, puis d'en minimiser l'impact et enfin après un temps certain (pour ne pas dire un certain temps) de sortir des séries de patch bâclé qui font perdre X% de performances et qui finalement ne résolve rien puisque le problème est physique et ne peut être patché.

Finalement ils finissent par s'en sortir en promettant que la prochaine génération de processeurs sera exempt de failles, ce qui n'est pour l'instant toujours pas vrai.
Bref bel exemple de j'm'en bats les couillisme vis à vis de ses clients.

Au rythme auquel ils trouvent de nouvelles failles/vulnérabilités sur les CPU's ces derniers temps, si cela continue ainsi, on ne pourra bientôt plus rien faire de nos PC si ce n'est les recycler
C'est bien parce que l'on a pas vraiment le choix qu'ils ce permettent d'avoir ce comportement.
Si la masse de leurs clients avaient ne serait-ce qu'une architecture de replie, ils seraient plus avenant, or ce n'est pas le cas.
En l’état il n'existe aucunes architectures alternatives pour le grand publique.
L'industrie c'est orienté vers l'Intel x86 depuis l'IBM PC, finalement on va en subir les conséquences collectivement un jour ou l'autre.

En passant, j’attends encore les sanctions de l'Europe pour abus de position dominante d'Intel sur le x86 et divers autres IPs en leurs possessions.
9  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 13/12/2019 à 10:50
Ou, autrement dit : il faut déjà un accès quasi totale sur la machine pour pouvoir faire des mauvaises manipulations. Je pense que si quelqu'un à ring-0, il ne s'embêtera pas à compromettre la tension
Sauf à essayer de faire cramer le CPU par exemple.

Un accès "ring-0" et le niveau de privilège "NT authority" ...c'est la même chose ?
Non, le privilège NT authority correspond à des droits sous Windows. Il s'agit de comptes système avec des droits plus étendus que les comptes administrateurs, qui ne sont censés être utilsés que par les services Windows.

Le Ring 0 ne concerne que les CPU Intel/Amd. Le ring 0 étant le mode CPU avec le plus de privilèges, le ring 3 celui à moindre privilège (les ring 1 et 2 existent mais ne sont pas utilisés). Du code en Userland tournera en ring 3, du code Kernelland tournera en partie en ring 0 quand nécessaire. Le principe étant que le ring 0 restreint les accès matériel/mémoire/fonction CPU de modification de comportement pour le code en ring3. Quand un code en userland demande un accès qu'il n'a pas, l'OS va le gérer et lui attribuer ou non le droit (exemple, ajout de mémoire dans l'espace d'adressage pour un malloc : autorisé - accès à l'espace mémoire d'un autre processus : refus d'accès).

Les failles dont il est sujet ici évoque la possibilité d'accéder à des zones normalement accessibles qu'en ring0 par du code tournant en ring 3 par la mauvaise utilisation du cache par l’exécution spéculative. Les corrections effectuées sur les OS consistent à forcer l'invalidation des caches au moment opportun, ou de ne pas utiliser celui-ci. Voilà pourquoi ces patchs ont un impact sur les performances.

Les CPU Intel et AMD réagissent différemment car même si ils sont compatibles du point de vue code machine, brochage, ils ne sont pas câblés pareil à l’intérieur et ne font pas forcément exactement les mêmes choses pour arriver au même but. Le nombre d'attaques auxquelles les deux architectures sont sensibles est assez proche (il a été évoqué 5 pour Amd et 7 pour Intel). Et rien n'empêche de supposer que les CPU Amd peuvent être sensibles à des attaques auxquelles les CPU Intel ne le serait pas.

Un processeur non x86/Amd64 gèrera différemment avec par exemple un mode superviseur avec tous les droits et un mode utilisateur avec droits restreints. Un Windows 10 ARM n'aura donc pas de ring 0.

Mais pour moi le plus gros danger vient du Intel Management Engine qui contient un Minix un tourne ring -2 voire -3. (ring -1 étant l'hyperviseur pour les fonctions de virtualisation, au dessus du ring 0). A noter qu'il existe l'équivalent chez AMD le AMD Platform Security Processor (PSP) dont on entend moins parler mais qui n'est pas forcément mieux :
In September 2017, Google security researcher Cfir Cohen reported a vulnerability to AMD of a PSP subsystem that could allow an attacker access to passwords, certificates, and other sensitive information; a patch was rumored to become available to vendors in December 2017
6  0 
Avatar de CaptainDangeax
Membre éclairé https://www.developpez.com
Le 13/03/2019 à 11:34
Je suis allé il y a 2 semaines à une conférence sur les hardware trojans. Le conférencier a présenté 2 cas d'étude, mais qui sont extrèmement complexes à mettre en oeuvre et qui de plus requièrent un accès physique au matériel et qui sont en fait faciles à détecter. Donc ce vecteur d'attaque n'est pas utilisé.
Je reste persuadé qu'on risque bien plus par des attaques de social engineering, même si ça n'excuse pas Intel.
4  0 
Avatar de eldran64
Membre éprouvé https://www.developpez.com
Le 05/11/2019 à 9:59
Juste pour la petite info, désactivé l'hyperthreading sur un core I3 de 10ème génération, c'est perdre un peu plus de 30% de performance et non 20%.
Ça a fait partie des arguments qui m'ont poussé à passer sur une plateforme AMD à la place d'Intel.
4  0 
Avatar de eldran64
Membre éprouvé https://www.developpez.com
Le 12/12/2019 à 9:40
Les processeurs Intel sont vraiment daubés niveau archi.

La différence entre Intel et AMD c'est qu'AMD corrige ses failles de sécu d'une génération à l'autre.
Avec Intel, les failles de sécu ne sont pas corrigés et en plus comme leur archi datent de Mathusalem, le nombre de génération de processeurs touché par ses failles est très important.

Bref, avec Intel, il faut fuir comme la peste leur proco.
4  0 
Avatar de Ryu2000
Membre extrêmement actif https://www.developpez.com
Le 12/12/2019 à 10:18
Citation Envoyé par Christian Olivier Voir le message
La possibilité de modifier la tension et la fréquence des processeurs Intel à partir de l’OS permet d’utiliser des utilitaires dédiés à « l’overclocking ». Cependant, il s’avère finalement que les individus malveillants peuvent également tirer profit de cette fonctionnalité.
Dès que t'ajoutes une fonctionnalité ça créer des failles potentiels, du coup la phrase “La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.” fonctionne quand on parle de technologie.

Citation Envoyé par Stérilux Voir le message
ses failles ne sont jamais mis en avant comme ce l'est pour intel.
Les processeurs Intel sont touché par plus de failles, les correctifs font perdre plus de performance aux processeurs Intel qu'aux processeur AMD, certaines failles qui touchent Intel, AMD, ARM sont plus difficilement exploitable avec les processeurs AMD et ARM, il y a plus de processeurs Intel que de processeurs AMD.

Citation Envoyé par Stérilux Voir le message
ses failles ne sont jamais mis en avant comme ce l'est pour intel.
Quand une faille touche AMD et ARM c'est dit dans l'article, Intel est touché par plus de failles que les autres.
AMD's CPUs, including the latest Ryzen and Epyc processors, are immune to:
  • Meltdown (Spectre v3)
  • Spectre v3a
  • LazyFPU
  • TLBleed
  • Spectre v1.2
  • L1TF/Foreshadow
  • SPOILER
  • SpectreRSB
  • MDS attacks (ZombieLoad, Fallout, RIDL)
  • SWAPGS
Il y a 7 attaques Meltdown et Spectre, les processeurs AMD sont affectés par 5 de ces failles, les processeurs Intel par 7 de ces failles.

===
Intel va revenir en force, il y a un gros plan qui a été lancé, la feuille de route prévoit une gravure en 1.4 nm d'ici 2029.
Si tout ce passe bien, dans 10 ans Intel va commercialisé des processeurs intéressants.
4  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 23/02/2019 à 8:35
J'imagine qu'un tel problème ne serait jamais resté ignoré aussi longtemps sur du open-hardware.
Le problème étant matériel, il faut :

  • remédier au problème de conception.
  • quid du matériel déjà fourni avec le défaut ? il faut le changer, ou accepter la mitigation, réduisant le problème mais ne le solutionnant pas à 100 %, générant un ralentissement global de fonctionnement.


Ca ne peut de toute façon pas se régler en 15 jours.

Les gens ayant acheté un CPU avec la faille peuvent toujours essayer de faire jouer le vice caché.
3  0 
Avatar de phil995511
Membre actif https://www.developpez.com
Le 01/11/2019 à 18:21
Sauf que à ma connaissance pour mener ce type d'attaques il faut être physiquement présent sur une machine vulnérable dont les Bios / OS n'ont pas été patchés... Intel de leur côté prétendent que la désactivation de l'Hyper Treading n'est pas nécessaire. Se mettraient-ils avec de telles affirmations potentiellement en porte à faux vis-à-vis de leurs clients au risque de les voir se retourner contre eux ?!

Au rythme auquel ils trouvent de nouvelles failles/vulnérabilités sur les CPU's ces derniers temps, si cela continue ainsi, on ne pourra bientôt plus rien faire de nos PC si ce n'est les recycler
4  1 
Avatar de eldran64
Membre éprouvé https://www.developpez.com
Le 12/12/2019 à 10:33
Citation Envoyé par Stérilux Voir le message
J'avoue ne jamais avoir aimé intel mais quand même, tu le dis toi même, AMD corrige d'une génération à l'autre mais ses failles ne sont jamais mis en avant comme ce l'est pour intel.

Perso je regrette les CPU d'IBM et feu Motorola.
Il y a un effet "accumulation" et "sous le feux des projecteurs". Intel longtemps été le numéro 1 et a vendu des palettes de processeurs. Donc dès que les 1ère grosses failles sont apparus tout le monde en a parlé. Ensuite quand les autres sont apparus le focus est resté chez Intel.
AMD aussi a été décrié mais comme cela touchait moins de gen chez eux car leur archi est récente ET mise à jour, disons que c'est passé largement mieux.
3  0