Developpez.com

Le Club des Développeurs et IT Pro

Les processeurs Intel x86 souffrent d'un défaut

Qui permet d'installer des logiciels malveillants dans l'espace protégé des puces

Le 2015-08-10 11:57:12, par Michael Guilloux, Chroniqueur Actualités
Christopher Domas, un chercheur en sécurité a révélé l’existence d’un défaut de conception grave qui affecte les processeurs Intel basés sur l’architecture x86, depuis près de deux décennies. A la conférence Black Hat pour les hackers, le chercheur a présenté une preuve de concept dans laquelle il a montré comment exploiter ce défaut pour installer des rootkits dans le System Management Mode (SMM), l’espace protégé de la puce. Il s’agit d’une réelle menace dans la mesure où le SMM gère la sécurité au niveau du firmware, et la portée est très grande puisque cela concerne l’ensemble des processeurs Intel fabriqués avant l’année 2010.

Le défaut en lui-même n’est toutefois pas une menace, mais si un attaquant arrive à avoir les privilèges administrateurs sur votre machine, il peut l’exploiter et installer un logiciel malveillant dans la zone protégée de la puce. Dès ce moment, le malware devient invisible sur la machine et peut sévèrement compromettre le système. Le chercheur évoque par exemple la possibilité d’endommager le système BIOS. Le malware devient aussi persistant sur la machine de sorte à infecter à nouveau le PC après la réinstallation de votre système.


La fabricant de puces a été informé et a publié des mises à jour pour certains de ses processeurs. S’il faut encore espérer que les mises à jour ne seront pas ignorées par les utilisateurs, il faut également noter que ceux qui utilisent des puces pour lesquelles aucune mise à jour n’a été publiée resteront toujours exposés. Pour ces derniers, il est conseillé de passer à un processeur plus récent, puisque le problème semble être difficile voire impossible à corriger.

Sans pour autant faire de démonstration de faisabilité pour les processeurs AMD, Christopher Domas pense qu’ils pourraient être aussi affectés par ce défaut de conception puisqu’ils sont également basés sur l’architecture x86.

Source : Black Hat

Et vous ?

Utilisez-vous un processeur Intel x86 ? Qu’en pensez-vous ?
  Discussion forum
26 commentaires
  • Squisqui
    En attente de confirmation mail
    Il s'agit des CPUs jusqu'à 2010 ou de tous les CPUs Intel (et potentiellement AMD) ?
    Contrairement à la news, la sources n'indiquent pas cette information. En tout cas, j'ignorais l'existence des anneaux négatifs.

    Envoyé par 23JFK
    Faille de sécurite, ou backdoor gouvernemental ? Parce qu'il faut quand-même que le système soit largement corrompu avant de pouvoir aller planquer un code dans cette partie d'une machine.
    Oué enfin ce n'est jamais plus qu'une élévation de privilège avant d’exécuter du code en ring 0 pour exploiter la faille... Et il n'y a pas besoin d'exploit pour les 99% d'utilisateurs qui ne regardent pas ce qu'ils exécutent. Je sais bien que c'est la mode d'accuser la NSA à la moindre faille mais quand même.
  • DonQuiche
    Expert confirmé
    Précisons que la faille n'est exploitable que depuis un code en ring 0 (pilote graphique, os, etc) et permet une escalade du niveau de privilèges vers les niveaux -1 (hyperviseur) et -2 (SMM).

    L'intérêt est donc surtout pour un malware qui aurait déjà réussi à se placer en ring0 par d'autres moyens. Il pourrait ainsi contaminer le matériel, comme expliqué dans l'article.
  • sevyc64
    Modérateur
    Par contre, j'ai pas compris comment le malware peut devenir persistent, il se grave lui-même sur la puce du processseur ?
    Je savais pas que les processeurs actuels avaient du Soft-On-Chip.
  • Iradrille
    Expert confirmé
    Envoyé par Squisqui
    Il s'agit des CPUs jusqu'à 2010 ou de tous les CPUs Intel (et potentiellement AMD) ?
    Intel
    Fixed on latest generations (Sandy Bridge / Atom 2013)

    AMD
    Analysis in progress
    https://www.blackhat.com/docs/us-15/...Escalation.pdf (page 146)
  • Jipété
    Expert éminent sénior
    Salut,

    Envoyé par sevyc64
    Par contre, j'ai pas compris comment le malware peut devenir persistent, il se grave lui-même sur la puce du processseur ?
    Je savais pas que les processeurs actuels avaient du Soft-On-Chip.
    Tu penses à ça ? :
    Envoyé par Michael Guilloux
    si un attaquant arrive à avoir les privilèges administrateurs sur votre machine, il peut l’exploiter et installer un logiciel malveillant dans la zone protégée de la puce.
    Problème de traduction, peut-être ?
    Perso je verrais plutôt ça :
    Envoyé par Michael Guilloux
    Le chercheur évoque par exemple la possibilité d’endommager le système BIOS.
  • Du pdf que je viens de lire: https://www.blackhat.com/docs/us-15/...Escalation.pdf (j'en ai survolé que 70%) j'ai retenu juste une reprogrammation de A à Z du système d'exploitation visé, le fait que l'on peut écrire un logiciel dans le CPU est un fake, il est bien traité dans le pdf que l'on ne fait que joujou avec la table APIC, le registre msr et cr. du CPU, la GDT, les interruptions, la pagination, ect.

    Les seules plages mémoire writeable concerne des registres et aucunement de firmware, dans le CPU.

    En gros tout cela est une initiation un peu hard à la programmation d'OS.

    Je ne me connais pas assez dans la programmation d'OS pour savoir quel est le trou de sécurité dans ce système du CPU pour aider à construire l'OS, mais il est clair qu'il suffit juste d'avoir accès aux instructions et registres pour OS (ring 0) tels que wrmsr, wrmsr, lgdt, controller register ... pour remodéliser l'OS à son image.

    Pour une assistance à la compréhension de cette magie noire: http://www.intel.com/content/www/us/...r-manuals.html (surtout les vol. 1 3A 3B 3C)

    Et je suis sûr qu'intel à déjà découvert cette faille, d'ailleurs je vois pas pourquoi intel serait exempt de faille, sauf qu'eux, ils les gardent secrets probablement, mais avec tous les mécanismes de sécurité que le CPU a à offrir pour la prog d'OS (et il y en a déjà énormément et à venir: https://software.intel.com/en-us/isa-extensions), ce genre de "scandale" est un peu à la ramasse, une simple broutille que les ingénieurs d'intel ont voulu garder secrète, mais qu'un chercheur externe à découvert

    J'admets que je suis un peu sec vis-à-vis de ses recherches, mais un éclaircissement est, selon moi indispensable, car le hacking est bien trop souvent couvert de zone d'ombres.
    Sinon je n’ai rien à redire, ses recherches sont vraiment bien (surtout le pdf et de plus le code asm est en syntaxe intel/nasm ^^ ) .

    D'ailleurs, je ne veux pas tomber dans le troll mais c'est à cause de ce genre de personne qu'Intel oriente ses procs vers de la 100% sécurité dans la gestion de mécanisme interne d'OS, provocant ainsi des protocoles additionnels qui plombent forcément la performance du CPU.

    Sinon cela me fait plaisir qu'intel s'invite un peu dans les news de dvp ^-^
  • Thorna
    Membre éprouvé
    Envoyé par sevyc64
    Si c'est le bios, un flash de celui-ci devrait pouvoir enlever le malware.
    Euh, il ne faut pas entrer par le BIOS pour flasher le BIOS, par hasard, pour par exemple activer le reprogrammeur d'eprom ou un truc comme ça ? S'il est astucieusement modifié, il n'est plus flashable.
    Il y a du soft dans les µprocs, le microcode (aka firmware), qui jadis était "en dur" mais ne l'est plus depuis longtemps.
    Voir ici de vieilles infos par exemple.
  • pcdwarf
    Membre éprouvé
    Une faille dites vous ?

    Je m'étonne que cela soit seulement possible.
    une zone programmable dans un CPU dites-vous ?

    POUR QUOI FAIRE bordel ?

    Il y a du soft dans les µprocs, le microcode (aka firmware), qui jadis était "en dur" mais ne l'est plus depuis longtemps.
    Et sérieusement, ça sert à quoi à part du hack ?
  • DonQuiche
    Expert confirmé
    Envoyé par pcdwarf
    Une faille dites vous ?

    Je m'étonne que cela soit seulement possible.
    une zone programmable dans un CPU dites-vous ?

    POUR QUOI FAIRE bordel ?

    Et sérieusement, ça sert à quoi à part du hack ?
    A mettre à jour le CPU en cas de bogue, tout particulièrement en cas de faille de sécurité. Ça coûte moins cher que de rappeler et remplacer un milliard de processeurs. Sans parler des centaines de millions qui ne seraient jamais renvoyés et demeureraient vulnérables.

    Je rappelle quand même qu'un CPU moderne compte plusieurs milliards de transistors, que son fonctionnement est par nature asynchrone (à l'instant t on gère le résultat d'opérations démarrées à t-1, t-2, t-5, t -20 et t-50), et que malgré cela les bogues y sont très rares en comparaison du logiciel. Mais pour les rares fois où les constructeurs se plantent il y a un firmware patchable.
  • l'art souille
    Membre régulier
    Intrigué, je viens de lire le principe (le début de l'article de 2 pages A4). Très intéressant, relativement compréhensible si on a des notions de base d'architecture hard.

    En aucun cas, il s'agit de modifier quoi que ce soit dans le chip (le matériel) mais dans une zone de la RAM uniquement visible en ring -2. Je passe les détails, je ne ferais pas mieux que l'auteur, l'article est très clair, vraiment bien foutu.

    Il conclut cette présentation en disant que l'exploitation de cette bizarrerie "oubliée" (forgotten) est EXTREMENT difficille mais PAS impossible... ça calme un peu.