Post-Analyse: Was ist über den letzten Angriff auf das Netzwerk der Krypto-Schlüsselserver SKS Keyserver bekannt?

Hacker haben eine Besonderheit des OpenPGP-Protokolls ausgenutzt, die seit über zehn Jahren bekannt ist.

Wir erläutern, worum es geht und warum sie nicht geschlossen werden kann.

Post-Analyse: Was ist über den letzten Angriff auf das Netzwerk der Krypto-Schlüsselserver SKS Keyserver bekannt?
/ Unsplash / Chunlea Ju

Probleme im Netzwerk

Mitte Juni haben Unbekannte einen Angriff durchgeführt auf ein Netzwerk von Kryptografischen Schlüsselservern SKS Keyserver, das auf dem OpenPGP-Protokoll basiert. Dies ist ein IETF-Standard (RFC 4880), der zum Verschlüsseln von E-Mails und anderen Nachrichten verwendet wird. Das SKS-Netzwerk wurde vor dreißig Jahren zur Verbreitung öffentlicher Zertifikate gegründet. Tools wie GnuPG werden verwendet, um Daten zu verschlüsseln und elektronische digitale Signaturen zu erstellen.

Hacker haben die Zertifikate von zwei Hauptverantwortlichen des GnuPG-Projekts – Robert Hansen und Daniel Gillmor – kompromittiert. Der Download des beschädigten Zertifikats vom Server führt dazu, dass GnuPG abstürzt – das System hängt einfach. Es gibt Gründe zu der Annahme, dass die Täter damit nicht aufhören werden und die Anzahl der kompromittierten Zertifikate nur zunehmen wird. Derzeit sind das Ausmaß des Problems unbekannt.

Der Kern des Angriffs

Hacker haben eine Schwachstelle im OpenPGP-Protokoll ausgenutzt. Diese ist der Gemeinschaft seit vielen Jahren bekannt. Sogar auf GitHub findet man gibt es entsprechende Exploits. Aber bisher hat niemand die Verantwortung übernommen, die „Lücke“ zu schließen (darüber werden wir später detaillierter sprechen).

Ein paar Artikel aus unserem Blog auf Habré:

Laut der OpenPGP-Spezifikation kann jeder digitale Signaturen zu Zertifikaten hinzufügen, um ihren Eigentümer zu bestätigen. Die maximale Anzahl von Signaturen ist dabei nicht reguliert. Hierbei entsteht ein Problem – das SKS-Netzwerk erlaubt bis zu 150.000 Signaturen für ein Zertifikat, aber GnuPG unterstützt eine solche Menge nicht. Daher hängt beim Laden eines Zertifikats GnuPG (wie auch andere Implementierungen von OpenPGP) sich auf.

Einer der Benutzer führte ein Experiment durch – der Import des Zertifikats dauerte ungefähr 10 Minuten. Das Zertifikat hatte über 54.000 Signaturen, und seine Größe betrug 17 MB:

$ gpg --homedir=$PWD --recv C4BC2DDB38CCE96485EBE9C2F20691179038E5C6
gpg: Schlüssel F20691179038E5C6: 4 doppelte Signaturen entfernt
gpg: Schlüssel F20691179038E5C6: 54614 Signaturen nicht geprüft wegen fehlender Schlüssel
gpg: Schlüssel F20691179038E5C6: 4 Signaturen neu angeordnet
gpg: Schlüssel F20691179038E5C6: öffentlicher Schlüssel "Daniel Kahn Gillmor " importiert
gpg: keine letztlich vertrauenswürdigen Schlüssel gefunden
gpg: Insgesamt verarbeitete: 1
gpg:               importiert: 1
$ ls -lh pubring.gpg
-rw-r--r--  1 filippo  staff    17M  2 Jul 16:30 pubring.gpg

Die Situation wird dadurch verschärft, dass OpenPGP-Schlüsselserver keine Informationen über Zertifikate löschen. Dies wurde so gestaltet, dass man die Kette aller Aktionen mit Zertifikaten nachvollziehen und deren Manipulation ausschließen kann. Daher können kompromittierte Elemente nicht entfernt werden.

Im Grunde genommen ist das SKS-Netzwerk ein großer "Dateiserver", auf den jeder, der möchte, Daten schreiben kann. Um das Problem zu veranschaulichen, hat ein Resident von GitHub ein Dateisystem, das Dokumente im Netzwerk der kryptographischen Schlüsselserver speichert, geschaffen.

Warum wurde die Schwachstelle nicht geschlossen?

Es gab keinen Anlass, die Schwachstelle zu schließen. Bisher wurde sie nicht für Hackerangriffe genutzt. Obwohl die IT-Community schon lange darum gebeten hat, dass die Entwickler von SKS und OpenPGP auf das Problem achten.

Es ist fair zu erwähnen, dass sie im Juni dennoch eine einen experimentellen Schlüsselserver keys.openpgp.org. Dort wurde ein Schutz gegen solche Arten von Angriffen implementiert. Allerdings wird seine Datenbank von Grund auf neu gefüllt, und der Server gehört nicht zum SKS. Daher wird es eine Weile dauern, bis er nutzbar sein wird.

Post-Analyse: Was ist über den letzten Angriff auf das Netzwerk der Krypto-Schlüsselserver SKS Keyserver bekannt?
/ Unsplash / Rubén Bagüés

Was den Bug im ursprünglichen System betrifft, so behindert ein komplexer Synchronisationsmechanismus dessen Behebung. Das Netzwerk der Schlüsselserver wurde ursprünglich als Proof of Concept zum Schutz der Doktorarbeit von Yaron Minsky entwickelt. Dabei wurde eine ziemlich spezifische Sprache, OCaml, gewählt. Laut Aussage dem Hauptbetreuer Robert Hansen ist es schwierig, den Code zu verstehen, weshalb lediglich kleine Anpassungen vorgenommen werden. Um die Architektur von SKS zu modifizieren, müsste sie von Grund auf neu geschrieben werden.

Auf jeden Fall glaubt man in GnuPG nicht, dass das Netzwerk jemals repariert werden kann. In einem Beitrag auf GitHub haben die Entwickler sogar geschrieben, dass sie nicht empfehlen, mit dem SKS-Keyserver zu arbeiten. Dies ist eigentlich einer der Hauptgründe, warum sie den Übergang zu dem neuen Service keys.openpgp.org initiiert haben. Wir müssen nur die weitere Entwicklung der Ereignisse beobachten.

Einige Materialien aus unserem Unternehmensblog:

Quelle: habr.com

60GB SSD 8Gb DDR4