COMPTOIR
  
register

×

Le bousin en action

Trois chercheurs en sécurité informatique découvrent deux instructions x86 non documentées
Le bousin en action

Alors que nous vous causions hier du sujet non trivial qu’est la gestion des interruptions sur le jeu d’instruction x86 (et des moyens de la rendre un peu plus sexy), voilà que le tweet du jour vient nous replonger la tête sous l’eau. Sortez l’acide acétylsalicylique, nous plongeons tout droit dans les méandres internes des processeurs d’Intel.

 

 

Si la plupart des instructions x86 se décodent simplement, une partie du jeu d’instructions — et principalement de ses extensions — doivent passer par un décodeur plus complexe, entraînant l’exécution d’une suite prédéterminée de micro-instructions. Sans rentrer davantage dans les détails, cette traduction est effectuée par le microcode, une zone de mémoire programmable présente dans le CPU, éventuellement patchée au boot par le BIOS et/ou l’OS, puis impossible à modifier une fois le CPU en route.

 

Cependant, trois chercheurs spécialisés dans les failles de ce microcode auraient découvert un comportement inattendu : deux instructions pourtant invalides dans une utilisation normale seraient en fait bien décodées et envoyées au microcode, qui répondrait — normalement ! – par une erreur UD : l’instruction est invalide. Sauf que, lorsque le processeur est réglé en mode Red Unlocked, un état de développement du CPU possible uniquement lors de hack extrêmement délicat — comprendre qu’un accès physique est quasiment toujours nécessaire, ces instructions permettent de modifier le contenu de ce fameux microcode. Une faille de sécurité donc, qui permettrait à des pirates potentiels d’introduire des traceurs potentiellement indétectables... à condition que l’opération en vaille le coup : comprenez que l’exploitation sur une cible grand publique semble plus qu’invraisemblable.

 

Le bousin en action [cliquer pour agrandir]

Bon, cela ne dit pas grand-chose, mais ce code permet de lire et d’écrire une valeur à l’intérieur du CPU (et non dans la RAM)

 

Au niveau des CPU « impactés », un des premiers processeurs détectant correctement ces instructions serait KNC, (Knight Corners, une puce de la famille des Xeon Phi datant de 2012). Cependant, du fait de la très probable utilisation en interne de ces instructions pour la programmation voire le test des CPU, rien n’empêcherait les générations précédentes d’être également touchées. Les chercheurs ayant annoncé publier leurs résultats sous peu, nous devrions donc en réentendre parler prochainement, avec davantage de détails techniques cette fois-ci.

Un poil avant ?

Première fuite d'une potentielle RX 6800M sur la toile

Un peu plus tard ...

Gamotron • Bien plus qu'un clône

Les 25 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par m en Alsace, le Jeudi 25 Mars 2021 à 18h06  
par Un #ragoteur connecté embusqué le Jeudi 25 Mars 2021 à 04h28
Toute la doc n'est pas forcément publique, tu sais... certaines sont destinées à des partenaires précis, d'autres sont carrément à usage interne.
Ai-je dis autre chose? Là, clairement, elle était à usage interne et n'aurait jamais dû (aux yeux d'intel) être découverte par des hackers (au sens noble du terme).
par Un #ragoteur connecté embusqué, le Jeudi 25 Mars 2021 à 04h28  
par m en Alsace le Dimanche 21 Mars 2021 à 14h09
C'est pourtant écrit en gros dans le titre de cet article, et c'est bien là toute la force de cette découverte (vu la difficulté de trouver etc...).
Forcément, elle était connue des ingénieurs Intel. Mais top-secret jusqu'à aujourd'hui pour tout le reste de la planète.
Toute la doc n'est pas forcément publique, tu sais... certaines sont destinées à des partenaires précis, d'autres sont carrément à usage interne.
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Mercredi 24 Mars 2021 à 19h44  
par m en Alsace le Mercredi 24 Mars 2021 à 18h23
Ah ok, je pensais qu'ils avaient une rom intégré.
Il y a probablement une ROM (qui est totalement en Read-Only, pas d'écriture) et une RAM. Et l'instruction peut écrire dans cette RAM.
On ne fait pas trop de mémoire non volatile du type Flash/EEPROM dans un chip de cpu car ça demande des technos différentes et que ça prend de la place. On utilise plutôt: soit de la SRAM qui est chargé au boot depuis l'exterieur, soit une ROM qui est totalement en dur, soit des mémoires OTP (One Time programmable) avec des fusibles qu'on vient brûler pour fixer une config.
 
N'empêche, pouvoir modifier le comportement d'une instruction, ou bien pouvoir se rajouter de nouvelles instructions caché, pouvant être appelés par une entité tierce sur l'hôte, ça aurait pu être une arme très vicieuse pour les gouvernements.

Oui, mais c'est c'est d'autant plus radical de contrôler et injecter ce que tu veux directement dans le Management Engine
par m en Alsace, le Mercredi 24 Mars 2021 à 18h23  
Ah ok, je pensais qu'ils avaient une rom intégré. C'est sûr, si faut recommencer l'opération à chaque démarrage, ça change tout...
N'empêche, pouvoir modifier le comportement d'une instruction, ou bien pouvoir se rajouter de nouvelles instructions caché, pouvant être appelés par une entité tierce sur l'hôte, ça aurait pu être une arme très vicieuse pour les gouvernements.
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Mercredi 24 Mars 2021 à 15h05  
par m en Alsace le Mercredi 24 Mars 2021 à 10h55
Bah je suppose que le mode red unlocked sera retiré, une fois la manipulation effectué.
Et là, t'auras beau reformater tes disque et tout changer, tout sécurisé, la brèche sera toujours là, tapis dans l'ombre.
C'est de la RAM qui est modifié, c'est pour faire des modifications dynamique que ces instructions sont utilisés. Au moindre reboot tout part.

De plus il ne faut pas fantasmer ce que l'on peut faire avec le microcode, c'est juste pour changer le comportement de certaines instructions. Les dégrées de libertés sont très limités et la taille de la ram du microcode très limité aussi, et puis ça ne touche qu'a des états internes du core, c''est difficile de faire sortir des informations discrètement à partir de ça.

Et pour te dire à quel point ce scénario d'attaque est ridicule: pour activer le mode red unlocked il faut déjà avoir pris le contrôle du Intel Management Engine (ils décrivent ça dans des travaux passés).
Et à partir du Intel Management Engine on a vraiment un controle total sur tous les firmwares du CPU. C'est à dire qu'avant même de modifier le moindre microcode on a déjà quelque chose de plus puissant entre les mains.

Je le redis donc, la découverte dont parle le tweet n'est pas intéressante une seule seconde pour produire des attaques. Elle est intéressante pour les chercheurs. Le scénario pour l'utiliser dans une attaque est ridiculement absurde
par m en Alsace, le Mercredi 24 Mars 2021 à 10h55  
Bah je suppose que le mode red unlocked sera retiré, une fois la manipulation effectué.
Et là, t'auras beau reformater tes disque et tout changer, tout sécurisé, la brèche sera toujours là, tapis dans l'ombre.
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Mardi 23 Mars 2021 à 23h57  
par m en Alsace le Mardi 23 Mars 2021 à 17h48
Mais là, comment détecter qu'une machine dont on a confiance a été compromise dans la nuit (ou avant livraison) et moucharde dans son coin, si le vers a été planqué dans le microcode?
Pour le coup c'est plutôt simple de savoir si la machine est passé en mode red unlocked qui peut-etre ciblé par le sujet de l'article. Il suffit de littéralement exécuter une simple instruction ASM. Si elle fail, c'est normal, on a pas le droit d'utiliser ces instructions, si elle s'exécute normalement, alors là c'est très louche.

Mais très sérieusement: Si on a accès physiquement à ta machine tu as bien pire a craindre que quelqu'un qui va venir changer ton microcode..
Et si j'étais un hacker qui doit te mettre un mouchard avec un accès physique à ta machine, alors passer son CPU en mode red unlock pour modifier le microcode comme décrit dans le tweet ça serait vraiment la méthode la plus ridicule, inefficace, complexe et absurde que je puisse trouver.

En faite cela a vraiment aucun sens de voir cette news comme une faille de sécurité pour les utilisateurs. C'est pas du tout ce qu'essai de dire le tweet et t'imagine bien que si c'était grave pour les utilisateurs ces chercheurs ne balanceraient pas juste la news de manière aussi futile sur twitter.
 
C'est sûr, ça ne touchera jamais nos machine perso.
C'est surtout pas fait pour attaquer des gens. C'est fait pour faire de la recherche
par m en Alsace, le Mardi 23 Mars 2021 à 17h48  
C'est sûr, avec un accès physique, il est possible de faire des tonnes de dégâts.
Mais au moins ça laisse une petite chance aux équipes de sécurités de repéré ce qui a été fait et de colmater.
Mais là, comment détecter qu'une machine dont on a confiance a été compromise dans la nuit (ou avant livraison) et moucharde dans son coin, si le vers a été planqué dans le microcode?

C'est sûr, ça ne touchera jamais nos machine perso. Mais on est passé par combien de serveurs pour venir consulter cet article?
par Une ragoteuse à forte poitrine en Auvergne-Rhône-Alpes, le Mardi 23 Mars 2021 à 00h16  
par Gohan le Lundi 22 Mars 2021 à 06h46
Attendez là, que je résume pour bien comprendre
Non mais personne n'imagine l'utiliser pour attaquer un utilisateur, ça sert juste aux chercheurs à bidouiller plus de chose pour leur recherche. C'est une faille pour Intel, pas pour les utilisateurs.
Le problème c'est que le tweet est pas clair sur ce point donc beaucoup de gens le comprennent mal.
par Jemporte le Lundi 22 Mars 2021 à 01h41
Non, c'est pas une bonne nouvelle.
Non, c'est une bonne nouvelle pour les chercheurs et peut-être les utilisateurs dans le futur, et une mauvaise nouvelle pour Intel.
 
J'y vois plutôt une backdoor grande ouverte et pas fermée.

Mais... tu as lu la news ? Une backdoor grand ouverte ? Va lire les étapes pour passer le CPU en mode red unlocked et revient nous expliquer que c'est une backdoor grande ouverte.
C'est irréaliste de produire la moindre attaque de cette manière, et avec un accès physique il a 1000 fois plus efficace et plus simple à faire comme attaque.

Faut que tu arrêtes de raconter n'importe quoi toi.
par Herman59000, le Lundi 22 Mars 2021 à 23h05  
Des petits trous, des petits trous, toujours des petits trous.
par m en Alsace, le Lundi 22 Mars 2021 à 18h05  
par Jemporte le Lundi 22 Mars 2021 à 01h41
J'y vois plutôt une backdoor grande ouverte et pas fermée. On va peut-être pouvoir s'en protéger mais d'autres qu'Intel sont désormais au courant. Des soucis en perspectives qui appellent des solutions...
Non, c'est pas une bonne nouvelle.
A la lecture de vos ragots, je crois qu'on est plusieurs à avoir compris que le débat se dirigeait plutôt sur 'serait-ce une bonne chose ou non que de retirer (si on le pouvait), le Management Engine d'Intel (dont l'EFF lui-même qualifierait apparemment de backdoor)?'. Apporte-t-il plus de sécurité ou d''intrusion à l'utilisateur?

Sur le fond du sujet, l'idée que les grands serveurs sur lesquelles transitent nos données pourraient être compromis grâce à cette découverte par des chinoisdufbi infiltrés sur places, ça, je pense que personne n'en n'est ravie.
par Un hardeur des ragots en Île-de-France, le Lundi 22 Mars 2021 à 07h44  
On a eu des photo dans les leaks de la NSA montrant des personnes en train de "reconditionner" des routeurs avant envoie vers les clients finaux. Donc oui, ça va pas arriver demain dans nos chaumières, mais c'est carrément à la portée des états ou des groupes criminels.