Mit einer MD5-Prüfsumme und einer Zufallsdatei. Ist es möglich, ein Suffix hinzuzufügen, das mit der Prüfsumme übereinstimmt?

0

Ich höre oft, dass MD5 unsicher ist. Aber ich bin nicht sicher, wie es manipuliert werden kann. Ich möchte nicht der Typ sein, der einfach "MD5 ist unsicher" wiederholt, ohne einige Details zu kennen.

Angenommen, ich habe eine 128-Bit-MD5-Prüfsumme. Und ich habe eine bösartige Datei, die unter meiner Kontrolle steht. Kann ein aktueller 5.000-Dollar-Server innerhalb einer Woche einen "Fixer" generieren, der an die Datei angehängt werden kann und dieselbe MD5-Prüfsumme liefert?

some user
quelle

Antworten:

3

Es kommt genau darauf an, was Sie unter "Kontrolle" verstehen.

Wenn Sie der Angreifer sind, haben Sie die Wahl zwei Dateien, die den gleichen Hash haben sollten, nennen Kryptografen a Kollision (Angriff) und für MD5 ist es jetzt sehr einfach. Wenn Sie beide Dateien frei wählen können, dauert es Sekunden; Wenn Sie relativ schwache, aber häufig auftretende Einschränkungen wie "Es sieht aus wie ein PDF" oder "Es sieht aus wie ein Teer" erfüllen müssen vielleicht Stunden bis Wochen .

Wenn Sie dagegen eine Datei vordefiniert haben (normalerweise eine 'gute') und eine andere ('schlechte') Datei mit demselben Hash finden müssen, ist dies für Kryptografen keine Kollision, sondern eine zweite Vorbild . Der bekannteste Preimage-Angriff auf MD5 ist mit 2 nur geringfügig besser als Brute Force 123.4 .

Ihre $ 5k können wahrscheinlich ein halbes Dutzend guter GPUs kaufen, wodurch Sie sich in der Nähe von 2 befinden 37 Versuche pro Sekunde (etwa 100 Milliarden). Das ist ungefähr 2 62 pro Jahr, so wird es im Durchschnitt etwa 2 dauern 60 Jahre (ungefähr 1.000.000.000.000.000.000 alias eine Trillion). Praktischer ausgedrückt, das ist etwa hundert Millionen Mal das Alter des Universums . Ihr Computer wird wahrscheinlich nicht so lange dauern.

dave_thompson_085
quelle
Vielen Dank. Der letztgenannte Fall, eine fehlerhafte Datei mit demselben Hash zu versorgen, würde ich für einen erfolgreichen Angriff halten. Ich glaube, ich habe nicht das Recht, zwei Dateien auszuwählen, die denselben Hash haben. Was wäre der praktische Zweck, wenn Sie 2 nutzlose Dateien auswählen könnten, um denselben Hash zu haben? Heutzutage sagen alle und ihre Hunde, MD5 sei schwach. Muss es ein stärkeres Argument geben?
some user
@someuser Siehe zum Beispiel "MD5 gilt heute als schädlich" , in dem Forscher beschreiben, wie sie die Schwäche von MD5 genutzt haben, um ein gefälschtes Zertifikat mit einer gültigen Signatur zu erstellen. Einige Anwendungen sind nicht anfällig für Kollisionsangriffe, aber um sicherzugehen, dass die Art und Weise, in der Sie Hashes verwenden, nicht anfällig ist, müssen Sie die Verwendung von Hashes genau verstehen und einige sehr sorgfältig über mögliche Angriffe nachdenken. Führen Sie die Analyse bei jeder Änderung erneut durch etwas . Es ist viel einfacher, sicherer und flexibler, einen besseren Hash zu verwenden.
Gordon Davisson
1

Das Beste, was Sie tun können, ist einen Blick auf die aktuellen Dokumente zum Auffinden von MD5-Kollisionen zu werfen. Es gibt auch verschiedene Werkzeuge, um genau das zu tun. Eine gute Antwort auf StackOverflow ist Erstellen Sie Ihre eigenen MD5-Kollisionen wenn Sie nicht daran interessiert sind, die Zeitung selbst zu lesen.

Die meisten Kollisionsfinder sind wahrscheinlich nicht daran interessiert, Änderungen für Dateien zu finden, sondern direkt an Kollisionen. Immerhin, wenn der MD5 auscheckt und die Benutzer die Datei ausführen, wird Ihre schädliche Datei ausgeführt.

Seth
quelle