Vulnérabilités des processeurs AMD

Date : 07 Mars 2018

Durant le mois de mars 2018, une grande attention médiatique a été portée à l’annonce, par une société peu connue jusque-là, sur une série de 13 vulnérabilités affectant la dernière version des processeurs AMD. Après les failles Spectre et Meltdown, ce type de vulnérabilité hardware suscite beaucoup d’intérêt.

Globalement ces vulnérabilités ne sont pas considérées comme très dangereuses, parce qu’elles ne sont pas utilisables immédiatement pour réaliser des attaques classiques. Elles pourraient par contre être utilisées par des attaquants avancés pour réaliser des attaques très sophistiquées.  Nous présentons ici une synthèse de cette actualité.

 

Une médiatisation très critiquée

La société israélienne CTS-Labs, qui a découvert ces vulnérabilités, a été très critiquée sur la façon dont elle a communiqué à propos de cette  découverte :

  • D’une part, elle a annoncé publiquement l’existence de ces vulnérabilités un jour seulement après avoir transmis tous les détails techniques à AMD. Cette méthode ne respecte pas la règle courante de « responsible disclosure » dans laquelle le découvreur accorde un délai au fabricant (par exemple 90 jours) pour que celui-ci puisse préparer des correctifs. Le CTO de CTS-Labs a cependant tenté de justifier cette approche : en annonçant publiquement que des vulnérabilités existent, sans donner de détails techniques, il peut bénéficier de l’appui de l’opinion publique pour faire pression sur l’éditeur et obtenir des correctifs plus rapidement.
  • D’autre part le découvreur a préparé une communication très élaborée (site web dédié, vidéos d’explication, noms et logos pour chaque type d’attaques, discours de dénigrement vis-à-vis de AMD) pour annoncer ces vulnérabilités et les présenter comme catastrophiques. A tel point que certains ont avancé (à tort) qu’il pouvait s’agir d’une manipulation pour faire chuter le cours des actions  AMD.

Cette médiatisation excessive a été très critiquée par la communauté sécurité et il a fallu l’intervention d’experts reconnus pour que les discussions se recentrent au bout de quelques jours sur l’aspect technique de ces vulnérabilités et les risques induits.

La société CTS-Labs avait préparé plusieurs rapports pour décrire les vulnérabilités :

  • Un rapport public (disponible ici et qui a été complété ensuite par cette clarification) qui ne donne qu’une description vague des vulnérabilités, insiste sur leur gravité et critique sévèrement AMD.
  • Un rapport secret (toujours non disponible), donnant tous les détails techniques, et qui a été communiqué à AMD ainsi qu’à quelques experts reconnus.

Ce sont ces experts qui sont ensuite intervenus publiquement pour confirmer la réalité de ces vulnérabilités, et en particulier Dan Guido de la société TrailOfBits.com qui a dans son blog apporté beaucoup de clarté sur la réalité technique de ces problèmes.

 

Mais des vulnérabilités réelles

Les vulnérabilités concernent les systèmes conçus autour des processeurs RYZEN (dans différentes déclinaisons) et EPYC d'AMD. Elles ne concernent pas exactement le processeur central, mais plutôt des coprocesseurs spécialisés :

  • le « Platform Security Processor » (PSP, renommé récemment « AMD Secure Processor »). C’est un processeur intégré dans la même puce que la CPU qui assure des fonctions de sécurité telles que la validation de la séquence de boot ou le chiffrement de la mémoire pour les environnements virtualisés.
  • Le chipset « Promontery ». Il s’agit d’un composant présent sur la carte mère. Il est développé par la société ASMedia.

 

Il y a 13 vulnérabilités regroupées en 4 familles d’attaques :

  • MASTERKEY : Ces vulnérabilités (3) permettent de contourner le mécanisme de vérification de la signature lors de la mise à jour du firmware du PSP. Un attaquant ayant les droits « admin » peut par ce moyen installer un firmware malveillant sur le PSP.
  • FALLOUT and RYZENFALL : Il s’agit de vulnérabilités (3+4) dans le firmware du PSP qui permettent des modifications mémoires amenant à l’exécuter de codes malveillants par le PSP ou dans le mode SMS (System Management Mode) du processeur central.
  • CHIMERA : Ces vulnérabilités (2) concernent le chipset Promontery. CT-Labs les qualifie de « backdoors » car apparemment, l’API standard permet d’installer un code arbitraire sur ce chipset. Le code malveillant installé par ce moyen sur le chipset, peut accéder à tous les composants internes de l’ordinateur (et en particulier à la RAM via le DMA – Direct Memory Access).

Nota : la 13eme vulnérabilité n’est rattachée à aucune de ces 4 familles. Elle est appelée « PSP Privilege Escalation » par CT-Labs et n’est pas détaillée. Elle est apparemment moins importante que les autres.

Globalement ces vulnérabilités ne sont accessibles que par un attaquant qui a déjà obtenu un accès complet sur la machine visée (i.e. disposant déjà des droits « administrateur »). Elles lui permettent :

  • D’installer du code malveillant dans des composants internes (par exemple modifier le firmware du PSP) et ainsi  survivre à des tentatives de réinstallation d’un système sain.
  • D’exécuter du code dans des contextes très privilégiés, hors du contrôle du système d’exploitation installé, et très difficile à détecter.
  • D’accéder à des segments mémoires permettant de contourner des mécanismes de protection comme le « Windows Credential Guard » de Windows 10 (protection contre des attaques telles que « Mimikatz »).

Il y a donc une corruption complète des mécanismes internes d’un ordinateur. Ce constat est préoccupant.

Par contre, d’après Dan Guido, la mise en œuvre de ces vulnérabilités pour réaliser une attaque réelle nécessite encore un travail colossal. Il est probable que seuls des attaquants très avancés (de type gouvernemental) seront en mesure de les utiliser.

Ces vulnérabilités (découvertes en 6 mois par une société disposant de moyens limités) montrent clairement qu’il y a encore beaucoup de faiblesses dans les architectures internes des ordinateurs. Et il y aura sans aucun doute dans le futur encore beaucoup de découvertes de vulnérabilités de ce type. On les qualifie souvent de « vulnérabilités matérielles ».

 

Bientôt des correctifs AMD ?

AMD a annoncé dans son communiqué de presse qu’il publierait des correctifs pour ces vulnérabilités dans les semaines à venir. Selon CTS-Labs, ce communiqué de presse essaye de minimiser la gravité des vulnérabilités trouvées, et le délai de correction sous-entendu parait irréaliste.

 

Chronologie détaillée et ressources

  • 12/03/2018 : La société israélienne CTS-Labs transmet à AMD un rapport non public décrivant en détail les 13 vulnérabilités découvertes.
     
  • 13/03/2018 : CTS-Labs rend public les vulnérabilités via un rapport (sans détails techniques) et un site web dédié : AMDflaws.com. La communauté sécurité critique fortement la communication de CTS-Labs.
     
  • 15/03/2018 : Dan Guido de la société « Trail of bits » annonce qu’il a eu accès au détail des vulnérabilités dans le cadre d’une prestation de « peer-review » commandée par CTS-Labs. Il décrit dans un article l’aspect technique des vulnérabilités. Il confirme que les vulnérabilités sont sérieuses mais pas aussi graves que pouvait le laisser penser la communication de CTS-Labs. Alex Ionescu (expert sécurité reconnu, travaillant actuellement chez CrowdStrike.com) fait en parallèle des déclarations similaires sur Twitter.
     
  •  16/03/2018 : CTS-Labs publie un document technique complémentaire baptisé « Clarifications ».
     
  •  19/03/2018 : La société Check Point publie un court communiqué indiquant qu’elle a également eu des détails sur certaines des vulnérabilités et qu’elles sont véridiques.
     
  • 20/03/2018 : AMD publie un communiqué de presse (mis à jour le 21), où elle confirme certaines des vulnérabilités et annonce la publication de correctifs dans les semaines à venir.
     
  •  21/03/2018 : CTS-Labs publie une réponse au communiqué de presse d’AMD.
Précedent Précedent Suivant Suivant Imprimer Imprimer