Marvin Attack, une attaque de cracking RSA basée sur le temps

Attaque de Marvin

Marvin est le retour d'une vulnérabilité vieille de 25 ans qui permet les opérations de signature et de décryptage RSA

Pendant ESORICS 2023 (European Symposium on Computer Security Research) qui s'est tenu du 25 au 29 septembre aux Pays-Bas, un chercheur en sécurité qui travaille pour Red Hat, a présenté "Marvin Attack", une technique d'attaque qui permet de déterminer les données originales en mesurant les délais lors des opérations décryptage basé sur l’algorithme RSA.

Marvin attaque, Il s'agit d'une variante de la méthode Bleichenbacher, proposée en 1998., et poursuit le développement des attaques ROBOT et New CAT publiées en 2017 et 2019.

L'attaque Marvin est le retour d'une vulnérabilité vieille de 25 ans qui permet d'effectuer des opérations de signature et de décryptage RSA en tant qu'attaquant avec la possibilité d'observer uniquement l'heure de l'opération de décryptage effectuée avec la clé privée.

En 1998, Daniel Bleichenbacher a découvert que les messages d'erreur fournis par les serveurs SSL pour les erreurs de remplissage PKCS #1 v1.5 permettaient une attaque de texte chiffré choisi de manière adaptative ; Cette attaque brise complètement la confidentialité de TLS lorsqu'elle est utilisée avec le cryptage RSA. En 2018, Hanno Böck, Juraj Somorovsky et Craig Young ont démontré 19 ans plus tard que de nombreux serveurs Internet étaient encore vulnérables à de légères variantes de l'attaque initiale.

Fondamentalement, il est mentionné que l'essence de la méthode est que un attaquant, basé sur différentes réactions du serveur et des temps d'exécution différents, peut séparer les blocs Oracle corrects et incorrects Ajouté avec la norme PKCS #1 v1.5 pour aligner les données cryptées le long de la limite du bloc. En manipulant les informations sur l'exactitude des blocs de remplissage, un attaquant peut utiliser la force brute pour recréer un texte chiffré approprié.

Dans ce cas, l’attaque ne récupère pas directement la clé privée, mais décrypte uniquement le texte. cryptage ou générer un faux message signé. Pour mener à bien une attaque, il est nécessaire d’envoyer un très grand volume de messages de test à décrypter.

Utiliser une attaque contre des serveurs TLS utilisant le cryptage basé sur des clés RSA permet à l'attaquant de stocker passivement le trafic intercepté puis de le décrypter. Pour les serveurs prenant en charge PFS, mener une attaque devient beaucoup plus difficile et le succès dépend de la rapidité avec laquelle l'attaque est menée.

En outre, le procédé permet de générer une signature numérique fictive qui vérifie le contenu des messages TLS 1.2 ServerKeyExchange ou des messages TLS 1.3 CertificateVerify transmis lors de l'étape d'échange de clés, qui peuvent être utilisés pour effectuer des attaques MITM pour intercepter la connexion TLS entre le client et le serveur.

Il est mentionné que la différence entre la méthode Marvin est réduit à un Technologie améliorée pour séparer les données incrémentielles correctes et incorrectes, filtrez les faux positifs, déterminez plus précisément les délais de calcul et utilisez des canaux tiers supplémentaires pendant la mesure.

En pratique, la méthode proposée permet de décrypter le trafic ou de générer des signatures numériques sans connaître la clé privée RSA. Pour tester l'applicabilité de l'attaque, un script spécial de vérification des serveurs TLS et des outils d'identification des problèmes dans les bibliothèques ont été publiés.

Le problème affecte plusieurs implémentations de protocoles qui utilisent RSA et PKCS. Bien que les bibliothèques cryptographiques modernes contiennent une certaine protection contre les attaques basées sur la méthode Bleichenbacher, une étude a révélé que les bibliothèques ont des canaux de fuite ouverts et ne fournissent pas un temps de traitement constant pour les paquets correctement et incorrectement remplis. Par exemple, la mise en œuvre par Marvin de l'attaque GnuTLS n'est pas liée au code qui effectue directement des calculs liés à RSA, mais utilise plutôt des environnements d'exécution différents pour le code qui décide d'afficher ou non un message d'erreur particulier.

L'auteur de l'étude estime également que la classe de vulnérabilités considérée ne se limite pas à RSA et peut affecter de nombreux autres algorithmes cryptographiques qui dépendent de bibliothèques standards pour les calculs d'entiers.

Pour confirmer la possibilité de réaliser l'attaque Marvin en pratique, le chercheur a démontré l'applicabilité de la méthode aux applications basées sur les bibliothèques M2Crypto et pyca/cryptographie, dans lesquelles quelques heures suffisaient pour compromettre le cryptage en menant une expérience sur un ordinateur. ordinateur portable moyen.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans la lien suivant


Ajouter comme source préférée dans Google