Sicherheit in vernetzten Systemen
Thema: Hostsicherheit
Begriff HostsicherheitBegriff Hostsicherheit
Erläuterung: Unter Hostsicherheit versteht man die Sicherheit eines einzelnen Rechners, unabhängig ober 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 HostsicherheitBegriff 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 HostsicherheitBegriff Hostsicherheit
Softwaresicherheit:- Passwörter- Sicherheitslücken im Betriebssystem- Viren- Würmer- Trojaner- ...
Bedrohungen der HostsicherheitBedrohungen der Hostsicherheit
Im Folgenden:
- Pufferüberläufe – Sicherheitslücke im Betriebssystem- Viren- Würmer- Trojaner
Viren - ÜbersichtViren - Übersicht
Virenarten:
- Dateiviren- Makroviren- Bootviren
Viruseigenschaften:
- Speicherresidente Viren- Verschlüsselte Viren- Stealthviren- Polymorphe Viren- Multipartite Viren
Virenarten - DateivirenVirenarten - 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 - DateivirenVirenarten - Dateiviren
Überschreibender Virus:-Virencode ersetzt Dateicode-Wirtsdatei wird beschädigt, ist nicht mehr ausführbar
Virenarten - DateivirenVirenarten - Dateiviren
Parasitärer Virus:- hängt sich an eine ausführbare Datei an- Wirtsdatei behält Funktionalität- Virus dadurch schwieriger zu entdecken
Virenarten - DateivirenVirenarten - Dateiviren
Parasitäre Infektion:Der Viruscode kann sich an beliebiger Stelleim Wirtsprogramm befinden
Virenarten – MakrovirenVirenarten – 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 – MakrovirenVirenarten – Makroviren
Beispiel: durch Makrovirus infiziertesWord-Dokument
- Ausführung von Auto-Makros sorgen für Ausführung des Virencodes
- Global Templates sorgen für Infektion neuer Dokumente
Virenarten - BootvirenVirenarten - 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 - BootvirenVirenarten - Bootviren
Bootviren – Funktionsweise:
Vireneigenschaften – Speicherresidente Vireneigenschaften – Speicherresidente VirenViren
- 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 Vireneigenschaften – Speicherresidente VirenViren
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 VirenVireneigenschaften – 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 VirenVireneigenschaften – 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 VirenVireneigenschaften – 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 VirenVireneigenschaften – Speicherresidente Viren
- Schritt 3: Zwischendurch tritt Uhrinterrupt auf
- Uhrinterrupt aktiviert Virus
- Virus erkennt den Verlust des Druckerinterruptvektors
- Virus überschreibt diesen Vektor erneut
Vireneigenschaften – Speicherresidente VirenVireneigenschaften – 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 VirenVireneigenschaften – Verschlüsselte Viren
- Verteidigungsmaßnahme des Virus
- Ziel: Verkleinern und Verschlüsseln der eigenen Signatur dadurch schwierigere Entdeckung durch Virenscanner
Vireneigenschaften – Verschlüsselte VirenVireneigenschaften – 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 VirenVireneigenschaften – Polymorphe Viren
Schritte zu einem polymorphen Virus:
a) ein nicht infiziertes, ausführbares Wirtsprogramm
b) Programm aus a) ist durch Virus infiziert. Dadurch ist das Programmlänger, Virus kann durch Virenscanner leicht entdeckt werden.
c) Hinzugefügt: De-/Komprimierer. Virus und Wirtsprogramm werdenkomprimiert, müssen vor Ausführung dekomprimiert werden. Dadurch verringerte Programmgröße, Infektion ist nicht mehroffensichtlich.
Aber: Virensignatur durch komprimiertes Virus immer noch vorhanden.
Vireneigenschaften – Polymorphe VirenVireneigenschaften – 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.
e) Zusätzliches Verschlüsseln des De-/Komprimierers und des Verschlüsslers. Entschlüssler allein bietet noch eine Virensignatur an.
Vireneigenschaften – Polymorphe VirenVireneigenschaften – Polymorphe Viren
Vireneigenschaften – Polymorphe VirenVireneigenschaften – 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 VirenVireneigenschaften – 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 VirenVireneigenschaften – 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 VirenVireneigenschaften – Multipartite Viren
- Verteidigungsmaßnahme des Virus
- Ziel: Erhöhung des Schutzes vor Anti-Virensoftware durch Kombination verschiedener Vireneigenschaften
Schutz durch BetriebssystemSchutz 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 - VirenscannerAbwehrmaßnahmen - Virenscanner
1. Erkennen - Feststellung einer Infektion- Lokalisierung des Virus
2. Identifizieren- Art des Virus ermitteln
3. Entfernen- Virus aus infiziertem Programm entfernen- Wiederherstellung des infizierten Programms- Virus aus infizierten Systemen entfernen
Abwehrmaßnahmen - VirenscannerAbwehrmaß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 Abwehrmaßnahmen – Digitales ImmunsystemImmunsystem
1 – Analysieren des Virenverhaltens in sicherer Umgebung2 – Extrahieren der Signatur3 – Herleiten eines Rezepts
TrojanerTrojaner
- 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ürmerWü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äufePufferü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äufePufferüberläufe
PufferüberläufePufferü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
ZusammenfassungZusammenfassung
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
QuellenQuellen
- 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