zurück zum Artikel

Gefahr aus der Schattenwelt

Daniel Bachfeld

Microsofts NTFS-Dateisystem unterstützt Alternate Data Streams zum zusätzlichen Speichern von Informationen zu einer Datei. Auch Schädlinge können sich in solchen Streams verstecken. Nicht alle Virenscanner erkennen Malware darin 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.

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 [1] nutzt diese Möglichkeit auch praktisch aus, ebenso wie einige Agobot-Varianten [8] sowie Ad- und Spyware, etwa der IE-Hijacker.

Zusammen mit AV-Test [2] hat heise Security die ADS-Tauglichkeit aktueller Virenscanner unter die Lupe genommen und getestet, ob die Produkte Schädlinge erkennen und beseitigen. Von den insgesamt 18 Produkten versagten fünf sowohl beim On-Demand-Scan als auch bei der On-Access-Erkennung. Auch das Hochstellen der verfügbaren Erkennungsoptionen half hier nicht. Nur fünf Viren-Wächter schützten zuverlässig vor dem testweise in einen Stream geschriebenen Win32/CIH und erkannte den Virus On-Demand und On-Access. Eine Übersicht der Ergebnisse finden Sie in unserer Produkttabelle.

Die anderen acht Scanner erkennen immerhin Viren und Würmer in Streams, wenn man auf die dazugehörige Datei zugreift (On-Access). Einige erforderten aber ebenfalls das Hochsetzen der Scan-Optionen, um Viren in Streams zu finden. Beispielsweise muss man bei Computer Associates die Option "Alternative Datenströme prüfen" anschalten, damit der Scanner auch bei On-Demand-Scans das Gewürm erkennt. c't empfiehlt daher, immer alle möglichen Optionen zur Suche nach Schädlingen zu setzen.

Die Gründe warum Trend Micro, NAV, BitDefender, F-Prot und die Virus Utilities den Virus nicht erkannten sind vielfältig. Bei Trend Micros Produkt muss der Key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ TmFilter\Parameters\TrapHiddenDataStream in der Registry auf 1 stehen, um Ströme On-Demand zu durchsuchen -- aus Performance-Gründen ist das bislang standardmäßig ausgeschaltet. Zukünftige Versionen von TIS sollen immerhin ADS per Default On-Access durchsuchen.

Symantec sucht nach eigenen Angaben grundsätzlich nicht in ADS nach Schädlingen, sondern versucht das Programm zu erkennen, welches beispielsweise den Wurm startet. Da aber auch ein Aufruf aus der Registry heraus beim Booten möglich ist und der Scanner dort nicht nach verdächtigen Einträgen Ausschau hält, steht dieser Ansatz auf tönernen Füßen. Schädlinge, die sich irgendwie am Scanner vorbeigeschummelt haben oder die bereits vor der Installation des Scanners das System unsicher machten, findet NAV nicht.

F-Prot unterstützt nach Aussage von Gretar Thor Gretarsson, Senior Software Developer, gar keine Streams, man plane aber dies in kommende Versionen zu implementieren. Von den anderen Hersteller haben wir bislang keine Stellungnahme zu dem Problem erhalten.

Mit dem "ADS Aufspürer" kann der Anwender seine Festplatte nach Streams durchsuchen. Hat das Tool auf dem System einen verdächtigen Stream entdeckt, der Virenscanner aber nicht, hilft nur noch der Griff in die Trickkiste. Da nicht alle DOS-Kommandos Streams unterstützen, kann man sich durch das Hin- und Herkopieren in der Windowseingabeaufforderung eines ADS entledigen. Gemäß dem obigen Beispiel boot.ini:foo.exe benennt man boot.ini zunächst um und legt dann wieder eine Datei mit dem alten Namen an:

ren boot.ini tmp.ini
type tmp.ini > boot.ini
del tmp.ini

Da das Kommando type den Stream gänzlich ignoriert, ist der Schädling nun beseitigt. Alternativ verschwindet der Strom auch beim Verschieben der Datei auf eine FAT-Partition, das funktioniert dann sogar mit dem Windows Explorer. Hat sich ein ADS an ein Verzeichnis gehängt, beispielsweise an den Windows-Ordner, öffnet man den Stream zunächst mit Notepad:

notepad c:\windows:gemein.exe

Durch Löschen des Inhalts und anschließendes Speichern ist auch dieses Problem beseitigt, weitere Tipps dazu zeigt [9].

Das Ergebnis unserer Untersuchung wirft die Frage auf, warum einige Hersteller die Suche in ADS vernachlässigen. Insbesondere das schlechte Abschneiden von BitDefender, Norton Antivirus und Trend Internet Security überrascht, schließlich sind ja bereits Schädlinge in freier Wildbahn unterwegs, die sich in Streams einnisten. Viele Privatanwender haben Windows und Daten immer noch auf FAT-Partitionen installiert -- die keine Alternate Data Streams unterstützen -- und müssen sich somit um dieses Problem vorläufig keine Gedanken machen. Gerade aber sicherheitsbewußte Anwender und Client-Administratoren in Unternehmen scheinen mit NTFS plötzlich die schlechtere Wahl getroffen zu haben. Die Hersteller müssen hier schnellsten nachbessern, um ihre Produkte wieder zuverlässig zu machen – egal für welches Dateisystem.

[1] How To Use NTFS Alternate Data Streams [3]

[2] Indexing Service Adds Data Streams to Image Files [4]

[3] LADS - List Alternate Data Streams [5]

[4] Sysinternals Streams [6]

[5] Cruical ADS [7]

[6] Virus W2K.stream [8]

[7] The Dark Side of NTFS [9]

[8] Symantecs Beschreibung von Dumaru [10]

[9] FAQ: Alternate Data Streams in NTFS [11]

[10] ADS-Aufspürer [12]

Produkt Hersteller Version On-Demand On-Access
AntiVir PE [13] H+Bedv 6.27.00.01 nein ja
AntiVirenKit 2004 [14] GDATA 14.0.8 ja ja
AVG Antivirus (deutsch) [15] Grisoft 7.0.262 nein ja
BitDefender [16] Softwin 7.2 nein nein
DrWeb [17] AVIR 4.32a ja nein
Command AV Command Software 4.91.0 nein ja
F-Prot (Windows) [18] Frisk 3.15 nein nein
Internet Security 2004 F-Secure 4.70 Build41 ja ja
Kaspersky AV Personal Kaspersky 5.0.121 ja ja
McAfee Virusscan 2004 Network Associates 8.0.41 ja ja
Norman Virus Control [19] Norman 5.70 ja ja
Norton Antivirus 2004 Symantec 10.0.1.13 nein nein
Panda Antivirus Platinum 2004 Panda 7.07.01 nein ja
Trend Internet Security [20] Trend Micro 11.31.3017 nein nein
Sophos Anti-Virus (Sweep) [21] Sophos 3.85 nein ja
eTrust AV (CA + VET) Computer Associates 7.1 nein ja
Nod32 2.0 Eset 1.845 nein ja
Virus Utilities Ikarus Software 5.13d nein nein

(dab [22])


URL dieses Artikels:
https://www.heise.de/-270584

Links in diesem Artikel:
[1] https://www.heise.de/news/Revival-eines-Wurms-85933.html
[2] http://www.av-test.org/index.php3?lang=de
[3] http://support.microsoft.com/default.aspx?kbid=105763
[4] http://support.microsoft.com/default.aspx?scid=kb&EN-US&q319300
[5] http://www.heysoft.de/nt/ep-lads.htm
[6] http://www.heysoft.de/nt/ep-lads.htm
[7] http://www.crucialsecurity.com/crucial_downloads.htm
[8] http://securityresponse.symantec.com/avcenter/venc/data/w2k.stream.html
[9] http://patriot.net/~carvdawg/docs/dark_side.html
[10] http://securityresponse.symantec.com/avcenter/venc/data/w32.dumaru@mm.html
[11] http://www.heysoft.de/nt/ntfs-ads.htm
[12] http://www.safer-networking.org/de/tools/tools_ads.html
[13] http://www.free-av.de/antivirus/allinoned.html
[14] http://www.gdata.de/trade/productview/472/22/
[15] http://www.jakobsoftware.de/Avg/index.htm
[16] http://www.bitdefender.de/bd/site/downloads.php?menu_id=21#
[17] http://www.drweb-online.com/
[18] http://www.f-prot.com/download/
[19] http://www.norman.com/download_nvc5.shtml?menulang=de
[20] http://www.trendmicro.com/en/products/desktop/pc-cillin/evaluate/trial.htm
[21] http://www.sophos.de/products/sav/eval/
[22] mailto:dab@ct.de