Discussion:
Hash zur Überprüfung eines Downloads - Schutz?
(zu alt für eine Antwort)
Michael Pachta
2024-11-22 10:16:47 UTC
Permalink
Moin zusammen,

ich wollte mittels winget eine Software updaten. Allerdings meldet
winget: "Der Hash-Wert des Installers stimmt nicht überein".

Die Gründe dafür können mehrere sein. Im einfachsten Fall hat der
Anbieter vergessen, den korrekten Hashwert anzubieten.

Man könnte aber auch vermuten, dass der Installer von Cyber-Kriminellen
("Hackern") manipuliert wurde. Dann aber frage ich mich: Falls so etwas
geschieht, wie bin ich davor geschützt, dass der Hashwert nicht auch von
den Kriminellen ausgetauscht wird? Ist der irgendwie kryptografisch
gesichert?
Marco Moock
2024-11-22 14:34:32 UTC
Permalink
Post by Michael Pachta
Man könnte aber auch vermuten, dass der Installer von
Cyber-Kriminellen ("Hackern") manipuliert wurde. Dann aber frage ich
mich: Falls so etwas geschieht, wie bin ich davor geschützt, dass der
Hashwert nicht auch von den Kriminellen ausgetauscht wird? Ist der
irgendwie kryptografisch gesichert?
Ein Hash kann nur zur Verifikation einer fehlerfreien Übertragung
genutzt werden. Gegen absichtliche Manipulation ist der nutzlos, weil
der ebenfalls manipuliert werden kann und dann übereinstimmt.

Wenn du verifizieren willst, dass die Datei wirklich so vom Herausgeber
kommt, benötigt es eine kryptografische Signatur, z.B. mit PGP oder
Zertifikaten wie X.509.
--
Gruß
Marco

Spam und Werbung bitte an
***@nirvana.admins.ws
Michael Pachta
2024-11-22 14:39:01 UTC
Permalink
Post by Marco Moock
Ein Hash kann nur zur Verifikation einer fehlerfreien Übertragung
genutzt werden.
Ich dachte, dass es dafür CRC gibt.
Post by Marco Moock
Gegen absichtliche Manipulation ist der nutzlos, weil
der ebenfalls manipuliert werden kann und dann übereinstimmt.
Ja, das habe ich mir gedacht. Jedenfalls tritt der besagte Fehler in
winget auch nach mehreren Versuchen im Laufe des Tage immer noch auf,
weswegen ich einen Übertragungsfehler ausschließen möchte.
Marco Moock
2024-11-22 14:52:41 UTC
Permalink
Post by Michael Pachta
Post by Marco Moock
Ein Hash kann nur zur Verifikation einer fehlerfreien Übertragung
genutzt werden.
Ich dachte, dass es dafür CRC gibt.
Kann dafür genutzt werden. Kryptografische Hashfunktionen haben aber
den Vorteil, dass das Finden einer Kollision (2 Eingaben geben die
gleiche Ausgabe) extrem aufwändig ist. Bei CRC ist das nicht der Fall.

https://de.wikipedia.org/wiki/Zyklische_Redundanzpr%C3%BCfung
--
Gruß
Marco

Spam und Werbung bitte an
***@nirvana.admins.ws
Stefan Reuther
2024-11-22 16:26:44 UTC
Permalink
Post by Michael Pachta
Post by Marco Moock
Ein Hash kann nur zur Verifikation einer fehlerfreien Übertragung
genutzt werden.
Ich dachte, dass es dafür CRC gibt.
Der Hash erfüllt erstmal die gleiche Rolle wie ein CRC, nur *deutlich*
besser. Eine Kollision beim CRC konstruieren macht der Informatikstudent
im Grundstudium. Eine Kollision für einen kryptographischen Hash zu
finden ist ein Forschungsprojekt.
Post by Michael Pachta
Post by Marco Moock
Gegen absichtliche Manipulation ist der nutzlos, weil
der ebenfalls manipuliert werden kann und dann übereinstimmt.
Ja, das habe ich mir gedacht. Jedenfalls tritt der besagte Fehler in
winget auch nach mehreren Versuchen im Laufe des Tage immer noch auf,
weswegen ich einen Übertragungsfehler ausschließen möchte.
Manipulationssicherung läuft im Normalfall so ab, dass man die Hashes
signiert. Das heißt, im ersten Schritt wird geprüft: ja, der Hash ist
vertrauenswürdig. Und im zweiten Schritt wird geprüft: ja, die Datei
passt zum Hash.

Bei winget würde ich eigentlich annehmen, dass die Hashes irgendwie
signiert sind, im Microsoft-Universum ist doch alles signiert? Insofern
würde ich schon ausgehen, dass da irgendwas nicht zusammenpasst und
absichtlich oder unabsichtlich manipuliert wurde.


Stefan

Andreas M. Kirchwitz
2024-11-22 16:13:28 UTC
Permalink
Post by Michael Pachta
ich wollte mittels winget eine Software updaten. Allerdings meldet
winget: "Der Hash-Wert des Installers stimmt nicht überein".
Die Gründe dafür können mehrere sein. Im einfachsten Fall hat der
Anbieter vergessen, den korrekten Hashwert anzubieten.
winget versucht ja manchmal, besonders schlau zu sein,
und falls der Anbieter Hash-Werte angibt oder winget eine
interne Datenbank hat, sind die vielleicht bloß nicht auf
dem aktuellen Stand, also z.B. für ein älteres Binary,
oder freilich auch umgekehrt.

Gar nicht so selten ist der Fall, es gibt eine neue Version,
durchaus mit passenden Hash-Werten, aber die ersten User melden
Probleme, so dass der Anbieter schnell wieder den alten Download
hinschiebt, aber an die Hash-Werte denkt er nicht.

Da kann man dann nicht viel machen. Entweder abwarten oder
an winget vorbei von Hand installieren.

Bei winget hatte ich schon öfter Probleme, dass gefundene
Versionen am Ende nicht stimmen oder Updates nicht klappen.
Am nächsten Tag plötzlich alles wieder in Butter. Ich habe
irgendwann aufgehört, das im Detail zu hinterfragen.
Post by Michael Pachta
Man könnte aber auch vermuten, dass der Installer von Cyber-Kriminellen
("Hackern") manipuliert wurde. Dann aber frage ich mich: Falls so etwas
geschieht, wie bin ich davor geschützt, dass der Hashwert nicht auch von
den Kriminellen ausgetauscht wird? Ist der irgendwie kryptografisch
gesichert?
Wenn die Kriminellen das Binary austauschen können, haben sie
vielleicht auch Zugang zum Schlüssel fürs Signieren. Dann hilft
Dir alles nicht viel. Hat's alles schon gegeben.

Grüße, Andreas
Loading...