Nachanalyse: Was ist über den neuesten Angriff auf das SKS Keyserver-Netzwerk aus Krypto-Schlüsselservern bekannt?

Die Hacker nutzten eine seit mehr als zehn Jahren bekannte Funktion des OpenPGP-Protokolls.

Wir sagen Ihnen, worum es geht und warum sie es nicht schließen können.

Nachanalyse: Was ist über den neuesten Angriff auf das SKS Keyserver-Netzwerk aus Krypto-Schlüsselservern bekannt?
/Unsplash/ Chunlea Ju

Netzwerkprobleme

Mitte Juni, unbekannt einen Anschlag verübt an ein Netzwerk von kryptografischen Schlüsselservern SKS-Schlüsselserver, basierend auf dem OpenPGP-Protokoll. Dies ist ein IETF-Standard (RFC 4880), das zum Verschlüsseln von E-Mails und anderen Nachrichten verwendet wird. Das SKS-Netzwerk wurde vor dreißig Jahren zur Verteilung öffentlicher Zertifikate gegründet. Es umfasst Tools wie z GnuPG zum Verschlüsseln von Daten und zum Erstellen elektronischer digitaler Signaturen.

Hacker haben die Zertifikate von zwei GnuPG-Projektbetreuern, Robert Hansen und Daniel Gillmor, kompromittiert. Das Laden eines beschädigten Zertifikats vom Server führt dazu, dass GnuPG fehlschlägt – das System friert einfach ein. Es besteht Grund zu der Annahme, dass die Angreifer hier nicht aufhören werden und die Zahl der kompromittierten Zertifikate nur noch zunehmen wird. Das Ausmaß des Problems ist derzeit noch unbekannt.

Die Essenz des Angriffs

Hacker nutzten eine Schwachstelle im OpenPGP-Protokoll aus. Sie ist der Gemeinde seit Jahrzehnten bekannt. Sogar auf GitHub Sie können finden entsprechende Exploits. Bisher hat jedoch niemand die Verantwortung dafür übernommen, das „Loch“ zu schließen (über die Gründe sprechen wir später noch genauer).

Ein paar Auszüge aus unserem Blog über Habré:

Gemäß der OpenPGP-Spezifikation kann jeder Zertifikate mit digitalen Signaturen versehen, um den Besitzer zu verifizieren. Darüber hinaus ist die maximale Anzahl der Unterschriften in keiner Weise geregelt. Und hier entsteht ein Problem: Im SKS-Netzwerk können Sie bis zu 150 Signaturen auf einem Zertifikat platzieren, GnuPG unterstützt eine solche Anzahl jedoch nicht. Daher friert GnuPG (wie auch andere OpenPGP-Implementierungen) beim Laden des Zertifikats ein.

Einer der Benutzer führte ein Experiment durch — Der Import des Zertifikats dauerte etwa 10 Minuten. Das Zertifikat hatte mehr als 54 Unterschriften und war 17 MB groß:

$ 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

Erschwerend kommt hinzu, dass OpenPGP-Schlüsselserver keine Zertifikatinformationen entfernen. Dies geschieht, damit Sie die Kette aller Aktionen mit Zertifikaten nachvollziehen und deren Ersetzung verhindern können. Daher ist es unmöglich, beeinträchtigte Elemente zu entfernen.

Im Wesentlichen handelt es sich beim SKS-Netzwerk um einen großen „Dateiserver“, auf den jeder Daten schreiben kann. Um das Problem zu veranschaulichen, wurde letztes Jahr GitHub resident ein Dateisystem erstellt, das Dokumente in einem Netzwerk kryptografischer Schlüsselserver speichert.

Warum wurde die Sicherheitslücke nicht geschlossen?

Es gab keinen Grund, die Sicherheitslücke zu schließen. Bisher wurde es nicht für Hackerangriffe genutzt. Obwohl die IT-Community schon lange gefragt SKS- und OpenPGP-Entwickler sollten auf das Problem achten.

Um fair zu sein, ist es erwähnenswert, dass sie im Juni immer noch vorhanden sind gestartet experimenteller Schlüsselserver keys.openpgp.org. Es bietet Schutz vor solchen Angriffen. Die Datenbank wird jedoch von Grund auf neu befüllt und der Server selbst ist nicht Teil von SKS. Daher wird es einige Zeit dauern, bis es verwendet werden kann.

Nachanalyse: Was ist über den neuesten Angriff auf das SKS Keyserver-Netzwerk aus Krypto-Schlüsselservern bekannt?
/Unsplash/ Rubén Bagües

Was den Fehler im Originalsystem betrifft, so verhindert ein komplexer Synchronisierungsmechanismus, dass er behoben werden kann. Das Schlüsselservernetzwerk wurde ursprünglich als Proof of Concept für Yaron Minskys Doktorarbeit geschrieben. Darüber hinaus wurde für die Arbeit eine recht spezifische Sprache, OCaml, ausgewählt. Von Text Laut Betreuer Robert Hansen ist der Code schwer zu verstehen, daher werden nur geringfügige Korrekturen daran vorgenommen. Um die SKS-Architektur zu ändern, muss sie von Grund auf neu geschrieben werden.

GnuPG glaubt jedenfalls nicht, dass das Netzwerk jemals repariert wird. In einem Beitrag auf GitHub schrieben die Entwickler sogar, dass sie die Arbeit mit SKS Keyserver nicht empfehlen. Tatsächlich ist dies einer der Hauptgründe, warum sie den Übergang zum neuen Dienst „keys.openpgp.org“ eingeleitet haben. Wir können die weitere Entwicklung der Ereignisse nur beobachten.

Ein paar Materialien aus unserem Unternehmensblog:

Source: habr.com

Kommentar hinzufügen