PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie sicher ist MD5 bei einer Dateiverifizierung?


Snoopy69
2016-06-22, 14:29:33
Beim kopieren/verschieben vieler und großer Dateien verifiziere ich diese mit MD5.
Aber letztens hab ich was aus dem Netz geladen und da stand, dass MD5 nicht sicher sei.
(bei diesem Download standen MD5, Sha1 und Sha256 zur Auswahl)

Sollte ich in Zukunft auch mindestens Sha1 zum Verifizieren benutzen? :confused:

Tyrann
2016-06-22, 14:54:34
MD5 ist mittlerweile fälschbar, aber zu Verifizierung gegenüber technischen Fehlern reicht es

Snoopy69
2016-06-22, 15:25:48
D.h. zum Verifizieren von kopierten Dateien reicht es, aber bei einem Download besser min. Sha1?

twodoublethree
2016-06-22, 18:21:17
Genau=)

MD5 ist unsicher, da man bewusst einen bestimmten Wert erzeugen kann, d.h. wenn man Dir potentiell eine veränderte Datei unterjubeln möchte. Beim Finden von Unterschieden kannst Du es problemlos einsetzen.

Snoopy69
2016-06-22, 18:55:32
Ok, danke... :wink:

Würde zum Vergleichen von Dateien auch CRC32 (sfv) statt MD5 reichen? (Total Commander bietet ja mehrere Möglichkeiten)

Rechner-Tester
2016-06-22, 19:37:43
Ja, um gekippte Bits, Lese- oder Hardwarefehler etc. zu erkennen reicht auch CRC32. Beim Schutz vor mutwilligen Veränderungen/Angriffen schwächelt aber selbst SHA-1 mittlerweile:
SHA-1 ist wegen mangelhafter Kollisionsresistenz ebenfalls problematisch und sollte insbesondere bei neuen Projekten vermieden werden.
Quelle: heise Security (http://www.heise.de/security/artikel/Kryptographie-in-der-IT-Empfehlungen-zu-Verschluesselung-und-Verfahren-3221002.html?artikelseite=2)

Da sich der Rechenleistungsaufwand von MD5, SHA-1 und SHA-2 und vermutlich auch CRC32 nicht sonderlich unterscheidet, gibt es keinen Grund mehr noch MD5 oder SHA-1 zu nutzen.
In deinem Fall ist vermutlich die Festplatte das bremsende Element, so das selbst SHA-3 nicht bremst.

Gruß
Rechner-Tester

PS: Unter welchem Betriebssystem errechnest du die Hashsummen?

Snoopy69
2016-06-22, 19:51:02
Unter WIN7 x64...
Im Vergleich zu MD5 ist CRC32 ~10% schneller
(Beide jeweils 3x mit Stoppuhr und einer 20GB großen Datei verglichen)

seba86
2016-06-22, 20:00:33
Nein, CRC32 ist ein noch älterer Algorithmus als MD5 (CRC32 war btw auf optische Datenträger drauf, erinnere mich nur zu gut an LucasArts Adventure-CD mit massig CRC32-Fehler).

MD5 oder Sha1 sollten sich selbst auf LowBudget-Kisten nicht stark in der Geschwindigkeit auswirken.

EDIT: paar Threads zu spät geantwortet... man sollte nicht die Seite offen haben, zwischendurch einkaufen gehen und dann erst antworten...

Snoopy69
2016-06-22, 20:24:20
Ist ein Core i7-950 zu schwach, dass ein Unterschied von 10% reproduzierbar ist? Der Stoppuhrtest lügt ja nicht...

Btw:
Im Vergleich zu SHA1 ist MD5 ~106% schneller - also mehr als doppelt so schnell auf meiner Kiste.

sei laut
2016-06-22, 20:47:33
Wenn du der Downloadquelle vertraust, die Verbindung verschlüsselt ist, dann langt MD5, weil du dann nur gekippte bits ausschließen musst.
Wenn du der Downloadquelle nicht vertraust, dann muss man auch nicht den Download verifizieren.

Meine 15 Cents..

#44
2016-06-22, 20:51:45
Wenn du der Downloadquelle vertraust, die Verbindung verschlüsselt ist, dann langt MD5, weil du dann nur gekippte bits ausschließen musst.
Https hilft nix, wenn den Root CAs auch mal die Zertifikate abhanden kommen.

sei laut
2016-06-22, 21:08:11
Https hilft nix, wenn den Root CAs auch mal die Zertifikate abhanden kommen.
Grundsätzlich solltest du deinen Browser nun schließen. Du hast zwar Recht, aber dann kann man das Internet sein lassen. Mir gings aber auch eher darum, dass ihm nicht zwischendrin falsche Daten untergeschoben werden. Und eine Verschlüsslung zu knacken ist erstmal eine Hürde, die genommen werden muss.

DoomGuy
2016-06-22, 21:17:29
iPhone 6 - 64GB - spacegrey (jailbroken - iOS 8.4) - iPad Air - 64GB - LTE - white (jailbroken - iOS 8.4)

Warum solche Angst vor einer falschen Prüfsumme hahaha

Snoopy69
2016-06-22, 21:34:39
Es geht nicht um iDevices, sondern um die Daten auf dem PC :ulol:

btw:
Spielst du auf den JB an? :wink:

DoomGuy
2016-06-22, 21:40:22
Es geht nicht um iDevices, sondern um die Daten auf dem PC :ulol:

btw:
Spielst du auf den JB an? :wink:

... a bissl ;D

Snoopy69
2016-06-22, 21:46:45
Ist eh nix Wichtiges drauf.

Rampage 2
2016-06-23, 03:25:57
Da sich der Rechenleistungsaufwand von MD5, SHA-1 und SHA-2 und vermutlich auch CRC32 nicht sonderlich unterscheidet, gibt es keinen Grund mehr noch MD5 oder SHA-1 zu nutzen.


Und was, wenn für eine Datei nur MD5-Summen zur Verfügung stehen, es auch nur *eine einzige* Downloadquelle für die Datei gibt (= nur eine einzige MD5-Summe, keine Vergleichsumme) und diese Downloadquelle sich in den USA befindet?


PS: Unter welchem Betriebssystem errechnest du die Hashsummen?

Macht das denn einen Unterschied? Wenn ja, warum?

R2

Snoopy69
2016-06-23, 06:53:07
Aus welchem Land die Downloadquelle kommt wäre egal, wenn die Datei manipuliert wurde.

Aber kann eine Datei so manipuliert werden, dass MD5 korrekt ist und die Dateigröße aufs Byte genau der korrekten Datei entspricht? Ich denke, dass das nicht geht...
Denn wenn bei der einzigen Downloadquelle neben MD5 noch die Dateigröße in Byte steht, wird es für einen Hacker sehr schwer, wenn nicht sogar unmöglich. Oder nicht?


Und jetzt wieder btt, ok? :wink:

#44
2016-06-23, 07:30:47
Aber kann eine Datei so manipuliert werden, dass MD5 korrekt ist und die Dateigröße aufs Byte genau der korrekten Datei entspricht? Ich denke, dass das nicht geht...
Denn wenn bei der einzigen Downloadquelle neben MD5 noch die Dateigröße in Byte steht, wird es für einen Hacker sehr schwer, wenn nicht sogar unmöglich. Oder nicht?
Die Unsicherheit von MD5 bedeutet, dass man genau das tun könnte.
Datei manipulieren und anschließend per Tool weitere Änderungen errechnen lassen, damit der Hash und die Dateigröße passt.

Snoopy69
2016-06-23, 08:36:20
In der mathematischen Theorie oder auch real? Wenn ja, was für Hardware bräuchte man da, um sowas zu errechnen?

#44
2016-06-23, 08:53:36
In der mathematischen Theorie oder auch real? Wenn ja, was für Hardware bräuchte man da, um sowas zu errechnen?
Sicherheit von Hashverfahren beruht nicht darauf, dass man keine Kollisionen errechnen kann - das geht immer. Sie beruht darauf, dass es mit aktueller Hardware Jahre oder Jahrzehnte dauern würde. Ein "Vorteil" von MD5 ist seine Geschwindigkeit...

Welche Hardware das bräuchte, kann ich dir nicht sagen. Aber dank Cloud-Anbietern kriegst du Rechenpower quasi nachgeworfen.
Bei Amazon bekommst du z.B. monatlich 750 Rechenstunden gratis.
Das entspricht einer dedizierten Maschine.

Wenn du, um Malware zu verbreiten, bereit bist 1000$ zu investieren, bekommst du dort 385h Rechenzeit auf ner GPU-Instanz mit 32 CPU-Cores und 60GiB RAM.

In 2005, researchers were able to create pairs of PostScript documents[31] and X.509 certificates[32] with the same hash. Later that year, MD5's designer Ron Rivest wrote that "md5 and sha1 are both clearly broken (in terms of collision-resistance)".[33]

On 30 December 2008, a group of researchers announced at the 25th Chaos Communication Congress how they had used MD5 collisions to create an intermediate certificate authority certificate that appeared to be legitimate when checked by its MD5 hash.[21] The researchers used a cluster of Sony PlayStation 3 units at the EPFL in Lausanne, Switzerland[34] to change a normal SSL certificate issued by RapidSSL into a working CA certificate for that issuer, which could then be used to create other certificates that would appear to be legitimate and issued by RapidSSL. VeriSign, the issuers of RapidSSL certificates, said they stopped issuing new certificates using MD5 as their checksum algorithm for RapidSSL once the vulnerability was announced.[35] Although Verisign declined to revoke existing certificates signed using MD5, their response was considered adequate by the authors of the exploit (Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, and Benne de Weger).[21] Bruce Schneier wrote of the attack that "we already knew that MD5 is a broken hash function" and that "no one should be using MD5 anymore".[36] The SSL researchers wrote, "Our desired impact is that Certification Authorities will stop using MD5 in issuing new certificates. We also hope that use of MD5 in other applications will be reconsidered as well."[21]

In 2012, according to Microsoft, the authors of the Flame malware used an MD5 collision to forge a Windows code-signing certificate.[37] (https://en.wikipedia.org/wiki/MD5#Collision_vulnerabilities)

Rechner-Tester
2016-06-25, 19:02:26
Das Betriebssystem hat mich nur wegen den Möglichkeiten der Hashberechnung und der Benchmarks interessiert.

$ sudo dmidecode -s processor-version
Intel(R) Xeon(R) CPU E3-1246 v3 @ 3.50GHz

Also Haswell Refresh, entspricht ziemlich exakt einem Core i7-4771:
http://ark.intel.com/compare/80916,77656


$ openssl speed -elapsed -evp md5 sha1 sha256 sha512
[...]
OpenSSL 1.0.2h-fips 3 May 2016
[...]
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
sha1 83339.26k 249265.07k 587821.14k 901313.88k 1066057.73k
md5 85883.66k 238483.16k 496976.30k 684995.24k 767470.25k
sha256 85254.80k 192391.04k 360720.13k 455886.17k 490990.25k
sha512 56282.40k 225494.93k 409294.25k 612134.57k 713250.13k
$


Interessanterweise ist SHA1 sogar schneller als MD5 und SHA512 schneller als SHA256. Ist aber auch egal, weil bei den hier interessanten Blockgrößen von 1KiB und 8KiB selbst der langsamste Algorithmus mit ~450MiB/s deutlich schneller ist als eine einzelne Festplatte. Und das bei nur einem Thread.
OpenSSL unterstützt leider noch kein SHA3.

Grüße
Rechner-Tester

NemesisTN
2016-06-27, 22:53:47
Total Commander v9 beta3 kann SHA3-512 hashen... =)