Integrität eines Downloads prüfen

Prüfsummencheck

Es ist zwar selten, kommt aber dennoch vor:
Beim Download einer Datei ist ein Fehler passiert, der die Daten verändert hat.

Oft ist das keine große Sache, denn viele Programme prüfen automatisch, ob die Datei beschädigt wurde und geben dann einen Fehler aus.

Was aber, wenn der Fehler nicht automatisch erkannt wird?
Das kann zum Teil fatale Folgen haben. Wenn der Fehler zum Beispiel in einer Datei für ein Firmwareupdate auftritt, kann das betroffene Gerät im schlimmsten Fall komplett außer Gefecht gesetzt werden.

Daher ist es wichtig, die Integrität dieser Datei sicherzustellen.
Aus diesem Grund werden bei wichtigen Daten neben der Datei selbst auch die Prüfsummen zur Verfügung gestellt.  Prüfsummen (auch Checksum oder Hashwert genannt) sind Werte, die vor und nach einer Übertragung erstellt werden, um eine Verfälschung der Daten zu erkennen.

Zum Prüfen der Integrität müssen wir nun nach dem Download also eine Prüfsumme erstellen und prüfen, ob diese mit der Originalprüfsumme übereinstimmt. Falls es dort Unterschiede gibt, wurde die Datei verändert.

In Windows können wir die Prüfsumme relativ einfach mithilfe dieses Powershell-Befehls bestimmen:

Get-FileHash [-Path] <string[]> [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 | RIPEMD160}]

Es stehen dabei verschiedene Algorithmen zur Verfügung. Wird kein Algorithmus explizit genannt, erfolgt die Berechnung mit SHA256.
Wichtig: Es muss derselbe Algorithmus gewählt werden, mit dem die originale Prüfsumme errechnet wurde.

Als Beispiel hier von Fortinet bereitgestellten Prüfsummen für einen manuellen  Firmwaredownload:

 

Anwendungsbeispiel

Datei: MeinDownload.txt
SHA256: 730AFB75FE917BCBC2BF97533AEFCA418A961C5D83A2748EEF952B3DF5C60F5A

Ich habe die Datei einmal unverändert und einmal in veränderter Form vorliegen.
Zunächst prüfe ich die unveränderte Datei. Dazu öffne ich Powershell und gebe dort den Befehl “Get-Filehash” ein. Um den Pfad zu kopieren, ziehe ich einfach die Datei in das Powershell-Fenster:

Ausführung des Befehls

Nach dem Ausführen des Befehls, wird die Prüfsumme unter der Spalte Hash angezeigt:

Für die veränderte Datei gehe ich nun genauso vor und bekomme folgende Ausgabe:

Wie wir hier sehen können, unterscheidet sich die Prüfsumme bei der veränderten Datei, während sie bei der unveränderten Datei gleich ist.

 

- Author: Simon Wameling

Zurück