Computerviren
und ihre Vermeidung
Kapitel 12
Copyright (C) 04/1993 by Howard Fuhs
12 Anhang
12.1 Hardware - Grundlagen
In diesem Abschnitt will ich einige technische Zusammenhänge erläutern, die zum Verstehen der Funktionsweise von Computerviren nötig sind.
12.1.1 Das Booten des Computers
Bereits beim Booten des Computers kann ein Computervirus gestartet werden und die Kontrolle über das Computersystem übernehmen. Zwar kann das rechnerinterne ROM von einem Computervirus nicht verändert werden, aber ein Computervirus kann sich an eine Stelle kopieren, die von der Bootsequenz abgefragt wird.Die Bootsequenz eines PC´s läuft wie folgt ab:
- Der Rechner wird eingeschaltet.
- Das CPU sucht die Adresse F000:FFF0h und beginnt die Befehle an dieser Adresse abzuarbeiten. Diese Adresse liegt im ROM des Rechners. Das ROM wird oftmals auch als Firmware bezeichnet.
- Der Inhalt des ROM wird von der CPU abgearbeitet und übernimmt die weitere Kontrolle über den PC.
- Es folgt der Power On Self Test (POST). Hier prüft der Rechner das Vorhandensein der im BIOS eingegebenen Hardware. Für die dabei notwendigen Arbeiten werden einige BIOS-Interrupts initialisiert.
- Nach dem Hardware Check durch den POST versucht das BIOS unter Zuhilfenahme des INT 13h, den ersten physikalischen Sektor eines Datenträgers (Diskette oder Festplatte) einzulesen (Zylinder 0, Spur 0, Sektor 1). Hierzu sucht es erst in Laufwerk A: und danach in Laufwerk C:
- An dieser Stelle einer Festplatte steht das Master-Boot-Record (MBR) oder bei einer Diskette der Bootsektor.
- Dieser erste Sektor enthält Informationen über den Aufbau des Datenträgers und ein Programm, welches die Partitionstabelle auswertet. Dieses kleine Programm lädt den Bootsektor der aktiven Partition.
- Dieser Bootsektor enthält den Boot Loader. Dieser Boot Loader stellt fest, ob sich auf der Partition ein Betriebssystem befindet und lädt es gegebenenfalls.
- Die erste Betriebssystemdatei, die geladen wird, ist IO.SYS (IBMBIO.COM). IO.SYS initialisiert nun die noch fehlenden BIOS- Interrupts und die Standard-Gerätetreiber CON, AUX, PRN, LPT1 bis 3, COM1 bis 4, und CLOCK$. Die Systemdatei CON wird sofort für Ein- und Ausgaben geöffnet.
- Nun wird MSDOS.SYS (IBMDOS.COM) von der Datei IO.SYS geladen.
- IO.SYS übergibt die Rechnerkontrolle an das Modul SYSINIT, das mit MSDOS.SYS geladen wurde.
- SYSINIT kopiert sich selbst an einen anderen Platz im Arbeitsspeicher. Danach kopiert es die Datei MSDOS.SYS an einen anderen Platz im Arbeitsspeicher.
- SYSINIT startet das Programm MSDOS.SYS und sucht die Datei CONFIG.SYS. Ist die Datei CONFIG.SYS vorhanden, wird die Datei MSDOS.SYS entsprechend den Befehlen in der CONFIG.SYS modifiziert.
- SYSINIT sucht im Hauptverzeichnis nach dem Befehlsinterpreter COMMAND.COM. Wird der Befehlsinterpreter COMMAND.COM gefunden, wird ihm die Kontrolle über das Rechnersystem übergeben.
- Nun sucht COMMAND.COM nach der Datei AUTOEXEC.BAT im Hauptverzeichnis. Wird die Datei AUTOEXEC.BAT gefunden, werden die dort vorgefundenen Befehle der Reihe nach abgearbeitet.
- COMMAND.COM schreibt den Prompt (Eingabeaufforderung) auf den Bildschirm und wartet auf die weiteren Eingaben des Anwenders.
12.1.2 Interner Datenaufbau von Datenträgern und Speichermedien
Bei Datenträgern und Speichermedien handelt es sich in der Regel um Disketten und um Festplatten. Es gibt auch sogenannte Wechselfestplatten. Auf diese Sorte von Datenträgern gehe ich hier nicht näher ein, da sie relativ gering verbreitet sind und ansonsten die gleichen Bedingungen wie bei einer gewöhnlichen Festplatte gelten. Außerdem gibt es noch das CD-ROM. Wenn der Hersteller der Daten-CD bei der Herstellung keinen Computervirus mit draufpackt, so geht von diesem Speichermedium keine Gefahr aus, da der Anwender nur die CD lesen und keine Schreibzugriffe ausführen kann. Auf all diesen Speichermedien werden die Programme und die Daten gespeichert. Die Art der Speicherung ist für die Diskette wie auch für die Festplatte die gleiche.
12.1.3 Spuren
Da es sich bei den Speichermedien um runde, rotierende Scheiben handelt, wird die Scheibe in Kreise, den sogenannten Spuren, aufgeteilt.
Abbildung 11: Aufbau eines Datenträgers in Spuren
12.1.4 Sektoren
Diese runden Spuren werden dann nochmals in Kreisausschnitte unterteilt, die sogenannten Sektoren. Die kleinste Speichereinheit auf einem Speichermedium ist der Sektor. Auch wenn dieser Sektor nur zur Hälfte belegt ist, wird der ganze Sektor als voll gemeldet.
Abbildung 12: Aufbau eines Datenträgers in Spuren und Sektoren
Die Einteilung in Spuren und Sektoren erfolgt durch das Formatieren des Datenträgers. Ohne vorherige Formatierung ist der Datenträger nicht in der Lage, Daten zu speichern.
12.1.5 Aufbau eines Sektors
Aber auch Sektoren werden wiederum unterteilt. Der Aufbau eines Sektors besteht aus einem Header, dem Datenfeld und der Lücke. Im Header sind Informationen wie die Spurnummer und die Nummer des aktuellen Sektors gespeichert. Direkt hinter dem Header kommt dann das Datenfeld. In diesem Datenfeld werden die zu speichernden Daten abgelegt. Dem Datenfeld folgt eine Lücke. Diese Lücke braucht man, damit beim Abspeichern der Daten die im nachfolgenden Sektor gespeicherten Daten nicht überschrieben und somit gelöscht werden.
Abbildung 13: Interner Aufbau eines Sektors
Dieses Wissen um den internen Aufbau eines Datenträgers ist bei der Entdeckung und der Entfernung von Computerviren wichtig. Denn es kann passieren, daß diese Arbeit manuell mit einem entsprechenden Utility Programm gemacht werden muß, wenn es sich um wichtige Daten handelt und das Anti-Viren-Programm diese Arbeit nicht übernehmen kann.
12.2 System Interrupts
20 Terminate Programm21 DOS Call
22 Terminate Address
23 CTRL - C Handler Address
24 Critical Failure Address
25 Absolute Disk Read
26 Absolute Disk Write
27 Terminate / Remain Resident
28 DOS Safe To Use
29 Fast Putchar
2A Microsoft Networks Interface
2B - 2D Unused
2E Primary Shell Program Loader
2F Multiplex Service Interrupt
30 Use for CP/M Compatibility
33 Mouse Interrupt
40 Reserved for Expansion
5C NETBIOS Interface
60 User Interrupts
67 EMS Functions
80 BASIC Interrupts
86 BASIC Interpreter Interrupts
F1 Unused
12.3 Funktionen des Interrupt 21h
00 Terminate Program01 Keyboard Input with Echo
02 Display Output
03 Auxiliary Input
04 Auxiliary Output
05 Printer Output
06 Direct Console I/O
07 Direct STDIN Input
08 STDIN Input
09 Display String
0A Buffered STDIN Input
0B Check Buffer and Input
0C Clear Buffer and Input
0D Reset Disk
0E Select Disk
0F Open File (FCB)
10 Close File (FCB)
11 Search for 1st Entry FCB
12 Search for next Entry
13 Delete File (FCB)
14 Read Seq File (FCB)
15 Write Seq File (FCB)
16 Create File (FCB)
17 Rename File (FCB)
18 Reserved
19 Get Default Drive
1A Set Disk Transfer Address
1B - 20 MS-DOS Internal
21 Random Read
22 Random Write
23 Get File Size
24 Set Relative Record
25 Set Interrupt Vector
26 Create New Program Segment
27 Random Block Read
28 Random Block Write
29 Parse File Name
2A Get Date
2C Get Time
2D Set Time
2E Set / Reset Verify Flag
2F Get Disk Transfer Address
30 Get DOS Version Number
31 Terminate / Remain Resident
32 MS-DOS Internal
33 CTRL - C Check
34 MS-DOS Internal
35 Get Interrupt Vector
36 Get Disk Free Space
37 MS-DOS Internal
38 Get Country Information
39 Create Subdirectory
3A Remove Directory
3B Change Current Directory
3C Create a File / Handle
3D Open File / Handle
3E Close File / Handle
3F Read from File / Device
40 Write to File / Device
41 Delete File
42 Move Read / Write Pointer
43 Change Attributes
44 I/O Control for Devices
45 Duplicate File Handle
46 I/O Redirection
47 Get Current Directory
48 Allocate / Lock Memory
49 Unlock Memory
4A Modify Allocated Memory
4B Load / Execute Program
4C Terminate Process (Error)
4D Get Child´s Return Code
4E Find Match File
4F Find Next File
50 - 53 MS-DOS Internal
54 Return Verify Flag
56 Move File (Rename)
57 Get / Set File Time & Date
58 Get Allocation Strategy
59 Get Ext Error Information
5A Create Uniquely Named File
5B Create New File
5C Clear File Access Locks
5D Copy Data to DOS Save Area
5E Get Machine Name
5F Get Redirection List Entry
60 Expand Path Name String
61 Reserved
62 Get PSP Address
63 - 67 Get lead Byte, Set Country Code, Get Country Info, Global Code Page, Set Handle Count, respectively
68 Flush Buffer
69 Reserved
6A Allocate Memory
6B Reserved
6C Extended Open / Create
12.9 Terminologie
Ich möchte hier zum besseren Verständnis einige allgemeingültige Definitionen im Bereich der Computer und der Computerviren erklären.12.9.1 Anwenderprogramme
sind Programme für Computeranwendungen wie z.B. eine Textverarbeitung. Anwenderprogramme können aus einer einzigen, ausführbaren Datei mit der Endung .COM oder .EXE bestehen, oder aus verschiedenen anderen Dateien, die von einer ausführbaren .COM- oder .EXE-Datei beim Start mit aufgerufen werden (z.B. .OVL-Dateien).12.9.2 Back Door
ist eine, vom Softwareautor in die Software einprogrammierte Funktion, die es dem Softwareautor ermöglicht, gewisse Befehle durchzuführen oder Funktionen abzurufen, die einem normalen Anwender nicht zur Verfügung stehen, wie z.B. das Umgehen von Anwenderpaßwörten usw. Bei Computerspielen werden diese Back Doors auch Cheat genannt.12.9.3 BBS
Bulletin Board System. In den USA weitverbreitete Bezeichnung für Mailboxen.12.9.4 BIOS
Basic Input Output System ist ein spezielles Programm im ROM des PC´s, welches für die absolut grundlegenden Aufgaben wie z.B. das korrekte Booten des Computers zuständig ist.Das Betriebssystem wiederum nutzt das BIOS zum Verwalten des Rechners und seiner eingebauten Hardware. Das BIOS ist auch für die Kompatibilität verschiedener Hardware auf dem Computer zuständig. Deshalb müssen z.B. Festplatten im BIOS eingetragen werden. Außerdem prüft es den Computer nach dem Einschalten auf Funktionstüchtigkeit und lädt dann das Betriebssystem vom Datenträger in den Arbeitsspeicher. Danach ist das BIOS für die grundlegende Datenübertragung zwischen Speichermedien, Schnittstellen und dem Computer zuständig. Viele Computerviren greifen direkt auf das BIOS zu unter Umgehung des Betriebssystems.
12.9.5 BSI
Boot-Sektor-Infektor ist eine weit verbreitete Art von Computerviren. Diese Art von Computerviren versteckt sich im Bootsektor einer Festplatte oder Diskette, um dann beim Booten des Computers die Kontrolle über den Rechner zu übernehmen.12.9.6 BSI
Bundesamt für Sicherheit in der Informationstechnik. Diese Abkürzung ist aber nur innerhalb Deutschlands gebräuchlich.12.9.7 Booten
Hochfahren oder Starten des Computers. Der Bootvorgang des Computers beginnt mit dem Einschalten des Computers und endet mit der Freigabe des Rechners für die Arbeit (wenn das DOS Prompt auf dem Bildschirm erscheint).12.9.8 Bug
(englisch - Wanze) ist die Bezeichnung für einen mehr oder weniger schwerwiegenden Fehler in einer Software. Diese Ausdrucksweise stammt noch aus einer Zeit, als die Computer aus Tausenden von elektromechanischen Relais bestanden. Das Programm war durch die Verkabelung fest vorgegeben. Wenn ein solcher "Relaiscomputer" nicht richtig funktionierte, machten sich damals die Wissenschaftler auf die Suche nach dem Fehler. Ab und zu kam es dann vor, daß eine Wanze zwischen zwei Relaiskontakten hängengeblieben war.Dadurch waren die Relaiskontakte isoliert wenn das Relais anzog. Die Wissenschaftler mußten dann diesen Bug finden und zwischen den Relaiskontakten entfernen.12.9.9 CMOS RAM
ist ein Speicher, in dem alle Systeminformationen des Computers gespeichert sind, und der durch eine Batterie auch nach dem Abschalten des Computers noch die Daten behält, wie z.B. Festplattendaten, Bus-Timing und Waitstate Informationen, oder wieviel RAM-Speicher in ein Computer eingebaut sind. In diesem Speicher kann sich kein Computervirus verstecken oder weiterverbreiten, da dieser Speicher vom Computer nicht als normaler Speicher adressiert werden kann. Ein Computervirus kann allerdings die Werte, die im CMOS RAM gespeichert sind, verändern oder löschen.12.9.10 Code
ist die Bezeichnung für den programmiertechnischen Programminhalt, meist gebraucht in bezug auf ein Maschinenprogramm auf Prozessorebene. Code entsteht z.B. durch Kompilation eines Hochsprachenprogramms oder durch Assemblierung eines Assemblerprogramms. Hochsprachen- und Assemblerprogramme werden auch als Sourcecode ("Source") bezeichnet.12.9.11 CPU
Central Processing Unit ist der Prozessortyp auf der Hauptplatine und somit das Herzstück eines Computers. Die CPU führt alle anfallenden Rechenoperationen der Software durch.12.9.12 Datenträger
sind mechanische Speichermittel, auf denen Daten gespeichert werden, z.B. Disketten und Festplatten. Auf diesen Datenträgern werden die infizierten Programme gespeichert und weitergereicht.12.9.13 DOS
Abkürzung für Disk Operating System. Auch als "Betriebssystem" bezeichnet. Das Betriebssystem ist ein Programm, das eine genormte Schnittstelle zwischen den unterschiedlichen Baugruppen des Computers und den Anwenderprogrammen darstellt. So ist es möglich, die gleichen Programme auf Rechnern mit unterschiedlicher Ausstattung und unterschiedlicher technischer Generationen laufen zu lassen.12.9.14 FAT
File Allocation Table ist eine "Datei", die zu Beginn einer logischen DOS Partition auf einer Festplatte oder Diskette steht. In diesem Bereich werden alle Angaben abgespeichert, welche die physikalische Lage der Programme und die Reihenfolge und Zusammengehörigkeit der Dateisegmente auf einem Datenträger enthält. Die FAT ist sehr sensibel, der Verlust der FAT bedeutet mit größter Wahrscheinlichkeit totalen Datenverlust auf dem Datenträger.12.9.15 Hacker
Tja, wie soll man einen Hacker definieren? Na, ich will es mal probieren. Ein Hacker ist eine Person, die Computer und moderne Informationstechnologie wirklich liebt und der diese Technologie bis an ihre Grenzen beherrschen und anwenden will. Es ist eine Person mit einer gesunden Neugier, die einfach vorhandene Türklinken benutzt, um zu sehen, ob die Tür verschlossen ist. Und wenn nicht, wirft er einen neugierigen Blick hinter diese Tür. Er zerstört keine Daten oder macht sich sonst irgendwie negativ bemerkbar. So haben wirklich gute und ernsthafte Hacker ihre eigene Hackerethik.12.9.16 HMA
High Memory Area, 64 kByte (weniger 1 Byte) spezieller Speicher, der Programmen über die A20-Leitung durch einen Treiber (z.B. HIMEM.SYS) direkt adressierbar zur Verfügung gestellt wird, obwohl er eigentlich zum Extended Memory oberhalb 1 MB gehört. Zum Beispiel wird MS-DOS 5.0 durch die Zeile DOS=HIGH in der CONFIG.SYS zum großen Teil in diesen Bereich geladen. Ansprechbar ist die HMA ab einem 286er Prozessor.12.9.17 Interrupt Tracing
ist eine Technik der (u.a.) tunnelnden Viren, Monitorprogramme zu unterlaufen. Die Originaladresse eines Interrupt-Handlers im BIOS wird gesucht und direkt angesprungen, so daß residente Monitorprogramme übergangen werden.12.9.18 MBR
Master-Boot-Record ist der erste Sektor auf einer Festplatte. Normalerweise enthält der erste Sektor einer Festplatte das Partition Table. So kann z.B. eine 64MB Festplatte in zwei logische Partitionen von je 32MB unterteilt werden. Diese Angabe wird dann im Partition Table des MBR gespeichert. Die Ausführung beginnt mit der Stelle 0 des MBR und kann bis zu 1BEh bzw. 446 Byte ausführbaren Codes enthalten.12.9.19 Partition Table
Dort sind die einzelnen Partitionen des Datenträgers eingetragen. Das Partition Table befindet sich im Zylinder 0, Spur 0, Sektor 1 eines Datenträgers. Es enthält Angaben wie z.B. welches Betriebssystem verwendet wird, sowie Angaben über den Startzylinder, Startspur, Startsektor, Endzylinder, Endspur, Endsektor, Anzahl der relativen Sektoren des Datenträgers und Anzahl der gesamten Sektoren des Datenträgers.12.9.20 Payload
(engl. Nutzlast) ist die Bezeichnung für den Schaden, den der Computervirus anrichten soll. Diese Payload hängt alleine von den Motiven des Virenprogrammierers ab. Denn er bestimmt, welchen Schaden sein Computervirus anrichten soll. Der Schaden kann z.B. das Formatieren der Festplatte sein, das Verändern von Daten oder das Löschen von infizierten Files oder ganzer Verzeichnisse.12.9.21 Phalcon / SKISM
ist eine Gruppe von Virusprogrammierern, die sich zum Zwecke des Informationsaustauschs zusammengeschlossen haben.12.9.22 Public Domain
Programme unterliegen keinem Urheberrechtsschutz. Sie dürfen frei verbreitet und angewandt werden ohne Entrichtung einer Lizenzgebühr.12.9.23 RAM
Random Access Memory ist der Arbeitsspeicher eines Computers. Dieser Speicher enthält die gerade laufenden Programme mit den dazugehörigen Daten. Beim Starten eines Programms wird dieses vom Datenträger in Arbeitsspeicher geladen. Damit ein Virus aktiv werden kann, muß er einen Teil des im Computer vorhanden RAM- Speichers selbst belegen.12.9.24 ROM
Read Only Memory kann von keinem Virus manipuliert werden, da dieser Speicher nur gelesen und nicht beschrieben werden kann.12.9.25 Shareware
Programme unterliegen dem Urheberrecht. Sie dürfen frei verbreitet werden. Wenn diese Programme von einem Anwender genutzt werden sollen, muß eine relativ geringe Lizenzgebühr an den Autor des Programms entrichtet werden. Diese Lizenzgebühr kann oftmals mittels einer Kreditkarte bezahlt werde. Dies ist sehr hilfreich, wenn das Shareware Programm aus dem Ausland kommt.12.9.26 Sourcecode
auch Quellcode genannt, siehe Code in diesem Kapitel.12.9.27 TOM
Top Of Memory: Vektor, der DOS mitteilt, wieviel konventionellen Speicher der Rechner besitzt. Normalerweise steht dieser auf 640kB, wenn jedoch ein Virus (meist ein Boot-Sektor-Virus) diesen heruntersetzt, kann er in diesem Bereich resident werden, ohne befürchten zu müssen, daß DOS seinen Code überschreibt. Zu erkennen ist ein verbogener TOM - Pointer daran, daß CHKDSK weniger als 655360 Byte Gesamtspeicher meldet. Dieser Effekt kann jedoch auch durch das BIOS eines Computers ausgelöst werden, nicht nur durch einen Virus.12.9.28 Trasher
ist eine Person, die sich der gleichen Verfahrensweise eines Hackers bedient, aber dabei über (Daten) Leichen geht. Er zerstört oder verfälscht Daten, fährt Rechnersysteme runter oder bringt sie zum Absturz, verbreitet Trojanische Pferde und Computerviren. Hauptsache, er hat seinen Spaß und andere haben den Schaden.12.9.29 Trigger
(Englisch = Abzug/Auslösemechanismus an einer Waffe) ist die Bezeichnung für die Auslösebedingung des Computervirus. Diese Auslösebedingung wird ebenfalls vom Programmierer des Computervirus festgelegt. Die Auslösebedingung löst den Teil des Viruscodes aus, der einen Schaden anrichten soll (siehe Payload in diesem Kapitel). Die Auslösebedingung kann eine bestimmtes Datum sein oder der x-te Start des Computers oder der x-te Zugriff auf die Festplatte oder auf ein bestimmtes Programm. Die Auslösebedingung wird vom Programmierer bestimmt.12.9.30 TSR
Terminate and Stay Resident sind Computerprogramme, die im RAM-Speicher noch vorhanden sind und eventuell noch einige Funktionen ausführen, während der Anwender bereits mit einem anderen Programm arbeitet (nicht zu verwechseln mit Multitasking! TSR gibt es auch unter Single-Task-DOS). Leider gehören auch viele Computerviren zu den TSR-Programmen. Dadurch bleiben die Computerviren im Hauptspeicher des Computers aktiv, von wo aus sich der Computervirus weitervermehren kann. TSR-Programme werden oft auch als Hintergrundprogramme bezeichnet.12.9.31 UMB
Upper Memory Block, RAM-Bereich zwischen 640 kB und 1 MB, der für Programme mit Hilfe eines speziellen Treibers (z.B. EMM386.EXE von MS-DOS 5.0) zugänglich gemacht wird. Normalerweise sind UMBs erst ab 386er Prozessor ansprechbar, allerdings besteht die Möglichkeit des Ansprechens des UMB auch bei manchen 286ern mit speziellem Chipsatz.12.9.32 Wormers
siehe Trasher in diesem KapitelWeitere Definitionen und Terminologien werden in anderen, mehr themenbezogenen Kapiteln erklärt.
12.10 Naming Convention for Computer Viruses
Bisher wurde der Name des Computervirus vom Entdecker des Virus festgelegt. Für die Festlegung des Namens gab es keinerlei Vorgabe oder Muster, nach dem benannt werden mußte. So wurde oftmals nur die Bytelänge des Virus zum Namen gemacht. Ein weiteres Problem war die gleichzeitige Entdeckung des Computervirus an verschiedenen Orten. Dann konnte es passieren, daß der Virus in den USA einen anderen Namen bekam als in Europa. Um Mißverständnisse zu vermeiden, wurde dann versucht, sich auf einen Namen zu einigen. Da es aber besonders wichtig ist, einen Computervirus einwandfrei identifizieren zu können, wurde ein Schema zur Namensgebung von Computerviren ausgearbeitet. Dieses Schema zur Namensgebung ist international gültig und sieht wie folgt aus:Familienname.Gruppenname.Hauptvariante.Untervariante
Bei dem Einsatz von Anti-Virus-Software sollte man darauf achten, daß die Identifikation von Computerviren nach diesem Schema stattfindet.
12.11 International gebräuchliche Abkürzungen zum Thema Computerviren
ACL | Access control list |
ACM | American Association for Computer Machinery |
BAT | Suffix für Batch Dateien |
BBS | Bulletin Board System |
BCVRC | British Computer Virus Research Center |
BFV | Batch File Virus |
BIOS | Basic input output system |
BPB | Bios Parameter Block |
BSI | Boot-Sektor Infektor |
BSI | Bundesamt für Sicherheit in der Informationstechnik |
BSV | Boot-Sektor-Virus |
CCC | Chaos Computer Club; Hamburg |
CCITT | Comite Consultatif International Telegraphique et Telephonique |
CCU | Computer Crime Unit |
CERT | Computer Emergency Response Team |
CESG | Communications / Electronic Security Group |
CFG | Control Flow Graph |
CIAG | Computer Incident Advisory Capability |
CIC | Coordination and Information Center |
CoTRA | Computer Threat Research Association |
CPI | Corrupted Programming International |
CPSR | Computer Professionals for Social Responsibility |
CRC | Cyclic Redundancy Check |
CREN | Corporation for Research and Education Networking |
CVCM | Computer Virus Counter Measures |
CVIA | Computer Virus Industry Association |
CPL | Current Privilege Level |
DAC | Discretionary Access Control |
DAFV | Direct Action File Virus |
DARPA | Defense Advanced Research Projects Agency |
DDN | Defense Data Network |
DEA | Data Encryption Algorithm |
DES | Data Encryption Standard |
DISNET | Defense Integrated Secure Network |
DoD | Department of Defense |
DOS | Disk Operating System |
DPL | Descriptor Privilege Level |
E3 | End to End Encryption |
EARN | European Academic Research Network |
EEROM | Electronically Erasable ROM |
ECM | Electronic Counter Measures |
EICVR | European Institute for Computer Virus Research |
EOF | End Of File |
EST | Eastern Standard Time |
FAST | Federation Against Software Theft |
FCB | File Control Block |
FSI | File Specific Infector |
GCHQ | Government Communications Headquarters |
GDT | Global Descriptor Table |
GPI | General Purpose Infector |
HEPNET | High Energy Physics Network |
IAB | Internet Activities Board |
IAFV | Indirect Action File Virus |
ICE | IN Circuit Emulator |
ICMP | Internet Control Message Protocol |
ICO | International CERT Organisation |
IEE | Institute of Electrical Engineers |
IEEE | Institute of Electronic and Electrical Engineeres |
IETF | Internet Engineering Task Force |
IFS | Inter Field Separator |
I/O | Input Output |
IOPL | I/O Privilege Level |
IP | Internet Protocol |
IPC | Inter Process Communication |
IRTF | Internet Research Task Force |
IRQ | Interrupt Request |
ISO | International Standards Organisation |
ITSEC | Information Technology Security Evaluation Criteria |
JANET | Joint Academic Network |
JUNET | Japanese Academic Network |
LAN | Local Area Network |
LDT | Local Descriptor Table |
LFSR | Linear Feedback Shift Register |
MAC | Mandatory Access Control |
MCB | Memory Control Block |
MD4 | Message Digest Algorithm 4 |
MIT | Massachusetts Institute of Technologie |
MMU | Memory Management Unit |
MRI | Memory Resident Infector |
NCSC | National Computer Security Center |
NIFTP | Network Independent File Transfer Protocol |
NIST | National Institute of Standards and Technology |
NSA | National Security Agency |
NSFNET | National Science Foundation Network |
OSI | Open Systems Interconnection, ISO Standard |
PFM | Program Flow Monitor |
POST | Power On Self Test |
PRAM | Parameter RAM |
PRV | Partition Record Virus |
PSP | Program Segment Prefix |
PTE | Page Table Entry |
QOS | Quality Of Service |
RCR | Remote Copy Request |
RFC | Request For Comments |
RTVM | Run Time Validation Mechanism |
R/W | Read / Write |
SBIR | Small Business Innovative Research |
SCA | Swiss Cracker´s Association |
SIPB | Student Information Processing Board |
SMIB | Security Management Information Board |
SPANET | Space Physics Analysis Network |
TCB | Trusted Computer Base |
TCSEC | Trusted Computer Security Evaluation Criteria |
TNI | Trusted Network Interpretation |
UEV | Undecidable Evolutionary Virus |
U/S | User / Supervisor |
WAN | Wide Area Network |
WORM | Write Once Read Many |
XOR | Exclusive Or Operation |
12.12 Abbildungen in diesem Buch
Abbildung 1: | Interner Aufbau eines Computervirus |
Abbildung 2: | Anhängender Computervirus |
Abbildung 3: | Vorhängender Computervirus |
Abbildung 4: | Überschreibender Computervirus |
Abbildung 5: | Einfügender Computervirus |
Abbildung 6: | Funktionsweise eines Boot-Sektor-Virus |
Abbildung 7: | Funktionsweise einer doppelten Infektion durch einen Boot-Sektor-Virus |
Abbildung 8: | Typischer Infektionsverlauf |
Abbildung 9: | Aufbau eines Datenträgers in Spuren |
Abbildung 10: | Diskette nicht schreibgeschützt |
Abbildung 11: | Diskette schreibgeschützt |
Abbildung 12: | Aufbau eines Datenträgers in Spuren und Sektoren |
Abbildung 13: | Interner Aufbau eines Sektors |
12.14 Wichtiger Hinweis
Die in diesem Buch wiedergegebenen Verfahren und Programme werden ohne Rücksicht auf die Patentlage mitgeteilt. Sie sind ausschließlich für Lehrzwecke bestimmt und dürfen nicht gewerblich genutzt werden. Alle Angaben und Programme in diesem Buch wurden von dem Autor mit größter Sorgfalt erarbeitet bzw. zusammengestellt und unter Einschaltung von Kontrollmaßnahmen niedergeschrieben. Trotzdem sind Fehler nicht ganz auszuschließen. Der Autor sieht sich deshalb gezwungen, darauf hinzuweisen, daß weder eine Garantie noch die juristische Verantwortung oder irgendeine Haftung für Folgen, die auf fehlerhafte Angaben zurückgehen, übernommen werden kann. Für die Mitteilung eventueller Fehler ist der Autor jederzeit dankbar.
Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Autors unzulässig und strafbar.
Copyright (C) 04/1993 - 08/1998 - 03/2003 by Howard Fuhs