Müssen wir wirklich die Integrität der heruntergeladenen Dateien überprüfen?

3605
maxpesa

Ich habe eine riesige Menge von Dateien heruntergeladen, entdeckte jedoch erst kürzlich die Verwendung von MD5 und SHA als Integritätsprüfer. Von da an ziehe ich es immer vor, es auf große heruntergeladene Dateien zu prüfen, auch wenn ich sie nicht als beschädigt empfunden habe.

Müssen wir wirklich die Integrität der heruntergeladenen Dateien überprüfen?

Wählen Sie als Beispiel eine heruntergeladene Linux-Distribution mit 1 GB, wenn Sie möchten.

Vielen Dank

9
Dies ist bei modernen Internetverbindungen kein Problem. Das hängt ganz von Ihren persönlichen Vorlieben ab. Ramhound vor 9 Jahren 0
Bei vielen Downloads handelt es sich um HTTP-Downloads. Nicht wenige der großen Downloads werden aufgrund von Serverzeitbeschränkungen oder Verbindungsproblemen vorzeitig beendet, ohne dass Fehler auftreten. Torrents und FTP hingegen sollten deutlich machen, ob die Datei vollständig ist. Dan vor 9 Jahren 0
Der Punkt, an dem der Hash verglichen wird, kann eher sein "hat jemand die Datei (böswillig) geändert" als "wurde die Datei korrekt heruntergeladen". Ein hervorragendes Beispiel ist das Herunterladen eines Windows-ISO-Codes aus einer nicht offiziellen / nicht vertrauenswürdigen Quelle und die Überprüfung der Integrität der Datei, indem der MD5-Hash mit dem von Microsoft in MSDN veröffentlichten verglichen wird. TheUser1024 vor 9 Jahren 5
@ TheUser1024 gehen davon aus, dass Ihre beiden Quellen gleich sind. Die MSDN-Version kann unterschiedlich sein. Eric G vor 9 Jahren 1
Diese Frage erhält möglicherweise weitere Antworten zu security.SE Eric G vor 9 Jahren 1
Es ging eigentlich mehr um Integrität als um Sicherheit, da ich nur von vertrauenswürdigen Quellen herunterlade, auch wenn dies ein wichtiger Punkt beim Dateidownload ist maxpesa vor 9 Jahren 3
@maxpesa - Heute geht es jedoch nicht darum, zu wissen, ob die Datei vollständig ist, sondern zu überprüfen, was Sie heruntergeladen haben. Ramhound vor 9 Jahren 0
In den "guten alten Zeiten" beim Herunterladen von Dateien aus dem Usenet, insbesondere bei mehreren GB-Dateien, die in viele kleinere Teile aufgeteilt wurden, war es fast notwendig, Prüfsummen zu verwenden und häufig einzelne Teile erneut herunterzuladen. Paritätsdateien waren sogar notwendig und sehr zu begrüßen, da die Art des Austausches so fehlerhaft war, dass ohne solche Maßnahmen nie etwas Nützliches heruntergeladen werden konnte. Heute ist dies nicht annähernd so schlimm - Sie können 100 GB herunterladen und haben bei einer Breitbandverbindung kein schlechtes Stück. BrianH vor 9 Jahren 0
Selbst bei einer stabilen Internetverbindung überprüfe ich immer noch den Hash vor und nach dem Brennen eines Bildes. Es dauert nur eine Minute und es wird sichergestellt, dass während der Installation keine Fehler auftreten (dies ist selten, aber mir ist es passiert. Vielleicht 1% der Zeit.) user55325 vor 9 Jahren 0

5 Antworten auf die Frage

6
LPChip

Das hängt von einigen Faktoren ab.

  1. Haben Sie eine stabile Internetverbindung?
    Wenn Sie über eine stabile Internetverbindung verfügen, müssen Sie die Integrität der Datei nicht überprüfen, da dies höchstwahrscheinlich richtig ist. Ich überprüfe niemals den Hash und hatte auch niemals beschädigte Dateien. Oder vielleicht einmal, wenn der Remote-Server getrennt wurde.

  2. Möchten Sie die Datei aus Sicherheitsgründen überprüfen?
    Wenn Sie sich Sorgen um die Sicherheit der herunterzuladenden Datei machen, können Sie mit dem MD5-Hash überprüfen, ob die Datei nicht irgendwie geändert wurde. Sie laden eine Datei herunter, und wenn der MD5-Hash nicht übereinstimmt, bedeutet dies, dass sich die Datei auf dem Server vom MD5-Hash unterscheidet, und irgendwie stimmt etwas nicht. Dies ist nur gültig, wenn Sie dem Server, den Sie herunterladen, nicht vertrauen, aber wenn jemand einen Hash bereitstellt, versucht er in der Regel auch, die Dinge auf dem neuesten Stand zu halten. Aber wenn ihre Seite gehackt wurde und Sie den MD5-Hash überprüft haben, dann haben Sie den kleinen Bonus.

Insgesamt geben diese 2 den meisten Menschen ein Nein. Wenn es ein Nein für Sie ist, liegt das natürlich ganz bei Ihnen.

Eine stabile Internetverbindung reicht nicht aus. Sie müssen auch sicherstellen, dass der Arbeitsspeicher und das Speicherlaufwerk die Dateien nicht beschädigen. Aber ja, ziemlich unwahrscheinlich. Wenn Ihr Gerät kein BSOD ist, könnten Sie sich wahrscheinlich nur für die Sicherheit interessieren. ChrisInEdmonton vor 9 Jahren 1
Eine Dateiprüfsumme ist keine Sicherheitsüberprüfung, da ein Angreifer, der die Datei ändern kann, die Prüfsumme möglicherweise ebenfalls ändern kann. Johnny vor 9 Jahren 6
Wenn ich eine Website hacken und die Datei durch eine böswillige ersetzen würde, denke ich, wäre ich schlau genug, den Hash zu ändern, der in der Liste aufgeführt ist. Cole Johnson vor 9 Jahren 1
MD5 reicht nicht mehr aus, um zu überprüfen, ob der Inhalt einer Datei nicht absichtlich geändert wurde. Es ist nur gut für unbeabsichtigte Korruption. Die Wahrscheinlichkeit, dass ein Angreifer beide kompromittiert, ist unterschiedlich. Auf den Speicher für den Hash wird in vielen Fällen nicht über dieselben Kanäle zugegriffen wie der Massendatenspeicher für einen umfangreichen Download. Aus Sicherheitsgründen sind kryptografische Signaturen besser als einfache Hashes, insbesondere wenn Sie keinen sicheren Kanal für die Verteilung der Hashes haben. Perkins vor 9 Jahren 3
Ich denke, die Idee von Hashes war, als die bereitgestellte Datei auf einer anderen Site gehostet wurde als der Hash. ZB eine Entwicklerseite mit Hash-Links zu Sourceforge oder irgendwo. Matthew Lock vor 9 Jahren 0
6
Eric G

Die Antwort und die Wahl, die man trifft, basieren auf seiner Risikobereitschaft und Überlegungen hinsichtlich Zeit und Aufwand bei der Überprüfung.

Das Überprüfen von MD5 / SHA1-Hashes ist ein guter erster Schritt, und Sie sollten dies tun, wenn Sie Zeit haben. Sie müssen jedoch prüfen, ob Sie dem bereitgestellten Hash vertrauen können. Wenn beispielsweise die Website des Autors mit dem Hash gehackt wird, kann der Angreifer den Hash ändern, damit Sie es nicht wissen. Wenn der von Ihnen berechnete Hash nicht mit dem bereitgestellten Hash identisch ist, wissen Sie, dass etwas läuft. Nur weil die Hashwerte übereinstimmen, kann die Datei nicht garantiert werden.

Eine bessere Alternative für einen Softwareautor, die Integrität und Authentizität bietet, ist das digitale Signieren der verteilten Dateien . Dadurch werden die Authentizitätsinformationen an die Datei angehängt und es ist nicht erforderlich, einer Website zu vertrauen. Wenn ein Autor die Datei digital signiert, können Fälschungen nur durch eine beschädigte Zertifizierungsstelle oder wenn der Signaturschlüssel des Entwicklers gestohlen wurde, gefälscht werden. Beide Fälle sind weitaus weniger wahrscheinlich als gehackte Websites im Internet.

Letztendlich müssen Sie Ihre eigene Due Diligence-Prüfung durchführen, um zu bestimmen, ob Sie etwas vertrauen möchten, und dann Gegenmaßnahmen ergreifen (in einer Sandbox, einer virtuellen Maschine usw. ausführen), um unbekannte Faktoren oder Fehlberechnungen zu mildern, die Sie bei der Entscheidung, ob Sie vertrauen oder nicht, getroffen haben .

4
Michael Kohne

Aus Sicherheitsgründen JA. Beachten Sie, dass ein Tor-Exit-Knoten während des Herunterladens Patches für Binärdateien gefunden hat. Denken Sie dann daran, dass Ihr ISP möglicherweise die geringste Moral hat und nicht die vollständige Kontrolle über Ihre Internetverbindung hat.

Ihre Beschwerde beim ISP betrifft die Tatsache, dass sie meine Verbindungsgeschwindigkeit und -priorität sowie andere Dinge, die Dateien beschädigen können, ändern können. maxpesa vor 9 Jahren 0
@maxpesa - Sie können den Stream ändern, wenn sie möchten. Die Datei wird nicht beschädigt, sondern nur modifiziert. Ramhound vor 9 Jahren 0
@ maxpesa - Ich habe darauf hingewiesen, dass sich Ihr ISP in der gleichen Position befindet, in der sich der Tor-Exit-Knoten im verknüpften Artikel befand. Er hat die Fähigkeit, zu kontrollieren, was über Ihre Kabel kommt. Wenn sie möchten, können sie die Binärdateien ändern, die Sie im Handumdrehen herunterladen. Michael Kohne vor 9 Jahren 0
Wenn der Angreifer die Binärdatei ändern kann, kann er auch den Hash ändern. Dies würde zwar einen gezielteren Angriff erfordern als das Patchen aller Binärdateien, ist aber trotzdem möglich. Während der Überprüfung des Hashes _can_ Schaden vermeiden kann, gibt es keine Garantie. Wenn Sie sich für die Sicherheit interessieren, müssen Sie zunächst nur über HTTPS herunterladen - insbesondere, wenn Sie Proxies wie tor verwenden! kapex vor 9 Jahren 2
Ich bin der Meinung, dass der Intermediär auch die Quelle des Hashs ändern kann, gegen den validiert werden soll. Verschlüsselung / HTTPS kann einigen dieser Szenarien entgegenwirken, um solche MitM-Angriffe zu verhindern. Eric G vor 9 Jahren 0
Um @ kapeps Kommentar hinzuzufügen, ist es noch besser, die Verschlüsselung mithilfe von Verschlüsselungssignaturen (mithilfe von Schlüsseln, die über einen sicheren Kanal verteilt werden) zu überprüfen. Auf diese Weise muss ein Angreifer sowohl den Keystore * als auch * das Repository kompromittieren, um die Binärdatei zu ändern. Johnny vor 9 Jahren 1
3
George

Einfach zu den anderen Antworten hinzufügen:

TLDR: Für Dateien, bei denen die Integrität kritisch ist, ja

Lange Antwort: Ich finde es oft notwendig, wenn ich etwas mache, bei dem es entscheidend ist, dass die Datei eine hohe Integrität hat.

Ein Beispiel ist das Flashen eines Routers mit OpenWRT. Wenn die Datei beschädigt ist, wäre der Router gemauert, und dann müsste ich entweder:

  • Ersetzen Sie es (teuer)
  • Beheben Sie es (zeitaufwendig. Besonders wenn ich ein serielles Kabel / JTAG löten muss)

Beides ist im Vergleich zu der Einfachheit der Überprüfung eines Hashes unbequem. Daher würde ich dringend empfehlen, dies für kritische Dateien zu tun.

0
Peter Cordes

Normalerweise störe ich nur, ob mein Download unterbrochen wurde, und ich habe ihn später wieder aufgenommen, da HTTP-Anforderungen mit einem Suchoffset nicht so häufig verwendet werden, sodass etwas Dummes passiert sein könnte.

In vielen Fällen ist der Download eine komprimierte Datei, die nicht dekomprimiert wird, wenn sie beschädigt ist. Wenn dies nicht der Fall ist, ist das Prüfen keine schlechte Idee. Ich kann ein ISO überprüfen, bevor ich es auf einmal beschreibbare Medien brenne.

Die Überprüfung mit einem Hash von der gleichen Site, von der ich ihn bekommen habe, ist aus Sicherheitsgründen wenig sinnvoll, wie andere Antworten und Kommentare sagten. Es kann nützlicher sein, wenn Sie von einem Spiegel heruntergeladen haben, der Hash jedoch vom ursprünglichen Upstream stammt. Oder wenn der Dateiname mehrdeutig ist und Sie aus irgendeinem Grund nicht sicher sind, ob Sie genau die gewünschte Version haben.

Der Punkt ist, dass das Veröffentlichen von Hashes für viele spezielle Fälle nützlich ist, außer das Herunterladen der Datei von derselben Website, die den Hash hostet.