Postanálise: o que se sabe sobre o último ataque á rede SKS Keyserver de servidores de claves criptográficas

Os hackers utilizaron unha característica do protocolo OpenPGP que se coñece desde hai máis de dez anos.

Contámosche cal é o punto e por que non poden pechalo.

Postanálise: o que se sabe sobre o último ataque á rede SKS Keyserver de servidores de claves criptográficas
/Unsplash/ Chunlea Ju

Problemas de rede

A mediados de xuño, descoñecido levou a cabo un ataque a unha rede de servidores de claves criptográficas Servidor de chaves SKS, construído sobre o protocolo OpenPGP. Este é un estándar IETF (RFC 4880), que se usa para cifrar o correo electrónico e outras mensaxes. A rede SKS creouse hai trinta anos para distribuír certificados públicos. Inclúe ferramentas como GnuPG para cifrar datos e crear sinaturas dixitais electrónicas.

Os piratas informáticos comprometeron os certificados de dous mantedores do proxecto GnuPG, Robert Hansen e Daniel Gillmor. Cargar un certificado danado do servidor fai que GnuPG falle; o sistema simplemente conxélase. Hai motivos para crer que os atacantes non se deterán aí e o número de certificados comprometidos só aumentará. Polo momento, aínda se descoñece o alcance do problema.

A esencia do ataque

Os piratas informáticos aproveitaron unha vulnerabilidade do protocolo OpenPGP. Ela é coñecida pola comunidade durante décadas. Incluso en GitHub pode atopar explotacións correspondentes. Pero ata agora ninguén asumiu a responsabilidade de pechar o "burato" (falaremos dos motivos con máis detalle máis adiante).

Un par de seleccións do noso blog sobre Habré:

Segundo a especificación OpenPGP, calquera pode engadir sinaturas dixitais aos certificados para verificar o seu propietario. Ademais, o número máximo de sinaturas non está regulado de ningún xeito. E aquí xorde un problema: a rede SKS permítelle colocar ata 150 mil sinaturas nun certificado, pero GnuPG non admite tal número. Así, ao cargar o certificado, GnuPG (así como outras implementacións de OpenPGP) conxélase.

Un dos usuarios realizou un experimento — a importación do certificado levoulle uns 10 minutos. O certificado tiña máis de 54 mil sinaturas e o seu peso 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

Para empeorar as cousas, os servidores de chaves OpenPGP non eliminan a información do certificado. Isto faise para que poida rastrexar a cadea de todas as accións con certificados e evitar a súa substitución. Polo tanto, é imposible eliminar os elementos comprometidos.

Esencialmente, a rede SKS é un gran "servidor de ficheiros" no que calquera pode escribir datos. Para ilustrar o problema, o ano pasado residente de GitHub creou un sistema de ficheiros, que almacena documentos nunha rede de servidores de claves criptográficas.

Por que non se pechou a vulnerabilidade?

Non había razón para pechar a vulnerabilidade. Anteriormente, non se usaba para ataques de hackers. Aínda que a comunidade informática preguntou durante moito tempo Os desenvolvedores de SKS e OpenPGP deberían prestar atención ao problema.

Para ser xustos, paga a pena sinalar que en xuño aínda lanzado servidor de claves experimental keys.openpgp.org. Ofrece protección contra este tipo de ataques. Non obstante, a súa base de datos está poboada desde cero e o propio servidor non forma parte de SKS. Polo tanto, levará tempo antes de que se poida usar.

Postanálise: o que se sabe sobre o último ataque á rede SKS Keyserver de servidores de claves criptográficas
/Unsplash/ Rubén Bagües

En canto ao erro no sistema orixinal, un complexo mecanismo de sincronización impide que se corrixa. A rede de servidores clave foi escrita orixinalmente como unha proba de concepto para a tese de doutoramento de Yaron Minsky. Ademais, escolleuse unha linguaxe bastante específica, OCaml, para o traballo. Por segundo Robert Hansen, o código é difícil de entender, polo que só se fan pequenas correccións. Para modificar a arquitectura de SKS, terá que ser reescrita dende cero.

En calquera caso, GnuPG non cre que a rede se arranxe nunca. Nunha publicación en GitHub, os desenvolvedores incluso escribiron que non recomendaban traballar con SKS Keyserver. En realidade, esta é unha das principais razóns polas que iniciaron a transición ao novo servizo keys.openpgp.org. Só podemos ver o desenvolvemento dos acontecementos.

Un par de materiais do noso blog corporativo:

Fonte: www.habr.com

Engadir un comentario