home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-05 | 58.3 KB | 1,214 lines |
-
- ┌───────────────────────────────────────────────────────────────────────────┐
- │ │
- │ - S S C - │
- │ │
- │ HEURISTISCHE VIRENERKENNUNG UND ANALYSE │
- │ │
- │ │
- │ Teil des Antiviren-Programmpakets SUSPICIOUS │
- │ │
- │ (c) 1996 Stefan Kurtzhals │
- │ │
- └───────────────────────────────────────────────────────────────────────────┘
-
-
- [ Systemvoraussetzungen ]────────────────────────────────────────────────────
-
- ■ 80286 oder 100% kompatibel
- ■ MS-DOS 5.0-7.0 oder 100% kompatibel
- ■ ca. 300K freier konventioneller DOS-Speicher
-
-
- [ Einleitung ]───────────────────────────────────────────────────────────────
-
- SSC oder SUSPICIOUS SCAN ist ein Programm, das im allgemeinen als Viren-
- scanner bezeichnet wird. Im Gegensatz zu normalen Virenscannern ist SSC
- jedoch rein heuristisch. Diese Art der Erkennungsmethode setzt sich als
- Alternative oder Zusatz zum normalen Scanning immer mehr durch, da die
- ständig steigende Zahl neuer Viren ein normales Scanning immer zeitauf-
- wendiger macht und immense Ressourcen benötigt.
- Viele Virenscanner bieten heutzutage eine mehr oder weniger weit ent-
- wickelte Heuristik an, SSC arbeitet jedoch rein heuristisch und besitzt
- eine weitaus ausgefeiltere Erkennung und Analyse als die herkömmlichen
- Programme dieser Art.
- Natürlich hat auch die heuristische Virenerkennung Nachteile. Zum ersten
- ist sie natürlich nicht hundertprozentig (Scannen übrigens auch nicht).
- Es ist möglich, daß Viren komplett übersehen (False Negative) oder
- normale Programme fälschlicherweise als Virus erkannt werden (False
- Positive). Andrerseits bietet Heuristik einige wesentliche Vorteile
- gegenüber dem normalen Virenscanning. SSC ist in der Lage, bekannte wie
- unbekannte Viren zu finden. Es ist völlig egal, ob der Virus 'steinalt',
- nur eine Variante oder Mutation eines bekannten Virus oder gar brand-
- aktuell ist. Viren benutzen immer ähnliche, oft sogar identische Struk-
- turen, was abhängig von der Kreativität des Virenprogrammierers ist.
- Daran kann SSC Viren letztendlich erkennen. Problematisch wird es, wenn
- ein normales Programm eine große Anzahl von virentypischen Merkmalen
- enthält. Das kann vorkommen, vor allem bei Programmen mit 'unsauberem'
- Stil und SSC ist leider nicht immer in der Lage, alleine festzustellen,
- was ein Falschalarm ist und was nicht.
- SSC fordert also ein gewisses Maß an Systemerfahrung und kann nicht wie
- ein x-beliebiger Virenscanner eingesetzt werden. Überhaupt ist SSC nicht
- als kompletter Ersatz für herkömmliche Virenscanner gedacht, sondern mehr
- zur Virenanalyse. Sie sollten SSC parallel zu einen normalen Virenscanner
- einsetzen, der stets auf dem aktuellsten Stand gehalten werden sollte.
- SSC ist in der Lage, eine sehr umfangreiche Virenanalyse zu liefern, oft
- genauso detailreich, wie es ein Virenforscher mit Debugger selber nicht
- besser machen könnte. Perfekt ist die Analyse natürlich auch nicht immer:
- Wenn der Virus z.B. einige ungewöhnliche Tricks benutzt, kann SSC dies
- möglicherweise nicht erkennen. Eine Garantie, daß der Virus genau das
- macht, was SSC analysiert hat bzw. NUR dieses macht, kann nicht gegeben
- werden. In der Regel sind Viren aber so primitiv programmiert, daß die
- Analyse von SSC als Virenbeschreibung vollkommen ausreicht.
-
-
- [ Wie gut / sicher ist die Erkennung von SSC? ]──────────────────────────────
-
- Da SSC sich ausschließlich auf seine Heuristik verlassen muß, ist diese
- entsprechend hoch entwickelt. SSC findet zum Teil weitaus mehr Viren,
- als einige der gängigen Antivirenprogramme, hat aber auch Schwachstellen:
-
- ■ Es kann in den wenigsten Fällen komplex polymorphe Viren ent-
- schlüsseln und deshalb auch nicht analysieren und erkennen.
- SSC simuliert zwar eine große Anzahl von CPU-Befehlen, allerdings
- reicht dies nicht aus, um komplexere Verschlüsselungen korrekt
- zu simulieren. Die meisten verbreiteten Viren sind jedoch bei
- weitem nicht so komplex und werden ohne Probleme erkannt.
- Es sei nochmal darauf hingewiesen, daß ein Virus, der von SSC
- nicht erkannt wird, in der Regel von SVS und bzw. oder SCRC ohne
- Probleme gefunden bzw. blockiert werden kann. Da bis auf sehr
- wenige Ausnahmen alle residenten verschlüsselten Viren im Speicher
- nicht mehr kodiert sind, hat MEMCHK gegenüber SSC keine Schwierig-
- keiten, diese Viren zu erkennen.
-
- ■ Viren, die in Hochsprachen wie C oder Pascal programmiert wurden
- (HLL-Viren), enthalten keine typischen Codefolgen und können daher
- absolut nicht mit einer Heuristik erkannt werden. Da ohne Assembler
- einem Virus weitaus weniger Möglichkeiten zur Verfügung stehen, sind
- solche Viren nicht weit verbreitet. Insbesondere SVS und SCRC haben
- keine Probleme mit solchen Viren, da diese keinerlei Tarnmöglich-
- keiten zur Verfügung haben.
-
- ■ SSC überprüft normale DOS-Programme, also Programme mit COM, EXE und
- SYS-Struktur. Neuere EXE-Formate wie NE/PE/LE/LX-EXE (Win,Win32,OS/2)
- werden nicht vollständig überprüft und "echte" Windows-Viren somit
- nicht erkannt. Die bisher bekannten ca. 10 Windows-Viren sind aller-
- dings entweder technisch sehr primitiv oder fehleranfällig und zudem
- reine Laborviren. Die Bedeutung der Windows-Viren wird aber in
- Zukunft stärker zunehmen, da den Virenprogrammierern seit dem Virus
- VLAD.WinSurfer die notwendigen Techniken bekannt sind.
- Ebenfalls werden von SSC keine Makro-Viren wie etwa <Concept>
- erkannt, allerdings gibt es dafür ein weiteres Antiviren-Programm,
- F/WIN, das per Heuristik bekannte und unbekannte Makro-Viren, NE-EXE
- und PE-EXE Viren finden und entfernen kann.
-
- ■ Mit PKLITE, DIET und LZEXE sowie anderen Programmpackern komprimierte
- Dateien können nur -extern- auf Virenbefall überprüft werden. Oft
- werden aber Viren versteckt, indem die infizierte Datei nachträglich
- gepackt wird. Es wird empfohlen, neue Programme in ein temporäres
- Verzeichnis zu kopieren und dort mit Tools wie UNP vor dem Scannen
- zu dekomprimieren. SVS blockiert Viren unabhängig davon, ob sie durch
- diese Methode versteckt sind oder nicht.
-
- Es sei nochmal darauf hingewiesen, daß SSC keinen herkömmlichen Viren-
- scanner ersetzen kann! Neue Programme sollten immer mit mindestens
- zwei verschiedenen Virenscannern überprüft werden.
-
-
- [ Die Bedienung von SSC ]────────────────────────────────────────────────────
-
- Prinzipiell benötigt SSC keine weiteren Parameter als die Suchpfad-
- angabe. SSC startet dann die Dateiüberprüfung und hält erst an, wenn
- ein verdächtiges Programm gefunden wurde.
-
- !! ■ Im unteren Anzeigefenster erscheinen dann die Ergebnisse der Heuristik.
- !! ■ Sie können mit den [Pfeiltasten], [Bild], [Bild], [Pos1] und [Ende]
- !! ■ durch den Text blättern. Mit der [Leertaste] oder der [Eingabetaste]
- !! ■ wird die Suche fortgesetzt.
-
-
- SSC wird über die Kommandozeile aufgerufen und kann mit folgenden Para-
- metern konfiguriert werden:
-
- SSC Laufwerk:\Pfad {/Parameter}
-
-
- Parameter:
- ~~~~~~~~~~
-
- "/BATCH" - SSC arbeitet im Batchmodus und wartet bei verdächtigen
- Programmen nicht mehr auf Benutzereingaben.
- Es wird keine Aktion durchgeführt, also kein auto-
- matisches Umbenennen oder Löschen, was mit einem rein
- heuristischen Scanner auch nicht sinnvoll wäre.
-
- "/DETAIL=n" - Reportlevel : 0=Kurz 1=Normal 2=Komplett 3=Analyse.
- Mit diesem Parameter wird eingestellt, wieviele Infor-
- mationen SSC in dem Logfile speichert. Stufe 0 erzeugt
- eine sehr kurze Liste mit minimalen Angaben von Ergeb-
- nissen der Heuristik. Stufe 2 beinhaltet absolut alle
- Informationen und Erklärungen, die SSC feststellen
- konnte. Stufe 3 ähnelt Stufe 2, nur ist das Ausgabe-
- format etwas verändert.
-
- "/FALSE" - Anzeige von wahrscheinlichen Falschalarmen.
- Bei manchen Programmen kann SSC selber erkennen, daß es
- sich bei der Meldung nur um einen Falschalarm handeln
- kann. Wenn Sie dennoch über die Falschalarme informiert
- werden möchten, können Sie mit diesem Parameter deren
- Anzeige erzwingen.
-
- "/FAST" - Schnellere, ungenaue Suche (ohne erweiterte Heuristik).
- SSC erkennt in diesem Modus ca. 30% weniger Viren, ist
- aber dafür wesentlich schneller als im Standard-Modus.
-
- "/LEVEL=n" - Heuristiklevel: 0=Grob 1=Normal (Standard) 2=Hoch.
-
- "/LISTALL" - Im Report werden alle durchsuchten Dateien aufgelistet,
- auch diejenigen, die nicht verdächtig sind.
-
- "/NOMEM" - Es wird keine heuristische Speichersuche durchgeführt.
-
- "/NOSECTOR" - Kein Test von Partitionen oder Bootsektoren.
-
- "/NOSUB" - Unterverzeichnisse werden nicht durchsucht.
-
- "/PAUSE" - SSC hält den Suchlauf an, falls das Anzeigefenster voll
- ist und gescrollt werden muß.
-
- "/PROG" - Nur Dateien mit Programmerweiterungen durchsuchen.
- Normalerweise überprüft SSC unabhängig von der Datei-
- endung, ob es sich bei einer Datei um ein Programm oder
- um reine Daten handelt. Wollen Sie den Suchlauf be-
- schleunigen, können Sie mit "/PROG" SSC dazu veran-
- lassen, nur noch Dateien mit Dateiendungen von Pro-
- grammen wie etwa "COM" oder "EXE" zu durchsuchen.
-
- "/REPORT{=..}" - Ein Report der Suche wird unter dem angegebenen Namen
- erstellt (Nur in der Vollversion möglich).
-
- "/SUMMARY" - SSC fügt eine Übersicht der Erkennungsmeldungen am Ende
- des Reports ein.
-
- "/WARN" - SSC gibt ein akustisches Signal bei jedem gefundenen
- verdächtigen Programm aus.
- (In der Shareware-Version nicht abschaltbar).
-
-
- Errorlevel:
- ~~~~~~~~~~~
- SSC gibt folgende Werte als Errorlevel zurück:
-
- 0 - Das Programm wurde normal beendet, es wurden keine Viren gefunden.
- 255 - Es wurden verdächtige oder infizierte Programme gefunden.
-
- Alle anderen Errorlevel weisen auf ein Problem mit SSC selbst hin.
-
-
- [ Die Anzeige von SSC ]──────────────────────────────────────────────────────
-
- Der Bildschirmaufbau ist wie folgt eingeteilt:
-
- ┌──────────────────┐┌───┐
- │ ││ │ [A] : Dateifenster
- │ A ││ C │
- │ ││ │ [B] : Analysefenster
- └──────────────────┘└───┘
- ┌───────────────────────┐ [C] : Übersicht
- │ B │
- └───────────────────────┘
-
- Im Dateifenster zeigt SSC die durchsuchten Programme und Kurz-
- informationen der Heuristik an, im Analysefenster werden die kompletten
- Ergebnisse angezeigt (Hinweis: Es wird stets nur ein Ausschnitt gezeigt!)
- und die Übersicht gibt eine Zusammenfassung darüber, wieviele Dateien
- durchsucht wurden, wieviel Zeit benötigt wurde usw.
-
-
- Hat SSC ein verdächtiges Programm gefunden, hält es an und stellt die ge-
- fundenen Informationen dar. Im Dateifenster sieht die Bildschirmausgabe
- etwa so aus:
-
- ┌─Dateifenster:────────────────────────────────────────┐
- │ │
- │ PARTITION HD0-> ok │
- │ BOOTSEKTOR C:-> ok │
- │ │
- │ C:\VIRUS\ : │
- │ │
- │ TEST .EXE -> ok (05%) Ao │
- │ VIRUS .ASM -> -- │
- │ VIRUS .OBJ -> -- │
- │ VIRUS .COM -> OK (95%) Dmu Ras Puef Acd │
- │ (1) (2) (3) (4) │
- │ │
- └──────────────────────────────────────────────────────┘
-
- Legende:
- ~~~~~~~~
-
- (1) - Dateiinformationen
- ~~~~~~~~~~~~~~~~~~
- Hier werden Dateiname oder Partition, Bootsektor mit Angabe des
- Laufwerks angezeigt.
-
- (2) - Suchmodus
- ~~~~~~~~~
- Hier wird der Text und die Farbe unterschieden:
-
- "OK" - Grün
- ~~~~~~~~~~~
- Die Datei ist oberflächlich gescannt worden, da das Programm mit
- einem bekannten Compiler oder Packer erzeugt bzw. behandelt wurde.
- Die Datei ist wahrscheinlich nicht infiziert, ein Virus könnte
- aber unterhalb der Komprimierung versteckt sein.
- Bei komprimierten Programmen erscheint die Meldung "A:k"
- (Das "k" wird in hellgrün dargestellt).
-
- "ok" - Türkis
- ~~~~~~~~~~~~~
- Die Datei hat keine bekannten Strukturen, der Programmeinsprung
- konnte ohne Probleme ermittelt werden. Dieser Aufbau ist eigentlich
- bei den meisten Programmen zu erwarten.
-
- ">>" - Gelb
- ~~~~~~~~~~~
- Der Programmeinsprung mußte erst ermittelt werden. Dieser Modus
- tritt besonders häufig bei COM-Viren auf, die in der Regel einen
- Sprungbefehl am Programmstart einfügen.
-
- "//" - Braun
- ~~~~~~~~~~~~
- Der Programmeinsprung konnte nicht sicher ermittelt werden, oder
- es werden am Programmstart zu viele Sprungbefehle aufgeführt, die
- von SSC nicht alle verfolgt werden können. Aus Sicherheitsgründen
- wird die gesamte Datei durchsucht.
- Solche Programme sind an sich wegen des seltsamen Aufbaus ver-
- dächtig, was aber meistens nicht auf einen Virus hinweist.
-
- "--" - Grau
- ~~~~~~~~~~~
- Die Datei enthält kein ausführbares Programm und wurde von SSC
- komplett übersprungen. Archive, Bilder, Daten usw. werden, wenn
- der Datentyp erkannt wurde, direkt übersprungen, da Viren nur
- Programme infizieren.
-
-
- Weitere Modi und Farben:
- ~~~~~~~~~~~~~~~~~~~~~~~~
- SSC setzt die Ergebnisse der Heuristik in Symbole um, die im
- Dateifenster direkt neben dem Dateinamen angezeigt werden. Neben
- den oben erwähnten Suchmodi unterscheidet SSC auch noch in ver-
- schiedene Stufen der Heuristik:
-
- "??"
- ~~~~
- Das Programm ist verdächtig. Es wurde eine auffällige Anzahl von
- Virenstrukturen gefunden.
-
- "!!"
- ~~~~
- Das Programm ist wahrscheinlich infiziert. Die Anzahl der ge-
- fundenen Virenstrukturen läßt auf einen Virus schließen.
-
- "[]" bzw. hellblaue Anzeige :
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Wird der Such/Heuristikmodus hellblau angezeigt, hat SSC eine
- Programmverschlüsselung gefunden und anhand von Codeemulation
- oder Linear Decryption entschlüsseln können. Der unter der Ver-
- schlüsselung verborgene Virus konnte also erfolgreich unter-
- sucht werden.
-
-
- (3) - Wahrscheinlichkeit einer Infektion
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Findet SSC ein verdächtiges Programm, ermittelt es anhand der Art
- und Menge der gefundenen Virenstrukturen eine Angabe, mit welcher
- Wahrscheinlichkeit dieses Programm infiziert ist.
- Die jeweiligen Prozentstufen sind farblich getrennt:
-
- ■ 0-24% : Dunkelgrau
- ■ 25-49% : Grau
- ■ 50-74% : Gelb
- ■ 75-99% : Hellrot
- ■ > 100% : Dunkelrot
- ■ > 120% : Blinkendes Rot
-
- Ein Programm gilt ab 75% als verdächtig, ab 90% als infiziert.
- Werden allerdings spezielle Kombinationen von Erkennungsmeldungen
- gefunden, kann auch schon ein Programm mit weniger als 75% ver-
- dächtig bzw. schon als infiziert gemeldet werden.
- Die Angabe kann bei dem verwendeten Suchverfahren nicht sehr genau
- sein; Sie sollten die Prozentangabe also nicht zu genau nehmen.
-
-
- (4) - Erkannte Virenstrukturen
- ~~~~~~~~~~~~~~~~~~~~~~~~
- Die Meldungen repräsentieren für Viren typische Programmstrukturen,
- z.B. steht "D:M" für Dateimodifikationen, "R:S" für residenten Pro-
- grammcode. Eine genaue Beschreibung der Meldungen wird im Analyse-
- Fenster angezeigt.
-
- Diese Meldungen sind nach Gruppen (-> Anfangsbuchstabe) sortiert:
-
- ■ "D" = Dateizugriff
- ■ "S" = Sektorzugriff
- ■ "R" = Residente Strukturen
- ■ "P" = Programmstrukturen
- ■ "A" = Aufbau der Datei
-
- Im Analysefenster werden die Gruppen von ihren jeweiligen Einzel-
- meldungen durch einen ":" im Dateifenster farblich getrennt. Eine
- genaue Erklärung der Einzelmeldungen steht im Anhang 'ÜBERSICHT
- DER MELDUNGEN' oder wird von SSC direkt bei der Suche im Analyse-
- fenster angegeben. Im folgenden werden diese Erkennungsmeldungen
- mit "EM" abgekürzt.
-
- Für jede EM wird eine bestimmte Prozentzahl vergeben. Wird in einem
- Programm eine bestimmte Anzahl von EMs gefunden und damit eine
- gewisse Prozentzahl überschritten oder werden EMs in einer be-
- stimmten Kombination gefunden, gilt die Datei als verdächtig oder
- sogar als infiziert. Anhand der EMs kann man den gefundenen Virus
- bereits grob klassifizieren. Man kann erkennen, ob ein Datei- oder
- Sektorvirus vorliegt, ob der Virus speicherresident oder ver-
- schlüsselt ist usw. Die Erkennung der EMs ist mit Absicht sehr
- 'pingelig' eingestellt worden, damit auch trickreich programmierte
- Viren entdeckt werden. Deshalb können unter Umständen in sauberen
- Programmen EMs angezeigt werden und unter Umständen Falschalarme
- gemeldet werden. Einige der EMs treten ganz legal in sauberen Pro-
- grammen auf, wie z.B. "P:R" (Relokator) in mit PKLITE oder ähn-
- lichen gepackten Programmen oder "R:S" (Resident) in speicher-
- residenten Programmen wie SMARTDRV oder KEYB. Falschalarme treten
- vor allem in Antiviren-Programmen auf, da hier oft viele Strukturen
- von Viren auftreten. Eventuell wird sogar einer der Familien-
- Strings erkannt. Verschlüsselte Programme lassen normalerweise
- keinen Rückschluß auf den eigentlichen Programmcode zu, deswegen
- wird ein Programm, das verschlüsselt ist und noch zusätzlich
- eine (!) weitere verdächtige EM (im Zusammenhang mit ver-
- schlüsselten oder polymorphen Viren) enthält, bereits als
- verdächtig gemeldet. Bei vielen einfach programmierten Ver-
- schlüsselungen ist SSC in der Lage, diese korrekt zu entschlüsseln
- und Aussagen über den eigentlichen Programmcode zu machen. Dabei
- wird entweder die Codeanalyse oder ein sogenannter Linear Check
- benutzt, um die notwendigen Parameter zu ermitteln. Auf keinen Fall
- wird Programmcode aus dem Virus ausgeführt und eine mögliche
- Aktivierung des Virus riskiert.
-
- Im Analysefenster wird bei einer verdächtigen Datei oder bei
- Angabe der Option "/REPORT" ein dem folgenden Text ähnlicher
- Report angezeigt:
-
- (Das hier untersuchte Programm ist mit dem Virus
- <Jerusalem.1808.Standard> infiziert)
-
- ─────────────────────────────────────────────────────────────────────────
-
- PARTITION HD0-> ok
- PARTITION HD1-> ok
- BOOTSEKTOR C:-> ok
-
- C:\VIRUS\JERU :
-
- (1)
-
- JER_STD .COM -> !! (99%) D:KMU R:MKAS P:URX A:CT
- =======================================================================
- Auswertung :
-
- "JER_STD.COM" 4800/12C0h 6.4.1990 23:37.26 ...A Modus: "ok"
- (C:\VIRUS\JERU\)
-
- (2)
-
- ───────────────────────── DATEIVIRUS GEFUNDEN ────────────────────────-
- Dieses Programm ist wahrscheinlich mit einem Dateivirus infiziert.
-
- (3)
-
- ■ D - MODIFIKATION / ZUGRIFF AUF DATEIEN
-
- K - ZUGRIFF AUF KOMMANDOINTERPRETER (COMMAND.COM)
- M - MODIFIZIERT BESTEHENDE DATEIEN
- U - EXE/COM UNTERSCHEIDUNG
-
- ■ R - RESIDENTE PROGRAMME
-
- M - SUCHT, BELEGT ODER VERÄNDERT MCBS OHNE DOS-ZUGRIFF
- K - KOPIERROUTINE (RAM)
- A - ABFANGEN VON PROGRAMMSTARTS ODER ÖFFNEN VON DATEIEN
- S - SPEICHERRESIDENTES PROGRAMM (TSR)
-
- ■ P - PROGRAMMSTRUKTUREN
-
- U - UNDOKUMENTIERTE INTERRUPTFUNKTION
- R - RELOKATOR (VARIABLER SPRUNG)
- X - BEKANNTER / TYPISCHER VIRUSCODE
-
- ■ A - AUFBAU / ATTRIBUTE DER DATEI
-
- C - ANGEFÜGTER PROGRAMMCODE
- T - VIRUSTEXT
-
- (4)
-
- ■ Größe (Dateischreibzugriff) : 1808 Bytes
- ■ Virus infiziert .EXE Programme
- ■ Virus infiziert .COM Programme
- ■ Virus enthält den Text "COMMAND.COM"
- ■ Virus infiziert Programme beim Starten
- ■ Virus manipuliert den Dateianfang
- ■ Virus hängt sich an das Ende des Programmes
- ■ Virus fügt ein JMP NEAR am Programmstart ein
- ■ Virus setzt das CRC-Feld im .EXE-Header auf 1984h
- ■ Virus behält Dateidatum- und Uhrzeit beim Infizieren bei
- ■ Virus umgeht READ-ONLY, HIDDEN oder SYSTEM Dateiattribute
- ■ Virus unterdrückt Schreibschutz-Fehlermeldungen bei Disketten
- ■ Virus prüft auf ausreichend freien HDD/FDD-Speicherplatz
- ■ Virus ist speicherresident
- ■ Virus bleibt resident mittels DOS (1792 Bytes)
- ■ Virus benutzt INT 21h,24h
- ■ Virus benutzt undokumentierte Interruptfunktion (Selbsterkennung) :
- 21/AH:E0=AH:E0 21/DD
- ■ Virus verschiebt seinen Code im Speicher (1808 Bytes)
- ■ Virus löscht Dateien !
- ■ Virus überprüft das Systemdatum (Fr,13.??.1987)
- ■ Virus enthält den Text :
- ".......................ΘÆ.sUMsDos... .....½.┼...».┐.ô.3}..........."
- ■ Virus hat Ähnlichkeit mit :
- - Jerusalem
-
- (5)
-
- ■ Ergebnisse des Durchlaufes vom 06:48.36 26.05.1994
-
- Dateien : 000001
- Verzeichnisse : 000001
- Programme : 000001
- Prüfsummen : 000000
- KB geprüft : 000023
- Verdächtig : 000000
- Infiziert : 000001
- Zeit : 00:00:01
-
- ─────────────────────────────────────────────────────────────────────────
-
- (1) - Dateiinformationen:
- ~~~~~~~~~~~~~~~~~~~
- Hier findet man genauere Angaben zur durchsuchten Datei wie z.B.
- die Dateigröße, Datum und Uhrzeit, Suchmodus usw. Interessant ist
- u.a. die hexadezimale Angabe der Dateilänge (-> "PADDING") und die
- genaue Anzeige des Dateidatums. Ein Dateidatum von 2080+ Jahren
- oder ein Sekundenfeld von 60+ wird sichtbar gemacht.
-
- (2) - Angabe des Virustyps:
- ~~~~~~~~~~~~~~~~~~~~~
- Hier wird angegeben, um was für einen Virustyp es sich handelt.
- SSC unterscheidet zwischen:
-
- "----------------------- DATENTRÄGER VERDÄCHTIG ! ----------------------"
- "Der untersuchte Sektor ist möglicherweise mit einem Virus infiziert !"
-
-
- "------------------------ PROGRAMM VERDÄCHTIG ! ------------------------"
- "Das untersuchte Programm ist möglicherweise mit einem Virus infiziert !"
- "Es wurden Strukturen gefunden, die sonst nur in Viren auftreten."
-
-
- "------------- TRÄGER EINES BOOT/PARTITIONSVIRUS GEFUNDEN ! ------------"
- "Das untersuchte Programm startet einen Partitions- oder Bootvirus !"
-
-
- "------------- ABBILD EINES BOOT/PARTITIONSVIRUS GEFUNDEN ! ------------"
- "Die Datei enthält eine Kopie eines Partitions- oder Bootvirus."
-
-
- "----------------- ÜBERSCHREIBENDER DATEIVIRUS GEFUNDEN ----------------"
- "Dieses Programm enthält einen primitiven Virus, der den Programmstart"
- "überschrieben und damit das Programm möglicherweise zerstört hat !"
-
-
- "------------------------- DATEIVIRUS GEFUNDEN -------------------------"
- "Dieses Programm ist wahrscheinlich mit einem Dateivirus infiziert."
-
-
- "--------------- VERSCHLÜESSELTER DATEIVIRUS GEFUNDEN ------------------"
- "Das Programm hat eine Entschluesselungroutine am Programmstart und hat"
- "noch andere typische Merkmale, die auf einen Virenbefall hinweisen."
-
-
- "----------------- POLYMORPHER DATEIVIRUS GEFUNDEN ---------------------"
- "Das Programm hat eine Verschlüsselungsroutine am Programmstart, in die"
- "sinnlose Befehle gemischt wurden. Der Virus ist wahrscheinlich in jeder"
- "infizierten Datei anders verschlüsselt."
-
-
- "---------------- BOOTSEKTOR/PARTITIONSVIRUS GEFUNDEN ------------------"
- "Der geprüfte Sektor ist mit einem Boot- oder Partitionsvirus infiziert."
-
-
- "---------------------- VERSCHLÜSSELTES PROGRAMM -----------------------"
- "Die Datei ist verschlüsselt und kann nicht weiter untersucht werden !"
-
-
- "------------------------ MÖGLICHER FALSCHALARM ------------------------"
- "Der Aufbau des Programmes weist nicht auf einen Virusbefall hin."
- "Entweder ist kein Datei/Sektorzugriff entdeckt worden oder das Programm"
- "hat einen Programmstart, der eine Infektion ausschließt."
-
-
- "------------------------ GESCHÜTZTES PROGRAMM -------------------------"
- "Das Programm ist verschlüsselt, um eine Analyse mit einem Debugger zu"
- "verhindern. Vielleicht ein kommerzielles (kopiergeschütztes) Programm ?"
-
-
- "---------------------- TROJANISCHES PFERD/BOMBE -----------------------"
- "Das Programm zerstört möglicherweise Daten auf den Datenträger !"
-
-
- "--------------------- MULTIPARTITE-VIRUS GEFUNDEN ---------------------"
- "Der Virus verbreitet sich über Programme und infiziert zusätzlich noch"
- "den Partitions- oder Bootsektor von Festplatten/Disketten."
-
-
- "----------------------- COMPANION-VIRUS GEFUNDEN ----------------------"
- "Der Virus infiziert Programme, indem zu einer .EXE-Datei ein gleich-"
- "namiges .COM-Programm erzeugt wird."
-
-
- Die Angaben über den Virustyp können in Kombinationen auftreten. Wird
- z.B. ein Falschalarm angegeben und das Programm wird als verdächtig, aber
- nicht als wahrscheinlich infiziert erkannt, liegt sehr wahrscheinlich
- kein Virus vor.
-
- (3) - Übersicht der gefundenen Erkennungsmeldungen (EM):
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Anhand dieser Merkmale wird ein Virus erkannt. Die grobe Struktur
- des Virus läßt sich schon oft hieraus ableiten.
- Die EMs sind in 5 Hauptgruppen unterteilt:
-
- D - Dateizugriff
- S - Sektorzugriff
- R - Residente Strukturen
- P - Programmstrukturen
- A - Aufbau der Datei
-
-
- (4) - Analysemeldungen (AM):
- ~~~~~~~~~~~~~~~~~~~~~~
- Hier wird angegeben, was der gefundene Virus speziell macht und wie
- er aufgebaut ist. Eine Angabe eines "(?)" hinter einer Meldung be-
- deutet, daß diese Information nicht 100% nachgewiesen werden
- konnte, aber wahrscheinlich oder wenigstens möglich ist. Wegen der
- großen Variationsmöglichkeiten bei der Programmierung bestimmter
- Techniken und Effekte ist es nicht immer möglich, diese vollständig
- zu erkennen.
-
- SSC kann die Viruslänge auf verschiedene Arten angeben, und
- manchmal ist dieser Wert auch nicht eindeutig zu ermitteln.
- In der Regel ist die Angabe "Größe (Dateischreibzugriff)" ein
- guter Anhaltspunkt. Der Wert "Größe (Programmstart bis Dateiende)"
- ist nur relevant, wenn der Virus seinen Startpunkt auch am Anfang
- des Viruscodes hat. Das ist oft aber nicht der Fall. Hat der
- Virus Stealtheigenschaften und kann SSC diese erkennen, ist die
- Angabe "Virus benutzt Datei-Stealthfunktionen (Länge) (nnnn)" als
- genaueste Angabe zur Viruslänge zu betrachten.
-
- Die Angabe: "Undokumentierter Interrupt" bedeutet, daß sich der
- Virus anhand dieser Funktion selber im Speicher erkennt. Der be-
- nutzte Interrupt und Registerwert werden angezeigt. Das oben ge-
- zeigte Beispiel vom <Jerusalem.1808.Standard> würde z.B. bedeuten:
-
- MOV AH,E0h
- INT 21h
- CMP AH,E0h
- JE Label_VirusAktiv
-
- Oft wird auch kein direkter Wert zurückgegeben, sondern das
- CARRY FLAG geprüft.
-
- Unter "Virustext" versteht SSC die Pseudonyme bekannter Viren-
- programmierer oder die Kennbytes bekannter Virengeneratoren. Viele
- Viren sind mit solchen Signaturen "unterschrieben" und können daran
- leicht erkannt werden. Besonders sollte auf Angaben wie "[MPC]",
- "[VCL]" geachtet werden, die oft in Viren zu finden sind, die mit
- Virus Construction Kits erzeugt wurden.
-
- Gut zu erkennen ist am Beispiel des <Jerusalem.1808>-Virus auch
- die Schadensroutine: Sie wird am Freitag dem 13. aktiv. Die Jahres-
- angabe kann bedeuten, daß der Virus IN oder NACH diesem Jahr aktiv
- wird. Der Virus löscht dann an diesem Datum Dateien. Zu erkennen
- ist ebenfalls, daß der Virus .EXE und .COM Dateien infiziert, 1808
- Bytes an Programme anfügt, sich mittels eines DOS-Interrupts
- resident im Speicher installiert und dort 1792 Bytes belegt. Der
- gefundene Text "sUMsDos" ist der Selbsterkennungstext von
- <Jerusalem.1808> und wird in vielen Abarten weiterhin benutzt.
-
- (5) - Zusammenfassung der Suche:
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
- Falls durch Parameter aktiviert, wird hier noch eine detaillierte
- Übersicht über die EMs bzw. bei "/REPORT=0" eine Legende der Ab-
- kürzungen eingefügt.
-
-
- [ Hinweise und Tips zur Erkennung und Analyse ]──────────────────────────────
-
- Die Länge eines Virus ist nicht immer unbedingt direkt ersichtlich. SSC
- gibt hier unter Umständen ein Vielzahl von Werten an:
-
- Dateizugriff:
- ~~~~~~~~~~~~~
- Der Virus fügt xxx Bytes an eine Datei an. Dieser Wert entspricht
- meistens genau der Viruslänge, manchmal ist dieser Wert allerdings
- nicht festzustellen oder der Virus schreibt in mehreren Blöcken.
- Ein Beispiel hierfür ist <Tai-Pan.438>. SSC gibt eine Größe beim Datei-
- schreibzugriff von 428 Bytes an. Der Virus hängt aber nachträglich noch
- 10 weitere Bytes an und verlängert Programme somit um 438 Bytes.
-
- Größe (Programmstart bis Programmende):
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Die meisten Viren hängen sich an das Ende von Programmen und ändern den
- Programmstart so ab, daß er auf den Viruscode zeigt. Dieser Wert ent-
- spricht nicht immer der Viruslänge, da manchmal der Programmstart des
- Virus nicht mit dem Anfang des eigentlichen Viruscodes am Dateiende über-
- einstimmt.
-
- Größe (Programmsegment bis Programmende):
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Dieser Wert wird nur bei .EXE-Programmen angegeben und entspricht in
- etwa der Größe "Programmstart bis Ende". Der Wert kann bei einigen
- EXE-Viren informativ sein.
-
- Datei-Stealth (Länge):
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Dieser Wert wird vom Virus bei DIR abgezogen, falls eine infizierte Datei
- angezeigt werden soll. Entspricht immer der realen Virusgröße, allerdings
- sind nicht alle Viren Stealth bzw. Semi-Stealth und eine so genaue Angabe
- ist nicht immer vorhanden.
-
- Speicherbelegung:
- ~~~~~~~~~~~~~~~~~
- Wenn der Virus speicherresident ist, wird oft angegeben, wieviel Speicher
- er belegt. Dieser Wert ist in der Regel höher als die eigentliche Virus-
- länge, da im Speicher oft noch Tabellen und Zwischenspeicher angelegt
- werden, die der Virus zum Infizieren benötigt.
-
- Man kann sicher sein, die richtige Virusgröße ermittelt zu haben, wenn
- mehrere der oben genannten Angaben übereinstimmen.
-
- ***
-
- !! Mit Programmkomprimierern, wie z.B. "PKLITE", "LZEXE" oder "DIET" ge-
- !! packte Programme werden erkannt, aber nicht entpackt. Es ist ein Ding
- !! der Unmöglichkeit, mit der Entwicklung in diesem Sektor mitzuhalten.
- !! Wollen Sie neue, unbekannte Programme untersuchen, empfehle ich Ihnen,
- !! diese mit gängigen Tools wie z.B. "UNP" zu entpacken, bevor SSC aus-
- !! geführt wird.
- ***
-
- Dieser Hinweis ist nur für Virenforscher interessant:
- Optimale und korrekte Analyseergebnisse erhält man, wenn ein infiziertes
- "leeres" Köderprogramm untersucht wird. Es leuchtet ein, daß, falls ein
- Virus FORMAT.COM infiziert hat, möglicherweise ein Multipartite-Virus ge-
- meldet oder festgestellt wird, daß der Virus Sektoren formatiert oder be-
- schreibt. Es ist vor allem bei COM-Programmen manchmal schwer, zwischen
- dem Anfang des Viruscodes und dem ursprünglichen Programmcode zu unter-
- scheiden. Bei EXE-Programmen ist dies in der Regel wesentlich einfacher
- zu erkennen. SSC erkennt Viren am zuverlässigsten, wenn ein Programm oder
- eine Diskette korrekt infiziert wurde. Dateien, die vom Virus zerstört
- sind, Generation-1 Samples oder 1:1 Kopien von Bootsektoren werden unter
- Umständen nicht erkannt. Vor allem in größeren Virensammlungen findet man
- häufig "Müll"-Dateien, die gar keinen Virus enthalten.
-
- ***
-
- !!! FALSCHALARME !!!
- ~~~~~~~~~~~~~~~~~~~~
- Das verwendete Suchverfahren verursacht Falschmeldungen! Das liegt in
- der Natur der heuristischen Suche und läßt sich nicht verhindern, da
- mit Annahmen und logischen Folgerungen und nicht mit 'unfehlbaren'
- Scanstrings gearbeitet wird. Um SSC voll nutzen zu können, sollten Sie
- ein gewisses Maß an Systemerfahrung haben.
-
- Es gibt zwei Arten von Falschalarmen bei SSC:
- Erstens ist das betreffende Programm 'schlecht' programmiert und be-
- inhaltet wirklich die angegebenen Strukturen. Besonders bei Antiviren-
- Programmen und verschlüsselten Programmen treten oft Falschalarme auf.
- Dagegen läßt sich nichts machen. Verschlüsselte Programme sind eigent-
- lich immer verdächtig und sollten daher von SSC stets gemeldet werden.
- Zum zweiten kann es vorkommen, daß SSC Strukturen findet, die überhaupt
- nicht im durchsuchten Programm vorhanden sind. Die Heuristik von SSC ist
- besonders genau eingestellt und soll auch mit speziell anti-heuristisch
- programmierten Viren fertig werden. Durch einen unglücklich berechneten
- Ansatz der Such/Analyseroutine kann es vorkommen, daß Code falsch inter-
- pretiert wird. In der Regel tritt aber der erstgenannte Fall auf.
-
- Wirkliche Falschalarme kann man unter Umständen daran erkennen, daß nur
- wenige Analysemeldungen erkannt werden, oder daß diese nicht logisch zu-
- sammenpassen. Das zu beurteilen ist leider nicht einfach. Bei Ver-
- schlüsselungen ist eine geringe Anzahl von erkannten EMs allerdings
- normal, da ja durch die Verschlüsselung das 'Programminnere' nicht mehr
- zu erkennen ist (das ist schließlich der Sinn der Sache). SSC geht hier
- etwas rigoros vor und meldet das Programm bereits als verdächtig, wenn
- nur wenige weitere EMs neben dem "P:V" für Verschlüsselung gefunden
- werden. Typisch für einen residenten Dateivirus sind folgende EMs:
- "D:MU" + "R:AS" und evtl. zusätzlich noch "A:C", "P:U", "P:E" oder "P:R".
-
- Bemerkt man einen Virus, ist dieser wahrscheinlich schon länger aktiv und
- es ist sehr wahrscheinlich, daß nicht nur ein bis drei Dateien im ge-
- samten System infiziert sind, sondern direkt eine größere Anzahl von Pro-
- grammen. Findet SSC nur einige wenige verdächtige Programme und sind
- diese auch noch über mehrere Verzeichnisse verstreut, kann man von
- Falschalarmen ausgehen. Viren infizieren in der Regel alle Programme, die
- gestartet oder geöffnet bzw. kopiert werden. Es sollten also fast alle
- Programme infiziert sein, mit denen Sie in der letzten Zeit gearbeitet
- haben. COMMAND.COM (über COMSPEC=...) ist ein häufiges Ziel von Viren und
- sollte unbedingt überprüft werden. Allerdings gibt es einige Viren, die
- COMMAND.COM gezielt vermeiden, um entweder nicht aufzufallen oder weil
- eine infizierte COMMAND.COM abstürzen würde.
- Natürlich kann ein solch massives Auftreten von Infektionen nicht bei
- neuer Software, die vor dem ersten Aufruf auf Viren geprüft werden soll,
- festgestellt werden. Hier sollte schon eine einzelne verdächtige Datei
- ernst genommen werden! In diesem Fall könnten Sie versuchen, SVS zu in-
- stallieren und auszuprobieren, ob das verdächtige Programm wirklich
- einen Virus enthält. Ist dies der Fall, wird der Virus höchstwahrschein-
- lich von SVS sofort blockiert. Tip: SVS hat eine Schreibschutzfunktion
- für die Festplatte, aktivierbar mit <STRG-SHIFT_LINKS-W>. Wollen Sie
- verständlicherweise eine mögliche Aktivierung des Virus nicht riskieren,
- bleibt noch das Prüfen mit anderen Virenscannern oder das direkte Unter-
- suchen per Debugger.
-
-
- [ Grenzen bei der Erkennung ]────────────────────────────────────────────────
-
- Hochsprache-Viren (HLL-Viren):
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Sämtliche HLL-Viren werden von SSC -nicht- erkannt! Das liegt daran, daß
- die in einer Hochsprache programmierten Viren keinerlei typische Viren-
- strukturen aufweisen und damit eine heuristische Erkennung so gut wie un-
- möglich ist. Ein besonderes Problem stellen die HLL-Viren im Prinzip
- nicht dar: Sie sind so gut wie kaum verbreitet, und fallen oft schon
- durch ihre enorme Größe (meist über 5000 Bytes) in der Regel schnell auf.
- Da HLL-Viren die Standardroutinen des jeweiligen Compilers zum Datei-
- zugriff benutzen, kann SVS solche Viren ohne Probleme abfangen.
-
- Verschlüsselte Viren:
- ~~~~~~~~~~~~~~~~~~~~~
- SSC ist in der jetzigen Version nicht in der Lage, kompliziertere Ver-
- schlüsselungen zu knacken. Es kann lediglich die Verschlüsselung selber
- melden, den eigentlichen Virus aber leider nicht analysieren.
-
- Gepackte Programme:
- ~~~~~~~~~~~~~~~~~~~
- Wie bereits erwähnt, kann SSC keine mit PKLITE, DIET, LZEXE oder ähn-
- lichen Tools gepackte Programme unterhalb der Komprimierung untersuchen.
- Es werden nur extern infizierte Programme erkannt. Sie müssen kompri-
- mierte Programme mit Tools wie etwa "UNP" vor der Suche entpacken, um
- eine komplette Analyse zu ermöglichen.
-
-
- [ Hinweise zu "A:M" ]────────────────────────────────────────────────────────
-
- Dieser EM kommt eine besondere Bedeutung zu. Heutzutage sind die meisten
- EXE-Programme mit speziellen Programmen komprimiert, wie etwa "PKLITE",
- "DIET" oder dem neueren "WWPACK". Interessant für die Virenerkennung ist
- der Punkt, daß solche komprimierten Programme leicht auf Veränderungen
- überprüfbar sind. Die Komprimierer erzeugen immer bestimmte Programm-
- köpfe und Einsprünge; Viren ändern aber nur einen Teil des Programmkopfes
- ab. SSC ist in der Lage, infizierte komprimierte EXE-Programme zu erken-
- nen und zeigt dazu die EM "A:M" (MODIFIZIERTES PROGRAMM) an. Die Erken-
- nung funktioniert natürlich nur, wenn das Programm NACH dem Komprimieren
- infiziert wurde, was aber normalerweise immer der Fall ist.
- Programme, die auf diese Art verändert wurden, sind immer besonders ver-
- dächtig! Wenn Sie ein neues Programm mit SSC kontrollieren und die "A:M"-
- Warnung angezeigt kriegen, sollten Sie das entsprechende Programm auf gar
- keinen Fall starten, ohne vorher SVS zu aktivieren!
- SSC erkennt momentan Veränderungen an mit folgenden Packern komprimierten
- Programmen: PKLITE (1.03-1.15), LZEXE (0.91), DIET (1.20-1.45), COMPACK
- (4.5), TINYPROG (3.x) und WWPACK (3.01-3.02).
-
-
- [ Übersicht der Meldungen von SSC ]──────────────────────────────────────────
-
- Zusammenfassung der Erkennungsmeldungen (EM):
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- ■ D - MODIFIKATION / ZUGRIFF AUF DATEIEN
-
- P - ZUGRIFF AUF PRÜFSUMMENDATEIEN VON ANTIVIRENPROGRAMMEN
- Manche Viren manipulieren/löschen gezielt die Prüfsummendateien
- von Antivirenprogrammen, um einer frühzeitigen Entdeckung durch
- Meldung der Veränderung von Prüfsummen zu entgehen.
-
- S - SUCHE NACH AUSFÜHRBAREN DATEIEN (EXE/COM)
- Dieses Programm sucht nach EXE / COM Dateien. Viele Viren bein-
- halten einen solchen Programmteil, da sie nach neuen Opfern su-
- chen, aber auch normale Programme, wie z.B. Hochlader oder Pro-
- grammpacker, enthalten manchmal diese Routine.
-
- K - ZUGRIFF AUF KOMMANDOINTERPRETER (COMMAND.COM)
- Dieses Programm greift auf den Kommandointerpreter von DOS zu.
- Dieser ist ein Ziel für viele Viren, die das Programm gezielt
- infizieren, um nach einen Neustart wieder aktiv zu werden.
- Manche Viren verhindern gezielt das Infizieren von COMMAND.COM,
- um Abstürze zu vermeiden oder um nicht sofort aufzufallen.
-
- M - MODIFIZIERT BESTEHENDE DATEIEN
- Es wurden Routinen zum Schreiben, Ändern der Dateizeit / Datum
- oder des Dateiattributs gefunden, die darauf hinweisen, daß
- existierende Dateien geändert werden sollen.
-
- U - EXE/COM UNTERSCHEIDUNG
- Das Programm überprüft eine Datei auf .EXE oder .COM-Strukturen.
- Viren, die beide Arten von Programmen infizieren, müssen in der
- Lage sein, diese Programmtypen zu unterscheiden. Viele Datei-
- viren beinhalten diesen Programmteil, aber auch Programme wie
- z.B. Hochlader oder Programmpacker können diese Meldung verur-
- sachen, da auch sie eine Unterscheidung der verschiedenen Pro-
- grammtypen benötigen.
-
- D - DATEIDATUM ODER UHRZEIT ALS MARKIERUNG
- Das Programm setzt die Sekunden eines Programmes auf 60+ oder
- addiert 100 Jahre auf das Dateidatum. Viele Viren markieren
- so die von ihnen infizierten Programme.
-
-
- ■ S - DIREKTER ZUGRIFF AUF SEKTOREN (DISKETTE / FESTPLATTE)
-
- D - DIREKTER HDD/FDD-ZUGRIFF ÜBER INT 13h, INT 26h ODER INT 40h
- Normalerweise sollten nur Disketten oder Festplatten-Tools auf
- solche Methoden zurückgreifen (z.B. FORMAT, SPEEDISK, Caches).
-
- I - ERMITTELN DES DOS-INTERNEN DISK-BIOS INTERRUPTVEKTORS
- Das Programm ermittelt den DOS-internen Einsprung ins BIOS und
- greift möglicherweise direkt auf die Festplatte zu. Manche Anti-
- virenprogramme benutzen diese Funktion, meistens sind es jedoch
- Viren, die Wächter- bzw. Schreibschutzprogramme umgehen wollen.
-
- B - ZUGRIFF AUF DEN BOOT/PARTITIONSSEKTOR
- Es wurde ein typischer Programmteil für MBR / Bootsektorenviren
- gefunden, die die Spur 0, Kopf 0 oder 1 und Sektor 1 verändern.
- Diese Meldung kann auch in FDISK, FORMAT oder ähnlichen Pro-
- grammen auftreten, da auch hier diese Sektoren geändert werden.
-
- ! - VERDÄCHTIGER BOOT/PARTITIONSSEKTOR
- Der Boot/Partitionssektor der Diskette/Festplatte enthält wahr-
- scheinlich einen Virus oder entspricht nicht dem normalen DOS-
- Partitions- oder Bootsektorformat.
-
- V - UNGÜLTIGE VERZEICHNISEINTRÄGE
- Viele Bootsektorviren kopieren sich ans Ende des Hauptverzeich-
- nisses und überschreiben dabei evtl. vorhandene Dateieinträge.
- Es wurde ein Programm oder Daten an dieser Position gefunden.
-
- K - KOPIE DES BOOTSEKTORS ODER DER PARTITION
- Bootsektor- oder Partitionsviren kopieren oft den originalen
- Bootsektor oder MBR an eine andere Stelle, um später darauf zu-
- greifen zu können.
-
-
- ■ R - RESIDENTE PROGRAMME
-
- M - SUCHT, BELEGT ODER VERÄNDERT MCBS OHNE DOS-ZUGRIFF
- Das Programm sucht bzw. belegt Speicher über direkten Zugriff
- auf [40:13] oder über die MCB-Kette, ohne DOS zu benutzen. Sehr
- viele speicherresidente Viren belegen Speicher auf diese
- Methode. Hochlader, speicherresidente Programme oder Speicher-
- anzeigeprogramme, wie z.B. MEM oder SYSINFO können auch diese
- Meldung hervorrufen.
-
- K - KOPIERROUTINE (RAM)
- Teile des Programmes werden an eine andere Stelle im Speicher
- kopiert. Das trifft auf den Installationsteil vieler speicher-
- residenter Viren zu, die sich in von ihnen gerade reservierten
- Speicher kopieren.
-
- A - ABFANGEN VON PROGRAMMSTARTS ODER ÖFFNEN VON DATEIEN
- Viele speicherresidente Viren überwachen die DOS-Funktionen zum
- Starten oder Öffnen von Programmen, um diese dann zu infizieren.
-
- S - SPEICHERRESIDENTES PROGRAMM (TSR)
- Das Programm bleibt nach Beendigung im Speicher aktiv, da wich-
- tige Interruptvektoren verändert, aber nicht wieder hergestellt
- werden, was auf ein residentes Programm schließen läßt.
-
- W - ERKENNUNG / AUSSCHALTEN VON WÄCHTERPROGRAMMEN
- Manche Viren gehen gezielt auf weitverbreitete Wächterpro-
- gramme ein, um keine Alarme auszulösen oder um sie zu unter-
- laufen (z.B. VSAFE, FLUSHOT, DATAMON).
-
- E - ERSATZVEKTOR FÜR INTERRUPT 13H ODER 21H
- Viele Viren speichern den alten Wert von Interrupt 13h oder 21h
- in einem ungenutzten Vektor ab, um später vereinfacht auf den
- Interrupt zuzugreifen und um residente Virenblocker zu
- täuschen, da diese nur die ursprünglichen Vektoren überprüfen.
-
-
- ■ P - PROGRAMMSTRUKTUREN
-
- P - POLYMORPHE STRUKTUR
- Das Programm enthält sinn- bzw. wirkungslose Befehle, die häufig
- bei polymorphen Viren benutzt werden, um die Erkennung der Ent-
- schlüsselungsroutine zu erschweren.
-
- V - VERSCHLÜSSELUNG (AM PROGRAMMSTART)
- Das Programm ist verschlüsselt und kann nicht weiter analysiert
- werden ! Viele Viren sind verschlüsselt, aber auch kopierge-
- schütze Software wie z.B. Spiele sind manchmal verschlüsselt.
-
- v - VERSCHLÜSSELUNG (IM PROGRAMM)
- Das Programm enthält eine Verschlüsselungsroutine, die aber erst
- später im Programm auftritt.
-
- U - UNDOKUMENTIERTE INTERRUPTFUNKTION
- Das Programm benutzt unbekannte oder undokumentierte DOS Funkt-
- ionen oder Interrupts. Speicherresidente Programme benutzen oft
- diese Methode, um mit dem residenten Teil zu kommunizieren, aber
- auch viele speicherresidente Viren.
-
- ! - ILLEGALER BEFEHL / VERZWEIGUNG
- Das Programm enthält ungültige Prozessorbefehle oder Verzwei-
- gungen, die den Programmteil verlassen und so zum Absturz der
- CPU führen würden ! Manche Viren sind fehlerhaft programmiert
- und schaffen es nicht immer, Programme korrekt zu infizieren.
-
- E - ENDLOSSCHLEIFE (SPRUNG ZUM PROGRAMMSTART)
- Der Programmstart wird erneut aufgerufen, was normalerweise zu
- einer Endlosschleife führen würde! Das Programm muß sich selber
- im Speicher modifizieren, um korrekt ausgeführt zu werden. Sehr
- viele COM-Viren fügen einen Sprung am Programmstart ein, um den
- Virus beim Programmstart auszuführen.
-
- R - RELOKATOR (VARIABLER SPRUNG)
- Das Programm springt zu einer variablen Adresse im Speicher.
- Viren können erst bei der Ausführung bestimmen, wo genau der ur-
- sprüngliche Programmstart liegt, und diesen nur über einen var-
- riablen Sprung erreichen. Normale Programme besitzen eine Relo-
- ziertabelle, nach der DOS diese Sprünge berechnet.
-
- F - FLEXIBLER PROGRAMMEINSPRUNG
- Das Programm stellt seine eigene Adresse innerhalb des Codeseg-
- mentes fest. 'Saubere' Programme müssen das nicht feststellen !
- Über die Hälfte aller Viren beinhaltet diese Routine, da Viren
- meistens an verschiedenen Adressen innerhalb des Programmseg-
- mentes angefügt werden.
-
- S - SPRUNGKETTE
- Mehrere Sprungbefehle wurden nahe des Programmeinsprunges ge-
- funden. Das Programm ist verdächtig, da 'saubere' Programme
- keinen Programmstil dieser Art aufweisen !
-
- T - "TUNNELING" / EINZELSCHRITTMODUS
- Das Programm benutzt den Einzelschrittmodus der CPU. Normaler-
- weise benutzen nur Debugger diese Methode, aber auch Viren be-
- nutzen sie, um die ursprünglichen Einsprünge der Interrupt-
- vektoren zu ermitteln und somit eventuell aktive Wächter- oder
- Schreibschutzprogramme zu unterlaufen ! Es könnte aber auch auf
- ein gegen Debugging geschütztes Programm hinweisen.
-
- 2 - 80286 PROZESSORBEFEHLE
- Das Programm enthält am Einsprung Prozessorbefehle, die nur auf
- einer 286 oder höheren CPU lauffähig sind. Normalerweise werden
- solche Befehle erst benutzt, wenn der CPU-Typ festgestellt wurde
- und treten erst später im Programm auf.
-
- X - BEKANNTER / TYPISCHER VIRUSCODE
- Das Programm enthält Programmcode von bekannten Viren oder nur
- für Viren typische Routinen, die normalerweise nie auftreten.
-
-
- ■ A - AUFBAU / ATTRIBUTE DER DATEI
-
- D - VERDÄCHTIGES DATEIDATUM ODER UHRZEIT
- Das Datum oder die Uhrzeit des Programmes ist ungültig. Entweder
- stehen die Sekunden auf über 59 oder das Jahr auf über 2080.
- Viele Viren benutzen dies als Markierung, um eine erneute Infi-
- zierung zu vermeiden.
-
- G - GERUNDETE DATEIGRÖßE ("PADDING")
- Manche Viren runden die Dateilänge beim Infizieren auf ein
- Vielfaches von 16, 32, 64, 128 oder 256, um eine bestimmte Prog-
- grammeinsprungsadresse zu erhalten oder benutzen die Länge als
- Infektionsmarkierung.
-
- C - ANGEFÜGTER PROGRAMMCODE
- Der Programmstart liegt kurz vor dem Ende der Datei. Das ist
- typisch für viele Dateiviren, die sich meistens an das Ende
- eines Programmes kopieren.
-
- V - VERSTECKTE DATEI
- Diese Datei hat das HIDDEN oder SYSTEM Dateiattribut gesetzt.
- Das könnte auf einen Companion-Virus hinweisen, der zu einer
- bestehenden .EXE Datei ein gleichnamiges .COM Programm erstellt
- und diese Datei im Verzeichnis unsichtbar machen will.
-
- o - INTERNE OVERLAYS / ZUSÄTZLICHE DATEN/PROGRAMMTEILE
- Die im Header angegebene Dateigröße stimmt nicht mit der realen
- Dateilänge überein. Es sind zusätzliche Daten oder Programm-
- teile hinter dem eigentlichen Programm angefügt.
-
- ! - UNGÜLTIGER PROGRAMMKOPF
- Das .EXE Programm entspricht nicht den Angaben im Dateiheader.
- Manche Viren aktualisieren diese Werte nicht korrekt, nachdem
- die Datei infiziert wurde. Als Folge davon kann z.B. der Pro-
- grammeinsprung außerhalb des Programmbereiches liegen.
-
- E - FALSCHE NAMENSERWEITERUNG
- Das Programm hat COM als Erweiterung, enthält aber ein Programm
- vom Typ EXE, oder ein EXE Programm enthält keine entsprechenden
- Strukturen und ist somit ein COM Programm. Manche Viren können
- keine EXE Programme infizieren und wandeln sie erst in ein Pro-
- gramm mit dem Aufbau einer COM Datei um.
-
- i - IMMUNISIERT
- Das Programm ist gegen Virenbefall immunisiert.
-
- S - SELTSAMER ODER UNGÜLTIGER PROGRAMM-STACK
- Der Wert von SP im Header ist ungerade, oder das Stapelsegment
- liegt außerhalb des vom Programm angeforderten Speichers. Viele
- Viren sind schlecht programmiert und legen ungültige Werte beim
- Infizieren der Datei an.
-
- k - KOMPRIMIERUNG
- Das Programm wurde mit PKLITE, LZEXE oder ähnlichen Programm-
- komprimieren behandelt. Ist dies ein neues, unbekanntes Programm,
- sollte es auf jeden Fall entpackt und noch einmal untersucht
- werden, da sonst ein Virus unbemerkt ins System geraten könnte.
-
- T - VIRUSTEXT
- Das Programm enthält eine Referenz auf "VIRUS", "DARK AVENGER"
- oder andere für Viren typische Texte.
-
- w - WINDOWS ODER OS/2 PROGRAMM
- Das Programm hat einen Windows - OS/2-Programmaufbau (NewEXE)
- Bisher sind nur wenige Viren bekannt, die diesen Programmtyp
- richtig infizieren können.
-
- M - MODIFIZIERTES PROGRAMM
- Das Programm wurde mit PKLITE, LZEXE oder einem anderen .EXE-
- Komprimierer gepackt, hat jedoch unbekannten Programmcode ange-
- fügt, der vor der Entpackroutine ausgeführt wird.
-
-
- Zusammenfassung der Analysemeldungen (AM):
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- ■ Größe (Dateischreibzugriff) : xxxx
- ■ Größe (Programmstart bis Dateiende) : xxxx
- ■ Größe (Programmsegment bis Dateiende) : xxxx
-
- ■ Virus infiziert .EXE Programme
- ■ Virus infiziert .COM Programme
- ■ Virus enthält den Text "COMMAND.COM"
- ■ Virus enthält den Text "PATH"
- ■ Virus infiziert Bootsektoren und/oder Partitionen
-
- ■ Virus überschreibt beim Infizieren den Standard DOS-PSP
- ■ Virus erzeugt gleichnamige .COM-Programme ("Companion")
- ■ Virus infiziert Programme beim Öffnen ("Fast Infector")
- ■ Virus infiziert Programme beim Ausführen
- ■ Virus fängt das Öffnen von Programmen ab (Extended Open)
- ■ Virus fängt das Erstellen von Programmen ab
- ■ Virus fängt das Debuggen von Programmen ab
- ■ Virus infiziert bei DIR
- ■ Virus infiziert beim Setzen des Dateiattributes
- ■ Virus infiziert beim Umbenennen von Dateien
- ■ Virus infiziert Programme im aktuellen Verzeichnis
- ■ Virus durchsucht Festplatte nach Programmen
- ■ Virus infiziert nur eine Datei pro Aktivierung
- ■ Virus infiziert mehrere Dateien pro Aktivierung
-
- ■ Virus manipuliert den Dateianfang
- ■ Virus überschreibt den Dateianfang
- ■ Virus hängt sich an das Ende des Programmes
- ■ Virus konvertiert EXE Programme in COM Programme
- ■ Virus fügt ein JMP NEAR am Programmstart ein
- ■ Virus fügt ein JMP REG am Programmstart ein
-
- ■ Virus ist verschlüsselt
- ■ Virus benutzt einstufige Verschlüsselungsmethode
- ■ Virus ist polymorph
-
- ■ Virus benutzt Datei-Stealthfunktionen (Länge) (xxxx)
- ■ Virus benutzt Datei-Stealthfunktionen (Inhalt)
- ■ Virus benutzt Datei-Stealthfunktionen (Uhrzeit/Datum)
-
- ■ Virus benutzt Dateidatum als Markierung (Jahr=2080+)
- ■ Virus benutzt Dateiuhrzeit als Markierung (Sekunde=60+)
- ■ Virus benutzt Dateigröße als Markierung ("Padding")
-
- ■ Virus benutzt FCB-Funktionen, um auf Dateien zuzugreifen
- ■ Virus prüft auf .EXE-Programmheader ("MZ")
- ■ Virus prüft auf .EXE-Programmheader ("ZM")
- ■ Virus benutzt "MZ"-Kennung, um .EXE bei der Infektion auszuschließen
- ■ Virus setzt den Programmeinsprung im .EXE-Header auf xxxxh
- ■ Virus setzt den Programmstack im .EXE-Header auf xxxxh
- ■ Virus setzt das CRC-Feld im .EXE-Header auf xxxxh
- ■ Virus behält Dateidatum- und Uhrzeit beim Infizieren bei
- ■ Virus aktualisiert Dateidatum- und Uhrzeit beim Infizieren
- ■ Virus umgeht READ-ONLY, HIDDEN oder SYSTEM Dateiattribute
- ■ Virus kann READ-ONLY, HIDDEN oder SYSTEM Attribute nicht umgehen
- ■ Virus ändert den Zugriffsmodus einer geöffneten Datei
- ■ Virus unterdrückt Schreibschutz-Fehlermeldungen bei Disketten
- ■ Virus unterdrückt Infektionsabbruch durch <STRG-C>
- ■ Virus prüft auf ausreichend freien HDD/FDD-Speicherplatz
-
- ■ Virus ist speicherresident
- ■ Virus ist möglicherweise speicherresident
- ■ Virus bleibt resident mittels DOS (xxxx)
- ■ Virus durchsucht/verändert die MCB-Kette (xxxx)
- ■ Virus markiert MCB als SYSTEM-Bereich
- ■ Virus verringert DOS-Speicherobergrenze (xxxx)
- ■ Virus überschreibt Speicherbereiche ab xxxx:yyyy
- ■ Virus wird in der Interrupttabelle resident
- ■ Virus benutzt DOS UMBs
- ■ Virus benutzt XMS UMBs
- ■ Virus benutzt INT xx
- ■ Virus benutzt undokumentierte Interruptfunktion (Selbsterkennung) :
- ■ Virus benutzt INT 2Ah, um Dateizugriffe abzufangen
- ■ Virus ruft gespeicherten INT 21h direkt auf (CALL FAR)
- ■ Virus belegt Interrupts durch Manipulieren des DOS-Kernels
- ■ Virus ermittelt ursprünglichen Interruptvektor ("Tracer")
- ■ Virus ermittelt BIOS Disk-Interruptvektor
- ■ Virus benutzt INT xx als INT 21h-Ersatz
- ■ Virus verschiebt seinen Code im Speicher (xxxx)
-
- ■ Virus benutzt Anti-Debuggertechniken
- ■ Virus umgeht VSAFE/TSAFE
- ■ Virus umgeht FLUSHOT / VIREX
- ■ Virus umgeht DATAMON (PCTools)
- ■ Virus umgeht DISKMON (Norton)
- ■ Virus umgeht DATA GUARD
- ■ Virus umgeht NEMESIS
- ■ Virus umgeht TBSCANX
-
- ■ Virus funktioniert nur auf einer 8086 CPU
- ■ Virus funktioniert nur auf einer 80286+ CPU
-
- ■ Virus verändert das CMOS !
- ■ Virus erzeugt Dateien
- ■ Virus löscht Dateien !
- ■ Virus benennt Dateien um
- ■ Virus spricht den Lautsprecher an (Musik, Geräusche)
- ■ Virus verlangsamt den Rechner
- ■ Virus manipuliert die Tastatur oder fängt bestimmte Tasten ab
- ■ Virus fängt <STRG-ALT-ENTF> ab
- ■ Virus führt einen Neustart des Rechners aus
- ■ Virus manipuliert den Drucker
- ■ Virus gibt Texte aus oder verändert Grafikspeicher
- ■ Virus verändert BIOS Datenbereich (Tastatur, Graphik, Uhrzeit)
- ■ Virus greift Dateien von Antivirenprogrammen gezielt an
- ■ Virus überprüft die Systemuhrzeit
- ■ Virus überprüft das Systemdatum
- ■ Virus enthält den Text : xxxx
- ■ Virus überschreibt Sektoren der Festplatte oder Diskette !
- ■ Virus formatiert Sektoren der Festplatte oder Diskette !
-
- ■ Virus benutzt Extraspuren der Diskette
- ■ Virus benutzt Sektor(en) des Hauptverzeichnisses
- ■ Virus markiert Cluster als defekt
- ■ Virus benutzt Sektor(en) am Ende des Datenträgers
-
- ■ Virus hat Ähnlichkeit mit : xxxx
-
-
-