v1 MS-Word

Werbung
Inhaltsverzeichnis:
Seite
Warum das Thema Computervirus?....................................................................1
Definition............................................................................................................ 1
Grobe Arbeitsweise.............................................................................................1
Virentypen
Datei/Linkviren..........................................................................................2
Bootviren................................................................................................... 2
Skriptviren................................................................................................. 2
Makroviren................................................................................................ 3
Kernelviren................................................................................................ 3
Selbstschutz
Stealthviren................................................................................................3
Verschlüsselte Viren.................................................................................. 3
Polymorphe/Metamorphe Viren.................................................................4
Mögliche Schäden
Harmlose Schäden..................................................................................... 4
Existenzbericht.......................................................................................... 4
Datenzerstörung.........................................................................................5
Hardwarezerstörung.................................................................................. 5
Aufbau der Viren
Entschlüsslungsroutine............................................................................. 5
Vermehrungsteil........................................................................................ 6
Erkennungsteil...........................................................................................6
Schadensteil...............................................................................................6
Bedinungsteil.............................................................................................6
Tarnungsteil...............................................................................................6
Analyse eines Virus'
Auflistung benutzter Funktionen.............................................................. 7
Der Quelltext............................................................................................. 7
Anhang
Warum das Thema Computervirus?
Ich habe das Thema Computervirus gewählt, da diese heutzutage eine wichtige Rolle
übernommen haben und jeden etwas angehen. Sie haben in so fern eine wichtige Rolle
übernommen, da sie unter Umständen wichtige Dateien zerstören können oder sogar
ganze Hardwarekomponenten beschädigen und unbrauchbar machen können. Fast
jeder Computer ist mit einer Anti-Virus-Software ausgestattet, so beschäftigt sich
automatisch jeder – ob gewollt oder ungewollt – mit Viren.
Definition
Ein Computervirus zeichnet sich dadurch aus, dass er sich in andere Programme
schreibt und sich so reproduziert. Die Klassifizierung Virus kommt von eben dieser
Verbreitungs- und Infektionsfunktion. Wurde ein Virus gestartet kann er nicht stopbare
Veränderungen am Status des Computers bewirken. Es ist nicht immer mit Absicht ein
Virus programmiert worden, ein normales Programm kann ebenfalls eine virale
Funktion vorweisen, ohne dass der Entwickler davon weiß.
Grobe Arbeitsweise eines Virus'
Viren brauchen immer eine so genannte Wirtsdatei in die sie sich einschreiben können.
Von da aus vermehren sie sich, indem sie sich in andere Dateien schreiben. Dies
geschieht oft unkontrolliert und ohne Kenntnisse des Benutzers des Computers.
Ebenfalls wird der Schadensteil ausgeführt und kann so von harmlosen Störungen bis
hin zu gravierenden Schäden wirken.
Virentypen
Es gibt viele verschiedene Viren. Sie unterscheiden sich in ihren Wirkungsbereich. Hier
beschreibe Ich die unterschiedlichen Virentypen.
1
Datei/Linkviren:
Datei- oder Linkviren waren die früher am häufigsten auftretenden Viren. Sie müssen
sich in eine ausführbare Wirtsdatei einschreiben. Von dort aus wird die infizierte Datei
so verändert, dass das Virus beim Ausführen dieser Datei als erstes gestartet wird.
Eine andere Form der Linkviren schreibt sich auch in eine bereits bestehende
Programmfunktion ein. So wird der Virus in manchen Fällen nicht gestartet, wenn man
die Datei ausführt, sondern wenn man eben diese infizierte Funktion der Datei nutzt.
Bootviren:
Diese Art von Viren infizieren den Bootsektor einer Diskette und einer
Festplattenpartition. Der Bootsektor wird geladen, sobald der Computer in einen
Startzustand gebracht wurde, noch bevor das Betriebssystem geladen wird. So können
Viren in das Betriebssystem, welches nach ihnen geladen wird, eingreifen und dieses
nachhaltig verändern oder gar nicht erst ausführen lassen.
Der Nachteil von Bootviren ist, dass sie von der Größe her sehr klein gehalten werden
müssen. Ein Bootsektor hat 512 Bytes. Ein Teil davon wird für den BIOS benötigt, in
den meisten Fällen bleiben dann noch ca. 450 Bytes übrig. Mittlerweile gibt es nicht
nur Bootviren für Disketten, sondern auch für CD-Roms, jedoch gibt es heutzutage
kaum noch diese Art von Virus, da die meisten BIOS und Betriebssysteme einen guten
Schutz aufweisen können.
Skriptviren:
Auch ein Skriptvirus muss sich eine geeignete Wirtsdatei suchen und sich in diese
schreiben. Skripte sind auf Webservern eingebettete Teile, die mit normalem HTML
nicht realisierbar sind, wie zum Beispiel Foren und Gästebücher. Mögliche
Skriptsprachen sind PHP oder auch JavaScript. Schreibt es sich dennoch in HTMLDateien, dann besitzt diese einen Skriptbereich in welchen sich das Virus schreibt. Von
hier wird es Schritt für Schritt, unabhängig vom Betriebssystem, von einem Interpreter
ausgeführt und nicht von einem Compiler in Maschinensprache übersetzt.
2
Makroviren:
Makros werden von vielen Office-Dokumenten verwendet, um wiederholend
auftretende Aufgaben zu automatisieren. Daher werden Makros automatisch nach dem
Laden des Dokuments ausgeführt, ein bevorzugter Ort der Viren.
Kernelviren:
Der Kernelvirus ist ein Beispiel für einen so genannten Mischvirus. Er fällt nicht in
eine eindeutige Kategorie, sondern fällt unter Dateiviren und Bootviren. Der
Kernelvirus befällt Dateien, die nach Systemstart geladen werden. Unter Windows sind
Dateien, die der Kernelvirus befällt die IO.SYS und die MSDOS.SYS.
Selbstschutz
Damit Viren von der Firewall und Antivirenprogrammen nicht sofort erkannt und
eliminiert werden, verfügen Viren über einen Selbstschutz um diese zu umgehen.
Stealthviren:
Stealthviren fangen Systemabfragen an die Datei ab. Wird nach der Größe gefragt gibt
ein solcher Virus die Größe der ursprünglichen Datei zurück. Wenn die Datei gelesen
werden soll, gibt es die Daten der ursprünglichen Datei wieder. So ist scheinbar mit der
Datei alles in Ordnung und das Virus wird nicht erkannt.
Verschlüsselte Viren:
Diese Viren verschlüsseln sich selbst. Wird die Datei abgelesen erkennt ein
Antivirenprogramm das Virus nicht an seiner Zeichenfolge. Die
Entschlüsselungsroutine muss allerdings vorliegen, sodass an dieser ein gutes
Antivirenprogramm das Virus erkennen kann.
3
Polymorphe/Metamorphe Viren:
Auch diese Viren benutzen im Prinzip die Verschlüsselungsmethode. Sobald
polymorphe Viren sich reproduzieren verändern die komplett ihre Gestalt. Der
komplette Code wird „umgeschrieben“, hat dennoch die gleiche Funktion. Ein Teil des
Virus' muss allerdings auch hier in unverschlüsselter Form vorliegen, um den Rest zu
entschlüsseln. Um auch diesen Teil zu verstecken, wird die Entschlüsselungsroutine
jedes Mal neu und anders geschrieben. Metamorphe Viren ändern ebenfalls ihre
Gestalt, nur werden diese zuerst zurück in ihre Assemblersprache übersetzt. Da hier
mehrere Möglichkeiten für einen Befehl zur Verfügung stehen, kann man das Virus
komplett umschreiben, ohne dass dabei die Funktion verloren geht und somit ist dieses
am schwersten zu entdecken, erfordert im Gegenzug allerdings auch sehr viel Wissen
vom Ersteller. (Beispiel: siehe Anhang Bild1)
Mögliche Schäden
Nun habe Ich die verschiedenen Virentypen und ihre Möglichkeiten sich „unsichtbar“
zu machen erläutert. Jetzt komme ich auf den am Anfang erwähnten möglichen
Schadensteil der Viren zurück und erkläre etwas zu den Schäden die entstehen können.
Harmlose Auswirkungen:
Ein Virus muss, um sich selbst zu verbreiten, die Leistung der Hardware kennen und
diese nutzen. Von daher greift jedes Virus auf den Speicher des Computers zu und
braucht nach dem Reproduzieren auch zusätzlichen Speicherplatz auf der Festplatte.
Bei heutigem Arbeitsspeicher und der Festplattengrößen fallen dem Benutzer diese
Viren gar nicht mehr auf. Sie sind nur dazu da sich zu verbreiten.
Existenzbericht:
Die so genannten „Existenzviren“ sind dazu da, dem Benutzer ihre Existenz zu
offenbaren und diesen zu nerven. Ansonsten ist ihre Auswirkung harmlos. Dies sieht
meist so aus, dass der Computer ein Piepsen von sich gibt, Meldungsboxen auf dem
Bildschirm erscheinen, oder der Bildschirm komplett verzerrt wird. Auch gibt es Viren,
die dem Benutzer einen BlueScreen vorgaukeln.
4
Datenzerstörung:
Viren, die gezielt auf Datenzerstörung programmiert sind, sind so genannte
„Kamikaze-Viren“. Sie manipulieren den Inhalt ihrer Wirtsdatei und können diese
somit komplett löschen oder zerstören. Diese Datenzerstörung kann auf einzelne
Dateien beschränkt sein, sie kann aber auch für eine komplette Formatierung der
Festplatte verantwortlich sein. Der Begriff Kamikaze-Virus kommt daher, dass der
Speicherplatz den Lebensraum des Computervirus darstellt und dieser mit der
Datenzerstörung ebenfalls zerstört wird.
Hardwarezerstörung:
Um eine Zerstörung der Hardware herbeizuführen bedarf es ein wenig mehr Können
vom Programmierer. Außerdem ist das Zerstören nicht bei jeder Hardware möglich.
Man muss von der Software aus auf die Hardware zugreifen können. Früher konnte
man Monitore zerstören, in dem man eine bestimmte Taktfrequenz an diesen gesendet
hat, dies ist heutzutage kaum noch möglich. Wenn es möglich ist, kann man auch über
die Software zum Beispiel die Grafikkarte übertakten, so dass diese „heiß läuft“ und
kaputt geht. Allerdings muss man dafür genau die Hardware kennen und das Virus auf
diese spezialisieren. Dies gestaltet sich als ziemlich schwierig und daher sind Hardware
zerstörende Viren nur selten anzutreffen.
Aufbau der Viren
Nicht jedes Virus muss sich an diesen Aufbau halten. Sie können stark voneinander
abweichen und keiner gleicht dem anderen. Ich werde hier nur die am häufigsten
vorkommenden Strukturen eines Virus' erläutern. (Grafische Veranschaulichung: siehe Anhang
Bild2)
Entschlüsselungsroutine:
Die Entschlüsselungsroutine sorgt dafür, dass verschlüsselte Viren (siehe Selbstschutz)
wieder entschlüsselt werden und zum Laufen gebracht werden. Jedes verschlüsselte
Virus hat seine eigene Entschlüsselungsroutine.
5
Vermehrungsteil:
Laut Definition muss jedes Virus einen Vermehrungsteil besitzen. Dieser ist dafür
verantwortlich Dateien zu suchen, welche noch nicht infiziert wurden und benutzt
diese als Wirtsdatei, indem es sich in diese schreibt.
Erkennungsteil:
Der Erkennungsteil ist ein Teil des Vermehrungsteils. Er überprüft, ob die gefundene
Datei bereits infiziert wurde. Wenn nicht, dann setzt hier der Vermehrungsteil ein.
Schadensteil:
Der Schadensteil ist nur bei sehr wenigen Viren vorzufinden. Dieser Teil ist für den
Schaden, den das Virus anrichten soll verantwortlich. Er zerstört Dateien, führt
schädliche, Software gesteuerte Einstellungen aus usw. (siehe Mögliche Schäden)
Bedinungsteil:
Dieser Teil sorgt dafür, dass der Schadensteil ausgeführt wird. Ist er nicht vorhanden,
wird der Schadensteil immer beim Ausführen der Datei ausgeführt. Dank dem
Bedinungsteil ist es möglich, das Virus zu einem gewünschten Zeitpunkt auszuführen,
oder erst dann, wenn ein bestimmtes Ereignis ausgeführt wird, zum Beispiel zum
Schließen eines Programms, nach dessen Start.
Tarnungsteil:
Der Tarnungsteil verschlüsselt das Virus (siehe Selbstschutz). Er dient dazu das Virus
so gut wie möglich vor Anti-Viren-Programmen zu schützen und dessen Identität zu
verschleiern.
Analyse eines Virus'
Hier werde Ich den Quelltext eines Virus' genauer erläutern und Zeile für Zeile
beschreiben, was geschieht. Es wird nur der eigentliche Quelltext, der für Vermehrung
und Schaden verantwortlich ist gezeigt, die entsprechenden Funktionen werde ich, bis
auf eine Auflistung dieser, aus Platzgründen weglassen.
6
Auflistung der benutzten Funktionen:
int find_first(char *fn);
int find_next(void);
int find_healthy(void);
void infect(void);
void close_handle(void);
void open_handle(char *fn);
void print_s(char *s);
void restore_timestamp(void);
Der Quelltext:
int main( void ) {
int x = 0;
do {
if ( find_healthy() ) {
/ Hier überprüft das Virus, ob eine unfizierte
Datei vorhanden ist.
infect();
/ Wenn ja, dann infiziere diese Datei!
x++;
/ Die Variable x wird um 1 erhöht.
success++;
/ Zählt unsere Erfolgsrate um 1 höher.
}
else {
/ Falls keine uninfizierte Datei vorhanden ist...
_DX = (int) ''..'';
/ ...versuchen wir einen Ordner höher zu
gehen...
_AH = 0x3b;
/ ... und versuchen...
asm
/ ...dort unser Glück.
int 21H
x++;
/ Um Endlosschleifen zu vermeiden, zählen wir
auch hier 1 zu unserer Zähler-Variable hinzu.
}
} while(x < infection_rate);
/ Das Ganze soll solange getan werden, bis das
Virus genügend Dateien infiziert hat.
if ( success )
print_s( fake_msg );
/ Sobald etwas infiziert wurde ...
/ ... geben wir dem Infizierten eine Nachricht
aus.
7
else
/ Ansonsten ...
if ( diseased_count > 6 )
/ ... überprüfen wir, ob im Verzeichnis mehr als
6 Dateien infiziert sind.
for ( x = 0; x < 3; x++ )
print_s( virus_msg[x] ); / Wenn JA, dann gebe 6 Meldungen aus.
else
print_s( fake_msg );
/ Ansonsten ...
/ Gebe trotzdem eine „Fake-Message“ aus.
return;
}
8
Anhang
Bilder:
Bild1
Dies ist ein Ausschnitt aus dem Computervirus Anna Kournikova. Er verbreitet sich
über eMail und ist stark polymoprh. Er verändert die Funktionsnamen von Generation
zu Generation.
Bild2
Dieses Bild dient nur zur grafischen Veranschaulichung des Aufbaus. Von links nach
rechts werden die Teile immer „gefährlicher“. Das Reproduzieren an sich ist harmlos.
Der Bedinungsteil steht hinter dem Schadensteil, da dieser den Schadensteil steuert.
Der Tarnungsteil ist am gefährlichsten, da dieser es unter Umständen unmöglich macht
den Virus zu erkennen.
Benutzte Funktionen bei der Virusanalyse:
Die find-healthy Funktion:
int find_healthy( void ) {
if ( find_first(„*.EXE“) != NO_MATCH )
/ Zuerst wird überprüft, ob es eine
.exe-Datei hier gibt.
if ( healthy() )
/ Wenn JA, gucken wir, ob die
Datei bereits infiziert ist oder
nicht.
return 1;
/ Ist sie noch gesund, gebe eine 1,
bzw. ein TRUE zurück.
else
while ( find_next() != NO_MATCH )
/ Ansonsten soll die nächste Datei
untersucht werden.
if ( healthy() )
return 1;
Else
/ Auch hier: Ist sie gesund ...
/ ... geben wir ein OK.
/ Wenn nicht, wiederholen wir das
Ganze
while ( find_next() != NO_MATCH )
if ( healthy() )
return 1;
return 0;
/ Sind bereits alle Dateien infiziert
oder gibt es hier keine .exe, dann
geben wir eine 0, bzw. ein
FALSE zurück.
}
Quellenangabe:
http://de.wikipedia.org/
http://www.totallygeek.com/
http://www.tomshardware.com/de/
http://www.symantec.com/
http://www.welt.de/
http://www.trojaner-board.de/
Darüber hinaus MSN-Kontakte, welche Informationen auf den verschiedenen Seiten
korrigiert und etwas hinzugefügt haben.
Herunterladen