SHA-1 Todesstoss, Migration auf SHA-256 empfohlen

Na ja: Todesstoß für SHA-1…

Ein guter Freund hat mich heute auf eine Veröffentlichung der Heise mit dem reißerischen Namen “Todesstoß: Forscher zerschmettern SHA-1” hingewiesen. Falschmeldungsgeil natürlich gleich gelesen, ein wenig recherchiert und mich mächtig geärgert über den Blödsinn den Heise da wieder postet.

Zuerst mal fachlich zum Thema. Ja, SHA-1 wissen wir seit vielen Jahren entspricht nicht mehr den kryptographischen Anforderungen, da der Algorithmus mit 2^80 Varianzen errechnet wird. Das entspricht 1208925819614629174706176 Versuchen – also rd. 1,2 Quadrillion – um zwei gleiche Dokumente zu errechnen. Vor vielen Jahren wurde dies in einem theoretischen Angriff bereits auf rd. 2^69 Versuche reduziert, das 590 Trillionen entspricht.

Die Forscher…

Ein Team rund um ein holländisches Forschungsinstitut und Google hat die Anzahl der Versuche nun nochmals auf 9,2 Trillionen reduziert, was einem Faktor von ca. 64 entspricht. Nun endlich war die Anzahl so gering, dass man EIN EINZIGES Dokument mit gleichem Hash-Wert errechnen konnte und dazu brauchte man nach Angaben des Forscherteams 6500 CPU-Jahre oder 110 Grafikprozessor-Jahre.

Das Team bestätigt, dass es das erste und einzige Dokument ist, dass so errechnet wurde. Warum wohl? Da die Kosten für EIN DOKUMENT für eine solche Berechnung natürlich erheblich sind.

Die Realität…

Rund 65.000 Euo kostet der SHA-1 Angriff für ein Dokument
Rund 65.000 Euo kostet der SHA-1 Angriff für ein Dokument

Ich überschlage die Kosten, wenn man in einem 1/2 Jahr die Aufgabe bewältigen möchte: 1 schneller Grafikprozessor (GPU) kostet eventuell 200€, davon brauchen wir 220 Stück = € 44.000 Anschaffungskosten. Zusätzlich Stromkosten von 90 Watt pro GPU x 220 CPU x 6 Monate x ca. 0,25€ pro KWh = € 21.681 Stromkosten. Das bedeutet, dass man mit rd. € 65.000 ein Dokument fälschen kann. Noch gefährlicher wird es aber, wenn man die € 65.000 nutzt, um ein SSL-Zertifikat oder CA-Zertifikat zu fälschen und dieses als Man-in-the-Middle Zertifikat nutzt, um Nachrichten auszuspähen oder gefälschte Nachrichten einzuspeisen. Solle man mit den investierten € 65.000 eine Transaktion um mehrere Millionen auslösen können, sehe ich das schon sehr kritisch an.

Aber der von Heise veröffentlichten Satz

Wer es jetzt noch einsetzt, handelt grob fahrlässig.

ist großer Blödsinn!

Denn 98% aller Emails haben gar keine Signatur, die vor Manipulation schützt. Wahrscheinlich 30% aller netzwerkfähigen Webcams werden mit Standard-Zugangspasswort admin/admin und ohne SSL betrieben. Millionen Webserver werden heute noch ganz ohne SSL betrieben. Tausende Server in Österreich haben Telnet in Betrieb, dessen User-Credentials im Netzwerkverkehr im Klartext mitgelesen werden können.

Genauso kritisch Stufe ich meinen Liebling Mikrocontroller den Raspberry Pi ein: “The default user is pi , and the password is raspberry”. Das Linux fordert deren Besitzer nicht auf das Standard Passwort zu ändern. Warum nicht?

Was ist mit den neuen IoT Geräten die jetzt auch mit WLAN Management kommen? Da gibt es oft gar keine Security implementiert außer den Herstelleraussagen, dass der Empfangsbereich aus Sicherheitsgründen auf wenige Meter eingeschränkt wurde. Genau solche Designfehler hat die A1 zuletzt auch beim DDoS Angriff zu spüren bekommen.

Mir ist SHA-1 tausendmal lieber als mein Nachbar der sein WLAN komplett offen betreibt, nur weil der Internet-Radio den er gekauft hat kein WPA2 unterstützt.

Wenn man ein Netzwerk oder einen Server hacken möchte, dann geht das in der Regel viel einfacher als über das SHA-1 SSL-Zertifikat…

Ist jede Verschlüsselung durch SHA-1 in Gefahr?

Zum Teil sind Verschlüsselungen, speziell nämlich Transportverschlüsselungen, in Gefahr. Wenn man die errechneten € 65.000 investiert, kann man beim Verbindungsaufbau ein gefälschtes Zertifikat einschleusen und erhält so Zugriff auf den Session-Schlüssel und kann dann alles mitlesen.

Klassische Daten- oder Platten-Verschlüsselungssysteme wie TrueCrypt/VeraCrypt, BitLocker oder auch die ZIP Verschlüsselung nutzen Hashing fast gar nicht. Der Verschlüsselungsschlüssel ist ein symmetrischer Schlüssel der oft von einem asymmetrischen Schlüssel oder über ein Passwort geschützt ist. Ggfls. kann man solche Systeme indirekt angreifen, indem man dem Nutzer ein gefälschtes X.509 Zertifikat unterschiebt, er damit Daten verschlüsselt und der Angreifer über eine eigene Kopie des gefälschten Zertifikates die Verschlüsselung aushebt.

SHA-1 sofort ablösen?

Meine Empfehlung: Plant neue Systeme mit SHA-256 und nicht mehr mit SHA-1! Die SHA-1 Geräte werden so immer weniger und werden früher oder später natürlich aussterben. Nur bei kritischen Systemen die hohes Schadensrisiko (Banken, Rechenzentren, e-Commerce Server, Cloud-Anwendungen) haben sollte man sich zügig im Alternativen umsehen. Private und Kleinunternehmen sollten ihre Zeit in andere Sicherheitsmaßnahmen stecken.

Hier ist der Platz für wirklich sinnvolle Sicherheits-Tipps. Bitte schreibe deine Meinung als Kommentar.

2 Gedanken zu „Na ja: Todesstoß für SHA-1…“

  1. Ein externes Kommentar, das mich per Email erreicht hat möchte ich gerne hier im Beitrag teilen:

    Der Artikel über SHAttered ist nicht ganz korrekt. Ich hab vor kurzem den Impact auf SHA1-basierte Systeme erläutert. Z.B.:
    Zertifikate können damit nicht gefälscht werden, da SHAttered nur einen Differential-Path von 1024 bit erlaubt. Der Anfang und das Ende der kollidierenden Dokumente müssen identisch sein.
    Obendrein müssen beide Dokumente zur selben Zeit generiert worden sein, eine freie Kollision für ein existierendes Dokument ist nicht möglich (wie z.B. bei MD5). Obendrein ist das DER-Format von X509v3 so streng, dass ein Differential-Path nicht sinnvoll genützt werden kann.
    Ausserdem liegen die Kosten bei ca. 500.000 USD (wie im Paper vorgerechnet) für eine Kollision, die schwer anwendbar ist.

    Anmerkung Andreas Schuster @ Verschlüsselt.IT:
    Danke für deine Aufklärung. Da ich mich viel mit PKI & Zertifikaten beschäftige freue ich mich, dass ältere Strukturen mit SHA-1 in der Zertifikatskette nun doch nicht sofort gefährdet sind. Auch die Kosten von 500.000 USD beruhigen mich!

  2. Und noch ein externes Kommentar hat mich per Email erreicht, dass ich gerne im Blog teilen möchte:

    Ich finde von SHA1 sollte man unbedingt abraten, in git haben wir ein riesen Problem den Algorithmus auszuwechseln, frueher oder spaeter werden die Angriffe auch dort relevant. Das wirklich coole an dem Paper war ja das sich mit der Collission beliebige PDFs faelschen lassen, dafuer ist keine neue Berechnung notwendig – das ist leider im Medien-hype voellig untergegangen. Realistisch gesehen sind die Kosten einer solchen Attacke auch nicht so hoch, bei Flame wurde ein aehnlicher Aufwand — wenn auch guenstiger fuer die Angreifer — betrieben um Windows Zertifikate zu faelschen (https://github.com/trailofbits/presentations/blob/master/Analyzing%20the%20MD5%20Collision%20in%20Flame/flame-md5.pdf). Ist also nicht komplett abwegig.

    Vielen Dank für die Ergänzungen. Das PDF zur Flame Collision habe ich gelesen, kannte ich noch nicht. Speziell die Kombination MD5 Übereinstimmung und falscher Verwendungszweck in einer vertrauenswürdigen Zertifikatskette ist schon extrem gefährlich und wird schamlos ausgenutzt. Zum Glück haben wir diese Übereinstimmungen bei SHA-1 Zertifikaten noch nicht dokumentiert.

    Danke nochmals!!!

    Sichere Grüße, Andreas

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert