Ansicht von 2 Antwort-Themen
    • Erich Pekar
      Teilnehmer
      Post count: 135
      #25558 |

      Um Dateien  auf unerwünschte Veränderungen rasch und ( manchmal leider nur halbwegs) zuverlässig überprüfen zu können,  werden “Prüfsummen” verwendet ( https://en.wikipedia.org/wiki/Checksum ).

      Es kann zwar  dadurch nicht die Änderung (oder gar das vollständige Löschen) von Dateien bzw. deren Inhalten  verhindert werden, es kann aber mit hoher Sicherheit geprüft werden, ob eine Datei ( z.B.. Installationsdatei  eines Programmes )  unmittelbar vor dem  beabsichtigten Verwendungszeitunkt ( z.B. Start der Installation eines Programmes )  noch mit dem ursprünglichen Inhalt dieser Datei ( zum Zeitpunkt der Erstellung  dieser Datei durch den ursprünglichen Autor irgendwo auf der Welt ) übereinstimmt.

      Damit können Probleme durch zum Beispiel

      • in ein Installationsfile nachträglich eingeschleuste Malware-“Installationsanweisungen”,
      • nicht erkannte Übertragungsfehler während des Downloads einer Datei aber auch
      • unbefugte Datenmanipulationen an z.B. wichtigen Reports

      erkannt werden – vermeiden kann  man diese Änderungen durch Prüfsummenbildung  (Hash-Codes)  allerdings nicht.

      Eine  als “unbefugt verändert” erkannte Datei sollte jedenfalls nicht verwendet – bzw. gleich  gelöscht  – werden  und versucht werden,  eine neue – unveränderte- Kopie des Originals zu erhalten. Für Downloads bedeutet dies, dass die gewünschte Datei nochmals – unter Umständen auch von einer anderen Adresse ( anderen WEB-Page)  – heruntergeladen werden muss.

      Nach dem Erstellen einer so gegen unerwünschte Veränderungem zu sichernden Datei, muss der Ersteller ( Autor) einer Datei eine Referenz-Prüfsumme nach einem bestimmten – von ihm zu wählenden Verfahren – erstellen.  Das Originalfile sollte mit Verweis auf diese korrekte Prüfsumme ( erstellt vor möglichen unerwünschten Veränderungn der Datei)  z.B. auf einem WEB-Server zum Download bereitgestellt werden.
      Ein Bezieher  ( Interessent) dieser Datei  sollte nach dem Download  der Datei  nach dem gleichen Verfahren, das auch vom  ursprunglichen Autor dieser Datei  abgewendet wurde , ebenfalls die Prüfsumme  dieser Kopie ( nach dem Download) der Datei ersdtellen und mit der Originalprüfsumme  ( vom/a, Download-Server ) vergleichen.
      Stimmen die beiden Prüfsummen überein, so sind die beiden Dateien mit hoher Wahrscheinlichkeit gleich – und wurde der Inhalt  der heruntergeladenene Datei bisher noch nicht unerwünscht verändert.

      Durch diese Prüfsumme wird auch aus einer großen Datei  ( z.B. ISO-File mit einigen Giga-Byte  Größe  )  eine kurzer String  ( zB 64 Byte bei SAH256 – Hash ) gebildet. Falls  in der großen Datei auch nur 1 Byte geändert wird, so  ändert sich auch der korrespondierende Hash-Code, sodass nicht  4 Giga-Byte miteinander verglichen werden müssen , sondern lediglich die 64 Byte des jeweiligen Hash-Codes ( bei SAH256-Hashes) der zu vergleichenden Dateien geprüft werden muss.

      Ein Verfahren zur Bildung von Hash-Codes  gilt nur dann als sicher, wenn es zu jedem Hashcode nur genau 1 File mit bestimmten Inhalt ( zur Erzeugung  eines bestimmten Hash-Codes mit einem bestimmten mathematischen Verfahren) gibt.
      Da dies aber Angesichts der enormen Anzahl von möglichen Fileinhalten nicht durch einfaches Probieren ermittelt werden kann, muss “lediglich sichergestellt” werden, dass kein Verfahren bekannt ist, aus einem bestimmten Hash-Code  die Inhalte des Originalfiles ( und möglicherweise auchFiles mit anderen Inhalten, die aber gleichen Hash-Code liefern )  zu rekonstruieren.
      Daher gelten  manche – noch vor wenigen Jahren geläufigen und als sicher erachteten –  Verfahren heute nicht mehr als sicher , weil es für diese Verfahren zur Ermittlung von Prüfsummen mittlerweile Verfahren geben soll, eine Datei mit vom Original abweichendem Inhalt zu generieren, die den gleichen Hash-Code (Prüfsumme) liefert, wie die Originaldatei.
      MD5 -Hashes gelten aus diesem Grunde heute nicht mehr als zuverlässig (bzw. “sicher”) sind  aber immert noch häufig anzutreffen.

      eine Quelle für  Hash-Code Programme ( auch für Windows ) z.B.  http://md5deep.sourceforge.net/

      aus obiger Quelle könnene Programme für Hash-Codes nach MD5, SAH-1, SAH-256 ( und andere )  bezogen werden.

      Ein Download  für Windows ist hier zu finden    https://github.com/jessek/hashdeep/releases/download/v4.4/md5deep-4.4.zip

       

       

       

       

       

    • Fritz Stockhammer
      Teilnehmer
      Post count: 155
      #25770 |

      Solche Hash Summen haben meiner Meinung nur Sinn wenn diese im Filesystem selbst vorgesehen wären.
      Soweit ich weis ist dies nur in ZFS (Sun, jetzt Oracle) und in btrfs (Open Source, Linux, Oracle) der Fall. Dort werden Blockweise Prüfsummen erstellt. Damit kann man Kopien während des Kopierens vergleichen.
      Blockweise vergleichen während Kopieren macht meines Wissens auch rsync.

      Was kann Windows da Out of the Box dahingehend bieten?

    • Erich Pekar
      Teilnehmer
      Post count: 135
      #26480 |

      Mir ist unter  den Windows Betriebssystemen dafür (für die explizite Erstellung von Hash-Codes) in der jeweiligen Standardinstallation  kein Bordmittel bekannt.
      Ob dies allerdings auch für die verschiedenene Server-Versionen  von Windows gilt, kann ich nicht beurteilen.

      Innerhalb des .NET Framework  gibt es  – allerdings nur für Developer verwendbare – APIs, um mit einer Zeile Code einen gewünschten Hash-Code für Zeichenstreams zu erzeugen.

      Und nein – Hash-Codes machen auch außerhalb des File-Systems  Sinn, auch wenn klar sein sollte, dass die Aussage “2 Files sind gleich” nur unmittelbar nach Erstellung der Hash-Codes der beiden zu vergleichenden Files “richtig” sein kann.

      Interessant ist in diesem Zusammenhang auch, die Unversehrtheit (unveränderter Inhalt) eines kompletten Verzeichnisses (mit allen darin enthaltenen Objekten bzw deren jeweiligem Inhalt ) zu 2 Zeitpunkten feststellen zu können.

Ansicht von 2 Antwort-Themen

You must be logged in to reply to this topic.