Connect with us

Wie man

Was ist zerschmettert? SHA-1-Kollisionsangriffe, erklärt

Was ist zerschmettert?  SHA-1-Kollisionsangriffe, erklärt

Am ersten Tag des Jahres 2016 hat Mozilla die Unterstützung für eine schwächelnde Sicherheitstechnologie namens SHA-1 im Firefox-Webbrowser eingestellt. Fast sofort machten sie ihre Entscheidung rückgängig, da dadurch der Zugang zu einigen älteren Websites eingeschränkt würde. Doch im Februar 2017 wurden ihre Befürchtungen endlich wahr: Forscher brachen SHA-1, indem sie der erste reale Kollisionsangriff. Hier ist, was das alles bedeutet.

Was ist SHA-1?

Das SHA in SHA-1 steht für Sicherer Hash-Algorithmus, und, vereinfacht gesagt, können Sie es sich als eine Art mathematisches Problem oder eine Methode vorstellen, die . Es wurde von der US-amerikanischen NSA entwickelt und ist eine Kernkomponente vieler Technologien, die zur Verschlüsselung wichtiger Übertragungen im Internet verwendet werden. Gängige Verschlüsselungsmethoden SSL und TLS, von denen Sie vielleicht schon gehört haben, können eine Hash-Funktion wie SHA-1 verwenden, um die signierten Zertifikate zu erstellen, die Sie in der Symbolleiste Ihres Browsers sehen.

sha-1 mathematische Grafik

Wir werden nicht tief in die Mathematik und Informatik einer der SHA-Funktionen eingehen, aber hier ist die Grundidee. Ein „Hash“ ist ein eindeutiger Code basierend auf der Eingabe beliebiger Daten. Selbst kleine, zufällige Buchstabenfolgen, die in eine Hash-Funktion wie SHA-1 eingegeben werden, geben eine lange, festgelegte Anzahl von Zeichen zurück, wodurch es (möglicherweise) unmöglich ist, die Zeichenfolge auf die ursprünglichen Daten zurückzusetzen. So funktioniert die Passwortspeicherung normalerweise. Wenn Sie ein Passwort erstellen, wird Ihre Passworteingabe gehasht und vom Server gespeichert. Wenn Sie Ihr Passwort nach Ihrer Rückkehr eingeben, wird es erneut gehasht. Wenn er mit dem ursprünglichen Hash übereinstimmt, kann davon ausgegangen werden, dass die Eingabe gleich ist, und Sie erhalten Zugriff auf Ihre Daten.

sha Fingerabdruck

Hash-Funktionen sind vor allem deshalb nützlich, weil sie leicht erkennen lassen, ob sich die Eingabe, beispielsweise eine Datei oder ein Passwort, geändert hat. Wenn die Eingabedaten wie ein Passwort geheim sind, ist es fast unmöglich, den Hash rückgängig zu machen und die ursprünglichen Daten (auch als „Schlüssel“ bekannt) wiederherzustellen. Dies unterscheidet sich ein wenig von der „Verschlüsselung“, deren Zweck darin besteht, Daten zu verschlüsseln, um sie später mithilfe von Chiffren und geheimen Schlüsseln zu entschlüsseln. Hashes sollen einfach die Datenintegrität sicherstellen – um sicherzustellen, dass alles gleich ist. Git, die Versionskontroll- und Verteilungssoftware für Open Source Code, verwendet aus diesem Grund SHA-1-Hashes.

Das sind viele technische Informationen, aber vereinfacht gesagt: Hash ist nicht gleich Verschlüsselung, denn Es wird verwendet, um zu erkennen, ob sich eine Datei geändert hat.

Wie wirkt sich diese Technologie auf mich aus?

Nehmen wir an, Sie müssen eine Website privat besuchen. Ihre Bank, Ihre E-Mail, sogar Ihr Facebook-Konto – alle verwenden eine Verschlüsselung, um die Daten, die Sie ihnen senden, privat zu halten. Eine professionelle Website bietet die Verschlüsselung, indem sie ein Zertifikat von einer vertrauenswürdigen Stelle erhält – einer dritten Partei, die sicherstellt, dass die Verschlüsselung auf der Ebene, privat zwischen der Website und dem Benutzer erfolgt und nicht von einer anderen Partei ausspioniert wird. Diese Beziehung mit dem Dritten, genannt Zertifizierungsstellen, oder CA, ist von entscheidender Bedeutung, da jeder Benutzer ein „selbstsigniertes“ Zertifikat erstellen kann – Sie können sogar Machen Sie es selbst auf einem Computer mit Linux mit Open SSL. Symantec und Digicert sind beispielsweise zwei weithin bekannte CA-Unternehmen.

Unterzeichnung von Dokumenten

Lassen Sie uns ein theoretisches Szenario durchgehen: How-To Geek möchte die Sitzungen der angemeldeten Benutzer mit Verschlüsselung privat halten und beantragt daher eine Zertifizierungsstelle wie Symantec mit a Anfrage zur Zertifikatsignierung, oder CSR. Sie schaffen ein Öffentlicher Schlüssel und Privat Schlüssel zum Verschlüsseln und Entschlüsseln von Daten, die über das Internet gesendet werden. Die CSR-Anfrage sendet den öffentlichen Schlüssel zusammen mit Informationen über die Website an Symantec. Symantec überprüft den Schlüssel mit seinem Datensatz, um sicherzustellen, dass die Daten von allen Parteien unverändert sind, da jede kleine Änderung der Daten den Hash radikal verändert.

digitales Schloss

Diese öffentlichen Schlüssel und digitalen Zertifikate werden von Hash-Funktionen signiert, da die Ausgabe dieser Funktionen leicht zu sehen ist. Ein öffentlicher Schlüssel und ein Zertifikat mit einem verifizierten Hash von Symantec (in unserem Beispiel), einer Behörde, versichern einem Benutzer von How-To Geek, dass der Schlüssel unverändert ist und nicht von einer böswilligen Person gesendet wird.

Da der Hash leicht zu überwachen und unmöglich (manche würden sagen „schwierig“) rückgängig zu machen, bedeutet die korrekte, verifizierte Hash-Signatur, dass das Zertifikat und die Verbindung vertrauenswürdig sind und die Daten durchgängig verschlüsselt gesendet werden können . Aber was ist, wenn das Haschisch ist?

Was ist ein Kollisionsangriff und ist er in der realen Welt möglich?

Sie haben vielleicht schon davon gehört „Geburtstagsproblem“ in der Mathematik, obwohl Sie vielleicht nicht wussten, wie es hieß. Die Grundidee ist, dass die Wahrscheinlichkeit hoch ist, dass zwei oder mehr Personen denselben Geburtstag haben, wenn Sie eine ausreichend große Gruppe von Personen zusammenstellen. Tatsächlich höher, als Sie erwarten würden – genug, dass es wie ein seltsamer Zufall aussieht. In einer Gruppe von nur 23 Personen besteht eine 50-prozentige Chance, dass sich zwei einen Geburtstag teilen.

Dies ist die inhärente Schwäche aller Hashes, einschließlich SHA-1. Theoretisch sollte die SHA-Funktion einen eindeutigen Hash für alle eingegebenen Daten erstellen, aber mit zunehmender Anzahl von Hashes wird es wahrscheinlicher, dass verschiedene Datenpaare denselben Hash erstellen können. So könnte man ein nicht vertrauenswürdiges Zertifikat mit einem identischen Hash zu einem vertrauenswürdigen Zertifikat erstellen. Wenn sie Sie dazu bringen, dieses nicht vertrauenswürdige Zertifikat zu installieren, könnte es sich als vertrauenswürdig ausgeben und schädliche Daten verbreiten.

Das Finden passender Hashes in zwei Dateien wird als a . bezeichnet Kollisionsangriff. Es ist bekannt, dass bereits mindestens ein groß angelegter Kollisionsangriff für MD5-Hashes stattgefunden hat. Aber am 27. Februar 2017 kündigte Google an Zerschlagen, die allererste in Handarbeit gemachte Kollision für SHA-1. Google konnte eine PDF-Datei erstellen, die den gleichen SHA-1-Hash wie eine andere PDF-Datei hatte, obwohl sie einen anderen Inhalt hatte.

SHAttered wurde an einer PDF-Datei durchgeführt. PDFs sind ein relativ loses Dateiformat; viele kleine Änderungen auf Bitebene können vorgenommen werden, ohne dass die Leser daran gehindert werden, es zu öffnen oder sichtbare Unterschiede zu verursachen. PDFs werden auch häufig verwendet, um Malware zu verbreiten. Während SHAttered mit anderen Dateitypen wie ISOs arbeiten könnte, sind Zertifikate streng spezifiziert, was einen solchen Angriff unwahrscheinlich macht.

Wie einfach ist dieser Angriff durchzuführen? SHAttered basierte auf a Methode entdeckt von Marc Stevens im Jahr 2012, was über 2^60,3 (9,223 Trillionen) SHA-1-Operationen erforderte – eine erstaunliche Zahl. Diese Methode erfordert jedoch immer noch 100.000 Mal weniger Operationen, als erforderlich wären, um das gleiche Ergebnis mit roher Gewalt zu erzielen. Google fand heraus, dass es bei 110 parallel arbeitenden High-End-Grafikkarten etwa ein Jahr dauern würde, bis eine Kollision entsteht. Das Mieten dieser Rechenzeit von Amazon AWS würde etwa 110.000 US-Dollar kosten. Denken Sie daran, dass Angriffe wie SHAttered einfacher werden, wenn die Preise für Computerteile sinken und Sie mehr Leistung für weniger Geld erhalten.

110.000 US-Dollar mögen viel erscheinen, aber es ist für einige Unternehmen im Bereich des Erschwinglichen – was bedeutet, dass Cybervilianer im wirklichen Leben digitale Dokumentsignaturen fälschen, Backup- und Versionskontrollsysteme wie Git und SVN stören oder ein bösartiges Linux-ISO als legitim erscheinen lassen.

Glücklicherweise gibt es mildernde Faktoren, die solche Angriffe verhindern. SHA-1 wird nur noch selten für digitale Signaturen verwendet. Zertifizierungsstellen stellen keine mit SHA-1 signierten Zertifikate mehr zur Verfügung, und sowohl Chrome als auch Firefox haben ihre Unterstützung eingestellt. Linux-Distributionen werden in der Regel häufiger als einmal pro Jahr veröffentlicht, sodass es für einen Angreifer unpraktisch ist, eine bösartige Version zu erstellen und dann eine aufgefüllte Version mit demselben SHA-1-Hash zu generieren.

Auf der anderen Seite finden einige auf SHAttered basierende Angriffe bereits in der realen Welt statt. Das SVN-Versionskontrollsystem verwendet SHA-1, um Dateien zu unterscheiden. Das Hochladen der beiden PDFs mit identischen SHA-1-Hashes in ein SVN-Repository wird dazu führen korrumpieren.

Wie kann ich mich vor SHA-1-Angriffen schützen?

Für den typischen Benutzer gibt es nicht viel zu tun. Wenn Sie Prüfsummen zum Vergleichen von Dateien verwenden, sollten Sie SHA-2 (SHA-256) oder SHA-3 anstelle von SHA-1 oder MD5 verwenden. Wenn Sie Entwickler sind, sollten Sie auch modernere Hashing-Algorithmen wie SHA-2, SHA-3 oder bcrypt verwenden. Wenn Sie befürchten, dass SHAttered verwendet wurde, um zwei verschiedenen Dateien den gleichen Hash zu geben, hat Google ein Tool auf dem Zerstörte Website das kann für dich prüfen.

Bildnachweise: Lego Firefox, Viel Haschisch, Bitte verletzen Sie den unbekannten Web-Autor nicht, Google.

Continue Reading
Click to comment

Leave a Reply

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

Tendencia