Systeme 1. Kapitel 10 Sicherheit WS 2009/10 1

Ähnliche Dokumente
Datensicherung. Beschreibung der Datensicherung

Lizenzen auschecken. Was ist zu tun?

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

TeamSpeak3 Einrichten

FrogSure Installation und Konfiguration

4D Server v12 64-bit Version BETA VERSION

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

PC Hack erkennen 3 - Rootkits & versteckte Trojaner aufspühren

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Tutorial -

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

MetaQuotes Empfehlungen zum Gebrauch von

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

Installation und Inbetriebnahme von SolidWorks

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Tauschbörsen File Sharing Netze

STRG + A = STRG + C = STRG + X = STRG + V = STRG + Alt + Entf = STRG + S =

Installation von Office 365 auf einem privaten PC

Anleitung Thunderbird Verschlu sselung

Installationsanleitung. Update ATOSS SES 2.40 für Windows ATOSS Server

Netzwerk einrichten unter Windows

Bedienungsanleitung für den SecureCourier

Leichte-Sprache-Bilder

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

Import des persönlichen Zertifikats in Outlook Express

Installationsanleitung UltraVNC v für neue und alte Plattform

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Aufgabe 3 Storm-Worm

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

Anwenderleitfaden Citrix. Stand Februar 2008

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Erstellen einer digitalen Signatur für Adobe-Formulare

Parametrier- & Analysesoftware ensuite Installationsanleitung und Systemanforderungen

I. Travel Master CRM Installieren

Import des persönlichen Zertifikats in Outlook 2003

SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Firewalls für Lexware Info Service konfigurieren

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten eines IMAP Kontos unter Outlook Express

Anleitung zur Nutzung des SharePort Utility

SILBER SURFER. PC-Treffen der Arbeiterwohlfahrt, Ortsverein Sehnde. PC Internet / Cloud. Leitfaden zur Schulung

i:mobile Installation und Produkt-Aktivierung

Powermanager Server- Client- Installation

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

zur WinIBW Version 2.3

Firewalls für Lexware Info Service konfigurieren

Herzlich Willkommen bei der nfon GmbH

Einrichtung einer VPN-Verbindung (PPTP) unter Windows XP

Installieren von Microsoft Office Version 2.1

ANYWHERE Zugriff von externen Arbeitsplätzen

Anleitung zur Einrichtung eines Netzwerkes für den Gebrauch von GVService unter Windows 7

Einrichten einer VPN-Verbindung zum Netzwerk des BBZ Solothurn-Grenchen

Tipps und Tricks zur Installation von Java-basierten Programmen auf Handys

Verwendung des IDS Backup Systems unter Windows 2000

Installation / Aktualisierung von Druckertreibern unter Windows 7

Treiber- und Software-Update für ITRA-Geräte

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Installationshinweise BEFU 2014

Fax einrichten auf Windows XP-PC

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster


Formular»Fragenkatalog BIM-Server«

Bedienungsanleitung. FarmPilot-Uploader

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Überprüfung der digital signierten E-Rechnung

lññáåé=iáåé===pìééçêíáåñçêã~íáçå=

Einfügen von Bildern innerhalb eines Beitrages

Installationshinweise Linux Edubuntu 7.10 bei Verwendung des PC-Wächter

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Handbuch für Easy Mail in Leicht Lesen

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Step by Step Webserver unter Windows Server von Christian Bartl

Installation OMNIKEY 3121 USB

Installation und Bedienung von vappx unter ios

Handbuch B4000+ Preset Manager

INSTALLATION OFFICE 2013

Projekte Packen, Kopieren und Versenden

Diese sind auf unserer Internetseite im Downloadbereich für den Palm zu finden:

-Versand an Galileo Kundenstamm. Galileo / Outlook

EasyProfil unter Windows 7 64-Bit Home Premium (Die Installation der VirtualBox und EasyProfil)

Starten der Software unter Windows 7

Anleitung zum Upgrade auf SFirm Datenübernahme

How to install freesshd

1. fe.logon. 1.1 Konfigurationsprogramm SetLogonParams

Nutzung von GiS BasePac 8 im Netzwerk

Lernwerkstatt 9 privat- Freischaltung

OP-LOG

Virtual Channel installieren

BackMeUp. Benutzerhandbuch. CeQuadrat

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Installationsanleitung dateiagent Pro

Computeria Solothurn

Sicherheit für Windows Vista Teil 2: Windows Tool zum Entfernen bösartiger Software

Transkript:

Systeme 1 Kapitel 10 Sicherheit WS 2009/10 1

IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010 http://www-03.ibm.com/systems/data/flash/de/resources/ ibm_storage_compendium_de.pdf WS 2009/10 2

1952 2009 IBM 726 mit 4 Bändern: 5,6 MB 1,3 PB 12, 720 m: 1,4 MB 3,5 : 1 TB bzw. 146 GB SSD

Inhalt Schutz Kryptografie Schutzmechanismen Authentifizierung Angriffe Insider-Angriffe Ausnutzen von Programmierfehlern Malware Abwehrmechanismen WS 2009/10 4

Malware Malware: Trojanische Pferde Viren Würmer Spyware Rootkits Ziel: So schnell wie möglich über das Internet zu verbreiten und dabei so viele Maschinen wie möglich infizieren. Anschließend wird eine Software installiert, die die Adresse des Rechners meldet. Zusätzlich wird eine Hintertür (backdoor) installiert um die Maschine zu kontrollieren. Maschine ist ein Zombie. Botnet = Sammlung solcher Zombies. Ziel: Überwiegend kommerzielle Hintergründe (z.b. Spam Versand), DoS- bzw. DDoS-Angriffe, WS 2009/10 5

Exkurs: Denial of Service Denial of Service (DoS): Angriff auf ein Host (Server) in einem Datennetz mit dem Ziel einen oder mehrere Dienste durch Überlast arbeitsunfähig zu machen. Erfolgt der Angriff koordiniert von einer großen Anzahl an Rechnern (z.b. Botnet) spricht man von Distributed Denial of Service (DDoS) Funktionsweise: Der Host wird mit einer größeren Anzahl an Anfragen belastet als dieser verarbeiten kann. Daraufhin stellt dieser den Dienst ein (z.b. durch Absturz) oder kann reguläre Anfragen nur langsam bearbeiten, so dass diese abgebrochen werden. WS 2009/10 6

Malware Weitere Ziele: Installation eines Keyloggers Passwortspionage Spionage von Kreditkartendaten Missbrauch beim Onlinebanking Bei Konkurrenzunternehmen Produktionsprozess stören. etc. Weshalb verbreitet sich Malware so leicht? Ca. 90% der Leute nutzen ein System (Microsoft). Attraktiv hierfür Malware zu entwickeln. WS 2009/10 7

Trojanische Pferde Prinzip wie beim griechischen Mythos: Malware wird in ein kostenloses (nützliches) Programm (z.b. Spiele) eingebaut. Beim Programmstart wird die Malware installiert und gestartet. Angreifer muss nicht ins System eindringen! Benutzer öffnet den PC freiwillig. WS 2009/10 8

Viren Definition: Ein Virus ist ein Programm (meistens in Assembler oder C geschrieben), dass sich vervielfältigt, indem es sich an den Code von anderen Programmen anhängt. Funktionsweise: Das Virus wird in ein Programm (Spiele, Raubkopien, ) eingefügt und verteilt. Beim Start werden andere Programme auf der Maschine infiziert. Anschließend wird der Schadcode (payload) ausgeführt. Virusarten: Companion- Programm- Speicher- Bootsektor- Gerätetreiber- Makro- Quellcodeviren WS 2009/10 9

Companion-Viren Infiziert nicht wirklich ein Programm, sondern wird statt eines Programms ausgeführt. Beispiel: Verknüpfung (symbolische Links) zu einem Programm wird abgeändert, so dass das Virus ausgeführt wird. Das Virus startet anschließend das original Programm, so dass der Benutzer nichts merkt. WS 2009/10 10

Programmviren Überschreibende Viren (overwriting virus): Ein ausführbares Programm wird mit einem Virus komplett überschrieben. Um unentdeckt zu bleiben, könnten Maßnahmen getroffen werden, die Änderungszeit und die Dateigröße unverändert zu lassen. Problem: Das überschriebene Programm erledigt nicht mehr seine Aufgabe und wird leicht entdeckt. Parasitäre Viren (parasitic virus): Hängen sich an ein Programm an. Infiziertes Programm arbeitet normal weiter. Hierzu muss das Virus und das Programm in RAM geladen werden. WS 2009/10 11

Parasitäre Viren Anschließend muss die Startadresse im Header auf das Virus zeigen und zurück auf die Platte kopiert werden. Problem: Größe des Programms ändert sich, wenn das Virus an den Anfang oder das Ende kopiert wird. Ausführbares Programm Virus Ausführbares Programm Ausführbares Programm Virus Header Header Header WS 2009/10 12

Parasitäre Viren Moderne Binärformate ermöglichen es, dass ein Programm aus mehreren Segmenten bestehen darf. Meistens sind alle Segmente ein Vielfaches von 512 Byte (Windows). Ist ein Segment nicht voll, wird es mit Nullen aufgefüllt. Virus kann dies für sich ausnutzen, indem es sich in die Lücken kopiert. Falls das Virus in die Lücken passt, bleibt die Dateigröße unverändert! Virus Virus Ausführbares Programm Virus Virus Header WS 2009/10 13

Speicherresidente Viren Bisher: Virus wird mit ausführbaren Programm ausgeführt und gibt nach seiner Beendigung die Kontrolle an das eigentliche Programm ab. Das speicherresidente Virus bleibt hingegen die ganze Zeit im RAM. Vorgehensweise: Intelligente Viren modifizieren die Speicher- Bitmap um dem Betriebssystem vorzutäuschen, dass der Speicherbereich des Virus bereits belegt ist. Virus wird nicht ausversehen überschrieben. Typischerweise erbeutet ein speicherresidenter Virus einen der Interruptvektoren z.b. für Systemaufrufe. Hierbei speichert er den Inhalt des Vektors. Bei jedem Systemaufruf wird das Virus ausgeführt. Nach seiner Ausführung startet das Virus den eigentlichen Vektor. Beispiel: exec-systemaufruf: Das Virus infiziert die als Parameter übergebene Datei, da das Virus weiß, dass es sich hierbei um ein ausführbares Programm handelt. Virus muss nicht nach geeigneten Dateien suchen. WS 2009/10 14

Bootsektorviren Rekapitulation des Bootprozesses: BIOS lädt den Master Boot Record (MBR) vom Anfang der Boot-Platte in das RAM. MBR wird ausgeführt und bestimmt welche Partition aktiv ist. Anschließend wird der Bootsektor eingelesen und ausgeführt. Das im Bootsektor enthaltene Programm lädt dann entweder das Betriebssystem oder einen Loader, der dann seinerseits das BS lädt. Bootsektorviren überschreiben den Master Boot Record oder Bootsektor. Bootsektorviren sichern hierzu den echten Bootsektor auf einen sicheren Platz auf der Platte, so dass das Virus das BS hochfahren kann. Versteck des Virus: Erste Plattenspur: Formatierungsprogramm fdisk von MS lässt diese aus. Freier Plattensektor: Virus trägt den Sektor in die Liste der fehlerhaften Sektoren ein, um sein Versteck als defekt zu kennzeichnen. Nach dem Booten, kopiert sich das Virus wieder in den RAM. WS 2009/10 15

Gerätetreiberviren Ziel: Virus soll offiziell geladen werden. Gerätetreiber infizieren Gerätetreiber sind ausführbare Programme, die auf der Platte leben und während des Bootvorgangs geladen werden. Treiber läuft im Kernmodus nachdem er geladen wurde. Systemaufrufvektor kann leichter erobert werden. WS 2009/10 16

Verbreitung von Viren Kostenloses Programm mit Virus schreiben und z.b. auf Shareware-Webseiten verteilen. Infizierte Maschine über LAN weitere Maschinen infizieren lassen. Dokumente infizieren und per E-Mail verteilen Besser: Das Adressbuch der infizierten Maschine durchsuchen und an alle Kontakte schicken. Im Jahr 2000 verbreitete sich das I LOVE YOU -Virus auf diese Art. Über ein Internetcafé anonym zunächst das LAN infizieren, welches anschließend (mit Verzögerung) das Virus ins Internet freilässt. WS 2009/10 17

Würmer Wurm = selbst replizierendes Programm Der erste Wurm wurde am 2.11.1988 von Robert Tappan Morris freigelassen. Heute Prof. am M.I.T. Er entdeckte zwei Programmierfehler in UNIX, die es ihm erlaubte über das Internet unautorisierten Zugriff auf eine Maschine zu erlangen. Der Wurm bestand aus zwei Teilen: Ladeprogramm für den Wurm. Der Wurm selbst. Das Ladeprogramm wurde auf der Zielmaschine kompiliert und gestartet um den Wurm nachzuladen. Der Wurm tarnte sich und durchsuchte die Routing-Tabelle seines neuen Wirts, um festzustellen, mit welchen Maschinen der Computer verbunden war, um weitere Maschinen zu infizieren. WS 2009/10 18

Würmer Es wurden drei Methoden ausprobiert, um eine Maschine zu infizieren: rsh (remote shell): Einige Maschinen trauten sich untereinander und verlangten keine Authentifizierung. finger: Der finger-daemon wurde mit einer 536 Byte langen Zeichenkette zu einem Pufferüberlauf gebracht (siehe letzte Vorlesung). Hierdurch wurde versucht sh zu starten. sendmail: Ein Fehler erlaubte es das Wurmladeprogramm zu versenden und ausführen zu lassen. Der Wurm versuchte die Passwörter der Benutzer zu knacken und sich anschließend in andere Systeme damit einzuloggen um den Wurm zu verbreiten. Programmierfehler: Wurm prüfte ob er bereits auf dem System ist. Falls ja, beendete er sich, außer in einem von sieben Fällen. Das Verhältnis 1:7 erzeugte zu viele Würmer, weshalb alle infizierte Maschinen zum Stillstand kamen. Wurm wurde entdeckt WS 2009/10 19

Würmer Konsequenz des ersten Wurms: Einrichtung des CERT (Computer Emergency Response Team) CERT: Zentrale Anlaufstelle um Eindringversuche zu melden. Experten analysieren Sicherheitsprobleme und entwickeln Gegenmaßnahmen. Sammeln Informationen über Schwachstellen in Systemen. Informationen werden an Systemadministratoren verteilt. Problem: Angreifer erhalten die Fehlerberichte und können die Schlupflöcher nutzen, bis diese geschlossen sind. WS 2009/10 20

Unterschied Viren - Würmer Viren infizieren ausführbare Dateien und verbreiten sich durch Weitergabe dieser Infizierten Dateien bzw. durch Programme die Viren enthalten. Autarke Verbreitung Würmer warten nicht passiv auf die Weiterverbreitung. Sie versuchen aktiv über das Netz Maschinen zu infizieren. WS 2009/10 21

Spyware Wird ohne das Wissen des Besitzers auf seinen PC geladen und läuft im Hintergrund. Eigenschaften von Spyware: 1. Verstecken sich, damit der Benutzer sie nicht finden kann. 2. Sammeln Daten über den Benutzer (besuchte Webseiten, Passwörter, Kreditkartendaten etc.) 3. Senden die gesammelten Informationen zurück. 4. Sind hartnäckig bemüht alle Löschversuche zu überleben. Kategorien: 1. Marketing: Über gesammelte Informationen soll gezielt Werbung eingesetzt werden. 2. Überwachung: Unternehmen platzieren absichtlich Spyware um ihre Mitarbeiter zu kontrollieren. 3. Zombie: Um Kontrolle über die Maschine (siehe Folie 5) zu erlangen. WS 2009/10 22

Rootkits Definition: Programm, dass versucht seine Existenz zu verbergen, selbst wenn der Besitzer zielstrebige Anstrengungen unternimmt, das Rootkit zu finden und zu entfernen. Ziel: Nach dem Einbruch in ein System das Rootkit installieren, um zukünftige Logins zu erleichtern sowie zu verbergen und Prozesse bzw. Dateien zu verstecken. Rootkit dient dazu Malware vor dem Entdecken zu schützen. WS 2009/10 23

Rootkitarten Firmware-Rootkits: Theoretisch könnte sich ein Rootkit durch ein BIOS-Reflash mit einer Kopie von sich selbst dort verstecken (bisher noch nicht aufgetreten). Hypervisor-Rootkits: Verändert die Boot-Reihenfolge, so dass beim Anschalten der Hypervisor direkt auf der Hardware ausgeführt wird. Der Hypervisor startet dann das BS in einer virtuellen Maschine. Rootkit-Detektoren finden kein Rootkit. Kern-Rootkits: Infiziert das BS und versteckt sich darin als Gerätetreiber oder ladbares Kernmodul. Bibliothek-Rootkits: Rootkit versteckt sich in der Systembibliothek (z.b. libc in Linux). Dies bietet die Möglichkeit die Argumente und Rückgabewerte von Systemaufrufen zu untersuchen und bei Bedarf zu modifizieren, um sich versteckt zu halten. Anwendungs-Rootkits: Versteckt sich vorzugsweise in große Anwendungen die viele Dateien erzeugen (Benutzerprofile, Bildvorschauen, etc. ) und somit nicht auffällt. WS 2009/10 24

Erkennung von Rootkits Beim Hypervisor: Performanz zwischen realer Maschine und virtueller Maschine vergleichen. Allgemeine Suche nach Rootkit: Da ein Rootkit im Betriebssystem die Suche verfälschen könnte, sollte ein LiveBS verwendet werden. Weitere Möglichkeit: Nach einer Neuinstallation Hashwerte aller Dateien bilden. Liste außerhalb speichern und bei einer Suche die Dateien und die Liste miteinander vergleichen. WS 2009/10 25

Prominentes Beispiel: Sony-Rootkit 2005 wurden ca. 20 Mio. CD s mit einem Rootkit ausgeliefert. In Windows wird beim Einlegen einer CD nach der autorun.inf gesucht, die eine Liste von möglichen auszuführenden Aktionen enthält. Hierdurch wurde leise und ohne Einverständnis ein 12 MB Rootkit installiert und eine Lizenzvereinbarung ohne Hinweis auf das Rootkit angezeigt, sobald die CD eingelegt wurde. Ziel: Rootkit sollte nach 200 bekannten Kopierprogrammen suchen. Falls eins gefunden wurde, wurde der Benutzer aufgefordert dieses zu beenden. Nur wenn der Benutzer der Lizenzvereinbarung zustimmte und alle Kopierprogramme beendete konnte die Musik abgespielt werden. Das Rootkit blieb jedoch installiert, selbst wenn der Lizenz nicht zugestimmt wurde! WS 2009/10 26

Sony-Rootkit: Funktionsweise In den Windows-Kern wurde eine Anzahl von Dateien, deren Namen mit $sys$ begannen, eingefügt. Eine Datei war ein Filter, der alle Systemaufrufe vom CD-Laufwerk abhörte und allen Programmen außer dem Musikprogramm von Sony verbot die CD zu lesen. Ein (legales) Kopieren war somit nicht mehr möglich! Ein anderer Filter fing alle Aufrufe zum Lesen von Dateien, Prozessen und Registrierungslisten ab und löschte alle Einträge, die mit $sys$ begannen. Somit wurde das Rootkit versteckt. Doch das Rootkit wurde entdeckt. WS 2009/10 27

Reaktion seitens Sony Thomas Hesse (Präsident von Sony BMG): Die meisten Menschen, denke ich, wissen noch nicht einmal, was ein Rootkit ist, also warum sollten sie sich daran stören. Sony war der Meinung, ihr geistiges Eigentum schützen zu können. Nach öffentlichem Druck wurde ein Patch ausgeliefert, der das verbergen der $sys$-dateien entfernte. Das Rootkit blieb aber installiert! Nach mehr öffentlichem Druck wurde ein Deinstallationsprogramm veröffentlicht. Um dieses zu erhalten musste man seine E-Mail Adresse angeben und zustimmen Werbematerial zu erhalten (=Spam). Das Deinstallationsprogramm hatte allerdings technische Fehler, wodurch der infizierte Rechner höchst anfällig für Angriffe aus dem Internet wurde! Im nachhinein wurde bekannt, dass das Rootkit teilweise Code aus Open- Source-Projekten enthielt! => Urheberrecht verletzt 2007 gab Sony zu, dass die Software auch Hörgewohnheiten überwachte und diese an Sony übermittelte. => Verletzung des Gesetzes. WS 2009/10 28

Inhalt Schutz Kryptografie Schutzmechanismen Authentifizierung Angriffe Insider-Angriffe Ausnutzen von Programmierfehlern Malware Abwehrmechanismen WS 2009/10 29

Abwehrmechanismen Konzept der Defense-in-Depths-Strategie: Es sollten mehrere Sicherheitsschichten vorhanden sein, so dass bei einem Ausfall einer Schicht noch andere Schichten existieren, die überwunden werden müssen. Methoden: Firewalls Virenscanner Modellbasierte Angriffserkennung WS 2009/10 30

Firewalls Gefahren durch das Internet: ankommende und abgehende Verbindungen. Ankommende: Angreifer, die versuchen in den Computer einzudringen. Viren, Spyware bzw. andere Malware Abgehende: Bekanntwerden von vertraulichen Informationen wie Kreditkartendaten, Passwörter, Persönliche- oder Firmendaten. Firewallvarianten: Software- und Hardware-Firewalls Hardware-Firewall: Firewall Webserver E-Mail- Server FTP-Server Netzwerkverbindung WS 2009/10 31 LAN

Firewalls Es können keine Pakete das LAN betreten oder verlassen, ohne die Firewall zu passieren. Hierzu werden Firewalls mit Regeln konfiguriert, die beschreiben, welche Ein- und Ausgänge erlaubt sind. Zustandslose Firewall (stateless firewall): Der Header jedes durchkommende Pakets wird untersucht und auf Grund dessen und auf Basis der Firewallregeln die Entscheidung getroffen. Im Header stehen unter anderem die Quell- und Zieladresse, der Quell- und Zielport, Art des Dienstes und des Protokolls. Zustandsbehaftete Firewall (stateful firewall): Die Verbindung wird nachverfolgt und die Firewall weiß, in welchem Zustand sich die Verbindung befindet. Angriffserkennungssystem (intrusion detection system): Nicht nur Paket-Header, sondern auch der Inhalt wird untersucht. WS 2009/10 32

Virenscanner Firewalls versuchen Angreifer fernzuhalten. Falls dies allerdings misslingt, sollte ein Virenscanner zum Einsatz kommen. Entdeckung neuer Viren: Im Labor wird das Virus isoliert. Anschließend wird ein Listing seines Codes in eine Datenbank eingetragen. Antivirenprogramm durchsucht auf dem System alle ausführbaren Dateien nach Viren aus der Datenbank. WS 2009/10 33

Virenscanner Da Varianten bekannter Viren auftauchen, die nur geringfügige Änderungen aufweisen, ist eine unscharfe Suche erforderlich. Verfahren ist langsamer Können falschen Alarm (false positive) auslösen, falls ein Programm vage Codeähnlichkeit besitzt. Falls aber zu genaue Codeähnlichkeit vorhanden sein muss, können Viren die leicht verändert sind übersehen werden. Balance zu finden ist schwer. Es sollte daher der Kerncode des Virus herausgefunden werden, welcher als Signatur dient und sich höchstwahrscheinlich nicht ändert! Um Sicherheit zu gewährleisten, sollte der Virenscanner häufig laufen. Da die Suche langsam ist, besteht eine Strategie darin nur Dateien zu durchsuchen, die seit dem letzten mal verändert wurden. Allerdings kann das Virus das Änderungsdatum fälschen. WS 2009/10 34

Virenscanner Eine weitere Methode ist, die Länge aller Dateien zu protokollieren und auf der Platte zu speichern. Virus kann seine Entdeckung vermeiden, indem er das Programm komprimiert und auffüllt. Datei ist länger Virus Hierzu muss das Virus sowohl die Kompressionsals auch die Dekompressionsroutinen enthalten. Ausführbares Programm Ausführbares Programm Originalgröße ungenutzt Virus Dekompressor Kompressor Komprimiertes ausführbares Programm Header Header Header WS 2009/10 35

Virenscanner Um der Entdeckung zu entgehen muss das Virus seine Repräsentation auf der Platte anders als den Eintrag in der Datenbank aussehen lassen. Hierzu kann sich das Virus mit einem Schlüssel verschlüsseln, der für jede Datei unterschiedlich ist. Dieser Schlüssel (z.b. 32-Bit Zufallszahl) muss zusammen mit einem Ver- und Entschlüssler abgespeichert werden. De- und Kompressor, sowie Verschlüssler ist allerdings in jeder Datei gleich und kann dem Virenscanner als Signatur dienen. Auch diese Komponenten sollten verschlüsselt werden. Originalgröße Originalgröße ungenutzt Verschlüsselter Virus Dekompressor Kompressor Verschlüssler Schlüssel Entschlüssler Komprimiertes ausführbares Programm Header ungenutzt Verschlüsselter Virus Dekompressor Kompressor Verschlüssler Schlüssel Entschlüssler Komprimiertes ausführbares Programm Header WS 2009/10 36 Verschlüsselt

Virenscanner Die Entschlüsselungsfunktion kann allerdings nicht verschlüsselt werden. Virenscanner muss nach Entschlüsselungsfunktion suchen. Als Gegenmaßnahme versucht das Virus die Funktion zu verschleiern: NOP (no operation) einfügen, Addition +0, Verschiebung um 0-Bit, nutzlosen Code einfügen, etc. Bei jeder Kopie könnte sich das Virus selbst verändern, so dass die Funktion allerdings funktional erhalten bleibt. Polymorpher Virus Problem: Virenscanner kann nicht in einer angemessenen Zeitspanne tausende Dateien analysieren. Weiteres Problem: Speicherresidente Viren und Viren, die Systemaufrufe überwachen, können Antivirenprogramm behindern. WS 2009/10 37

Modellbasierte Angriffserkennung Ein Angriffserkennungssystem untersucht Anomalien der CPU. Hierzu müssen alle möglichen Systemaufrufe des Programms im voraus bekannt sein. Beispiel (Systemaufrufgraph): Programm, dass eine Datei Zeichen für Zeichen einließt (read) und den Inhalt ausgibt (write). Falls ein Angreifer ein Pufferüberlauf auslösen kann, und beispielsweise versucht Dateien zu kopieren oder eine Netzwerkverbindung zu öffnen, weichen die Systemaufrufe vom Graph ab. System merkt bei der ersten Abweichung, dass ein Angriff stattfindet und wird den Prozess beenden. read close write open WS 2009/10 38 exit write exit Datei nicht gefunden