Von: Conrado Gouvêa

Am 23. Februar wurde die Berechnung der ersten Kollision der SHA-1-Hash-Funktion in einer Arbeit von Forschern von Google und dem Forschungszentrum CWI Amsterdam bekannt gegeben. Dieser Beitrag enthält eine kurze Erläuterung der Hash-Funktionen und von SHA-1, um die Auswirkungen dieser Neuigkeit zu verstehen.

Hash-Funktionen

Eine Hash-Funktion ist ein Mechanismus, der aus einem beliebigen Datensatz (z. B. einer Datei) einen „kryptografischen Digest“ berechnet: eine kurze Bytefolge, die diese Daten eindeutig identifiziert. Es wird beispielsweise bei digitalen Signaturen verwendet: Anstatt ein Dokument direkt zu signieren (was aufgrund der Einschränkungen des Signaturschemas, das keine sehr großen Datenmengen akzeptiert, nicht möglich ist), wird sein Hash berechnet und dann signiert. Dieser Ansatz ist sicher, solange die Hash-Funktion sicher ist. Das heißt, es ist schwierig, verschiedene Dokumente mit demselben Hash zu generieren (Kollisionsangriff), und es ist schwierig, ein Dokument mit einem bestimmten Hash zu finden (Inversionsangriff). Ein Kollisionsangriff würde es einem Angreifer beispielsweise ermöglichen, einen von Ihnen digital unterzeichneten Vertrag gegen einen anderen Vertrag mit anderen Bedingungen auszutauschen.

Angriffe auf Hash-Funktionen

Es ist immer möglich, einen Kollisionsangriff mit roher Gewalt durchzuführen. Beispielsweise kann eine Kollision in einer Hash-Funktion mit der Größe 256 Bit mit 2^128 Berechnungen durch Brute-Force-Methoden gelöst werden. Allerdings handelt es sich hierbei um eine gigantische Zahl und eine solche Berechnung ist völlig unmöglich. SHA-1 ist 160 Bit lang, daher erfordert der Brute-Force-Angriff 2^80 Berechnungen. Ein solcher Aufwand ist, obwohl viel geringer, immer noch nicht durchführbar.

Im Jahr 2007 wurde ein Kollisionsangriff gegen SHA-1 entdeckt, der 2^69 Berechnungen erfordert. In der Kryptographie wird ein Schema im Allgemeinen als unsicher angesehen, wenn ein effizienterer Angriff als Brute-Force-Angriff gefunden wird. Allerdings waren zu diesem Zeitpunkt nicht genügend Ressourcen vorhanden, um den Angriff tatsächlich auszuführen, und es blieb bei einem theoretischen Angriff. Aus diesem Grund wurde SHA-1 trotz Warnungen von Forschern weiterhin in vielen Anwendungen verwendet, dass eine Migration auf andere Hash-Funktionen wie SHA-256 oder SHA-512 notwendig sei, für die kein besserer Angriff als Brute-Force bekannt ist und bei denen Brute-Force-Angriffe völlig unmöglich sind.

Dies bringt uns in die Gegenwart, wo die oben genannten Forscher theoretische Fortschritte (Verringerung der Komplexität des Angriffs auf 2^63 Berechnungen) und technologische Fortschritte (eine große Anzahl von CPUs und GPUs in der Infrastruktur von Google) kombinierten und schließlich in der Lage waren, den Angriff in die Praxis umzusetzen und dabei zwei PDF-Dateien mit demselben SHA-1-Hash zu generieren. Für die Berechnungen waren 6500 CPUs und 110 GPUs erforderlich, die ein Jahr lang ununterbrochen arbeiten.

MD5

Um den Ablauf der Ereignisse im Zusammenhang mit SHA-1 zu verstehen, lohnt es sich, die Geschichte von MD5 in Erinnerung zu rufen, der 128-Bit-Hash-Funktion, die der Vorgänger von SHA-1 war. Im Jahr 2004 wurde ein Kollisionsangriff entdeckt, der jedoch theoretisch blieb. Im Jahr 2005 führten Forscher den Angriff in der Praxis durch und generierten zwei Zertifikate mit demselben Hash. Allerdings war der Angriff weiterhin eingeschränkt und die Zertifikate unterschieden sich lediglich im öffentlichen Schlüssel, was in der Praxis keine Angriffe zuließ. Im Jahr 2008 wurde ein verbesserter Angriff bekannt, bei dem es möglich war, zwei Zertifikate mit demselben Hash zu generieren, ein legitimes und ein bösartiges, und dieses bösartige Zertifikat war in der Lage, jedes andere Zertifikat auszustellen. Schließlich wurde 2012 die Schadsoftware Flame entdeckt, die mithilfe von MD5-Kollisionen Computer in Netzwerken im Nahen Osten infizierte, indem sie den Windows Update-Mechanismus kompromittierte.

Selbst 7 Jahre nach der ersten Kollisionsberechnung (wo wir jetzt mit SHA-1 sind) war es also immer noch möglich, Angriffe gegen MD5 durchzuführen, da es immer noch von vielen Systemen akzeptiert wurde. Daher kann man davon ausgehen, dass SHA-1 noch eine ganze Weile im Einsatz bleiben und in den kommenden Jahren aktiv angegriffen werden wird. Es wird jedoch erwartet, dass die aus MD5 gewonnenen Erkenntnisse die Reaktionszeit für Entwickler verkürzen werden.

Implikationen

Wie bereits erwähnt, können Anwendungen für digitale Signaturen durch die Fälschung von Dokumenten mit gültigen Signaturen angegriffen werden. Die SHA-1-Kollisionsdemonstration nutzt die Formbarkeit des PDF-Formats, um aus zwei beliebigen Bildern zwei PDF-Dokumente mit demselben SHA-1 zu generieren und dabei eine einzelne Kollision auszunutzen. Damit steht bereits ein Online-PDF-Kollisionsgenerator zur Verfügung: https://alf.nu/SHA1.

In der Infrastruktur für digitale Zertifikate sind die Auswirkungen aufgrund der technischen Beschränkungen des Angriffs jedoch nicht unmittelbar: Er kann eine Kollision zwischen zwei Dokumenten mit demselben Präfix und Suffix erzeugen, die sich nur in zwei internen Datenblöcken unterscheiden. Um Zertifikate anzugreifen, ist ein Angriff erforderlich, der beliebige Präfixe zulässt. Es ist jedoch eine Frage der Zeit, bis der Angriff perfektioniert ist.

Aktuelle Verwendung von SHA-1

Einerseits sind viele Anwendungen aufgrund des Wissens um die Sicherheitslücke bereits von SHA-1 migriert. Ein wichtiger Faktor bei dieser Migration war die Entscheidung der Browserentwickler (Chrome, Firefox, Edge), Verbindungen, die SHA-1 verwenden, nicht als sicher zu kennzeichnen. Aus diesem Grund verwendet derzeit keine der eine Million beliebtesten Websites SHA-1. (https://www.trustworthyinternet.org/ssl-pulse/)

Andererseits verwenden viele andere Anwendungen immer noch SHA-1, beispielsweise das Dateiversionierungssystem Git. Solche Anwendungen sind jetzt anfällig für Angriffe und sollten so schnell wie möglich behoben werden, indem die Verwendung von SHA-1 auf SHA-256, SHA-512 oder SHA-3 migriert wird. In einigen Fällen, in denen es um Hardware geht, ist eine Migration praktisch unmöglich, beispielsweise bei TPM-Chips der Version 1.2, die in einigen Prozessoren verwendet werden, um Funktionen wie den sicheren Start zu erhalten. Software kann auch nicht mehr richtig funktionieren, wenn es zu einer Kollision kommt, wie es beim SVN-Dateiversionierungssystem der Fall war: https://arstechnica.com/security/2017/02/watershed-sha1-collision-just-broke-the-webkit-repository-others-may-follow/

Was zu tun

Als Endbenutzer können Sie nur hoffen, dass die Anwendungen aktualisiert werden. Browser weigern sich, wie erwähnt, bereits, Verbindungen, die SHA-1 verwenden, als sicher zu markieren. Achten Sie immer auf die Sicherheitshinweise in der Adressleiste.

Als Entwickler: Prüfen Sie, ob SHA-1 in einem Produkt verwendet wird, und planen Sie die Migration. Untersuchen Sie, ob es von einem Zertifikat verwendet wird. wenn ja; neue Zertifikate mit SHA-256 oder ähnlichem ausstellen. Die Autoren des Angriffs haben außerdem eine Software entwickelt, die Kollisionsversuche erkennen kann. Dabei wurde darauf hingewiesen, dass der Angriff erkennbare Spuren in den Daten hinterlässt (https://github.com/cr-marcstevens/sha1collisiondetection). HMAC mit SHA-1 gilt immer noch als sicher, da es auf Sicherheit gegen Hash-Inversionsangriffe (immer noch nicht durchführbar) und nicht gegen Kollisionsangriffe setzt. in jedem Fall ist eine Migration immer zu empfehlen.

DAS KÖNNTE IHNEN AUCH GEFALLEN:
Schwachstellen im Router ermöglichen Zugriff auf Daten und Dateien
Schwachstellen im Router ermöglichen Zugriff auf Daten und Dateien

Von: Kryptus Im Jahr 2018 begann Kryptus, die möglicherweise vorhandenen Unsicherheiten zu analysieren Lesen Sie mehr

USB-Sicherheitslücke (BadUSB)
USB-Sicherheitslücke (BadUSB)

Von: Vitor de Paulo / Conrado Gouvêa / Andre „Dexter“ Bereza BadUSB ist ein Lesen Sie mehr