Bogues critiques touchant les CPU modernes : Google a informé Intel depuis des mois
Et confirmé qu'ils affectent plus Intel et ARM qu'AMD

Le , par Christian Olivier, Chroniqueur Actualités
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é, car des attaquants pourraient tirer parti de l’exécution spéculative afin de lire le contenu de la mémoire du noyau d’un ordinateur qui en temps normal aurait dû leur être inaccessible.

Contrairement aux premières informations indiquant que ces vulnérabilités critiques causées par des problèmes de conception de microprocesseurs affectent uniquement les CPU Intel, la firme de Santa Clara n’est pas le seul acteur du marché des microprocesseurs à être touché par ce problème. Intel l’a d’ailleurs confirmé dans un communiqué paru récemment sur son site Web.

La réponse d’Intel au sujet des vulnérabilités critiques

Le fondeur de Santa Clara estime que « ;ces exploits n’ont pas le potentiel de corrompre, modifier ou supprimer des données ;». L’entreprise technologique américaine a tenu à préciser qu’il est incorrect de penser que les failles dont il est question n’affectent que ses produits, et insisté sur le fait que « ;de nombreux dispositifs informatiques équipés d’une grande variété de processeurs et de systèmes d’exploitation développés par différents fournisseurs sont sensibles à ces exploits ;».

La firme de Santa Clara « ;avait prévu de divulguer ce problème la semaine prochaine ;», mais aurait été prise de cours par l’apparition de rapports médiatiques inexacts. Elle a assuré collaborer avec les autres acteurs de l’industrie technologique concernés par ce problème, notamment AMD, ARM et les éditeurs d’OS populaires comme Android, les distributions Linux ou Windows, afin de trouver dans les meilleurs délais une solution constructive à ce problème.

Les premières informations fournies par certains rapports laissaient supposer que les correctifs qui seront déployés par la suite pour régler le problème pourraient causer des baisses de performances non négligeables sur les machines concernées (jusqu’à 30 %). Mais de l’avis d’Intel, « ;les impacts sur les performances dépendent de la charge de travail et, pour l’utilisateur moyen d’un ordinateur, ils ne devraient pas être significatifs et seront atténués au fil du temps ;».

Intel a recommandé aux utilisateurs de se référer aux consignes des vendeurs et des éditeurs d’OS pour obtenir plus de détails en ce qui concerne la procédure à suivre. L’entreprise a également tenu à rassurer en déclarant que « ;ses produits sont les plus sécurisés au monde et que, avec le soutien de ses partenaires, les solutions actuelles à ce problème offrent la meilleure sécurité possible à ses clients ;».

Intel était au courant depuis le 1er juin 2017 et son PDG a décidé de vendre ses actions

Cependant, la firme de Santa Clara était au courant depuis plusieurs mois déjà de l’existence de cette situation, et ce serait Google qui aurait pris soin de l’en informer. À ce propos, l’éditeur d’Android a confirmé sur son site qu’il a prévenu AMD, ARM et Intel de cette situation depuis le 1er juin 2017 et clarifié les détails relatifs à cette affaire en fournissant une liste des différentes variantes de la faille critique dont il est question.

Il faut souligner que le 29 novembre dernier, le PDG d’Intel, Brian Krzanich, a vendu les actions qu’il possédait dans la firme américaine pour 24 millions USD. Cette opération est survenue après qu’Intel a été informé par Google de vulnérabilités majeures affectant ses puces, celles-là mêmes qui ont été rendues publiques cette semaine. La société affirme que cette vente d’actions n’était pas liée à la découverte de la faille en question, mais qu’elle faisait partie d’un programme de cession planifié. Le PDG, dans son opération de vente, n’aurait conservé que 250 ;000 actions au sein du groupe, le strict minimum que l’entreprise lui exige de posséder en vertu de son contrat de travail.

Les résultats des investigations menées par Google

Grâce aux précisions fournies par une étude menée par le projet Zero de Google, on sait désormais que les vulnérabilités critiques touchant les CPU modernes affectent non seulement les CPU x86 64-bits d’Intel, mais aussi les puces basées sur l’architecture ARM. Les processeurs conçus par AMD sont aussi concernés, mais dans une moindre mesure seulement puisque Google estime le risque proche de 0 pour les CPU du fondeur de SunnyVale. Red Hat a prévenu de son côté que même certains CPU IBM sont concernés par cette annonce. Même si les entreprises AMD et ARM sont désormais affectées par cette faille de sécurité, leurs CPU sont beaucoup moins gravement touchés que ceux d’Intel.

Il existe trois variantes principales des exploits que Google a détaillées avec leurs mécanismes d’action respectifs dans un article : variante 1 (CVE-2017-5753), variante 2 (CVE-2017-5715), variante 3 (CVE-2017-5754). Deux d’entre elles ont été respectivement baptisées Meltdown et Spectre, elles affecteraient les processeurs depuis 1995. La variante 1 affecte presque tous les processeurs modernes (AMD, ARM et Intel notamment), alors que les variantes 2 et 3 de la faille affectent principalement les CPU Intel et une partie des CPU ARM. Google estime que « ;Spectre est plus difficile à exploiter que Meltdown, mais qu’il est également plus difficile à atténuer ;».

Alors qu'AMD avait affirmé que ses processeurs n'étaient pas affectés par les vulnérabilités critiques évoquées, la société précise maintenant que « l'ampleur de la menace et la nature des mesures à adopter concernant les trois variantes diffèrent selon le fabricant de microprocesseurs considéré, et AMD n'est pas sensible aux trois variantes ». La firme de SunnyVale soutient également que le risque serait quasi nul pour ses processeurs les plus récents.

ARM, de son côté, a reconnu que la fonctionnalité d’exécution spéculative de nombreux processeurs haute performance modernes, bien que fonctionnant comme prévu, présente également un risque non négligeable pour la sécurité. La société a précisé avoir développé des patchs spécifiques qu’elle recommande d’utiliser. En outre, ARM a inclus des informations au sujet d’une variante notée 3a qui figure dans le tableau ci-dessous. Ce tableau liste les puces ARM et les variantes de la faille susceptibles de les affecter.

Source : Intel, AMD, Google Project Zero, ARM, Business Insider

Et vous ?

Qu’en pensez-vous ?

Voir aussi

Les grands éditeurs et fournisseurs de cloud s'activent pour patcher leurs produits contre les vulnérabilités dans les puces d'Intel, AMD et ARM
Les processeurs Intel x86 souffrent d'un défaut qui permet d'installer des logiciels malveillants dans l'espace protégé des puces


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de disedorgue disedorgue - Expert éminent https://www.developpez.com
le 04/01/2018 à 21:16
Citation Envoyé par Chuck_Norris Voir le message
Pas sûr de bien comprendre ici, à moins que cela soit dans le sens "même plus besoin de failles logicielles, le CPU s'en charge" ?
Oui, c'est bien dans ce sens là
Avatar de joublie joublie - Membre confirmé https://www.developpez.com
le 04/01/2018 à 22:36
Il a bien fait de revendre ses actions, le big boss d'Intel, même si - bien sûr - cela n'a rien à voir. Il pourrait même postuler pour devenir ministre du travail en France...
Blague à part, je me pose des questions sur les brevets et les passages de salariés d'une entreprise à une autre (Intel, AMD, ARM). Comment cette faille se retrouve-t-elle dans trois entreprises : point de brevet déposé dans cette affaire ?

Correction : et IBM aussi ?
Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
le 05/01/2018 à 0:28
Citation Envoyé par Chuck_Norris Voir le message
En tout cas je me demande si une mise à jour du microcode sera capable de corriger le problème. Si oui, on n'a plus qu'à l'attendre, et se contenter des patchs qui contournent le problème au prix des performances en attendant.
Justement, ça semble être dans une partie en dur du processeur, pas dans ce qui est accessible par microcode (https://www.pcworld.com/article/3245...ts-pc-mac.html. Ça aurait du sens : le problème semble être dans l'exécution des microopérations, alors que le microcode s'occupe plutôt de la décomposition d'une instruction en microoopérations ; si c'était du microcode, Intel aurait déjà pu corriger le problème avant le tollé actuel. Maintenant, d'autres sources disent le contraire (https://www.pcworld.com/article/3245...ernel-bug.html). Quelqu'un a lu tous les articles fiables sur sujet et aurait une réponse définitive ?
Avatar de Patrick Ruiz Patrick Ruiz - Chroniqueur Actualités https://www.developpez.com
le 05/01/2018 à 8:39
Vulnérabilités Meltdown et Spectre : état des lieux des navigateurs
Chrome, Mozilla et Edge face au vecteur d’exploitation JavaScript

2018 démarre sur des chapeaux de roue avec la panoplie de publications relatives aux vulnérabilités baptisées Meltdown et Spectre. Après les déclarations hâtives de certains fondeurs, il est désormais établi que tous sont concernés par ces développements.

En substance, Google a publié une PoC de Meltdown pour une plateforme Intel. D’après des publications de recherche mises à disposition par la firme de Mountain View cependant, il est possible de faire pareil sur les architectures ARM et AMD moyennant quelques réglages. Dans le cas de Spectre par contre, des preuves de concept ont été mises sur pied pour les trois architectures. De plus, d’après ce qui ressort de la documentation relative à cette dernière, il suffit à un attaquant de disposer d’un navigateur pour lancer une attaque au travers de JavaScript.

Luke Wagner, un ingénieur de Mozilla le confirme via un billet de blog. « Plusieurs articles récemment publiés ont amené des vulnérabilités (Meltdown et Spectre) qui affectent les processeurs modernes à la lumière du jour. D’après des tests menés en interne, il est possible d’utiliser des techniques similaires sur du contenu Web pour accéder à des informations sensibles », a-t-il déclaré.

Un rapport du Microsoft Vulnerability Research vient éclairer le propos de Wagner. D’après ce dernier, l’exploitation desdites failles ouvre la voie à une violation plus aisée de la protection Same-Origin Policy dont les navigateurs sont équipés. En d’autres termes un script JavaScript malicieux chargé sur une page sait extirper des cookies d’authentification ou autres mots de passe d’une autre plus facilement. Pire, les données privées du navigateur lui-même sont à la merci du code malicieux, d’après ce que rapporte l’équipe sécurité de la firme de Redmond.

Microsoft a, par le biais de Windows Update, déployé la mise à jour KB4056890 pour les utilisateurs du navigateur Edge au sein de la Fall Creators Update en date du 3 janvier. Pour ce qui est de Mozilla, une version mise à jour de Firefox Quantum (la 57.0.4) est désormais disponible. Navigateurs différents, mais mesures communes adoptées dans les méandres par les deux entreprises. C’est désormais connu, les vulnérabilités dont il est question reposent sur la capacité du logiciel malveillant à abuser de la temporisation du cache des données des processeurs. Elles reposent sur l’aptitude à effectuer des mesures précises du temps. Pour ces raisons, Firefox et Edge seront sevrés du tampon de données binaires SharedArrayBuffer. Parallèlement la méthode JavaScript performance.now() voit sa résolution passer de 5 à 20 microsecondes. D’après les firmes, il s’agit de solutions de contournement temporaires. Elles poursuivent les investigations qui déboucheront sur des solutions additionnelles en temps opportun.

Quant à Google Chrome, la version 63 intègre le mécanisme de protection Strict Site Isolation. D’après la firme, son activation permet d’assigner à chaque site Web un espace d’adressage distinct. Google recommande d’en faire usage jusqu’à ce que Chrome 64, attendu le 23 janvier, sorte. Il est prévu que l’entreprise s’aligne avec les mesures actuellement adoptées par ses concurrents dans le cadre de cette release.

Sources

Microsoft

Mozilla

Google

Votre opinion

Quels stratagèmes additionnels proposez-vous pour se prémunir de la vulnérabilité Spectre ?
Avatar de arond arond - Membre expérimenté https://www.developpez.com
le 05/01/2018 à 8:41
Citation Envoyé par joublie Voir le message
Il a bien fait de revendre ses actions, le big boss d'Intel, même si - bien sûr - cela n'a rien à voir. Il pourrait même postuler pour devenir ministre du travail en France...
Blague à part, je me pose des questions sur les brevets et les passages de salariés d'une entreprise à une autre (Intel, AMD, ARM). Comment cette faille se retrouve-t-elle dans trois entreprises : point de brevet déposé dans cette affaire ?

Correction : et IBM aussi ?
Il semblerait que la faille repose sur la façon de fonctionner des processeurs pas sur le moyen de le faire.

Un peu comme si le paradigme objet avait une faille zéro day. Java/Php/C++ serait affecté pourtant ils ne se sont pas copiés

Si j'ai bien compris cet exploit repose sur la prédiction de résultat du CPU mais on peu pas désactivé cette feature ?
Avatar de chrtophe chrtophe - Responsable Systèmes https://www.developpez.com
le 05/01/2018 à 9:46
Sous Windows, certains anti-virus sont incompatibles avec le correctif, provoquant un BSOD. Il semblerait que la mise à jour ne vous soit fournie que si votre antivirus est compatible (vérification d'une clé dans le registre)

Vérifiez que votre antivirus soit bien à jour (pas uniquement les définitions virales).
Avatar de chrtophe chrtophe - Responsable Systèmes https://www.developpez.com
le 05/01/2018 à 10:21
Je pense que les failles reposent sur le dispositif de prédiction de branchement.

Le cpu fait de l'exécution spéculative avec un gain de performance en cas de succès et une perte en cas d’échec, mais globalement cela donne un gain de perfs. C'est pour cela que le code et les données doivent être alignés dans des pages.

Corrompre les caches du CPU donnera un résultat aléatoire, je pense que c’est le principe de fonctionnement des exploits de ces failles. Ces caches sont importants pour l'utilisation de la MMU, qui gère les droits d'accès aux pages mémoires.

Je pense que les patchs invalident les caches à des moments bien précis, ce qui fait perdre en perf.
Avatar de marsupial marsupial - Membre émérite https://www.developpez.com
le 05/01/2018 à 14:22
Je ne sais pas si vous imaginez bien un WannaCry sauce meltdown-specter. Ce que je veux dire est que certains vont prendre de la dette ne pouvant patcher, ni même changer de proc. Et en face il se trouve déjà des scripts d'exploit et tutoriels accompagnés des outils et malware des agences américaines tombés entre les mains de pirates.
Pire que tout puisqu on y verra que du feu.

Ça pourrait faire très mal. Et je n'évoque que les pirates donc sans parler des agences gouvernementales et autres APT Lazarus.
Avatar de jlliagre jlliagre - Modérateur https://www.developpez.com
le 05/01/2018 à 19:35
Citation Envoyé par chrtophe Voir le message
Je pense que les failles reposent sur le dispositif de prédiction de branchement.
Les trois failles reposent sur l'exécution spéculative, ce qui est un peu différent de la prédiction de branchement.

Avec la prédiction de branchement, lorsqu'il va y avoir un test (du style if/then/else) le processeur va charger l'instruction qu'il pense avoir le plus de chances d'être la suivante.

Avec l'exécution spéculative, le CPU charge une instruction qu'il estime avoir bonne chance d'être exécutée mais en plus, il l'exécute vraiment.

Dans les deux cas, si l'hypothèse est infirmée, l'exécution reprend vers la bonne instruction à exécuter. En théorie, on revient dans le même état que celui ou l'on aurait été sans ces optimisations, mais en pratique, l'exécution spéculative a des effets de bord: la perte de données qui étaient auparavant en cache et la présence dans le cache de données qui n'y seraient pas allées autrement.

Il n'y a pas d'instructions qui permettent de lire directement les données placées en cache par les techniques précédentes mais il existe des moyens détournés sophistiqués pour le deviner. Celui qui est le plus souvent décrit consiste à mesurer le temps mis à charger le contenu d'une adresse mémoire. Si ce temps est "long", c'est que le processeur est bien allé chercher la donnée en RAM. Si ce temps est court, c'est que cette adresse viens déjà d'être lue. On a donc réussi à lire le contenu du cache alors qu'il n'existe pas de moyen direct de le faire.

Avec Meltdown, on peut lire la totalité de la mémoire du noyau. On ne peut pas directement écrire dans cette mémoire, mais ce qu'on y lit, par exemple des mots de passe en clair ou des clefs privées pourra être exploité pour facilement devenir root.

Le cpu fait de l'exécution spéculative avec un gain de performance en cas de succès et une perte en cas d’échec, mais globalement cela donne un gain de perfs.
Il n'y a pas vraiment de perte de performance en cas d'échec (la durée du rollback doit être infime). Le temps passé par le CPU à faire de l'exécution spéculative aurait sinon été perdu à ne rien faire.


Corrompre les caches du CPU donnera un résultat aléatoire, je pense que c’est le principe de fonctionnement des exploits de ces failles.
Il n'y a pas de corruption des caches, mais au contraire chargement de données valides mais "interdites" dans les caches. Invalider complètement les caches supprimerait le risque mais serait inacceptable en terme de performance. Il faut cent à deux cents fois plus de temps pour charger des données de la RAM par rapport au cache niveau 1, vingt fois plus que le cache niveau 2.

Ces caches sont importants pour l'utilisation de la MMU, qui gère les droits d'accès aux pages mémoires.

Je pense que les patchs invalident les caches à des moments bien précis, ce qui fait perdre en perf.
Les patches qui sont disponibles pour Windows, Linux et OS X mettent en place une séparation franche entre espace mémoire utilisateur et espace mémoire noyau, ce qui n'était pas le cas jusqu'ici. L'objectif est de contrer Meltdown (spécifique aux processeurs Intel) mais avec un impact sur les performances qui est sujet à controverse (entre non mesurable et 30% suivant l'utilisation du processeur).

Il existe aussi des patches pour les compilateurs qui modifient le code assembleur généré pour contrer certains types d'attaques en replaçant les appels par un "retpoline" (return trampoline) et des patches pour le microcode des CPUs
Avatar de AndMax AndMax - Membre confirmé https://www.developpez.com
le 05/01/2018 à 23:59
Citation Envoyé par Patrick Ruiz Voir le message
Quels stratagèmes additionnels proposez-vous pour se prémunir de la vulnérabilité Spectre ?
Sur Meltdown / Spectre, et comme avec toutes les questions de sécurité, un usage responsable et le suivi des recommandations en vigueur.
Contacter le responsable de la rubrique Accueil