Sicherheit in vernetzten Systemen Thema: Hostsicherheit
Begriff Hostsicherheit Erläuterung: Unter Hostsicherheit versteht man die Sicherheit eines einzelnen Rechners, unabhängig ob er an ein Netzwerk angeschlossen ist oder nicht. Sicherheit: - Verhindern ungewollter Aktivitäten an, mit oder durch den betreffenden Host. Gewährleisten gewollter Aktivitäten an, mit oder durch den betreffenden Host.
Begriff Hostsicherheit Physikalische Sicherheit: Diebstahl von Hardware Zerstörung von Hardware Re- /Umkonfiguration der Hardware An- und Abschließen des Hosts an Netzwerk Netzwerksicherheit - (siehe Vortrag 2)
Begriff Hostsicherheit Softwaresicherheit: Passwörter Sicherheitslücken im Betriebssystem Viren Würmer Trojaner ...
Klassifikation von Bedrohungen - technische / nichttechnische Bedrohungen absichtliche / unabsichtliche Bedrohungen aktive / passive Bedrohungen
Bedrohungen der Hostsicherheit Im Folgenden: Pufferüberläufe – Sicherheitslücke im Betriebssystem Viren Würmer Trojaner
Viren - Übersicht Virenarten: Dateiviren Makroviren Bootviren Viruseigenschaften: Speicherresidente Viren Verschlüsselte Viren - Stealthviren - Polymorphe Viren - Multipartite Viren
Virenarten - Dateiviren Definition: Ein Virus ist ein Programm, das sich replizieren kann, indem es sich an den Code von anderen Programmen anhängt. - infizieren i.d.R. ausführbare Dateien (*.exe, *.com, *.dll, ...) Zwei Teile: Verbreitungslogik und Schadfunktion - werden durch Hilfsprogramme („Dropper“) in Umlauf gebracht
Virenarten - Dateiviren
Virenarten - Dateiviren Überschreibender Virus: Virencode ersetzt Dateicode Wirtsdatei wird beschädigt, ist nicht mehr ausführbar
Virenarten - Dateiviren Parasitärer Virus: hängt sich an eine ausführbare Datei an Wirtsdatei behält Funktionalität Virus dadurch schwieriger zu entdecken
Virenarten - Dateiviren Parasitäre Infektion: Der Viruscode kann sich an beliebiger Stelle im Wirtsprogramm befinden
Virenarten – Makroviren einfacher zu implementieren als Dateiviren geschrieben mit Makrosprachen (z.B. Visual Basic) es existieren Makroviren-Generations-Tools eingebettet in Dokumenten-Makros Verbreitung zumeist über Email-Anhang plattformunabhängig, falls es für das betreffende Dokumenten- format Programme für jede Plattform gibt
Virenarten – Makroviren Beispiel: durch Makrovirus infiziertes Word-Dokument Ausführung von Auto-Makros sorgen für Ausführung des Virencodes Global Templates sorgen für Infektion neuer Dokumente
Virenarten - Bootviren Lebenszyklus eines Bootvirus: infizierte Diskette muss nicht bootfähig sein, um einen Rechner beim Start zu infizieren. vor Makroviren: >60% der Infektionen durch Bootviren, trotz <10% Gesamtanteil
Virenarten - Bootviren Bootviren – Funktionsweise:
Vireneigenschaften – Speicherresidente Viren - Nicht-speicherresidente Viren abhängig von Ausführen infizierter Dateien speicherresidente Viren verbreiten sich schneller, da sie öfter „aktiviert“ werden schwieriger zu implementieren
Vireneigenschaften – Speicherresidente Viren Funktionsweise: Virus lädt sich bei erster Ausführung in den Hauptspeicher und hängt sich dort hinter Interruptvektoren. Interruptvektoren legen fest, welcher Code im Falle des ent- sprechenden Interrupts ausgeführt wird. vorzugsweise wird der Systemaufruf-Interruptvektor angezapft, da dieser im Schnitt häufiger erfolgt als andere. erfolgt ein Systemaufruf, so wird zunächst der Virencode ausgeführt.
Vireneigenschaften – Speicherresidente Viren Beispiel Bootvirus & Windows Betriebssystem: Ziel des Bootvirus: Speicherresident sein nach Start des Betriebssystems - Ansatzpunkt: Virus im gefälschten Bootsektor aktiviert lädt sich selbst in den Speicher startet dann das Betriebssystem
Vireneigenschaften – Speicherresidente Viren Betriebssystem-Schwäche: Windows lädt Gerätetreiber nacheinander, von denen sich dann jeder den benötigten Interrupt- vektor nimmt Schritt 1: Bootvirus lädt sich hinter jeden Interruptvektor und startet dann das Betriebssystem (hier:Windows)
Vireneigenschaften – Speicherresidente Viren Schritt 2: Windows-Betriebssystem wird gestartet Gerätetreiber werden der Reihe nach geladen hier: Druckertreiber überschreibt seinen Interruptvektor daraus folgt: Virus verliert Kontrolle über Druckerinterrupt
Vireneigenschaften – Speicherresidente Viren Schritt 3: Zwischendurch tritt Uhrinterrupt auf Uhrinterrupt aktiviert Virus Virus erkennt den Verlust des Druckerinterruptvektors Virus überschreibt diesen Vektor erneut
Vireneigenschaften – Speicherresidente Viren Schritt 4: Betriebssystem ist fertig geladen Virus behält Interruptvektor für Systemaufrufe Virus gibt alle anderen Interrupt- vektoren ab
Vireneigenschaften – Verschlüsselte Viren Verteidigungsmaßnahme des Virus Ziel: Verkleinern und Verschlüsseln der eigenen Signatur dadurch schwierigere Entdeckung durch Virenscanner
Vireneigenschaften – Verschlüsselte Viren Resultat: Verschlüsselungsroutine wird zur Virensignatur Virenscanner suchen nach Verschlüsselungsroutine kleine Verschlüsselungsroutine effektiv gegen Virenscanner, trotzdem geringe Erfolgsaussichten, unerkannt zu bleiben Erweiterung: Polymorphe Viren
Vireneigenschaften – Polymorphe Viren Schritte zu einem polymorphen Virus: ein nicht infiziertes, ausführbares Wirtsprogramm Programm aus a) ist durch Virus infiziert. Dadurch ist das Programm länger, Virus kann durch Virenscanner leicht entdeckt werden. Hinzugefügt: De-/Komprimierer. Virus und Wirtsprogramm werden komprimiert, müssen vor Ausführung dekomprimiert werden. Dadurch verringerte Programmgröße, Infektion ist nicht mehr offensichtlich. Aber: Virensignatur durch komprimiertes Virus immer noch vorhanden.
Vireneigenschaften – Polymorphe Viren d) Hinzugefügt: Ver-/Entschlüssler. Komprimiertes Virusprogramm wird verschlüsselt. Dadurch wird Virensignatur verschleiert. Aber: De-/Komprimierer und Ver-/Entschlüssler bieten neue Signatur für Virenscanner. Zusätzliches Verschlüsseln des De-/Komprimierers und des Verschlüsslers. Entschlüssler allein bietet noch eine Virensignatur an.
Vireneigenschaften – Polymorphe Viren
Vireneigenschaften – Polymorphe Viren Situation bei (e): nur der Entschlüssler bietet der Antiviren- Software noch eine Virensignatur, da er selbst nicht verschlüsselt werden darf. Lösungsansatz: Bei jeder weiteren Verbreitung ändert der Virus den ausführbaren Code des Entschlüsslers. beliebig viele Mutationen sind möglich. Mutationsmaschine verändert Maschinenanweisungen, ohne die Funktionalität zu verändern. - Polymorphe Viren mutieren bei jeder Kopie.
Vireneigenschaften – Polymorphe Viren Beispiel: Entschlüsselungsroutine führt Berechnung X = (A + B + C – 4) durch. hier: Mutation des Assemblercodes eines generischen 2-Adress-Computers
Vireneigenschaften – Stealth Viren Verteidigungsmaßnahme des Virus Ziel: Verbergen der eigenen Existenz verschiedene Methoden möglich Beispiel 1: Eigenes Löschen, falls ein Scan durch Virenscanner erkannt wird. Datei wird nach Scan wieder infiziert. Beispiel 2: Manipulation von Befehlrückgaben. (hier:DOS) Benutzer gibt „dir <enter>“ ein, Befehl wird vom Virus zum DOS weitergeleitet, DOS berechnet Ergebnis. Ergebnis wird auf Rückweg vom Virus manipuliert. Benutzer erkennt dadurch nichts Außergewöhnliches.
Vireneigenschaften – Multipartite Viren Verteidigungsmaßnahme des Virus Ziel: Erhöhung des Schutzes vor Anti-Virensoftware durch Kombination verschiedener Vireneigenschaften
Schutz durch Betriebssystem Aufgabe des Betriebssystem - Schutz folgender Objekte: - Speicher - E/A Geräte - Programme - Daten Mögliches Spektrum: - Kein Schutz Isolation Alles oder nichts freigeben Freigabe über Zugriffsbeschränkungen Freigabe über dynamische Zugriffsberechtigungen
Abwehrmaßnahmen - Virenscanner Erkennen - Feststellung einer Infektion - Lokalisierung des Virus Identifizieren - Art des Virus ermitteln Entfernen - Virus aus infiziertem Programm entfernen - Wiederherstellung des infizierten Programms - Virus aus infizierten Systemen entfernen
Abwehrmaßnahmen - Virenscanner Generische Entschlüsselung (Generic Decryption, GD) CPU Emulator startet Übersetzung des Zielcodes - kontrollierte Simulationsumgebung => kein Schaden möglich zwischendurch Unterbrechung durch Emulationskontrollmodul für Scan auf Virensignaturen lange Emulation = hohe Erfolgswahrscheinlichkeit aber: begrenzte Zeit und Ressourcen für Virenscanner
Abwehrmaßnahmen – Digitales Immunsystem 1 – Analysieren des Virenverhaltens in sicherer Umgebung 2 – Extrahieren der Signatur 3 – Herleiten eines Rezepts
Trojaner - geben vor, nützlich zu sein enthalten eine andere, verborgene Funktion Backdoor-Trojaner: Hacker kann in System einfallen und es fernsteuern bestehen aus: - Server - Client - Konfigurationstool
Würmer sich selbständig verbreitendes Programm brauch kein Wirtsprogramm gleicher Lebenszyklus wie ein Virus - Schlafphase - Verbreitungsphase - Auslösephase - Ausführungsphase benutzt Netzwerkmedium für Verbreitung (z.B. Email, entferntes Einloggen...)
Pufferüberläufe Ansatz von Angriffen: Programmiersprache C prüft nicht auf Pufferüberläufe Folgendes Beispiel erzeugt keinen Compilerfehler: int i = 12000; char c[12]; char[i] = 0;
Pufferüberläufe
Pufferüberläufe Angreifer gibt in Eingabefeld eigenes Programm ein Eingabe erzeugt unbemerkten Pufferüberlauf originale Rücksprungadresse wird überschrieben und durch Startadresse des Hackerprogramms ersetzt
Zusammenfassung Behandelt wurden: Begriff Hostsicherheit Virenarten Dateiviren Makroviren Bootviren Vireneigenschaften Speicherresidente Viren Verschlüsselte Viren Polymorphe Viren Stealth Viren Multipartite Viren Pufferüberläufe Schutz durch Betriebssystem Virenscanner Generische Entschlüsselung Digitales Immunsystem
Quellen Andrew S. Tanenbaum: Moderne Betriebssysteme 2., überarb. Auflage München 2003 William Stallings: Betriebssysteme 4., überarb. Auflage München 2003 Roger A. Grimes: Malicous Mobile Code Sebastopol 2001 Jürgen Schneiderer: mitp-Trainingsbuch SuSe Linux Sicherheit Bernhard Esslinger: IT-Sicherheit organisatorische, rechtliche, technische und mathematische Aspekte WS 2003/2004