So überprüfen Sie heruntergeladene Dateien

Der Autor hat die Electronic Frontier Foundation ausgewählt, um eine Spende in Höhe von 300 USD als Teil der Write zu erhalten für DOnations program.

Einführung

Sie haben wahrscheinlich Open-Source-Software heruntergeladen, z. B. eine Linux-Distributions-ISO, und neben dem Download-Link befand sich ein Link zum Herunterladen einer Prüfsumme der Datei. Haben Sie sich jemals gefragt, wozu dieser Prüfsummenlink gedacht ist? Diese Prüfsumme wird verwendet, um die Integrität der gerade heruntergeladenen Datei zu überprüfen.

Am 20. Februar 2016 wurde die Website für Linux Mint, eine beliebte Linux-Distribution, hacked und die zur Installation der Distribution verwendete ISO wurde kompromittiert. Bevor die gefährdete ISO entdeckt wurde, haben viele Leute eine Version von Linux Mint mit einer eingebauten Hintertür heruntergeladen und möglicherweise installiert.

Diese gefährliche Installation hätte auf Benutzerebene vermieden werden können, wenn die Personen, die die geänderte ISO heruntergeladen haben, eine Dateiüberprüfung durchgeführt hätten, um festzustellen, ob die von ihnen heruntergeladenen Dateien dieselbe Prüfsumme wie die Originaldatei hatten. Die gehackte ISO hatte eine völlig andere Prüfsumme als die ursprüngliche ISO.

Die Dateiverifizierung kann zwar darauf hinweisen, dass eine Datei möglicherweise gehackt wurde, ist jedoch oftmals nützlicher, um dem Benutzer zu zeigen, dass die heruntergeladene Datei nicht ganz richtig ist oder sich während des Herunterladens geändert hat. Wenn während des Herunterladens ein TCP-Paket verworfen wurde, ist die heruntergeladene Datei möglicherweise nur unvollständig. Wenn Sie eine Dateiverifizierung durchführen, werden Sie darüber informiert, dass sich das, was Sie heruntergeladen haben, von dem unterscheidet, was auf dem Quellserver verfügbar ist.

In diesem Lernprogramm erfahren Sie, was die Dateiverifizierung ist, warum sie wichtig ist und wie sie unter verschiedenen Betriebssystemen mithilfe von Befehlszeilentools ausgeführt wird.

Voraussetzungen

In diesem Artikel verwenden Sie die Befehlszeilentools für die Dateiverifizierung, die in allen gängigen Betriebssystemen integriert sind.

Zur Überprüfung benötigen Sie eine Datei sowie die MD5- und SHA1-Prüfsummen für diese Datei.

Wir verwenden ein Ubuntu-Installations-ISO für unsere Dateiüberprüfungen. Laden Sie die Ubuntu Minimal CD ISO für 64-Bit-PCs (amd64, x86_64) herunter. Beachten Sie beim Herunterladen die MD5- und SHA1-Summen neben dem Download-Link. Sie werden diese Prüfsummen im gesamten Lernprogramm verwenden.

So funktioniert die Dateiverifizierung

Bei der Dateiüberprüfung, auch als "Hashing" bezeichnet, wird überprüft, ob eine auf Ihrem Computer vorhandene Datei mit der Quelldatei identisch ist. Wenn Sie eine Datei hashen, verbleibt eine checksum, eine zufällige alphanumerische Zeichenfolge mit einer festgelegten Länge. Durch das Hashing einer Datei wird die Datei nicht verschlüsselt, und Sie können keine Prüfsumme verwenden und diese durch einen Algorithmus zurückführen, um die ursprüngliche Quelldatei abzurufen.

Der Prozess zum Generieren einer Prüfsumme wird häufig als kryptografische Einwegfunktion bezeichnet. Wenn Sie einen Hash für eine Datei ausführen, wird dieser in einer Folge von zufälligen Zeichen "zusammengefasst". Angenommen, Sie haben ein Dokument mit 1000 Zeichen. Wenn die Datei mit dem MD5-Algorithmus gehasht wird, ergibt sich eine Prüfsumme von 32 zufälligen Zeichen. Wenn Sie eine 2000 Zeichen lange Datei hashen, enthält die resultierende MD5-Prüfsumme immer noch 32 Zeichen. Selbst wenn die Quelldatei nur 10 Zeichen lang wäre, wäre die MD5-Prüfsumme immer noch 32 zufällige Zeichen.

Jedes Mal, wenn Sie einen Hash für dieselbe Datei ausführen, wird im Hash immer dieselbe Zeichenfolge angezeigt, sofern sich nicht jedes Bit dieser Datei geändert hat. Aber wenn auch nur eine Sache anders ist, wie ein zusätzlicher Speicherplatz in der Datei, ist die Prüfsumme völlig anders.

Es gibt zwei Arten von Prüfsummen, die normalerweise für Dateiüberprüfungen angezeigt werden: MD5 oder SHA.

Der MD5-Algorithmus wird in der Welt der Verschlüsselung häufig kritisiert, da er leicht zu hacken ist. Bei der Dateiverifizierung spielt dies jedoch keine Rolle. Bei der Überprüfung der Integrität einer Datei spielt die Schwäche des Verschlüsselungstools keine Rolle. Das ist gut für uns, da MD5 eine ausgereifte Spezifikation ist und beim Durchführen von Hashes schneller als andere Methoden ist.

In letzter Zeit wurde der SHA-Hashing-Algorithmus zunehmend für Prüfsummen verwendet, da er der Hashing-Algorithmus ist, der in einigen modernen Verschlüsselungsverfahren verwendet wird. Im Gegensatz zu MD5 hat SHA jedoch andere Versionen und es ist wichtig, bei der Überprüfung die richtige Version zu verwenden. Die Version wird entweder als eine Zahl wie 1, 2, 3 oder durch die Häufigkeit identifiziert, mit der SHA nacheinander ausgeführt wird, z. B. 256, 384 oder 512. Die von Ihnen verwendete Prüfsumme sollte angeben, welche SHA-Version verwendet werden soll. Wenn die Site nur einen Hash mit der Bezeichnung SHA ohne Nummer angibt, ist davon auszugehen, dass sie SHA1 verwenden.

Für die Dateiverifizierung sind beide Methoden gleichermaßen gültig. Obwohl der Algorithmus unterschiedlich ist, geben beide einen zufälligen String mit einer festgelegten Länge zurück, obwohl MD5-Hashes kürzer sind als alle SHA-Hashes.

Das Überprüfen des Hashs für heruntergeladene Dateien bietet zwei verschiedene Sicherheiten, die sich beide auszahlen. Erstens können Sie mit einer passenden Prüfsumme sicherstellen, dass die gerade heruntergeladene Datei mit der Quelle identisch ist und nicht von einem Dritten geändert wurde. Zweitens wissen Sie, dass die Datei während der Übertragung nicht beschädigt oder geändert wurde. Beide Fälle sind wichtig, da der von Ihnen vorgenommene Download in beiden Fällen möglicherweise schädlich für Ihren Computer ist oder überhaupt nicht funktioniert.

Nachdem Sie nun wissen, was eine Prüfsumme ist und warum Sie eine Prüfung Ihrer Dateien durchführen sollten, erfahren Sie, wie Sie dies für Ihr Betriebssystem tun. Zunächst betrachten wir Linux.

Durchführen der Dateiverifizierung unter Linux

Die meisten Linux-Distributionen verfügen über Befehlszeilentools für jeden Hashing-Algorithmus. Das Muster des Werkzeugnamens ist "HASH-TYPE" plus das Wort "Summe". Um also mit MD5 zu hacken, lautet der Programmname + md5sum +. Um mit SHA 256 zu hashen, lautet der Befehl + sha256sum +. Wenn Sie sich nicht sicher sind, wie der genaue Name lautet, geben Sie den Namen des Hash-Algorithmus ein und drücken Sie zweimal die Tabulatortaste. In den meisten Distributionen werden alle Befehle angezeigt, die mit diesem Algorithmus beginnen. Nachfolgend werden wir einige beliebte Schecks durchgehen.

Wir führen unsere erste Prüfung mit dem MD5-Hashing-Algorithmus durch. Führen Sie den Befehl + md5sum + aus und übergeben Sie den Pfad zu der Datei, die Sie hashen möchten:

md5sum mini.iso

Die Ergebnisse sehen ungefähr so ​​aus:

Output8388f7232b400bdc80279668847f90da  mini.iso

Diese zufällige Zeichenfolge, die mit "8388f" beginnt, ist die Prüfsumme. Sie müssen diese mit der Prüfsumme auf der Downloadseite vergleichen.

Da jede Änderung an der Datei zu einer völlig anderen Prüfsumme führt, müssen Sie aus Zeitgründen nur die ersten und letzten Zeichen anstelle der einzelnen Zeichen als Quelle markieren.

Wenn Sie beispielsweise schnell überprüfen möchten, ob die Prüfsumme für "mini.iso" übereinstimmt, überprüfen Sie, ob beide Prüfsummen mit "8388f" beginnen und mit "f90da" enden. Wenn beide übereinstimmen, ist der vollständige Hash höchstwahrscheinlich (fast 100%) derselbe.

Wenn Sie 100% sicher sein möchten, kopieren Sie einfach die Prüfsumme von der Website und fügen Sie sie unter der Ausgabe der lokalen Prüfung ein, um festzustellen, ob alle Zeichen in einer Reihe stehen:

Output8388f7232b400bdc80279668847f90da  mini.iso
8388f7232b400bdc80279668847f90da

Schauen wir uns nun an, wie SHA-Hashes überprüft werden. Die gebräuchlichsten SHA-Hashing-Befehle sind "+ sha1sum " und " sha256sum ". Führen Sie den Befehl ` sha1sum +` aus, indem Sie den Pfad zur Datei übergeben:

sha1sum mini.iso

Die Ergebnisse sehen ungefähr so ​​aus:

Outputcce936c1f9d1448c7d8f74b76b66f42eb4f93d4a  mini.iso

Vergleichen Sie den resultierenden Wert mit dem Wert auf der Webseite, um zu überprüfen, ob sie übereinstimmen.

Schauen wir uns nun an, wie Sie Dateien unter macOS überprüfen.

Durchführen der Dateiverifizierung unter macOS

Im Gegensatz zu Linux verfügt macOS nur über zwei Hashing-Befehle ("+ md5 " und " shasum +") anstelle eines für jeden Algorithmus. Mit diesen Tools können wir dennoch alle erforderlichen Überprüfungen durchführen.

Trotz unterschiedlicher Anwendungen und Betriebssysteme ist der resultierende Hash dieser Tools auf jedem Betriebssystem gleich.

Da + md5 + ein eigenständiger Algorithmus ist, handelt es sich um einen eigenen Befehl unter macOS. Führen Sie den Befehl + md5 + aus und übergeben Sie ihm den Pfad zu der Datei, die Sie überprüfen möchten:

md5 mini.iso

Die Ergebnisse sehen folgendermaßen aus:

OutputMD5 (mini.iso) = 8388f7232b400bdc80279668847f90da

Wie Sie sehen, entspricht die Ausgabe unter macOS nicht genau der Ausgabe unter Linux, zeigt jedoch den Dateinamen und die 32-stellige Zufallszeichenfolge an. Vergleichen Sie die Zeichen mit der ursprünglichen MD5-Prüfsumme und stellen Sie sicher, dass sie übereinstimmen.

Betrachten wir nun die Überprüfung der SHA-Prüfsummen. Unter macOS gibt es ein Dienstprogramm, mit dem eine SHA-Prüfung mit dem Namen "+ shasum +" durchgeführt werden kann. Wenn Sie es ausführen, geben Sie den gewünschten SHA-Prüftyp als Argument an.

Führen Sie den folgenden Befehl aus und geben Sie SHA1 mit dem Flag "+ -a +" an:

shasum -a 1 mini.iso

Die Ergebnisse sehen folgendermaßen aus:

Outputcce936c1f9d1448c7d8f74b76b66f42eb4f93d4a  mini.iso

Vergleichen Sie diesen Wert mit dem SHA1-Hash der Originaldatei. Wenn sie nicht übereinstimmen, sollten Sie versuchen, die Datei herunterzuladen und den Hash erneut zu überprüfen.

Wenn Sie eine SHA 256-Prüfung durchführen müssen, lautet der Befehl "+ shasum -a 256 mini.iso +". Wenn Sie den Typ nicht angeben, wird standardmäßig SHA1 verwendet.

Schauen wir uns als nächstes die Überprüfung von Dateien unter Windows an.

Durchführen der Dateiüberprüfung unter Windows

Windows 7 und spätere Versionen enthalten die "+ certutil +" - App, die alle unsere Hashing-Anforderungen erfüllt. Die Ausgabe unterscheidet sich stark von Linux und macOS, aber die Prüfsumme ist dieselbe und genauso gültig. In beiden folgenden Beispielen wird PowerShell verwendet.

Das Format des Befehls lautet "+ certutil -hashfile +".

Der Befehl "certutil" unterscheidet nicht zwischen Groß- und Kleinschreibung, daher sind "CertUtil", "certUtil" und "certutil" gültig. Der Algorithmus unterscheidet jedoch zwischen Groß- und Kleinschreibung, was bedeutet, dass "md5" nicht funktioniert und Sie "MD5" eingeben müssen.

Führen Sie den folgenden Befehl aus, um den MD5-Hash der Datei "+ mini.iso +" zu überprüfen:

certutil -hashfile mini.iso MD5

Die Ergebnisse sehen folgendermaßen aus:

OutputMD5 hash of file mini.iso:
8388f7232b400bdc80279668847f90da
CertUtil: -hashfile command completed successfully.

Für den SHA-Algorithmus führen wir denselben Befehl aus, verwenden jedoch "+ SHA1 " anstelle von " MD5 +".

Die Zahl nach "+ SHA " gibt die verschiedenen Versionen oder Iterationen von SHA an. Wir verwenden also " SHA " oder " SHA1 " für SHA1-Hashing oder " SHA256 +", wenn wir den SHA 256-Algorithmus benötigen.

certutil -hashfile mini.iso

Die Ergebnisse sehen folgendermaßen aus:

OutputSHA1 hash of mini.iso:
cce936c1f9d1448c7d8f74b76b66f42eb4f93d4a
CertUtil: -hashfile command completed successfully.

Vergleichen Sie den resultierenden Hash mit dem auf der Downloadseite, um sicherzustellen, dass sie übereinstimmen.

Fazit

Unabhängig davon, ob Sie sicherstellen möchten, dass eine gerade heruntergeladene Datei während des Downloads nicht beschädigt wurde, oder ob überprüft wurde, dass eine schändliche Person den Download-Server nicht gehackt hat, lohnt sich die zusätzliche Zeit, die zum Überprüfen des Hash einer Datei erforderlich ist.

Wenn die Befehlszeile für eine einfache Dateiverifizierung etwas zu unpraktisch ist, finden Sie hier einige GUI-basierte Tools, die Sie stattdessen verwenden können: