Gefahr aus der Schattenwelt
Alternate Data Streams als Versteck für Schädlinge
Daniel Bachfeld - 14.10.2004
Microsofts NTFS-Dateisystem speichert zusätzliche Informationen in Alternate Data Streams, die man mit Windows-Bordmitteln schwer sichtbar machen kann. Auch Schädlinge können sich in solchen Streams verstecken, denn nicht alle Virenscanner erkennen Malware in Streams zuverlässig.
Bereits seit Windows NT 3.51 unterstützt das von Microsoft entwickelte Dateisystem NTFS (NT File System) sogenannte Alternate Data Streams (ADS) [1]. Darin kann das Betriebssystem zusätzliche Informationen zu einer Datei ablegen, beispielsweise die mit Service Pack 2 eingeführten ZoneIDs, um Dateien als aus dem Internet stammend zu kennzeichnen. Auch Windows-Applikationen nutzen solche Streams seit langem und speichern dort etwa Miniaturbilder für die Vorschau [2]. Jede Datei kann prinzipiell beliebig viele Streams besitzen, die Notation sieht folgendermaßen aus:
Dateiname:Stream-Name
Über die Windows-Eingabeforderung kann der Anwender relativ einfach Streams anlegen und beschreiben:
echo "gemeingeheim" >> beispiel.txt:teststream.txt
Allerdings lässt sich der Stream weder mit dem DOS-Kommando dir noch mit dem Windows Explorer anzeigen. Alles was man sieht, ist die Datei beispiel.txt, der Stream ist quasi unsichtbar. Selbst wenn der Anwender oder eine Applikation mehrere MByte in den Stream schreibt, bleibt die Größe der Datei unverändert. Sogar an ein Verzeichnis lässt sich ein ADS binden. Streams eignen sich so hervorragend, um Daten zu verstecken. Inkonsistenzen der Summe der gespeicherten Dateien und dem noch verfügbaren Speicherplatz auf der Festplatte können auf versteckte Streams hinweisen.
Simsalabim
Um zumindest den Inhalt eines Streams mit Windows-Bordmitteln wieder sichtbar zu machen, ist Notepad nützlich -- sofern der Name des Streams bekannt ist.
notepad beispiel.txt:teststream.txt
Allerdings muss man dazu wissen, an welcher Datei der Stream überhaupt hängt. Genau diese Informatonen liefern diverse frei verfügbar Tools, die alle vorhandenen ADS eines Verzeichnisses auflisten [3,4,5,10].Da Streams beliebige Daten aufnehmen können, sind sie auch geeignet, um ausführbare Dateien zu verstecken:
type geheimes_tool.exe > c:\boot.ini:foo.exe
Mit dem simplen Befehl
start c:\boot.ini:foo.exe
erwacht das Programm zum Leben. Der Aufruf kann über ein Programm oder Skript (WSH) erfolgen. Sogar der Aufruf durch die Run-Keys in Registry, bespielsweise beim Neustart, ist möglich. Diese Möglichkeit nutzen auch Viren, Würmer und Trojaner, um sich beim Hochfahren des Systems zu aktivieren. Dass sich Schädlinge in ADS einnisten können, wissen die Hersteller von Antivirensoftware seit mehreren Jahren [6,7]. Der im August 2003 aufgetauchte und immer noch aktive Mass-Mailing-Wurm W32.Dumaru nutzt diese Möglichkeit auch praktisch aus, ebenso wie einige Agobot-Varianten [8] sowie Ad- und Spyware, etwa der IE-Hijacker.
Unsere Entdeckung, dass via Skype verschickte URLs von Microsoft besucht werden, hat für einigen Aufruhr gesorgt. Mittlerweile liegen etwas mehr Informationen dazu auf dem Tisch.
Die aktuelle BKA-Trojaner sperrt nicht nur den Rechner, sondern legt auch Bilder mit Kinderpornografie auf dem System ab. Mit Desinfec't kann man diesen Unrat aufspüren und beseitigen.
Der Krypto-Experte Karsten Nohl kritisiert die Absenkung des Schutzniveaus für Steuer-, Sozial- und Gerichtsdaten im Rahmen der gesetzlichen Anpassungen für De-Mail.
Wer verhindern will, dass Nutzer auf fremde Kalender zugreifen oder eigenen PHP-Code in den Server einschleusen, sollte baldmöglichst auf eine der aktuellen Versionen umsteigen.
Die Mozilla-Entwickler haben zahlreiche Sicherheitslöcher in Firefox und Thunderbird gestopft. Durch eine kann ein Angreifer, der bereits einen Fuß in der Tür hat, an Systemrechte gelangen.