Post-analisi: cosa si sa dell'ultimo attacco alla rete di server di chiavi crittografiche SKS Keyserver

Gli hacker hanno sfruttato una vulnerabilità del protocollo OpenPGP, nota da oltre dieci anni.

Spieghiamo di cosa si tratta e perché non può essere risolta.

Post-analisi: cosa si sa dell'ultimo attacco alla rete di server di chiavi crittografiche SKS Keyserver
/ Unsplash / Chunlea Ju

Problemi nella rete

A metà giugno, degli sconosciuti hanno condotto un attacco a una rete di server di chiavi crittografiche SKS Keyserver, costruita sul protocollo OpenPGP. Questo è uno standard IETF (RFC 4880), utilizzato per crittografare le email e altri messaggi. La rete SKS è stata creata trent'anni fa per la distribuzione di certificati pubblici. A essa si connettono strumenti come GnuPG per crittografare dati e creare firme digitali elettroniche.

Gli hacker hanno compromesso i certificati di due maintainer del progetto GnuPG — Robert Hansen e Daniel Gillmor. Il download di un certificato compromesso dal server causa un crash di GnuPG — il sistema semplicemente si blocca. Ci sono motivi per credere che i criminali informatici non si fermeranno qui e il numero di certificati compromessi continuerà a crescere. Al momento, l'entità del problema rimane sconosciuta.

La natura dell'attacco

Gli hacker hanno sfruttato una vulnerabilità nel protocollo OpenPGP, nota alla comunità da molti anni. Anche su GitHub si possono trovare ci sono exploit corrispondenti. Ma finora nessuno ha assunto la responsabilità di chiudere la "falla" (ne parleremo nel dettaglio più avanti).

Una selezione dal nostro blog su Habr:

Secondo le specifiche di OpenPGP, chiunque può aggiungere firme digitali ai certificati per confermare il loro proprietario. Inoltre, non c'è alcun limite al numero massimo di firme. E qui si presenta un problema: la rete SKS consente di ospitare fino a 150.000 firme su un singolo certificato, ma GnuPG non supporta tale quantità. Di conseguenza, quando si carica un certificato, GnuPG (come altre implementazioni di OpenPGP) si blocca.

Uno degli utenti ha condotto un esperimento — l'importazione del certificato ha richiesto circa 10 minuti. Il certificato conteneva oltre 54.000 firme e il suo peso era di 17 MB:

$ gpg --homedir=$PWD --recv C4BC2DDB38CCE96485EBE9C2F20691179038E5C6
gpg: chiave F20691179038E5C6: 4 firme duplicate rimosse
gpg: chiave F20691179038E5C6: 54614 firme non verificate a causa di chiavi mancanti
gpg: chiave F20691179038E5C6: 4 firme riordinate
gpg: chiave F20691179038E5C6: chiave pubblica "Daniel Kahn Gillmor " importata
gpg: nessuna chiave ultimate trust trovata
gpg: Totale di chiavi elaborate: 1
gpg:               importate: 1
$ ls -lh pubring.gpg
-rw-r--r--  1 filippo  staff    17M  2 Jul 16:30 pubring.gpg

La situazione è aggravata dal fatto che i server di chiavi OpenPGP non rimuovono le informazioni sui certificati. Questo è stato fatto per poter tracciare la catena di tutti i processi con i certificati e prevenire le sostituzioni. Pertanto, non è possibile eliminare gli elementi compromessi.

In sostanza, la rete SKS funge da grande "server di file", dove chiunque può registrare dati. Per illustrare il problema, l'anno scorso un residente di GitHub ha creato un file system, che memorizza documenti in una rete di server di chiavi crittografiche.

Perché la vulnerabilità non è stata chiusa

Non c'era motivo di chiudere la vulnerabilità. Non era stata precedentemente sfruttata per condurre attacchi informatici. Sebbene la comunità IT abbia a lungo chiesto agli sviluppatori di SKS e OpenPGP di prestare attenzione al problema.

A giustizia, va notato che a giugno hanno comunque hanno lanciato un server di chiavi sperimentale keys.openpgp.org. In esso è implementata la protezione contro tali tipi di attacchi. Tuttavia, il database viene riempito da zero e il server non fa parte di SKS. Pertanto, passerà del tempo prima che possa essere utilizzato.

Post-analisi: cosa si sa dell'ultimo attacco alla rete di server di chiavi crittografiche SKS Keyserver
/ Unsplash / Rubén Bagüés

Per quanto riguarda il bug nel sistema originale, la sua correzione è ostacolata da un complesso meccanismo di sincronizzazione. La rete di server di chiavi è stata inizialmente scritta come prova di concetto per proteggere la tesi di dottorato di Yaron Minsky. Inoltre, è stata scelta una lingua piuttosto specifica, OCaml. Secondo gli esperti, i principali problemi dell'Internet delle cose sono le password facilmente indovinabili (spesso sono presenti password di fabbrica preimpostate, accessibili pubblicamente) e i firmware obsoleti dei dispositivi. In migliori dei casi, gli aggiornamenti vengono pubblicati con notevoli ritardi, nel peggiore — non vengono rilasciati affatto (a volte la possibilità di aggiornamento non è nemmeno prevista a livello tecnico). Di conseguenza, molti dispositivi IoT vengono compromessi attraverso modi banali, come vulnerabilità nell'interfaccia web. Quasi tutte queste vulnerabilità sono critiche, ma il produttore ha possibilità estremamente limitate di creare rapidamente una patch e distribuirla come aggiornamento. il manutentore Robert Hansen, è difficile districarsi nel codice, quindi vengono apportate solo piccole correzioni. Per modificare l'architettura di SKS, sarebbe necessario riscriverla da zero.

In ogni caso, in GnuPG non credono che la rete possa mai essere corretta. In un post su GitHub, gli sviluppatori hanno persino scritto che non raccomandano di lavorare con il server di chiavi SKS. In effetti, questa è una delle principali ragioni per cui hanno avviato la transizione al nuovo servizio keys.openpgp.org. Non ci rimane che osservare l'evoluzione della situazione.

Un paio di materiali dal nostro blog aziendale:

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster