mikrocontroller.net

Forum: PC Hard- und Software Integrität von Dateien


Autor: Peter Große (peterdergrosse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin

Hab mir neulich mal Gedanken gemacht, ob Dateien ständig gleich bleiben, 
auch wenn man sie x mal hin und her schiebt. Kann es dann evtl. 
vorkommen, dass dann plötzlich z.B. Bit 10^7 nicht mehr 1 ist sondern 0 
oder umgekehrt? Kann ich das irgendwie überprüfen? Wenn die Datei derart 
mutiert ist, dass ich sie nicht mehr öffnen kann ist es ja klar, aber 
was wenn nur ein paar bits invertiert sind?

: Verschoben durch Admin
Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann einen CRC oder Hash wert rechnen.

Autor: Peter Große (peterdergrosse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, dazu bräucht ich aber mal die orginal Datei bzw. die intakte Datei 
oder?

Autor: Daniel G. (daniel83)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du nur wissen willst, ob sie OK ist, dann brauchst du nur eine 
Checksumme oder einen Hash. Willst du sie auch wieder herstellen, dann 
brauchst du die Datei 3mal, es könnte ja sein, dass bei der kaputten der 
hash oder die Checksumme genau passend mutiert ist.

Das ganze kannst du natürlich unendlich fortsetzten, weil bei 3 Datein 
könnten ja auch 2 ungleichmäßig defekt sein...

Autor: Jo O. (brause1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mich recht entsinne, dann hab ich schonmal eine Meldung von 
Windows bekommen, dass eine Prüfsumme nicht stimmen würde. Obs die 
wirklich gibt, oder wie die aufgebaut ist, weiß ich nicht.

Ziemlich sicher bin ich mir aber, dass bei Video CDs sowas nicht greift. 
Da kann ich mich entsinnen, dass nach dem 1:1 Kopieren der CD ein 
Programm welches bitweise die Files vergleicht, manchmal unterschiede 
entdeckte, ohne dass Windows einen Fehler gemeldet hat

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was es gibt ist die sogenannte Forward Error Correction, da wird ein 
Hamming Code gerechnet, es werden redundante Daten eingebaut, sodass 
einzelne oder mehrere Bitfehler erkannt und korrigiert werden koennen.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube kaum, dass Windows selber eine Prüfsumme oder eine Forward 
Error Correction macht...

Bei manchen Downloads (meistens irgendwo im Unix Umfeld) gibt es md5 
Hashes dabei, womit man die Integrität der Dateien überprüfen kann.

Wenn allerdings eine Datei beim Kopieren von A nach B Bitfehler 
aufweist, ist der md5 Hash noch das kleinste Problem...

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Disk has auf jedem sektor eine CRC und jedes Datenpacket ueber die 
Ethernet hat auch einen CRC. Das macht das Bios schon.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok. Aber wenn du tatsächlich mal einen CRC Fehler auf der Festplatte 
hast, brauchst du sowieso eine neue Festplatte ;-)

Autor: Walther Z. (chilipower)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Lese/Schreib-Fehlerrate liegt im Bereich von 10^15 oder so. (Kann 
man im Datenblatt nachlesen). Das bedeutet, dass ohne Integritätsprüfung 
(und entsprechender Aktion) sehr wohl Daten verloren gehen. Beim 
Kopieren hat man zusätzlich das Risiko anderer Hardwarefehler im 
ähnlichen Bereich. Die magnetische Haltbarkeit ist aber ebenso begrenzt. 
Der beste Schutz ist ein RAID5 oder ein Filesystem vom Typ ZFS oder 
BTRFS als RAID. Auf letzteres warte ich ich auch schon seit Jahren. 
Leider hat es noch experimentellen Status.

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:
> Bei manchen Downloads (meistens irgendwo im Unix Umfeld) gibt es md5
> Hashes dabei, womit man die Integrität der Dateien überprüfen kann.
>
> Wenn allerdings eine Datei beim Kopieren von A nach B Bitfehler
> aufweist, ist der md5 Hash noch das kleinste Problem...

Der wohl weit häufigste Fehler in dem Bereich ist, dass Binärdateien 
fälschlicherweise via FTP im Textmodus übertragen werden. Die MD5-Hashes 
haben in dem Kontext eher etwas mit der Erkennung von Anwender- als von 
Übertragungsfehlern zu tun.

Ausserdem können so auch von Dritten Fehler wie z.B. abgeschnittene 
Dateien aufgrund von unbemerkten Verbindungsabbrüchen bereits beim 
Upload (der nicht immer interaktiv gemacht wird, und schnell für so 
etwas zusammengehackte Scripte neigen leider dazu, die Fehlerbehandlung 
zu vernachlässigen ;-).

Wow wie Denn schrieb:
> Eine Disk has auf jedem sektor eine CRC und jedes Datenpacket ueber die
> Ethernet hat auch einen CRC. Das macht das Bios schon.

Festplatten benutzen intern schon seit geraumer Zeit ausgefeilte 
Fehlerkorrekturmechanismen, ein einfacher CRC reicht da schon lange 
nicht mehr aus. Lesefehler werden da AFAIK heutzutage fest 
einkalkuliert, um die heutigen Datendichten überhaupt erreichen zu 
können. Nur die Fehlermeldung, wenn die Fehlerkorrektur mal nicht mehr 
ausreicht, spricht bis heute noch von CRC, da der Fehlercode eben 
irgendwann mal so definiert wurde.

Was aber lange Zeit in vielen Fällen überhaupt nicht abgesichert wurde 
ist die Übertragung zwischen Rechner und Festplatte. Bei IDE gibt es 
erst seit der Einführung von UDMA einen CRC, davor gab es nichtmal 
Parity.

Andreas

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ZFS und BTRFS verwenden Prüfsummen, die meisten anderen gebräuchlichen 
Dateisysteme m.W. nicht.

Andreas Ferber schrieb:
> Der wohl weit häufigste Fehler in dem Bereich ist, dass Binärdateien
> fälschlicherweise via FTP im Textmodus übertragen werden.

Wer heute noch FTP verwendet verdient es nicht anders...

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Schwarz schrieb:
> Wer heute noch FTP verwendet verdient es nicht anders...

Gibts da etwa eine alternative? Mein (und sicher nicht nur mein) 
Webhoster bietet mir ausschließlich FTP an um Dateien hochzuladen.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Schwarz schrieb:

> Wer heute noch FTP verwendet verdient es nicht anders...

FTP ist weiterhin vielfältig im Einsatz. Da die Trägerprotokolle 
darunter heutzutage stets abgesichert sind, teilweise auf mehreren 
Ebenen, ist das auch kein Problem. Die Ascii/Binary-Problematik hat 
damit nichts zu tun.

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Schwarz schrieb:
> ZFS und BTRFS verwenden Prüfsummen, die meisten anderen gebräuchlichen
> Dateisysteme m.W. nicht.

Wobei der Nutzen IMO recht begrenzt ist. Wenn z.B. ein Bit im RAM kippt, 
dann wird die Prüfsumme schon aus falschen Daten berechnet. Der grösste 
Teil der Kette, die hier durch die Dateisystem-Prüfsumme abgedeckt wird, 
ist heutzutage auch schon durch andere Checks recht gut versorgt (CRC32 
bei SATA, SAS und PCI Express, FEC auf der Platte selbst).

Sinnvoller ist das IMO auf Ebene der Anwendung, wie es z.B. bei git 
gemacht wird, da hier die Abdeckung sogar über verteilte Systeme hinweg 
lückenlos gemacht werden kann. So kann das u.U. sogar zur Aufdeckung 
mutwilliger Sabotage genutzt werden, wenn der Angreifer nicht 
gleichzeitig alle Kopien der Prüfsumme manipulieren kann. Im 
Zweifelsfall (wenn die Integrität und deren Nachweis wirklich wichtig 
ist) kann ich die meinetwegen sogar als Kleinanzeige in ein paar 
Tageszeitungen setzen und später im Archiv nachlesen, da wird eine 
Manipulation dann wirklich schwierig.

> Wer heute noch FTP verwendet verdient es nicht anders...

Totgesagte leben länger ;-) Leider hat man oft genug einfach nicht die 
Wahl, weder als Anbieter (weil die Kunden danach verlangen) noch als 
Kunde (weil der Anbieter nichts anderes unterstützt).

Und wo bleibt der Nostalgiefaktor? ;-) Ich hol' meine Mails auch heute 
noch per UUCP ab...

Andreas

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon K. schrieb:
> Ich glaube kaum, dass Windows selber eine Prüfsumme oder eine Forward
> Error Correction macht...

CDs und DVDs würden ohne ECC überaupt nicht vernünftig funktionieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.