Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

28
Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential

Transcript of Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Page 1: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Computerviren

Seminarvortrag von Anton Afanasjew

Klassifizierung, Aufbau und Schadenspotential

Page 2: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Themenbereich und Quellen• Einleitung

• Definition eines Computervirus• Allgemeines über Computerviren

• Historische Entwicklung• Verursachter Schaden• Virenprogrammierer

• Aufbau eines Virus• Klassifizierung von Viren• Aufbau von Viren

• Beispiel• Ausnutzung des sog. „Buffer-Overrun“ im Windows Quellcode für einen

Virusangriff

Quellen:www.bsi.de - Bundesamt für Sicherheit in der Informationstechnikwww.tu-berlin.de – Technische Universität BerlinMicrosoft Student Technology Conference 2005

Page 3: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Einleitung• Einleitung• Allgemeines über

Computerviren• Aufbau eines Virus• Beispiel

Definition eines Computervirus:

„Ein Computer-Virus ist eine nicht selbstständige Programmroutine, die sich selbst reproduziert und dadurch vom Anwender nicht kontrollierbare Manipulationen in Systembereichen, an anderen Programmen oder deren Umgebung vornimmt.

Eine nicht selbstständige Programmroutine bedeutet,

dass der Virus ein Wirtsprogramm benötigt. Diese Eigenschaft und seine Befähigung zur Reproduktion führte in Analogie zum biologischen Vorbild zu der Bezeichnung "Virus".“

Quelle: Bundesamt für Sicherheit in der Informationstechnik

Page 4: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Geschichte• Einleitung

• Allgemeines über Computerviren

• Aufbau eines Virus• Beispiel

1980: Jurgen Kraus von der Universität Dortmund

schreibt seine Diplomarbeit: "Selbstreproduktion bei Programmen"

Beschreibung der Konstruktion virenähnlicher Programme

Kein Aspekt der IT-Sicherheit Die Arbeit wird nicht veröffentlicht

Page 5: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Geschichte• Einleitung

• Allgemeines über Computerviren

• Aufbau eines Virus• Beispiel

1984: Amerikaner Fred Cohen veröffentlicht seine

Arbeit: "Computer Viruses - Theory and Experiments"

Geht auf die Gefahren der Computerviren ein und erregt internationales Aufsehen

Prägt den Begriff "Computer-Virus"

Page 6: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Geschichte• Einleitung

• Allgemeines über Computerviren

• Aufbau eines Virus• Beispiel

1986: Erste Viren für PCs erscheinen Sind sehr einfach gebaut und können von

Virenscannern leicht aufgrund fester Muster entdeckt werden

Als Folge erscheinen bald verschlüsselte Viren und Stealth-Viren

Page 7: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Geschichte• Einleitung

• Allgemeines über Computerviren

• Aufbau eines Virus• Beispiel

199x: Erste polymorphe Viren erscheinen Können nicht mehr aufgrund Zeichenfolgen

erkannt werden Virenscanner müssen algorithmische

Verfahren benutzen, um nach bestimmten Eigenschaften der Viren zu suchen

Page 8: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Geschichte• Einleitung

• Allgemeines über Computerviren

• Aufbau eines Virus• Beispiel

Bald erscheinen Viren-Entwicklungskits Generieren neue Viren anhand von

einfachen Parametern (z. B. Mutation Engine)

Die Zeitspanne zw. zwei Virenvarianten wird im Vergleich zur Reaktionszeit seitens Verenscanner-Hersteller immer kürzer

Page 9: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Schaden• Einleitung

• Allgemeines über Computerviren

• Aufbau eines Virus• Beispiel

Durch Computerviren entstandener Schaden

Allein in BRD mehrere 100 Mio. Euro Schaden jährlich mit steigender Tendenz

Rund 5 % der bekannten Viren sind absichtlich darauf ausgelegt, Schaden zu verursachen (Daten verfälschen) z.B. "Michelangelo ", der am 6. März jeden

Jahres die Festplatte überschreibt. Viele „Scherzviren", die eigentlich harmlos

sein sollten, bergen durch Programmierfehler Gefahren z.B. „Joshi“-Virus

Page 10: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Schaden• Einleitung

• Allgemeines über Computerviren

• Aufbau eines Virus• Beispiel

Durch Computerviren entstandener Schaden

Allein schon das Vorhandensein des Virus (auch ohne Schadensfunktion) ist durch Ressourcenverbrauch schädlich

Größter Schadensanteil ergibt sich aus der Suche und dem Entfernen eines Virus

Schutzmaßnahmen verursachen Kosten Schaden durch Verunsicherung

Page 11: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Programmierer von Viren• Einleitung

• Allgemeines über Computerviren

• Aufbau eines Virus• Beispiel

„Typische“ Virenprogrammierer

Schüler, die jemandem einen Streich spielen wollen und darauf ein Virus in die Welt setzen

Leute, die ihre Programmierkunst demonstrieren wollen

„Techno-Terroristen“

Page 12: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Klassifizierung von Viren• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Klassifizierungsarten

VERWENDETERALGORITHMUS

SCHADENPOTENTIAL

UMGEBUNG

Page 13: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Klassifizierung von Viren• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Klassifikation nach der Auftrittsumgebung:

Dateiviren Integrieren sich in die Dateien Erstellen modifizierte Kopien der Dateien (Companion-

Viren) Machen sich die Besonderheiten des Dateisystems zu

Nutze. (Linkviren) Bootviren

Laden sich in den Bootsektor der Festplatte oder verändern den Zeiger auf den Bootsektor

Makroviren Verstecken sich in Dateien für Programme, die über eine so

genannte Makrosprache verfügen. Diese Programmiersprache kann Prozesse innerhalb des

Programms automatisieren. Wird ausgenutzt, um ein Makroprogramm in jedes weitere

geöffnete Dokument zu kopieren.

Page 14: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Klassifizierung von Viren• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Klassifikation nach dem verwendeten Algorithmus:

Stealth-Viren Halten sich versteckt Fangen Systemroutinen ab Gaukeln unveränderte Dateigrößen vor

Verschlüsselte Viren Verschlüsseln einen Teil von sich selbst Der Schlüssel variiert von Infektion zu Infektion So werden Antiviren-Scanner daran gehindert,

Viren aufgrund bestimmter Zeichenmuster zu finden

Page 15: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Klassifizierung von Viren• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Klassifikation nach dem verwendeten Algorithmus:

Polymorphe Viren Verändern ihr Aussehen Benutzen meist die Verschlüsselung Ein Teil des Virus bleibt unverschlüsselt Entschlüsselungscode wird immer neu erstellt Der Algorithmus für die Erstellung des neuen

Entschlüsselungscodes liegt im verschlüsselten Teil des Virus

Metamorphe Viren Verändern ihren Code vollständig. Maschinencode wird in einen symbolischen Code

umgewandelt Rückübersetzung erfolgt variabel Ergebnis 19 kann man z.B. erreichen durch 9+10 oder

9+9+1 oder 1+9+0+9

Page 16: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Klassifizierung von Viren• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Klassifikation nach dem Schadenpotential:

Harmlose Viren Es tritt kein Schaden auf

Ungefährliche Viren Verursachen nur visuelle und akustische

Effekte auf dem infizierten Rechner Gefährliche Viren

Verursachen ernste Behinderung des Rechnerbetriebs

Sehr gefährliche Viren Löschen Daten und Programme

Page 17: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Klassifizierung von Viren• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Hoaxes – Viren, die keine sind

Falsche Virenwarnung über E-Mail Fordern den Benutzer auf, bestimmte E-

Mails sofort zu löschen oder andere „Schutzmaßnahmen“ zu treffen

Schlagen vor, die Nachricht weiter an alle Bekannten zu senden.

Eigentlicher Schaden ist die Verunsicherung der Betroffenen und unnötiger Datenverkehr wie bei Kettenbriefen

Page 18: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Aufbau eines Virus• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Teile des Virus:

Replikationseinheit Trigger

Payload

Tarnungsteil Erkennungsteil

Page 19: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Aufbau eines Virus• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Replikationseinheit

Dient der Verbreitung des Virus Hängt sich an ein Programm Der Virus wird kopiert, wenn das Programm

gestartet wird

Page 20: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Aufbau eines Virus• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Trigger (Auslöser)

Aktiviert das Virus aufgrund bestimmter Ereignisse

Manche Trigger schalten einzelne Funktionen von Viren zu bestimmten Zeitpunkten ein und aus.

Es kann z.B. sein, dass das Virus nach dem 42. Booten des Computers oder am Geburtstag des Autors aktiviert wird

Page 21: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Aufbau eines Virus• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Tarnungsteil

Ist nur bei neuen Viren vorhanden Erschwert die Entdeckung des Virus Benutzt verschiedene Methoden, um die

Entdeckung zu vermeiden, wie z. B. Verwirrung des Debuggers durch überflüssige

Assembler-Anweisungen Verfälschung von Systemstatusmeldungen und

Logs, um ein nicht infiziertes System vorzutäuschen

Verschlüsselung seiner Teile

Page 22: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Aufbau eines Virus• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Erkennungsteil

Erkennt ein bereits infiziertes Programm und infiziert es nicht neu

Das Virus kann so effizienter „arbeiten“ Tarnung bleibt länger erhalten

Page 23: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Aufbau eines Virus• Einleitung• Allgemeines über

Computerviren

• Aufbau eines Virus

• Beispiel

Payload (Schadfunktion)

Eine Funktion, die dem betroffenen Computer schadet

Ein Virus muss nicht unbedingt eine Schadroutine haben

Oft folgt der Schaden allein aus der Verbreitung des Virus

Page 24: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Beispiel• Einleitung• Allgemeines über

Computerviren• Aufbau eines Virus

• Beispiel

Buffer-Overrun

void main() { char myLongBuffer[256]; myFunction(myLongBuffer);}

void myFunction(char *myString) { char myShortBuffer[16]; strcpy(myShortBuffer, myString); }

Page 25: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Beispiel

BISHERIGER STACK-INHALT

MyLongBuffer (256)

RÜCKSPRUNGSADRESSE

SONSTIGE DATEN

MyShortBuffer (16)

Sta

ck

• Einleitung• Allgemeines über

Computerviren• Aufbau eines Virus

• Beispiel void main() { char myLongBuffer[256]; myFunction(myLongBuffer);}

void myFunction(char *myString) { char myShortBuffer[16]; strcpy(myShortBuffer, myString); }

Page 26: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Beispiel

• Einleitung• Allgemeines über

Computerviren• Aufbau eines Virus

• Beispiel void main() { char myLongBuffer[256]; myFunction(myLongBuffer);}

void myFunction(char *myString) { char myShortBuffer[16]; strcpy(myShortBuffer, myString); }

BISHERIGER STACK-INHALT

MyLongBuffer (256)

RÜCKSPRUNGSADRESSE

SONSTIGE DATEN

MyShortBuffer (16)

Sta

ck 25

6

Page 27: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Beispiel

• Einleitung• Allgemeines über

Computerviren• Aufbau eines Virus

• Beispiel void main() { char myLongBuffer[256]; myFunction(myLongBuffer);}

void myFunction(char *myString) { char myShortBuffer[16]; strcpy(myShortBuffer, myString); }

BISHERIGER STACK-INHALT

RÜCKSPRUNGSADRESSE=>

VIRUSADRESSE

VIRUSCODE

Sta

ck

Page 28: Computerviren Seminarvortrag von Anton Afanasjew Klassifizierung, Aufbau und Schadenspotential.

Vielen Dank für die Aufmerksamkeit !