Keine CD mehr ! XP als Download zum brennen ?

1668mib schrieb:
Wobei es durchaus ja möglich ist, die Hashes zu vergleichen...

Die Files so anzupassen, dass die Hashes am Ende wieder stimmen dürfte das kleinste Problem sein. Die Algorithmen dafür sind alle "Open Source".

Hashes sagen eigentlich nur aus, dass beim Downloaden kein Fehler passiert ist.
 
@JanKrohn: Dann zeig mir mal die Algorithmen.
Das ist alles andere als ein kleines Problem...
 
Zuletzt bearbeitet:
1668mib schrieb:
@JanKrohn: Dann zeig mir mal die Algorithmen.
Das ist alles andere als ein kleines Problem...

MD5 ist unsicher:

http://www.d-mueller.de/blog/hashverfahren-und-sicherheit/

SHA1 ebenso. Den Link finde ich grad nicht mehr, hab ich aber heute früh noch ergoogelt.

Microsoft stellt SHA1 und ISO/CRC Hashes für seine Produkte bereit. Ist also jetzt nur noch die Frage, was bei ISO/CRC geht. Da er nicht auf Sciherheit ausgelegt ist, dürfte es nicht allzu aufwändig werden.

Wenn ich der "Böse" wäre, würde ich ins Disk Image ein Rootkit einbauen, das schon beim Booten aktiv ist, und damit sätmliche Virenscanner austricksen kann. Dann z.B. das Windows Demo Video löschen (fällt keinem auf), und eine passende "system32.bin" o.ä. einsetzen (fällt ebenso wenig auf) mit einer Bytefolge, so dass SHA1 und CRC wieder passen.

Wie viel Aufwand da hinter steckt, und ob sich das für einen Cyberkriminellen lohnen würde, kann ich nicht beurteilen. Machbar ist es meiner Ansicht nach schon, und da XP fast 10 Jahre alt ist, und SP3 über 3 Jahre, ist auch genug Zeit vergangen, dass ggf. schon jemand auf die Idee gekommen ist, und das umgesetzt hat.
 
Dass es zu Kollisionen kommt ist keine Schwäche, sondern normal. Das ist auch nichts schlimmes an Hash-Verfahren. Es kann wie geschrieben kein Hashing geben, das kollisionsfrei arbeitet.
Auf das hier (verlinkt in deinem Artikel) habe ich nur gewartet: http://www.mscs.dal.ca/~selinger/md5collision/

Das Zitat im Artikel "Darüberhinaus existieren mittlerweile sogar Generatoren, die zwei völlig verschiedenen exe-Dateien den gleichen md5-Hash verschaffen" ist übrigens falsch. Es sind zwei fast vollkommen identische EXE-Dateien, die allerdings grundlegend andere Dinge machen. Zwei Dateien sind dann verschieden, wenn der Inhalt beider Dateien unterschiedlich ist, nicht das was sie machen. Beide Dateien enthalten aber den "guten" und den "bösen" Code.

Jetzt will ich aber mal sehen, wie es jemand schafft, die ISO so zu manipulieren, dass zwei unterschiedliche Hash-Verfahren immer noch zum alten Ergebnis kommen. Mir würde es an sich schon reichen, wenn eines zum alten Ergebnis kommt, selbst das will ich erst mal sehen. Aber eigentlich wollte ich doch deine OpenSource-Algorithmen sehen... wo sind die?

Es ist ein grundlegender Unterschied, ob ich eine Datei selbst in zwei Varianten (gut und böse) anfertigen will, oder ob ich etwas bestehendes so ändere, dass es sich anders verhält aber noch den selben Hash hat.
Und ja, die Byte-Folge deines Rootkits so zu gestalten, dass sie den selben Hash erzeugt - trivial oder?
 
Zuletzt bearbeitet:
1668mib schrieb:
Aber eigentlich wollte ich doch deine OpenSource-Algorithmen sehen... wo sind die?

http://en.wikipedia.org/wiki/SHA-1#SHA-1_pseudocode
http://en.wikipedia.org/wiki/Computation_of_CRC#Implementation

1668mib schrieb:
Es ist ein grundlegender Unterschied, ob ich eine Datei selbst in zwei Varianten (gut und böse) anfertigen will, oder ob ich etwas bestehendes so ändere, dass es sich anders verhält aber noch den selben Hash hat.
Und ja, die Byte-Folge deines Rootkits so zu gestalten, dass sie den selben Hash erzeugt - trivial oder?

Laut Wikipwdia sind dazu 2^63 Berechnungen nötig, siehe obigen Link. Wenn man ein Bot-Netz zur Verfügung hat (was diese Leute haben), kann ich mir vorstellen, dass das ganze in absehbarer Zeit fertig ist.
 
Danke für die Links. Ich dachte tatsächlich, du meinst Algorithmen zur Anpassung der Datei... weil du sagst "Die Algorithmen dafür [...]". Aber du meinst tatsächlich die Hashing-Algorithmen?

Die Offenheit der Algorithmen ist eine unverzichtbare Eigenschaft, die überhaupt erst Vertrauen in das Hashing-Verfahren ermöglicht. Stichwort Kerkoff-Prinzip.

Und hast du dir mal den Spaß gemacht, den Hash einer 2-GB-Datei zu berechnen?

2^10 sind etwa 1000
2^20 damit etwa 1 Million
2^30 etwa 1 Milliarde
2^40 etwa 1 Billion
2^50 etwa 1 Billiarde
2^60 etwa 1 Trillion

Ok, lass die Hacker-Gruppe die Macht über 1 Milliarde Rechner haben...
Das macht immer noch > 2^30 Berechnungen pro Rechner... lass das Berechnen eines Hashs eine Sekunde dauern, dann werden dafür über 2^30 Sekunden benötigt... Das sind dann immer noch über 34 Jahre...
Wobei eine Sekunde schwachsinnig optimistisch ist bei zu hashenden Datenmenge von über 2 GB...

Aber ist klar, dass eine Trillion Berechnungen für eine Hackergruppe kein Problem sind...

Aber vorher hätte ich gerne erst mal den Beweis, dass es möglich ist, eine Datei so zu manipulieren, dass danach der SHA1 und ein anderer Hash identisch sind... Microsoft gibt ja wie du selbst freundlicherweise erwähnt hast, nicht nur einen Hash an.

Edit:
Im Übrigen: bei SHA1 ist ein 160-Bit-Hash... da sind dann eher 2^159 Versuche notwendig...
also 2^100 Mal so viel... Viel Spaß.
 
Zuletzt bearbeitet:
Zurück
Oben