Es gibt verschiedene Angriffsmodelle für Hashes wie SHA-1, aber das meist diskutierte ist die Kollisionssuche, einschließlich Marc Stevens' HashClash Werkzeug.
"Seit 2012 gilt der effizienteste Angriff gegen SHA-1 als der von Marc Stevens[34] mit geschätzten Kosten von 2,77 Mio. $ für das einen einzigen Hash-Wert zu brechen, indem er CPU-Leistung von Cloud-Servern mietet."
Wie bereits erwähnt, kann man mit Git eine Hash-Kollision erzwingen, aber dabei werden die vorhandenen Objekte in einem anderen Repository nicht überschrieben. Ich könnte mir vorstellen, dass sogar git push -f --no-thin
die vorhandenen Objekte nicht überschreibt, aber ich bin mir nicht 100%ig sicher.
Wenn Sie sich jedoch in ein entferntes Repository hacken, können Sie Ihr falsches Objekt zu dem älteren machen dort möglicherweise das Einbetten von gehacktem Code in ein Open-Source-Projekt auf Github oder ähnlichem. Wenn Sie vorsichtig wären, könnten Sie vielleicht eine gehackte Version einführen, die neue Benutzer herunterladen.
Ich vermute jedoch, dass viele Dinge, die die Entwickler des Projekts tun könnten, Ihren Multi-Millionen-Dollar-Hack entweder aufdecken oder versehentlich zerstören könnten. Insbesondere ist das eine Menge Geld, das den Bach runtergeht, wenn ein Entwickler, den Sie nicht gehackt haben, jemals die oben erwähnte git push --no-thin
nach dem Ändern der betroffenen Dateien, manchmal sogar ohne die --no-thin
abhängig.
89 Stimmen
Einst eine Denksportaufgabe, jetzt potenziell ein tatsächliches Problem .
12 Stimmen
@Toby Diese Frage bezog sich auf eine Vorstellungsangriff was Google demonstriert hat, ist eine Kollisionsangriff -- ähnlich, aber etwas anders. Sie können mehr über den Unterschied lesen aquí .
0 Stimmen
@Saheed Ich verstehe nicht, was an dieser Frage speziell mit einem Angriff vor dem Bild zu tun hat, denn die Frage bezieht sich nur auf a Kollision in einem Git-Repository, nicht um deren Ausnutzung.
4 Stimmen
@Toby Der ursprüngliche Denkanstoß bezog sich nicht auf einen Angriff (weder Vorabbild noch Zusammenstoß), sondern auf einen zufälligen Zusammenstoß, der so unwahrscheinlich ist, dass er nicht in Betracht gezogen werden sollte. Ich denke, Saheed hat zu Recht versucht zu sagen, dass dies noch kein wirkliches Problem ist. Sie haben jedoch Recht, dass der Kollisionsangriff von Google möglicherweise ein Sicherheitsproblem geschaffen hat, je nachdem, wie Git verwendet wird.
2 Stimmen
Hier ist eine zweite Kollision, die nur 320 Byte groß ist privacylog.blogspot.com/2019/12/der-zweite-sha-zusammenstoss.html
2 Stimmen
Mit der Entwicklung eines Angriffs auf das gewählte Präfix für SHA-1 rückt dies in den Bereich des Möglichen. arstechnica.com/information-technology/2020/01/
0 Stimmen
Warum
git
nicht nur das Vorhandensein von SHA-1-Kollusion prüft? Dann wären alle Probleme gelöst.