Les pirates ont utilisé une fonctionnalité du protocole OpenPGP connue depuis plus de dix ans.
Nous vous expliquons quel est l’intérêt et pourquoi ils ne peuvent pas le fermer.
/Unsplash/
Problèmes de réseau
À la mi-juin, inconnu
Les pirates ont compromis les certificats de deux responsables du projet GnuPG, Robert Hansen et Daniel Gillmor. Le chargement d'un certificat corrompu depuis le serveur entraîne l'échec de GnuPG : le système se bloque tout simplement. Il y a des raisons de croire que les attaquants ne s’arrêteront pas là et que le nombre de certificats compromis ne fera qu’augmenter. Pour l’instant, l’ampleur du problème reste inconnue.
L'essence de l'attaque
Les pirates ont profité d'une vulnérabilité du protocole OpenPGP. Elle est connue de la communauté depuis des décennies. Même sur GitHub
Quelques sélections de notre blog sur Habré :
Selon la spécification OpenPGP, n'importe qui peut ajouter des signatures numériques aux certificats pour vérifier leur propriétaire. De plus, le nombre maximum de signatures n’est en aucun cas réglementé. Et ici, un problème se pose : le réseau SKS vous permet de placer jusqu'à 150 XNUMX signatures sur un certificat, mais GnuPG ne prend pas en charge un tel nombre. Ainsi, lors du chargement du certificat, GnuPG (ainsi que d'autres implémentations d'OpenPGP) se bloque.
Un des utilisateurs
$ gpg --homedir=$PWD --recv C4BC2DDB38CCE96485EBE9C2F20691179038E5C6
gpg: key F20691179038E5C6: 4 duplicate signatures removed
gpg: key F20691179038E5C6: 54614 signatures not checked due to missing keys
gpg: key F20691179038E5C6: 4 signatures reordered
gpg: key F20691179038E5C6: public key "Daniel Kahn Gillmor <[email protected]>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
$ ls -lh pubring.gpg
-rw-r--r-- 1 filippo staff 17M 2 Jul 16:30 pubring.gpg
Pour aggraver les choses, les serveurs de clés OpenPGP ne suppriment pas les informations de certificat. Ceci est fait pour que vous puissiez retracer la chaîne de toutes les actions avec les certificats et empêcher leur substitution. Il est donc impossible d’éliminer les éléments compromis.
Essentiellement, le réseau SKS est un grand « serveur de fichiers » sur lequel n'importe qui peut écrire des données. Pour illustrer le problème, résident GitHub de l'année dernière
Pourquoi la vulnérabilité n'a-t-elle pas été fermée ?
Il n’y avait aucune raison de fermer la vulnérabilité. Auparavant, il n’était pas utilisé pour les attaques de pirates. Bien que la communauté informatique
Pour être honnête, il convient de noter qu'en juin, ils
/Unsplash/
Quant au bug du système d’origine, un mécanisme de synchronisation complexe empêche sa correction. Le réseau de serveurs clés a été initialement écrit comme preuve de concept pour la thèse de doctorat de Yaron Minsky. De plus, un langage assez spécifique, OCaml, a été choisi pour les travaux. Par
Quoi qu’il en soit, GnuPG ne croit pas que le réseau sera un jour réparé. Dans un article sur GitHub, les développeurs ont même écrit qu'ils ne recommandaient pas de travailler avec SKS Keyserver. En fait, c'est l'une des principales raisons pour lesquelles ils ont initié la transition vers le nouveau service key.openpgp.org. Nous ne pouvons qu'observer l'évolution des événements.
Quelques documents de notre blog d'entreprise :
Source: habr.com