Gefahr aus der Schattenwelt
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.
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 [1] nutzt diese Möglichkeit auch praktisch aus, ebenso wie einige Agobot-Varianten [8] sowie Ad- und Spyware, etwa der IE-Hijacker.
Trau, schau wem
Trau, schau wem
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.
Selbsthilfe
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].
Fazit
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.
Literatur
[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]
[5] Cruical ADS [7]
[8] Symantecs Beschreibung von Dumaru [10]
[9] FAQ: Alternate Data Streams in NTFS [11]
[10] ADS-Aufspürer [12]
ADS-Funktionen der AV-Scanner
ADS-Funktionen der AV-Scanner
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
Copyright © 2004 Heise Medien