Was steckt hinter der Sicherheitswarnung nach einem Download?
Oftmals erreicht uns die Frage “Wo und wie wird gespeichert, dass eine Datei aus dem Internet heruntergeladen worden ist?”
(In den Beispielen verwende ich den Download der aktuellen IE9 Platform Preview 7)
Da ein Bild mehr sagt als 1000 Worte, hier auch der passende Screenshot dazu:
Screenshot1: Warnung bei der Ausführung einer downgeloadeten Datei
Um die Frage umfänglich zu beantworten muss ich einen kleinen (ich versuche mich kurz zu halten! ) Exkurs in NTFS Grundlagen machen:
Eine gewöhnliche Datei in NTFS besitzt neben den eigentlichen (binär) Daten auch die allgemein bekannten Eigenschaften wie Größe, Erstelldatum, Änderungsdatum, etc., z.B.:
Screenshot2: normale Anzeige einer heruntergeladenen Datei mittels “dir”
Allerdings ist es in NTFS auch möglich zusätzliche Daten parallel in sog. “Alternate Data Streams” zu speichern. Dies sollte normalerweise nur dazu genutzt werden Meta-Daten zu einer Datei, z.B. MP3 Informationen über das Album, den Interpreten, etc., zu speichern:
Screenshot3: Anzeige einer heruntergeladenen Datei mittels “dir” und dem zusätzlichen Parameter /R zur Anzeige der Streams
Oder mittels des Tools “Streams” von Sysinternals:
Screenshot4: Anzeige einer heruntergeladenen Datei mittels “streams”
Der Zugriff auf einen Stream erfolgt mittels %Dateiname%:%Streamname%.
Man kann sich also den Stream von unserer iepreview.msi wie folgt anzeigen:
notepad iepreview.msi:Zone.Identifier
und erhält folgende Anzeige:
Screenshot5: Inhalt des Streams Zone.Identifier
D.h. die Datei beinhaltet die Zone, aus der sie heruntergeladen worden ist, die Zonen sind wie folgt nummeriert:
- Local Machine / Lokale Maschine
- Local Intranet / Lokales Intranet
- Trusted Sites / Vertrauenswürdigen Seiten
- Internet / Internet
- Restricted Sites / Eingeschränkte Seiten
In unserem Fall also aus der Zone “Internet”.
Neben den nun offensichtlichen Möglichkeiten die Streams zu verändern oder zu löschen, kann die Information auch sehr einfach vom User entfernt werden:
Entweder durch das Entfernen des Hakens in der Checkbox von Screenshot1, oder aber über die Dateieigenschaften (Rechtsklick auf die Datei, dann “Eigenschaften” im Kontextmenu auswählen und dann “Unblock”):
Screenshot6: Hinweis auf den Zonen Stream in den Dateieigenschaften
Ich hoffe ich konnte ein bisschen Licht in die Dunkelheit hinter (Zone.Identifier) Streams bringen, bei Fragen/Hinweisen bitte die Kommentarfunktion benutzen.
-Stephanus
Links:
NTFS Technical Reference
NTFS (Wikipedia)
How To Use NTFS Alternate Data Streams
The NTFS File System - Multiple Data Streams
Persistent Zone Identifier Object
How to use security zones in Internet Explorer