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

9

Ich habe eine große Anzahl von Dateien heruntergeladen, aber vor kurzem die Verwendung von md5 und sha als Integritätsprüfer entdeckt. Von da an bevorzuge ich es immer, nach großen heruntergeladenen Dateien zu suchen, auch wenn ich nie festgestellt habe, dass sie beschädigt sind.

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

Wählen Sie als Beispiel eine Linux-Distribution aus, die ich gerade heruntergeladen habe, dh 1 GB, wenn Sie möchten.

Vielen Dank

maxpesa
quelle
Dies ist bei modernen Internetverbindungen wirklich kein Problem. Es hängt ganz von Ihren persönlichen Vorlieben ab.
Ramhound
5
Der Vergleichspunkt für den Hash kann eher darin bestehen, dass jemand die Datei (böswillig) geändert hat, als dass die Datei korrekt heruntergeladen wurde. Ein Paradebeispiel ist das Herunterladen einer Windows-ISO von einer nicht offiziellen / nicht vertrauenswürdigen Quelle und das Überprüfen der Integrität der Datei durch Vergleichen des MD5-Hashs mit dem von Microsoft auf MSDN veröffentlichten.
TheUser1024
1
@ TheUser1024 Dies setzt voraus, dass Ihre beiden Quellen gleich sind, die MSDN-Version kann unterschiedlich sein.
Eric G
1
Diese Frage kann mehr Antworten auf Sicherheit erhalten.
Eric G
3
Es ging eigentlich mehr um Integrität als um Sicherheit, da ich nur von vertrauenswürdigen Quellen herunterlade, auch wenn es ein wichtiger Punkt beim Herunterladen von Dateien ist
maxpesa

Antworten:

6

Es 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 sie höchstwahrscheinlich korrekt ist. Ich überprüfe nie den Hash und hatte auch nie beschädigte Dateien. Oder vielleicht einmal, wenn der Remote-Server die Verbindung getrennt hat.

  2. Möchten Sie die Datei aus Sicherheitsgründen überprüfen?
    Wenn Sie sich Sorgen über die Sicherheit der heruntergeladenen Datei machen, können Sie mithilfe des MD5-Hashs überprüfen, ob die Datei nicht 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 etwas nicht stimmt. Dies ist nur gültig, wenn Sie dem Server, von dem Sie herunterladen, nicht vertrauen. Wenn jedoch jemand einen Hash bereitstellt, versucht er normalerweise auch, die Dinge auf dem neuesten Stand zu halten. Aber wenn ihre Seite gehackt wurde und Sie den MD5-Hash überprüft haben, haben Sie den kleinen Bonus erhalten.

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

LPChip
quelle
1
Eine stabile Internetverbindung reicht nicht aus. Sie müssen auch sicherstellen, dass Ihr RAM und Ihr Speicherlaufwerk die Dateien nicht beschädigen. Aber ja, ziemlich unwahrscheinlich. Wenn Ihre Maschine nicht BSOD-fähig ist, kümmern Sie sich wahrscheinlich nur um die Sicherheit.
ChrisInEdmonton
6
Eine Dateiprüfsumme ist keine Sicherheitsüberprüfung, da ein Angreifer, der die Datei ändern kann, wahrscheinlich auch die Prüfsumme ändern kann.
Johnny
1
Wenn ich eine Site hacken und die Datei durch eine böswillige ersetzen würde, wäre ich meiner Meinung nach klug genug, um den aufgelisteten Hash zu ändern.
Cole Johnson
3
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 gefährdet, ist unterschiedlich. In vielen Fällen wird nicht über dieselben Kanäle auf den Speicher für den Hash zugegriffen wie auf den Massendateispeicher für einen großen Download. Aus Sicherheitsgründen sind kryptografische Signaturen besser als einfache Hashes, insbesondere wenn Sie keinen sicheren Kanal zum Verteilen der Hashes haben.
Perkins
Ich denke, die Idee von Hashes war, als die bereitgestellte Datei auf einer anderen Site als dem Hash gehostet wurde. ZB eine Entwickler-Site mit einem Hash-Link zu Sourceforge oder irgendwo anders.
Matthew Lock
6

Die Antwort und Auswahl, die man trifft, basiert auf seiner Risikotoleranz und den Überlegungen zu 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 Ihre Fähigkeit berücksichtigen, dem bereitgestellten Hash zu vertrauen. Wenn beispielsweise die Website des Autors mit dem Hash gehackt wird, kann der Angreifer den Hash ändern, sodass Sie es nicht wissen. Wenn der von Ihnen berechnete Hash nicht mit dem bereitgestellten Hash übereinstimmt, wissen Sie, dass etwas nicht stimmt. Nur weil die Hashes übereinstimmen, ist die Datei jedoch nicht garantiert.

Eine bessere Alternative für einen Software-Autor, um Integrität und Authentizität bereitzustellen, besteht darin , die verteilten Dateien digital zu signieren . 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, kann dies nur durch eine kompromittierte Zertifizierungsstelle gefälscht werden, oder wenn der Signaturschlüssel des Entwicklers gestohlen wurde. Beide Fälle sind weitaus weniger wahrscheinlich als das Hacken einer Website im Internet.

Letztendlich müssen Sie Ihre eigene Due Diligence durchführen, um festzustellen, ob Sie etwas vertrauen möchten, und dann Gegenmaßnahmen ergreifen (in einer Sandbox, einer virtuellen Maschine usw. ausführen), um unbekannte Faktoren oder Fehleinschätzungen zu mindern, die Sie bei der Entscheidung, ob Sie vertrauen oder nicht, vorgenommen haben .

Eric G.
quelle
4

Aus Sicherheitsgründen JA. Bedenken Sie, dass bei einem Tor-Exit-Knoten beim Herunterladen Binärdateien gepatcht wurden , und denken Sie daran, dass Ihr ISP möglicherweise die geringste Moral hat oder nicht und dass er die vollständige Kontrolle über Ihre Internetverbindung hat.

Michael Kohne
quelle
Ihre Beschwerde beim ISP bezieht sich auf die Tatsache, dass sie meine Verbindungsgeschwindigkeit und -priorität ändern können und andere Dinge, die Dateien beschädigen können?
Maxpesa
@maxpesa - Sie können den Stream ändern, wenn sie möchten. Die Datei wird nicht beschädigt, nur geändert.
Ramhound
@maxpesa - Ich habe darauf hingewiesen, dass sich Ihr ISP an derselben Position befindet wie der Tor-Ausgangsknoten im verlinkten Artikel. Er kann steuern, was über Ihre Kabel kommt. Wenn sie wollten, können sie die Binärdateien ändern, die Sie im laufenden Betrieb herunterladen.
Michael Kohne
2
Wenn der Angreifer die Binärdatei ändern kann, kann der Angreifer höchstwahrscheinlich auch den Hash ändern. Das würde einen gezielteren Angriff erfordern als das Patchen aller Binärdateien, ist aber immer noch sehr gut möglich. Während der Hash - Überprüfung kann Schäden vermeiden, gibt es keine Garantie. Wenn Sie Wert auf Sicherheit legen, müssen Sie zunächst nur über HTTPS herunterladen - insbesondere, wenn Sie Proxys wie mit tor verwenden!
Kapex
1
Um den Kommentar von @ kapep zu ergänzen, ist es noch besser, ihn mithilfe kryptografischer Signaturen (mithilfe von Schlüsseln, die über einen sicheren Kanal verteilt werden) zu validieren. Auf diese Weise müsste ein Angreifer sowohl den Keystore als auch das Repository kompromittieren , um die Binärdatei zu ändern.
Johnny
4

Nur um die anderen Antworten zu ergänzen:

TLDR: Für Dateien, bei denen Integrität von entscheidender Bedeutung ist, ja

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

Ein Beispiel ist das Flashen eines Routers mit OpenWRT. Wenn die Datei beschädigt ist, würde dieser Router zugemauert sein, und dann müsste ich entweder:

  • Ersetzen Sie es (teuer)
  • Reparieren Sie es (zeitaufwändig. Besonders wenn ich ein serielles Kabel / JTAG löten muss)

Beides ist unpraktisch im Vergleich zu der Einfachheit, einen Hash zu überprüfen. Daher würde ich dringend empfehlen, dies für kritische Dateien zu tun.

George
quelle
0

Normalerweise überprüfe ich nur, ob mein Download unterbrochen wurde, und habe ihn später wieder aufgenommen, da HTTP-Anforderungen mit einem Suchoffset nicht so häufig verwendet werden, sodass möglicherweise etwas Dummes passiert ist.

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

Die Überprüfung mit einem Hash von derselben Site, von der ich es erhalten habe, ist aus Sicherheitsgründen wenig hilfreich, wie andere Antworten und Kommentare bereits 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 nicht eindeutig 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 andere Sonderfälle nützlich ist, als nur das Herunterladen der Datei von derselben Site, auf der sich der Hash befindet.

Peter Cordes
quelle