Der Martin: Versteckte Informationen in Binärdateien?

Beitrag lesen

Hallo,

vor längerer Zeit meine ich mal gelesen zu haben, dass ein Virenprogrammierer überführt wurde, da Microsoft aus der verseuchten Word-Datei irgendwie die Seriennummer des Produktes auslesen konnte, mit dem die Datei erstellt wurde (oder so ähnlich; ich erinnere mich nicht mehr genau).

zumindest der Spur nach könnte das stimmen. Auf jeden Fall speichert Word eine Menge Zusatzinformationen in der Datei, die man ja teilweise auch ganz normal wieder abfragen kann:
 * Wer hat das Dokument zuletzt bearbeitet?
 * Wann zuletzt gespeichert?
 * Wie oft geändert?
 * Wann zuletzt gedruckt?
 * usw ...

Es ist auch richtig, dass da noch eine Menge anderer Informationen dabei sind, die man nicht so einfach abfragen kann. Aber wie *Markus schon andeutete, offenbaren sich hochinteressante Dinge, wenn man die Datei mit einem Hex-Editor betrachtet. Nicht nur die Word-Version, sondern auch die Seriennummer der letzten bearbeitenden Word-Instanz, oder Teile des Dokumentinhalts, die man eigentlich schon gelöscht hatte. Möglicherweise noch viel mehr, was niemand so genau weiß.
Aber wie die Jungs von der Seriennummer auf den Benutzer schließen wollen, kann ich nicht recht nachvollziehen, denn welcher normale Mensch würde die tatsächlich registrieren? Und welcher normale Mensch würde bei der Office-Installation seinen tatsächlichen Namen angeben?

Das macht mich natürlich nachdenklich: Ist das normal, dass in Binärdateien versteckte Informationen abgelegt sind, die mehr über mich verraten, als mir lieb ist?

Leider ja, zumindest bei proprietären Dateiformaten. Standardformate, die letzten Endes reiner Text sind (HTML & Co oder RTF), sind da weniger verdächtig, weil man ja jede Information im Klartext nachlesen kann.
Und in einigen Standardformaten, die ihre Daten in einem binären Format speichern, sind auch Felder für optionale(!) Zusatzinfos vorgesehen - man denke nur an ID3-Tags in mp3-Dateien, benutzerdefinierte Chunks in GIF- oder TIF-Dateien, oder Exif-Daten in JPGs. Die sind aber, wie gesagt, alle optional, und soweit mir bekannt ist, werden sie von den meisten Programmen gar nicht oder nur für den vorgesehenen seriösen Zweck verwendet.

Gibt es Webseiten, die sich mit dieser Thematik beschäftigen?

Keine Ahnung, würde mich aber auch interessieren. Zumindest auf die Schnelle konnte ich nichts derartiges finden.

Wie ist es z.B. bei den EXE-Dateien (Release-Version), die man mit Visual C++ erstellt? Enthalten diese möglicherweise versteckte Informationen über denjenigen, der das kompiliert hat?

Ist zumindest denkbar. In EXE-Dateien kann man ja mühelos zusätzliche Daten in Daten- oder gar Codesegmenten speichern, die vom Programm nachher gar nicht verwendet werden. Programme, die mit einem Borland-Compiler erstellt wurden, enthalten zumindest am Segmentanfang der statisch(!) gelinkten Runtime-Lib einen "Portions Copyright Borland Inc."-Vermerk; in Programmen, die mit Wuschel-C übersetzt wurden, habe ich bisher noch nichts Auffälliges gesehen. Aber das muss nichts heißen - wer sagt, dass solche Informationen im Klartext vorliegen müssen? ;-)

Ob die Windowsversion, mit der man das kompiliert hat, auch aktiviert ist?

Eher nicht - denn MS Visual Studio läuft ja auch auf anständigen Systemen, die sowas wie eine Aktivierung nicht nötig haben. :-P

Schönen Sonntag noch,
 Martin

--
Die Zeit, die man zur Fertigstellung eines Projekts wirklich braucht, ist immer mindestens doppelt so lang wie geplant.
Wurde dieser Umstand bei der Planung bereits berücksichtigt, gilt das Prinzip der Rekursion.