Warnungen vor der Verwundbarkeit von Hash-Funktionen
24. Juni 2020Hash-Algorithmen (SHA) ermöglichen die Bestimmung der Integrität einer Nachricht: jede Änderung an einer Nachricht führt mit sehr hoher Wahrscheinlichkeit zu einem anderen Nachrichten-Digest. Dies führt zu einem Verifizierungsfehler, wenn der sichere Hash-Algorithmus mit einem Algorithmus für digitale Signaturen oder einem Authentifizierungsalgorithmus für verschlüsselte Hash-Nachrichten verwendet wird.
Hash-Algorithmen werden zur Berechnung einer komprimierten Darstellung von elektronischen Daten (Nachricht) verwendet. Nach dem Standard NIST FIPS 180-4 werden Hash-Algorithmen als sicher bezeichnet, wenn es für einen bestimmten Algorithmus rechnerisch nicht möglich ist, eine Nachricht zu finden, die einem bestimmten Nachrichten-Digest entspricht, oder zwei verschiedene Nachrichten zu finden, die denselben Nachrichten-Digest erzeugen.
Leider können selbst als sicher eingestufte Hash-Algorithmen missbraucht werden. Ein Hash-Funktionsangriff ist ein Versuch, zwei Eingabezeichenfolgen einer Hash-Funktion zu finden, die dasselbe Hash-Ergebnis erzeugen. Eine Kollision tritt auf, wenn zwei verschiedene Datenteile – ein Dokument, eine Binärdatei oder ein Website-Zertifikat – denselben Hash auf denselben Digest erzeugen.
In der Praxis sollte es bei sicheren Hash-Funktionen niemals zu Kollisionen kommen. Wenn der Hash-Algorithmus jedoch einige Mängel aufweist, wie SHA-1, kann ein Angreifer eine Kollision verursachen. Der Angreifer könnte diese Kollision dann dazu benutzen, Systeme, die sich auf Hashes verlassen, so zu täuschen, dass sie eine bösartige Datei anstelle ihres gutartigen Gegenstücks akzeptieren. Zum Beispiel zwei Versicherungsverträge mit drastisch unterschiedlichen Bedingungen.
Eine Frage der Wahrscheinlichkeiten
Die Wahrscheinlichkeit eines Kollisionsangriffs ist extrem gering, insbesondere bei Funktionen mit einer großen Ausgabegröße wie langen und weit verbreiteten Dokumentformaten oder Protokollen, aber mit zunehmender verfügbarer Rechenleistung wird die Fähigkeit zum Angriff auf Hash-Funktionen immer realistischer. Es gab bereits Sicherheitsvorfälle, die sich darauf zurückführen ließen.
Google gab beispielsweise bekannt, dass ein Forscherteam des CWI-Instituts in Amsterdam und aus den eigenen Reihen erfolgreich einen Angriff auf den SHA-1-Hash-Algorithmus demonstriert haben, indem sie zwei Dateien mit dem gleichen Hash-Wert erstellt haben. Die Arbeit des CWI – Google-Teams ist der Höhepunkt von mehr als einem Jahrzehnt Forschung über den SHA-1-Algorithmus, beginnend mit dem bahnbrechenden Papier von Xiaoyun Wang, Yiqun Lisa Yin und Hongbo Yu aus dem Jahr 2005.
Dort werden die ersten kryptoanalytischen Techniken beschrieben, die in der Lage sind, Kollisionen mit viel weniger Aufwand als mit „Brute Force“ zu finden. Kryptographen auf der ganzen Welt haben diese Techniken seitdem immer weiter verbessert. Den Forschern Gaëtan Leurent und Thomas Peyrin gelang es letztes Jahr, einen Kollisionsangriff auf die Hashfunktion SHA-1 zu demonstrieren. Im Vergleich zu früheren Angriffen, konnten sie bei ihrem Chosen-Prefix-Angriff einen Teil des Inhalts, nämlich das „Präfix“ der Datensätze frei bestimmen. Sie nutzten diese Möglichkeit, um zwei unterschiedliche PGP-Keys mit identischer (kollidierender) Signatur zu erzeugen.
Bessere Algorithmen sind gefragt
Wenn es sich bei der „bösartigen“ Datei um Malware oder ein gefälschtes Dokument handelt, wie ein Zertifikat, das die Authentizität einer Website garantieren soll, könnte ein Angreifer ihre Malware oder ihre gefälschte Website von jedem System vertrauen lassen, das SHA-1-Hashes zur Überprüfung überprüft. Ein weiterer Anwendungsfall könnte sein, dass eine Malware-Datei denselben Hash wie eine legitime Datei oder eine vertrauenswürdige Anwendung hat und sich auf der Whitelist eintragen lässt, wodurch einem Computer Privilegien gewährt werden.
Unternehmen müssen sich gegen solche Angriffe wappnen und dringend auf bessere Verschlüsselungen als SHA-1 umsteigen. Darüber hinaus sollten sie Lösungen implementieren, die automatisch alle Maschinenidentitäten ersetzen, nachdem sie entdeckt wurden und deren Verhalten merkwürdig erscheint. Der schnelle Austausch von Maschinenidentitäten ist der zuverlässigste Weg, IT-Systeme vor Kollisionsangriffen und ähnlichen sowie deren Folgen zu schützen.
Emil Hanscom ist Produktspezialist bei Venafi.