Une faille de sécurité critique est découverte dans les processeurs EPYC d’AMD

La Secure Encrypted Virtualization Technology (SEV), ou technologie de virtualisation sécurisée par chiffrement, est une fonctionnalité des processeurs EPYC d’AMD, qui permet d’isoler les machines virtuelles les unes des autres, et de l’hyperviseur.

Chaque machine virtuelle hôte possède sa propre clé de chiffrement, qui est directement utilisé par le processeur pour chiffrer et déchiffrer, de façon transparente et à la volée, la mémoire vive qui lui est attribuée.

C’est ce qui autorise des fournisseurs d’informatique en nuage  à assurer à leurs clients que personne ne peut trafiquer une de leur machine virtuelle, quand elle tourne sur un serveur à processeurs EPYC.

Cfir Cohen, un ingénieur de l’équipe de sécurité de Google Cloud, a toutefois découvert une faille de sécurité.

La façon dont le processeur traite les courbes elliptiques est fausse, et le laisse à la merci d’une attaque par courbe invalide. Au lieu d’utiliser la courbe elliptique correcte, un pirate peut choisir un paramètre qui lui permet de calculer facilement toutes les possibilités afin de récupérer les bits d’un nombre modulo son ordre.

En répétant l’opération suffisamment et en utilisant le théorème des restes chinois, un attaquant peut recouvrer entièrement une clé privée.

AMD a publié un correctif de sécurité qu’il faut appliquer aux serveurs dont la version du micrologiciel du SEV est 0.17 build 11 ou inférieure.

Il ne suffit pas d’installer le correctif, il faut redémarrer le serveur pour éviter tout risque.