Des hackers ont exploité une vulnérabilité du protocole OpenPGP, connue depuis plus de dix ans.
Nous expliquons en quoi consiste le problĂšme et pourquoi il ne peut pas ĂȘtre rĂ©solu.
/ Unsplash /
ProblÚmes dans le réseau
à la mi-juin, des inconnus contre un réseau de serveurs de clés cryptographiques , basé sur le protocole OpenPGP. C'est une norme de l'IETF (), qui est utilisée pour chiffrer les courriers électroniques et d'autres messages. Le réseau SKS a été créé il y a trente ans pour la distribution de certificats publics. Des outils tels que sont connectés pour le chiffrement des données et la création de signatures numériques électroniques.
Les hackers ont compromis les certificats de deux mainteneurs du projet GnuPG â Robert Hansen et Daniel Gillmor. Le tĂ©lĂ©chargement d'un certificat compromis depuis le serveur entraĂźne un Ă©chec du fonctionnement de GnuPG â le systĂšme se fige simplement. On peut craindre que les malfaiteurs ne s'arrĂȘtent pas lĂ , et que le nombre de certificats compromis ne fasse qu'augmenter. Ă l'heure actuelle, l'ampleur du problĂšme reste inconnue.
Essence de l'attaque
Les hackers ont profitĂ© d'une vulnĂ©rabilitĂ© dans le protocole OpenPGP. Celle-ci est connue de la communautĂ© depuis plusieurs dĂ©cennies. MĂȘme sur GitHub il existe des exploits correspondants. Mais jusqu'Ă prĂ©sent, personne n'a pris la responsabilitĂ© de clore cette « fuite » (nous parlerons plus en dĂ©tail des raisons plus loin).
Voici 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 confirmer leur propriĂ©taire. De plus, le nombre maximum de signatures n'est pas rĂ©glementĂ©. Et ici se pose un problĂšme â le rĂ©seau SKS permet de stocker jusqu'Ă 150 000 signatures sur un certificat, mais GnuPG ne supporte pas un tel nombre. Ainsi, lors du tĂ©lĂ©chargement d'un certificat GnuPG (comme d'autres implĂ©mentations d'OpenPGP), celui-ci se bloque.
Un utilisateur â l'importation du certificat lui a pris environ 10 minutes. Le certificat contenait plus de 54 000 signatures et son poids Ă©tait de 17 Mo :
$ gpg --homedir=$PWD --recv C4BC2DDB38CCE96485EBE9C2F20691179038E5C6
gpg: clé F20691179038E5C6 : 4 signatures dupliquées supprimées
gpg: clé F20691179038E5C6 : 54614 signatures non vérifiées en raison de clés manquantes
gpg: clé F20691179038E5C6 : 4 signatures réorganisées
gpg: clé F20691179038E5C6 : clé publique "Daniel Kahn Gillmor " importée
gpg: aucune clé finalement de confiance trouvée
gpg: Total traité : 1
gpg: importé : 1
$ ls -lh pubring.gpg
-rw-r--r-- 1 filippo staff 17M 2 juil. 16:30 pubring.gpg
La situation est aggravée par le fait que les serveurs de clés OpenPGP ne suppriment pas les informations sur les certificats. Cela a été fait pour pouvoir retracer la chaßne de toutes les actions effectuées avec les certificats et exclure leur substitution. Il n'est donc pas possible de supprimer les éléments compromis.
Essentiellement, le réseau SKS représente un grand « serveur de fichiers » sur lequel quiconque peut écrire des données. Pour illustrer le problÚme, l'année derniÚre un résident de GitHub , qui stocke des documents dans un réseau de serveurs de clés cryptographiques.
Pourquoi la vulnérabilité n'a-t-elle pas été corrigée ?
Il n'y avait pas de raison de corriger la vulnĂ©rabilitĂ©. Auparavant, elle n'avait pas Ă©tĂ© utilisĂ©e pour mener des attaques de hackers. Bien que la communautĂ© informatique aux dĂ©veloppeurs de SKS et OpenPGP de prĂȘter attention au problĂšme.
Pour ĂȘtre juste, il convient de noter qu'en juin, ils ont tout de mĂȘme un serveur de clĂ©s expĂ©rimental . Celui-ci implĂ©mente une protection contre ce type d'attaques. Cependant, sa base de donnĂ©es est remplie Ă partir de zĂ©ro et le serveur n'est pas une partie de SKS. Il faudra donc du temps avant de pouvoir l'utiliser.

/ Unsplash /
En ce qui concerne le bogue dans le systÚme original, sa correction est compliquée par un mécanisme de synchronisation complexe. Le réseau de serveurs de clés avait été initialement écrit comme une preuve de concept pour la protection de la thÚse de doctorat de Yaron Minsky. De plus, un langage assez spécifique, OCaml, a été choisi pour son fonctionnement. Selon le mainteneur Robert Hansen, il est difficile de comprendre le code, donc seules de petites corrections y sont apportées. Pour modifier l'architecture de SKS, il faudra la réécrire depuis le début.
Quoi qu'il en soit, dans GnuPG, ils ne croient pas que le rĂ©seau pourra un jour ĂȘtre corrigĂ©. Dans un post sur GitHub, les dĂ©veloppeurs ont mĂȘme Ă©crit qu'ils ne recommandent pas de travailler avec le serveur de clĂ©s SKS. En fait, c'est l'une des principales raisons pour lesquelles ils ont initiĂ© la transition vers le nouveau service keys.openpgp.org. Nous ne pouvons qu'observer l'Ă©volution des Ă©vĂ©nements.
Un couple de matériaux de notre blog d'entreprise :
Source : habr.com
