Versteckte Daten aus ICO-Dateien entfernen
12 Ein Format, das mehrere Bilder gleichzeitig enthalten soll, kein einzelnes Foto
ICO ist das, was Windows für App-Icons und Browser für Favicons nutzen - und anders als jedes andere
Format dieser Website ist eine einzelne .ico-Datei tatsächlich ein kleiner Container, der
mehrere Versionen desselben Bildes in unterschiedlichen Größen und Farbtiefen enthalten kann (16×16,
32×32, 256×256 usw.), damit das Betriebssystem die zum jeweiligen Kontext passende auswählen kann. Es
gibt praktisch keinen Metadatenstandard für ICO, so wie EXIF für JPEG existiert - kein GPS, keine
Kamerainformationen, nichts davon landet jemals in einem. Das reale Risiko hier liegt näher an der
strukturellen Kategorie "den Bytes nicht vertrauen" als an der Datenschutzkategorie, die diese Website
für Kamerafotos behandelt.
Tiefer einsteigen: das eine, dem ICO fast vollständig ähnelt, absichtlich anders behandelt
Die Signatur der ICO-Datei sind 4 Bytes: 00 00 01 00. Ändern Sie genau eines dieser
Bytes - 00 00 02 00 - und Sie haben stattdessen eine CUR-Datei: Windows' Format für
animierte Cursor, das fast die gesamte ICO-Container-Struktur mit einem anderen "Typ"-Feld und einer
zusätzlichen Hotspot-Koordinate pro Bild wiederverwendet. Dieses Werkzeug erkennt absichtlich nur
die ICO-Signatur und behandelt eine CUR-Datei als nicht erkannt, statt anzunehmen, dass "es
im Grunde dasselbe ist" - dasselbe Prinzip, das sich weigert, überall anders auf dieser Website
einer Dateierweiterung zu vertrauen. Mehrere eingebettete Icon-Größen innerhalb einer gültigen
ICO-Datei werden alle dekodiert und berücksichtigt; nur das erste, größte passende Bild wird durch
die Bereinigungs-Pipeline geführt, weshalb ein ICO mit mehreren Größen bei der Eingabe immer als
einzelnes flaches Bild bei der Ausgabe zurückkommt.
Wo das echte Risiko eines ICO meist liegt
Da ICO am häufigsten als Favicon auftaucht, das still auf einer Website sitzt, oder als Icon, das in heruntergeladener Software eingebettet ist, ist das realistischere Bedrohungsmodell dasselbe, das die Vergleichsseite für strukturelle Angriffe im Allgemeinen behandelt - ein fehlerhafter oder absichtlich präparierter Container, der einen unvorsichtigen Parser täuscht - statt eines Metadaten-Lecks aus einer Kamera. Vollständiges Dekodieren zu rohen Pixeln und Neuaufbau von Grund auf, dieselbe Garantie, die dieses Werkzeug auf jedes Format anwendet, entfernt diese Risikokategorie, unabhängig davon, was die interne Struktur einer ICO-Datei über sich selbst behauptete.