Ils ont détecté une vulnérabilité dans AMD SEV, qui permet de déterminer les clés de chiffrement

AMD SEV

Les développeurs de l'équipe Google Cloud ont identifié une vulnérabilité (CVE-2019-9836) dans la mise en œuvre de la technologie AMD SEV (virtualisation cryptée sécurisée), ce qui peut compromettre les données protégées par cette technologie.

AMD SEV au niveau matériele fournit un chiffrement transparent de la mémoire des machines virtuelles, où seul le système invité actuel a accès aux données déchiffrées, tandis que le reste des machines virtuelles et l'hyperviseur obtiennent un ensemble de données chiffrées lorsqu'ils accèdent à cette mémoire.

Le problème identifié permet de restaurer complètement le contenu de la clé privée PDH qui est traité au niveau d'un processeur PSP (AMD Security Processor) protégé individuel qui n'est pas disponible pour le système d'exploitation principal.

En ayant la clé PDH, l'attaquant peut restaurer la clé de session et la séquence secrète spécifié lors de la création de la machine virtuelle et de l'accès aux données chiffrées.

La vulnérabilité est due à des failles dans la mise en œuvre des courbes elliptiques (ECC) utilisé pour le cryptage, qui permet à une attaque de restaurer les paramètres de la courbe.

Lors de l'exécution de la commande de démarrage de la machine virtuelle protégée, l'attaquant peut envoyer des paramètres de courbe qui ne correspondent pas aux paramètres recommandés par le NIST, ce qui conduira à l'utilisation de valeurs de point de poids faible dans les opérations de multiplication avec des données de Clé privée.

L'implémentation de la courbe elliptique (ECC) de SEV s'est avérée vulnérable aux attaques de courbes invalides. À la commande boot start, un attaquant peut envoyer

Les points ECC de petit ordre ne sont pas dans les courbes officielles du NIST, et ils forcent le firmware SEV à multiplier un petit point de commande par le DH privé du firmware scalaire.

En collectant suffisamment de déchets modulaires, un attaquant peut récupérer la clé privée PDH complète. Avec PDH, un attaquant peut récupérer la clé de session et lancer le secret de la machine virtuelle. Cela brise les garanties de confidentialité offertes par SEV.

La sécurité du protocole ECDH dépend directement de l'ordre du point de départ généré de la courbe, dont le logarithme discret est une tâche très complexe.

Dans l'une des étapes d'initialisation de l'environnement AMD SEV, les paramètres obtenus de l'utilisateur sont utilisés dans les calculs avec une clé privée.

En substance, l'opération de multiplication de deux points est effectuée, dont l'un correspond à la clé privée.

Si le deuxième point se réfère à des nombres premiers d'ordre inférieur, alors l'attaquant peut déterminer les paramètres du premier point (les bits du modulo utilisé dans l'opération modulo d'exponentiation) en listant toutes les valeurs possibles. Des fragments sélectionnés de nombres premiers peuvent être combinés pour déterminer la clé privée en utilisant le théorème chinois sur les résidus.

Une attaque de courbe invalide est où la multiplication des points ECDH est effectuée sur une courbe différente - différents paramètres (a, b). Ceci est rendu possible par la courte fonction de somme des points de Weierstrass puisque le paramètre "b" n'est pas utilisé.

Sur cette courbe, le point a un petit ordre primaire. En essayant toutes les valeurs possibles pour le petit point d'ordre, un attaquant peut récupérer les bits scalaires privés (moduler l'ordre).

Les plates-formes de serveur AMD EPYC utilisant le micrologiciel SEV jusqu'à la version 0.17 build 11 posent un problème.

AMD a déjà publié une mise à jour du firmware, qui a ajouté un verrou sur l'utilisation de points qui ne correspondent pas à la courbe NIST.

Dans le même temps, les certificats générés précédemment pour les clés PDH restent valides, ce qui permet à un attaquant de mener une attaque sur la migration de la machine virtuelle depuis les environnements protégés contre la vulnérabilité vers ceux qui sont soumis au problème.

La possibilité d'effectuer une attaque de retour arrière sur la version du firmware de la version vulnérable précédente est également mentionnée, mais cette fonction n'a pas encore été confirmée.

source: https://seclists.org/


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.