Postanàlisi: què se sap de l'últim atac a la xarxa de servidors de clau criptogràfica SKS Keyserver

Els pirates informàtics van utilitzar una característica del protocol OpenPGP que es coneix des de fa més de deu anys.

Us expliquem quin és el punt i per què no poden tancar-lo.

Postanàlisi: què se sap de l'últim atac a la xarxa de servidors de clau criptogràfica SKS Keyserver
/Unsplash/ Chunlea Ju

Problemes de xarxa

A mitjans de juny, desconegut va dur a terme un atac a una xarxa de servidors de claus criptogràfiques Servidor de claus SKS, basat en el protocol OpenPGP. Aquest és un estàndard IETF (RFC 4880), que s'utilitza per xifrar el correu electrònic i altres missatges. La xarxa SKS es va crear fa trenta anys per distribuir certificats públics. Inclou eines com ara GnuPG per xifrar dades i crear signatures digitals electròniques.

Els pirates informàtics van comprometre els certificats de dos mantenedors del projecte GnuPG, Robert Hansen i Daniel Gillmor. Carregar un certificat danyat des del servidor fa que GnuPG falli; el sistema simplement es congela. Hi ha raons per creure que els atacants no s'aturaran aquí, i el nombre de certificats compromesos només augmentarà. De moment, es desconeix l'abast del problema.

L'essència de l'atac

Els pirates informàtics van aprofitar una vulnerabilitat del protocol OpenPGP. Fa dècades que és coneguda per la comunitat. Fins i tot a GitHub pot trobar explotacions corresponents. Però fins ara ningú s'ha encarregat de tancar el "forat" (més endavant parlarem dels motius amb més detall).

Un parell de seleccions del nostre blog a Habré:

Segons l'especificació OpenPGP, qualsevol persona pot afegir signatures digitals als certificats per verificar el seu propietari. A més, el nombre màxim de signatures no està regulat de cap manera. I aquí sorgeix un problema: la xarxa SKS us permet col·locar fins a 150 mil signatures en un certificat, però GnuPG no admet aquest nombre. Així, quan es carrega el certificat, GnuPG (així com altres implementacions d'OpenPGP) es bloqueja.

Un dels usuaris va realitzar un experiment — importar el certificat li va trigar uns 10 minuts. El certificat tenia més de 54 mil signatures i el seu pes era de 17 MB:

$ 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

Per empitjorar les coses, els servidors de claus OpenPGP no eliminen la informació del certificat. Això es fa perquè pugueu rastrejar la cadena de totes les accions amb certificats i evitar la seva substitució. Per tant, és impossible eliminar els elements compromesos.

Essencialment, la xarxa SKS és un gran "servidor de fitxers" al qual qualsevol pot escriure dades. Per il·lustrar el problema, l'any passat resident a GitHub va crear un sistema de fitxers, que emmagatzema documents en una xarxa de servidors de claus criptogràfiques.

Per què no es va tancar la vulnerabilitat?

No hi havia cap motiu per tancar la vulnerabilitat. Anteriorment, no s'utilitzava per a atacs de pirates informàtics. Encara que la comunitat informàtica va demanar durant molt de temps Els desenvolupadors de SKS i OpenPGP haurien de prestar atenció al problema.

Per ser justos, val la pena assenyalar que al juny encara llançat servidor de claus experimental keys.openpgp.org. Proporciona protecció contra aquest tipus d'atacs. Tanmateix, la seva base de dades s'omple des de zero i el servidor en si no forma part de SKS. Per tant, passarà temps abans que es pugui utilitzar.

Postanàlisi: què se sap de l'últim atac a la xarxa de servidors de clau criptogràfica SKS Keyserver
/Unsplash/ Rubén Bagües

Pel que fa a l'error del sistema original, un complex mecanisme de sincronització impedeix que es solucioni. La xarxa de servidors clau es va escriure originalment com a prova de concepte per a la tesi doctoral de Yaron Minsky. A més, es va triar un llenguatge força específic, OCaml, per al treball. Per segons Robert Hansen, el codi és difícil d'entendre, de manera que només se li fan correccions menors. Per modificar l'arquitectura SKS, s'haurà de reescriure des de zero.

En qualsevol cas, GnuPG no creu que la xarxa s'arregli mai. En una publicació a GitHub, els desenvolupadors fins i tot van escriure que no recomanen treballar amb SKS Keyserver. De fet, aquesta és una de les principals raons per les quals van iniciar la transició al nou servei keys.openpgp.org. Només podem veure el desenvolupament posterior dels esdeveniments.

Un parell de materials del nostre bloc corporatiu:

Font: www.habr.com

Afegeix comentari