Vigil@nce - GnuPG, Libgcrypt : lecture de clé privée via L3 flush+reload
août 2013 par Vigil@nce
Ce bulletin a été rédigé par Vigil@nce : http://vigilance.fr/offre
SYNTHÈSE DE LA VULNÉRABILITÉ
Un attaquant local peut accéder au cache L3 du processeur, afin de
lire 98% de la clé privée utilisée par GnuPG.
Produits concernés : Debian, Fedora, GnuPG, MBS, MES, openSUSE,
Slackware, Unix (plateforme)
Gravité : 2/4
Date création : 25/07/2013
DESCRIPTION DE LA VULNÉRABILITÉ
Un processeur possède plusieurs niveaux de cache : L1 (rapide), L2
et L3 (lent).
Lorsque GnuPG effectue une opération avec une clé privée RSA, il
utilise l’algorithme "square and multiply" (élévation au carré et
multiplication) pour calculer l’exponentiation. Cet algorithme
effectue des opérations bit à bit.
Un programme illicite peut mesurer le temps d’accès au cache L3,
afin de détecter si GnuPG a effectué une opération élémentaire de
l’algorithme "square and multiply". Il peut alors en déduire si le
bit courant de la clé privée vaut 0 ou 1, avec un niveau de
fiabilité élevé.
Un attaquant local peut donc accéder au cache L3 du processeur,
afin de lire 98% de la clé privée utilisée par GnuPG.
ACCÈS AU BULLETIN VIGIL@NCE COMPLET
http://vigilance.fr/vulnerabilite/GnuPG-Libgcrypt-lecture-de-cle-privee-via-L3-flush-reload-13167