Datenintegrität sicher prüfen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Filb
User
Beiträge: 8
Registriert: Dienstag 19. Februar 2008, 20:55

Datenintegrität sicher prüfen?

Beitragvon Filb » Dienstag 19. Februar 2008, 21:01

Hallo :)

ich plane ein kleines Script um die Datenintegrität meiner Programme regelmäßig zu überprüfen. Ein System wie ich gewährleiste das beabsichtigte Veränderungen von Dateien ausschließe ist schon fertig, nun fehlt mir noch das Wichtigste:
Welche Hash-Funktionen eignen sich am besten bzw. sind am zuverlässigsten für diese Aufgabe? CRC32 scheint nicht geeignet zu sein?

MfG
- Filb
BlackJack

Beitragvon BlackJack » Dienstag 19. Februar 2008, 21:11

In der Standardbibliothek im Modul `hashlib` ist das Stärkste wohl `sha512`.
ne0h
User
Beiträge: 115
Registriert: Samstag 16. Februar 2008, 11:35

Beitragvon ne0h » Dienstag 19. Februar 2008, 21:11

Ripemd oder Whirlpool würde ich favorisieren.


ne0h
Benutzeravatar
Hyperion
Moderator
Beiträge: 7471
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Dienstag 19. Februar 2008, 22:30

Was spricht gegen das klassische md5?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 19. Februar 2008, 23:39

Hyperion hat geschrieben:Was spricht gegen das klassische md5?

Weniger sicher als SHA*. Wobei für Datenintegrität eignet sich wohl auch CRC32, außer es geht darum, dass die Daten von einem Angreifer bewusst manipuliert werden. Für Übertragungsfehler würde ich sagen, dass es gut genug ist. Hängt eben ab, was man für Anforderungen hat.

Oder geht es um die Detektion von Rootkits? Dafür gibts bereits Tools.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Dienstag 19. Februar 2008, 23:44

SHA ist relativ langsam, andere Funktionen wie etwa Adler-32 sind dagegen bei bestimmten Dateigrößen ungünstig, iirc. Schlag doch mal in der Wikipedia die Eigenheiten und Unterschiede nach. Einiges ist ja schon in der hashlib vorhanden, andere sind einfach selbst zu implementieren.
Filb
User
Beiträge: 8
Registriert: Dienstag 19. Februar 2008, 20:55

Beitragvon Filb » Mittwoch 20. Februar 2008, 00:37

Leonidas hat geschrieben:
Hyperion hat geschrieben:Was spricht gegen das klassische md5?

Weniger sicher als SHA*. Wobei für Datenintegrität eignet sich wohl auch CRC32, außer es geht darum, dass die Daten von einem Angreifer bewusst manipuliert werden. Für Übertragungsfehler würde ich sagen, dass es gut genug ist. Hängt eben ab, was man für Anforderungen hat.

Oder geht es um die Detektion von Rootkits? Dafür gibts bereits Tools.


Nein, es geht lediglich darum zu überprüfen ob sich z.b. durch äußere einflüsse Dateien von einem bestimmten Programmen geändert haben. Das Script soll auf einem Homeserver laufen auf dem Hohe Datenintegrität verlangt wird (ECC Ram wird z.b. verwendet).
Die Geschwindigkeit ist mir relativ egal, da solch ein Check nur 1x die Woche erfolgt, ich brauche eher eine genaustmögliche Erkennung.
Filb
User
Beiträge: 8
Registriert: Dienstag 19. Februar 2008, 20:55

Beitragvon Filb » Mittwoch 20. Februar 2008, 00:39

Y0Gi hat geschrieben:SHA ist relativ langsam, andere Funktionen wie etwa Adler-32 sind dagegen bei bestimmten Dateigrößen ungünstig, iirc. Schlag doch mal in der Wikipedia die Eigenheiten und Unterschiede nach. Einiges ist ja schon in der hashlib vorhanden, andere sind einfach selbst zu implementieren.


Das habe ich schon vorher getan, jedoch sind die Artikel nicht so aufschlussreich für mich welcher dieser Hash-Algor. der Passende für meinen Zweck wäre. Laut Wikipedia ist CRC32 gänzlich ungeignet, was ich jedoch nicht nachvollziehen kann.
BlackJack

Beitragvon BlackJack » Mittwoch 20. Februar 2008, 01:11

Bei CRC32 ist es relativ einfach nach einer absichtlichen Änderung von einem Byte andere Bytes so zu ändern, dass wieder die gleiche Prüfsumme heraus kommt. Das so etwas zufällig vorkommt ist sehr unwahrscheinlich, aber Angriffe sind ja nicht zufällig. Es hilft also in ZIP-Archiven zu entdecken, dass Bits auf dem Datenträger "umgekippt" sind, oder dass es Übertragungsfehler beim Download gab.

Wer ist online?

Mitglieder in diesem Forum: mollyman