Neue Virentypen am Horizont
Blick in die Hölle
Reinhard Wobst (r dot wobst at gmx at de)
Virus:
-
kann funktionelle Kopien von sich selbst erstellen
-
ist von einem
host file
abhängig.
Wurm:
ist autonom!
Trojaner:
Falscher Freund.
Überlappungen möglich; Virus kann sich manchmal wie Wurm verhalten,
Würmer setzen Trojaner in Umlauf ... bisher praktikable Unterscheidung.
NEU
-
netzwerkweit verteilte Viren
-
Multi-process Residency
-
Modular Virus Interface definition (MVI)
-
Nutzen der IPC
Netzwerkweit verteilte Viren
-
remote update:
-
Babylonia, 1999 - von Seite in Japan
-
Hybris, Sep.2000 - verschlüsselte Updates von alt.comp.virus
[Antivirus-Newsgroup!], top 5 jeden Monat!
-
In Entwicklung: Austausch von Modulen bei "zufälliger Begegnung" der Viren
(Genetik-Modell!), auch zwischen verschiedenartigen Viren: bestimmte Standards
einhalten --> kaum noch zu erkennen und zu beseitigen!
-
Wechselweise Client/Server: Wartet als Server eine Zeit lang, geht dann
in Client-Mode (in Entwicklung);
jeder Virus nutzt andere Verschlüsselung, Server schickt Dechiffriermodul und
Schlüssel bei Bedarf: Polymorphismus!
Multi-process Residency
Für Win32 interessant; setzt sich in
allen
laufenden Prozessen fest über Kernel32.DLL.
-
Fängt sämtliche Filezugriffe ab,
-
Applikationen werden nur im Speicher infiziert, sogar DOS Interpreter
-
experimenteller Typ: W32/HIV, nicht als MPR erkannt worden; hat
anti-debugging Feature:
Beim Erkennen eines Debuggers im Speicher wird System neu gebootet.
Modular Virus Interface (MVI)
Wechselwirkung zwischen "Mutter" und völlig abhängigen Proto-Viren.
Mutter infiziert geladene Kernel32-Bibliotheken. Wird auf infiziertes File
zugegriffen, dann wird der evtl. neue Modul zum Virus hinzugefügt. Sind
genügend Module gesammelt, werden sie zu einem neuen Virus zusammengebaut
und in die Freiheit entlassen.
Probleme:
-
Mutter verhält sich nicht wie ein Virus, ist nicht als solcher zu
erkennen;
-
Protoviren können extrem kompakt sein und brauchen keinen sinnvollen
Code zu ergeben.
-
Protoviren können in jedem Binärfile (Bild, MP3, WAV )versteckt werden,
nicht nur in Executables (bis heute werden nur Executables geprüft!)
-
auch hier Chiffrierung möglich mit variablem Schlüssel, also kein
Erkennen von festen Zeichenketten
Nutzen der IPC
Einzelne Programme verhalten sich nicht wie ein Virus (nicht als solcher
zu erkennen), kommunizieren aber über IPC und agieren als Gesamtheit
"virulent".
Man nutzt
shared memory mapped files,
Mailslots (?), Mutexes (?) und Semaphoren dazu, auch Pipelines werden
sicherlich verwendet werden.
Experimenteller Code existiert bereits. Beispiel:
W32/Vulcano:
Mehrere Exemplare des gleichen Virus kommunizieren miteinander. Ein einzelnes
Exemplar bewirkt überhaupt nichts (Irreführung der Analysten!); beim Erkennen
eines anderen gleichen Virus erhält dieser den Einsatzbefehl.
Verbindung zu MVI ...
Malware u.a. von "VXer" kontra "29A Labs" (29Ah = 666)
Erkennung
-
bisher nur "Signatur-basiert" (Zeichenketten?)
-
heuristische Analyse (Problem: unschuldige Opfer)
Neue Art der Gefahr: CodeRed (alter Wurm) infizierte 2000 Hosts pro Minute,
schneller als Menschen reagieren können.
-->SELinux :-))
Quelle: Pete Simpson (Baltimore Threat Lab; ISB 9/2001)