home *** CD-ROM | disk | FTP | other *** search
/ Chip Hitware 6 / Chip_Hitware_Vol_06.iso / chiphit6 / _virus / suspic / memchk.doc < prev    next >
Text File  |  1996-07-10  |  11KB  |  199 lines

  1.  
  2. ┌───────────────────────────────────────────────────────────────────────────┐
  3. │                                                                           │
  4. │                          -  M  E  M  C  H  K  -                           │
  5. │                                                                           │
  6. │                      HEURISTISCHE SPEICHERKONTROLLE                       │
  7. │                                                                           │
  8. │                                                                           │
  9. │               Teil des Antiviren-Programmpakets SUSPICIOUS                │
  10. │                                                                           │
  11. │                         (c) 1996 Stefan Kurtzhals                         │
  12. │                                                                           │
  13. └───────────────────────────────────────────────────────────────────────────┘
  14.  
  15.  
  16. [ Systemvoraussetzungen ]────────────────────────────────────────────────────
  17.  
  18.     ■ 80286 oder 100% kompatibel
  19.     ■ MS-DOS 5.0-7.0, Novell DOS 7.0 oder 100% kompatibel
  20.  
  21.  
  22. [ Einleitung ]───────────────────────────────────────────────────────────────
  23.  
  24.     Die meisten der aktuellen oder wirklich verbreiteten Viren sind speicher-
  25.     resident und übernehmen oft die Kontrolle über das gesamte System. Zum
  26.     ersten ermöglicht dies dem Virus eine wesentlich schnellere Verbreitung,
  27.     da Programme von Viren in der Regel beim Starten oder beim Öffnen bzw.
  28.     Schließen der Programmdateien infiziert werden. Vor allem letzteres führt
  29.     zu großen Epidemien, da Programme z.B. schon beim Kopieren oder Viren-
  30.     scannen (!) verseucht werden. Der für Viren zweite wichtige Punkt ist,
  31.     daß sie als TSR-Programm Stealthfunktionen ausführen können und somit
  32.     ihre Anwesenheit im System vor dem Benutzer vollständig verbergen können.
  33.     Diese Tarnkappenviren arbeiten zum Teil so effektiv, daß selbst spezielle
  34.     Prüfsummenprogramme keine Veränderung bemerken können, oder daß selbst
  35.     Antiviren-Programme mit eigenem Dateizugriff auf Sektorebene getäuscht
  36.     werden können.
  37.     Deswegen ist es für Antiviren-Programme sehr wichtig, daß kein Virus
  38.     aktiv im Speicher ist und den Prüfvorgang beeinflussen kann. MEMCHK prüft
  39.     den Speicher ähnlich wie SSC, d.h. mittels Heuristik, die in der Lage
  40.     ist, bekannte wie unbekannte Viren zu erkennen.
  41.     MEMCHK ist deswegen so erfolgreich bei der Erkennung, weil Viren zwar
  42.     meistens verschlüsselt sind, wenn sie sich an Programme hängen, zur
  43.     Ausführung im Speicher sich aber entschlüsseln müssen. MEMCHK braucht
  44.     deswegen nicht wie SSC die Viren umständlich zu dekodieren.
  45.     Es gibt zwar Viren, die sich während ihrer Ausführung im Speicher ver-
  46.     schlüsseln, aber diese sind äußerst selten und beeinflussen das Lauf-
  47.     zeitverhalten des Rechners extrem.
  48.  
  49.  
  50. [ Installation und Benutzung ]───────────────────────────────────────────────
  51.  
  52.     MEMCHK braucht keine speziellen Parameter. Ein einfacher Aufruf reicht
  53.     aus. In der Regel zeigt MEMCHK nur eine Reihe von "OK"s an, je nach
  54.     Speichermananger und BIOS-Setup auch ein paar "??"-Warnungen bezüglich
  55.     der Speicherobergrenze und des letzten MCBs.
  56.  
  57.     Sie sollten MEMCHK regelmäßig aufrufen. Eine Aktivierung in einer häufig
  58.     benutzen Batchdatei oder z.B. in der AUTOEXEC.BAT ist empfehlenswert.
  59.     Besonders nach dem Testen neuer Programme sollten Sie unbedingt MEMCHK
  60.     aufrufen!
  61.  
  62.  !! Es gilt: Solange MEMCHK nicht nach dem Prüfvorgang anhält und eine
  63.  !! explizite Warnung ausgibt, sind alle anderen gemeldeten Warnungen nur
  64.  !! Hinweise auf eine seltsame Speicherbelegung; nicht aber auf einen aktiven
  65.  !! Virus (genauer: diese Regionen wurden geprüft, aber kein verdächtiger
  66.  !! Programmcode gefunden).
  67.  
  68.  !! Sie sollten MEMCHK wie einen Virenscanner regelmäßig benutzen, vor allem
  69.  !! dann, wenn Sie neue Programme getestet haben. Wurde vor dem Aufruf eines
  70.  !! Programms von MEMCHK kein verdächtiges Programm im Speicher gefunden,
  71.  !! aber dafür nach Beendigung des neuen Programms, sollte der Rechner sofort
  72.  !! ausgeschaltet werden und die Festplatte mit SCRC von einer sauberen Boot-
  73.  !! diskette aus überprüft werden; möglichst mit dem Parameter "/FULLCRC"!
  74.  
  75.     Findet MEMCHK ein verdächtiges Programm, werden bestimmte Merkmale des
  76.     möglichen Virus angegeben. Diese 'Kurzanalyse' ist natürlich nicht so
  77.     ausführlich wie die von SSC, für eine Klassifizierung des Virus reicht
  78.     sie aber meistens aus. MEMCHK gibt folgende Kürzel an:
  79.  
  80.        ■ Disk    - Der Virus infiziert Partitionen oder Bootsektoren
  81.        ■ File    - Der Virus infiziert Programme
  82.        ■ EXE     - Der Virus infiziert EXE-Programme
  83.        ■ COM     - Der Virus infiziert COM-Programme
  84.        ■ TSR     - Der Virus ist speicherresident
  85.        ■ STEALTH - Der Virus hat Dateistealth-Funktionen
  86.        ■ EXECINF - Der Virus infiziert beim Starten von Programmen
  87.        ■ FASTINF - Der Virus infiziert beim Öffnen/Schließen von Programmen
  88.  
  89.     Wird zusätzlich noch eine Zahl am Ende des Textes angezeigt, handelt es
  90.     sich dabei um die vermutliche Länge des Virus; entweder die Dateilänge
  91.     oder die Menge, die der Virus an Speicher belegt.
  92.  
  93.     Wie bereits gesagt, ist die Analyse von MEMCHK im Vergleich zu SSC nur
  94.     minimal und nicht immer vollständig oder korrekt.
  95.  
  96.     HINWEIS:
  97.     ~~~~~~~~
  98.     Das Modul MEMCHK in den anderen SUSPICIOUS-Komponenten SSC, SVS und SCRC
  99.     kann mit dem Parameter "/NOMEM" ausgeschaltet werden. SCRC und SVS führen
  100.     übrigens innerhalb der CONFIG.SYS aufgrund von häufigen Falschalarmen
  101.     keine komplette Speicherüberprüfung durch.
  102.  
  103.     MEMCHK gibt für den Batchbetrieb Errorlevels zurück:
  104.  
  105.     Errorlevel 0  -  Kein Virus gefunden
  106.     Errorlevel 1  -  Ein Virus wurde im Speicher gefunden
  107.     Sonst         -  Fehler bei der Analyse des Systems
  108.  
  109.  
  110. [ Test auf aktive Dateiviren ]───────────────────────────────────────────────
  111.  
  112.     MEMCHK erzeugt hierfür Köderdateien und führt gewisse Dateioperationen
  113.     aus, um einen möglicherweise aktiven Virus dazu zu verleiten, diese
  114.     Köder zu infizieren. Nach der Generierung und Manipulation der Köder
  115.     werden diese über einen Antistealth-Dateizugriff von MEMCHK auf Ver-
  116.     änderungen überprüft. Diese Methode ist sehr effektiv, und nur Companion-
  117.     Viren, Viren mit INT 13h-Stealth oder Viren, die diese Art von Köder
  118.     nicht infizieren, werden nicht bemerkt. Generell kann aber gesagt werden,
  119.     daß über 75% aller Dateiviren mit dieser Testmethode gefunden werden.
  120.     Ein Falschalarm ist prinzipiell nicht möglich; nur wenn Sie einen Lauf-
  121.     zeitkomprimierer wie DIET im residenten Modus oder ähnliche Festplatten-
  122.     verdoppler auf Dateiebene(!) benutzen, könnte MEMCHK einen aktiven Virus
  123.     melden. Programme wie DBLSPACE oder Stacker erzeugen keine Falschalarme,
  124.     da sie auf Treiberebene mit Sektorzugriffen arbeiten.
  125.     MEMCHK gibt an, welcher der Köder, COM und bzw. oder EXE infiziert wurde.
  126.     Desweiteren erkennt MEMCHK, wenn der Virus versucht, sich durch eine
  127.     Tarnkappenfunktion unsichtbar zu machen.
  128.     Ein aktiver COM/EXE/STEALTH-Virus würde wie folgt von MEMCHK gemeldet
  129.     werden:
  130.  
  131.     "Test auf aktiven Virus ...... !! Stealth COM EXE Virus aktiv!"
  132.  
  133.  
  134.     Hinweis:
  135.     ~~~~~~~~
  136.     Nicht immer infiziert ein aktiver Virus die von MEMCHK angelegten Köder,
  137.     und nicht immer erkennt die Heuristik den aktiven Virus, obwohl dieser
  138.     vom Aktivitätstest gemeldet wurde.
  139.  
  140.  
  141. [ Falschalarm oder Virus? ]──────────────────────────────────────────────────
  142.  
  143.     MEMCHK erzeugt wie alle Programme, die auf heuristischer Virenerkennung
  144.     basieren, Falschalarme! Wie kann man nun erkennen, ob der von MEMCHK ge-
  145.     meldete 'Virus' wirklich ein 'echter' Virus ist? Ist SCRC korrekt in-
  146.     stalliert, kann man von einer sauberen Bootdiskette aus überprüfen, ob
  147.     Programme im System verändert wurden. Eine andere Möglichkeit wäre, SVS
  148.     zu starten (falls noch nicht geschehen) und ein paar Programme zu
  149.     starten, die mit aktivem SVS von einer garantiert sauberen und schreib-
  150.     geschützten Diskette auf die Festplatte kopiert wurden. Meldet sich SVS
  151.     dabei mit Warnungen wie
  152.  
  153.        ■ "Ein Programm hat SVS umgangen"
  154.        ■ "Dateizugriff mit deaktiviertem Critical Error Handler INT 24h"
  155.        ■ "Interrupts wurden von einem freien Speicherbereich aus aufgerufen"
  156.        ■ "Ein Programm soll verändert werden"
  157.        ■ "Schreibzugriff während eines Programmstarts"
  158.  
  159.     ist wirklich ein Dateivirus aktiv. Bootsektorviren kann man natürlich
  160.     auf diese Art nicht erkennen, da diese Programme nicht infizieren.
  161.  
  162.     Die einfachste Methode ist es, sich die Position des gemeldeten 'Virus'
  163.     zu merken (MCB xxxx:0 usw.) und mit "MEM /D |more", "MSD" oder anderen
  164.     Speicheranzeigeprogrammen die Speicherbelegung zu kontrollieren. Be-
  165.     findet sich an der von MEMCHK gemeldeten Adresse ein von ihnen instal-
  166.     liertes TSR-Programm wie MOUSE, DOSKEY, SMARTDRV usw. handelt es sich
  167.     wahrscheinlich um einen Falschalarm.
  168.  
  169.     Eine letzte, sichere Möglichkeit ist es, alle (!) Treiber außer Speicher-
  170.     managern wie HIMEM.SYS, EMM386.EXE, QEMM386, 386MAX usw. aus der
  171.     CONFIG.SYS und AUTOEXEC.BAT zu entfernen (z.B. einfach mit <F8> beim
  172.     Booten), den Rechner neu zu starten und dann erneut MEMCHK zu starten.
  173.     Wird dann immer noch ein Virus gemeldet, ist es wahrscheinlich, daß es
  174.     sich dabei um einen echten Virus handelt.
  175.     Hinweis: Sie sollten nicht einfach mit <F5> alle Programme in der
  176.     CONFIG.SYS und AUTOEXEC.BAT umgehen. Möglicherweise wird damit der Virus
  177.     ebenfalls deaktiviert und MEMCHK kann nichts Verdächtiges finden.
  178.  
  179.     Es hat sich gezeigt, daß MEMCHK Probleme mit einigen PCI/VESA LOCAL BUS-
  180.     Festplattentreibern hat. Vor allem, wenn Sie eine EIDE-Festplatte (mit
  181.     über 524 MB) haben und für den DOS-Betrieb den speziellen Treiber in der
  182.     Partition installiert haben, findet MEMCHK gelegentlich "Disk"-Viren.
  183.     Diese Treiber sind übrigens wirklich zu fast 90% wie ein Virus program-
  184.     miert! Sie belegen Speicher mit der gleichen Methode, belegen INT 13h
  185.     (für den Disk-Zugriff) und haben meistens sogar Stealthfunktionen für
  186.     die Partition (um den Zugriff auf den Treiber zu verhindern).
  187.  
  188.     Standard-TSR-Programme wie SMARTDRV, KEYB, DOSKEY, MOUSE, MSCDEX usw.
  189.     sollten keine Falschalarme verursachen.
  190.  
  191.     Sollten Sie denoch Falschalarme mit normalen TSR-Programmen erhalten,
  192.     bitte ich Sie, mir das mitzuteilen, damit MEMCHK verbessert werden kann.
  193.     MEMCHK speichert eine Datei mit dem Namen "SUSP_MEM.00?" im Stammver-
  194.     zeichnis der Festplatte ab. Diese Datei enthält den verdächtigen
  195.     Speicherbereich, ist aber nicht ausführbar. Falls möglich, senden Sie
  196.     bitte diese Datei dem Autor zu!
  197.  
  198.  
  199.