Thomas Hungenberg :: Studium

  English  Español

Studium

Im Juni 2001 habe ich mein Studium der Angewandten Informatik und Kommunikationstechnik an der Fachhochschule Bonn-Rhein-Sieg als Diplom-Informatiker (FH) abgeschlossen.

Auf dieser Seite finden sich Informationen zu meiner Diplomarbeit und verschiedenen Seminararbeiten.

Diplomarbeit

Meine Diplomarbeit "Entwicklung eines Systems zur Ermittlung von Bedrohungspotentialen in vernetzten Systemen", welche ich als Gruppendiplomarbeit zusammen mit meinem Kommilitonen Stephan Baum geschrieben habe, wurde im April 2001 an der Fachhochschule Bonn-Rhein-Sieg eingereicht.

Die Arbeit wurde auf den Informatiktagen 2001 präsentiert und für den CAST-Förderpreis IT-Sicherheit 2001 nominiert.

Die folgende Übersicht der Diplomarbeit ist auch als PDF verfügbar.

Entwicklung eines Systems zur Ermittlung von
Bedrohungspotentialen in vernetzten Systemen

Thomas Hungenberg und Stephan Baum

Fachbereich Angewandte Informatik
Fachhochschule Bonn-Rhein-Sieg
D-53757 Sankt Augustin

Betreuer: Prof. Dr. Karl W. Neunast, Prof. Dr. Manfred Kaul

Zusammenfassung

Diese Arbeit beschreibt den Entwurf und die prototypische Implementierung eines Systems zur Simulation und Visualisierung von Bedrohungspotentialen in vernetzten Umgebungen. Dabei handelt es sich um ein flexibel konfigurierbares und erweiterbares Werkzeug, welches die symptomatische Simulation und die Darstellung der prinzipiellen Wirkungsweise von Bedrohungen sowie möglicher Sicherungsmaßnahmen in beliebigen Netzwerkkonfigurationen ermöglicht. Der Einsatz dieses Systems erlaubt einer Person mit entsprechendem Fachwissen auf dem Gebiet der IT-Sicherheit, die Bedeutung der möglichen Gefahren für ein vernetztes System und die in ihm gespeicherten Daten einer anderen Person, die nicht über das nötige Know-how verfügt, auf verständliche Art und Weise zu vermitteln.

1. Motivation

Administratoren und technisch versierten Anwendern ist bekannt, daß innerhalb von Datennetzen Bedrohungen existieren, die sich in unerwünschter Art und Weise auf die vernetzten Systeme und die Netzwerkinfrastruktur auswirken können. Insbesondere sind neben prinzipiellen Software-Schwächen auch die kritischen Konfigurationen bekannt, die oft sogar als Voreinstellungen ausgeliefert werden und zum Beispiel die Verbreitung von Schadensroutinen per E-Mail erlauben bzw. begünstigen. Die Praxis zeigt jedoch, daß dieses Wissen um vorhandene Schwachstellen bisher nicht in ausreichender Weise in geeignete Sicherungsmaßnahmen umgesetzt wird.
Die Abschätzung möglicher Risiken für die Infrastruktur einer Firma oder Institution und die Ergreifung geeigneter Sicherungsmaßnahmen sind wichtige Aufgaben des Managements. Wenn also vernetzte Systeme durch Bedrohungen gefährdet sind, deren prinzipielle Funktionsweisen bekannt sind, läßt dies auf Versäumnisse seitens des Managements schließen. Ein wesentlicher Grund dafür kann unzureichendes Verständnis oder mangelndes Interesse für technische Problemstellungen dieser Art sein -- es fehlt am notwendigen Problembewußtsein. Dies ist unter anderem darin begründet, daß oft umfangreiches technisches Fachwissen erforderlich ist, um potentielle Bedrohungen zu verstehen und die Auswirkungen auf die eigenen Systeme einschätzen zu können.
Eine Software, die es erlaubt, ein Bedrohungsszenario -- also das Wirken einer bestimmten Bedrohung in einem Netzwerk -- zu simulieren und zu visualisieren, kann ein geeignetes Werkzeug sein, um auch Personen mit geringerem technischen Vorwissen die Auswirkungen der simulierten Bedrohung zu verdeutlichen und sie bezüglich der Möglichkeiten zur Minimierung von Bedrohungspotentialen zu beraten (vgl. Use-Case-Diagramm in Abb. 1).

[ Use-Case-Diagramm ]

Abbildung 1: Beratung - der typische Anwendungsfall

2. Stand der Technik

Nach der Definition der Anforderungen an eine solche Software wurde der Stand der Technik analysiert, um zu prüfen, welche bereits existierenden Lösungen bei seiner Entwicklung eingesetzt werden könnten. Dabei wurden verschiedene Werkzeuge zur Simulation von Netzwerken sowie zur Visualisierung von Netzwerkkonfigurationen untersucht (u. a. wurden die in [Baj99], [Coh99], [Dup88], [Est96], [Est99], [Fal99] und [Kes88] beschriebenen Systeme betrachtet).
Es zeigte sich, daß die verfügbaren Programmpakete keine ausreichende Funktionalität bzw. Flexibilität boten, um darauf aufbauend ein den definierten Anforderungen entsprechendes Systems zu entwickeln. Um die Systemfunktionalität wie geplant realisieren zu können, wurde daher beschlossen, ein eigenes Simulations- und Visualisierungswerkzeug zu entwickeln.

3. Realisierung

Das entwickelte System zur Simulation von Bedrohungsszenarien ist in drei Schichten unterteilt: Kernsystem, Entkopplungsschicht und Ein-/Ausgabe-Schicht. Diese Strukturierung entspricht dem 'Facade'-Entwurfsmuster mit seinen Elementen 'subsystem', 'facade' und 'clients' [Gam96].
Um eine weitgehende Plattformunabhängigkeit zu gewährleisten, wurde für die prototypische Implementierung des Systems die Programmiersprache Python und über die Schnittstelle Tkinter das GUI-Toolkit von Tcl/Tk verwendet.

3.1 Kernsystem

Im Kernsystem findet die eigentliche Simulation der Bedrohungsszenarien statt. Dazu wird zunächst der statische Zustand des zu betrachtenden Netzwerks -- bestehend aus der Netzwerk-Topologie und der Konfiguration der Netzwerk-Knoten -- erfaßt.
Ein Netzwerk wird in diesem System als bi-partiter Graph aufgefaßt, der sich aus Knoten- und Netz-Objekten zusammensetzt, die miteinander verbunden sein können. Knoten-Objekte repräsentieren dabei die an ein oder mehrere Netze angeschlossenen 'Geräte' und Netz-Objekte stellen die einzelnen Netzwerk-Segmente -- also die physischen Verbindungen zwischen zwei oder mehr Knoten -- dar.
Jeder Netzwerkkomponente können beliebige Eigenschaften (z. B. Informationen über die in einem Knoten aktive Software o. ä.) zugewiesen werden, die bei der Simulation einer bestimmten Bedrohung ggf. berücksichtigt werden können. Weiterhin können verschiedene netzwerkspezifische Merkmale der einzelnen Knoten konfiguriert werden, wie z. B. Routing-Tabellen oder Paketfilter-Regeln.
Die zu simulierenden dynamischen Vorgänge innerhalb des Netzwerks werden durch verschiedene Klassen modelliert, deren Instanzen als sogenannte Dienst- oder Bedrohungsmodule in einzelne Netzwerkknoten eingebracht werden können. Diese Module können Datenpaket-Objekte innerhalb des Netzwerks versenden bzw. von dem betreffenden Knoten empfangene Datenpakete verarbeiten. Beispielsweise kann einem bestimmten Knoten durch Hinzufügen eines entsprechenden Dienstmoduls innerhalb der Simulation die Funktionalität eines E-Mail-Servers oder -Clients gegeben werden. Auf gleiche Art und Weise kann ein Knoten aber auch mit schadhaften Fähigkeiten -- z. B. mit der Routine zur Verbreitung eines Netzwerk-Wurms oder der Funktionalität eines Netzwerk-Sniffers -- ausgestattet werden. So können also einerseits verschiedene Netzwerkdienste und andererseits die möglichen Auswirkungen von Bedrohungen auf diese Dienste simuliert werden.

3.2 Entkopplungsschicht

Die Entkopplungsschicht trennt die Implementierung des Kernsystems von der zur Verfügung gestellten Funktionalität, indem sie das Kernsystem kapselt und die Steuerung des getakteten Simulationsablaufs übernimmt. Des weiteren findet in dieser Schicht eine Sammlung und Aufbereitung von Daten über eine ablaufende Simulation statt. Diese Daten können sowohl vom Kernsystem selbst als auch von außen (z. B. zu Visualisierungszwecken) abgerufen und genutzt werden. Außerdem sind in der Entkopplungsschicht Funktionen zur Anbindung von graphischer Bedienoberfläche und Visualisierungsmodulen implementiert.

3.3 Ein-/Ausgabe-Schicht

Diese Schicht umfaßt all die Komponenten, über die der Benutzer mit dem System interagieren kann. Dazu gehören insbesondere die graphische Bedienoberfläche (GUI) und die Funktionen zum Einlesen von Konfigurationsdaten in das Kernsystem.
Die GUI bietet dem Benutzer Bildschirmdialoge an, um ein zu simulierendes Szenario in das Kernsystem zu laden und die Simulation zu starten und bei Bedarf wieder zu stoppen. Die Geschwindigkeit des Simulationsablaufs läßt sich den Erfordernissen anpassen. Ein geladenes Szenario wird innerhalb der GUI zweidimensional visualisiert (vgl. Screenshot in Abb. 2). Während der Simulation werden Statusinformationen der einzelnen Netzwerkkomponenten und statistische Angaben permanent oder auf Abruf angezeigt. Die Visualisierung kann in verschiedener Hinsicht angepaßt werden, um spezielle Aspekte der Simulation einer Bedrohung besonders hervorzuheben.

3.4 Simulationstaktung

Die Simulation läuft getaktet in der Art und Weise ab, daß zu jedem Zeitpunkt immer nur eine einzelne Netzwerkkomponente aktiv ist. Dadurch ist gewährleistet, daß die Simulation schrittweise ausgeführt werden kann und es nicht zu zeitlich parallelen Ereignissen an verschiedenen Stellen der Topologie kommen kann. Im Vergleich zu einer ungetakteten bzw. parallelen Simulationsmethodik erleichtert dies die Beobachtung und Steuerung des Simulationsablaufs durch den Benutzer.

[ Screenshot ]

Abbildung 2: Screenshot einer Simulation von Auswirkungen eines E-Mail-Wurms

4. Ausblick

Bei der im Rahmen dieser Arbeit durchgeführten prototypischen Implementierung lag der Schwerpunkt auf der Bereitstellung eines Rahmensystems, welches vielfältige Möglichkeiten für zukünftige Erweiterungen des Funktionsumfangs bietet. Einige denkbare Erweiterungen werden im folgenden beschrieben.

4.1 Zusätzliche Bedrohungsarten und Netzwerkdienste

Aufbauend auf das vorhandene System können durch die Entwicklung entsprechender Module weitere Bedrohungsarten simuliert werden. Um die Auswirkungen bestimmter Bedrohungsarten zeigen zu können, ist die Implementierung von Dienstmodulen zur Simulation weiterer Netzwerkdienste wünschenswert.

4.2 Erweiterte Möglichkeiten zur Übernahme von Eingabedaten aus Fremdformaten

Bei der derzeitigen prototypischen Implementierung müssen die Topologiedaten für ein Bedrohungsszenario entweder manuell erstellt werden oder können mit Hilfe eines Dateikonverters aus den von dem Netzwerk-Editor 'Tkined' (Teil der Netzwerkmanagement-Plattform 'Scotty' [Scotty]) gespeicherten Daten gewonnen werden. Die Konfigurationsdaten für die Netzwerkkomponenten eines Bedrohungsszenarios müssen derzeit manuell erstellt werden.
Eine wünschenswerte Erweiterung wäre neben der Entwicklung weiterer Dateikonverter zur indirekten Übernahme von Daten anderer Netzwerk-Editoren auch eine Möglichkeit zur direkten Datenübernahme von Netzwerk-Managementsystemen, was eine flexible Erfassung der Struktur und Konfiguration realer Netzwerke ermöglichen würde.

4.3 Szenario-Editor

Eine Erweiterung, welche die Benutzung des Systems erleichtern würde, wäre die Integration eines vollständigen Szenario-Editors, der die Erstellung und Modifikation von Bedrohungsszenarien direkt über die graphische Bedienoberfläche des Systems ermöglicht. Eine konsequente Plausibilitätsprüfung könnte dabei helfen, mögliche Fehler in der Konfiguration zu vermeiden.

4.4 Erweiterte Visualisierung

Im Bereich der Visualisierung sind zahlreiche Erweiterungen möglich und zum produktiven Einsatz des Systems für Beratungszwecke teilweise auch erforderlich, um dem Beobachter einer Simulation die darin ablaufenden Vorgänge möglichst intuitiv veranschaulichen zu können.
Denkbare Ansätze für erweiterte Visualisierungsmöglichkeiten sind z. B. die detaillierte Anzeige der innerhalb einer Netzwerkkomponente simulierten Vorgänge, die dreidimensionale Anzeige des Bedrohungsszenarios (ggf. in verschiedenen Detaillierungsgraden), die Animation des Netzwerk-Verkehrs in verschiedenen Detaillierungsgraden (evtl. bis auf die Ebene einzelner Datenpakete) oder auch die realitätsnahe Darstellung des Netzwerk-Umfelds (also z. B. der Räume oder Gebäude, in denen die realen Netzwerkkomponenten untergebracht sind).

Literatur

[Baj99]
Bajaj, Sandeep et al.: "Improving Simulation for Network Research", Technical Report 99-702, University of Southern California, März 1999
http://www.isi.edu/~johnh/PAPERS/Bajaj99a.ps.gz
[Coh99]
Cohen, Fred: "Simulating Network Security", Network Security, April 1999
http://www.all.net/journal/netsec/9904.html
[Dup88]
Dupuy, Alexander, David F. Bacon, Jed Schwartz und Yechiam Yemini: "NEST: A Network Simulation and Prototyping Testbed", Communications of the ACM, Vol. 33, No. 10, Seite 64-74, Oktober 1990
http://www.cs.berkeley.edu/~dfb/papers.html
[Est96]
Estrin, Deborah et al: "Virtual InterNetwork Testbed (VINT): methods and system", ISI Proposal 96-ISI-05, 1996
http://www.isi.edu/nsnam/vint/vint.ps
[Est99]
Estrin, Deborah et al.: "Network Visualization with the VINT Network Animator Nam", Technical Report 99-703b, University of Southern California, März 1999
http://www.isi.edu/~johnh/PAPERS/Estrin99d.ps.gz
[Fal99]
Fall, Kevin: "Network Emulation in the Vint/NS Simulator", Technical Report, University of California, Berkeley, Januar 1999.
Auch erschienen in: Proceedings of the Fourth IEEE Symposium on Computers and Communications (ISCC'99), Juli 1999
http://www.cs.berkeley.edu/~kfall/papers/iscc99.ps
[Gam96]
Gamma, Erich et al.: "Design Patterns: elements of reusable object-oriented Software", Addison-Wesley Publishing Company, 1995
[Kes88]
Keshav, Srinivasan: "REAL: A Network Simulator", Computer Science Department Technical Report 88/472, University of California, Berkeley, Dezember 1988
http://www.cs.cornell.edu/skeshav/papers/real.ps
[Scotty]
Scotty - Tcl Extensions for Network Management,
http://www.ibr.cs.tu-bs.de/projects/scotty/

zum Seitenanfang

Seminararbeiten

Informationssicherheit

  • Linux FreeS/WAN
    Einführung, implementierte Teile der IPsec-Spezifikation, Installation, Konfiguration, Performance-Tests, Angriffs-Tests, Fazit.
    22. Januar 2000, Download als PDF (99 kB)
  • Verschlüsselte Übertragung im WWW mittels S-HTTP/SSL
    Was sind S-HTTP, SSL und TLS? Der Aufbau des SSL-Protokolls und seine Sub-Protokolle, Vorstellung und Test des Apache-Moduls mod_ssl, starke Verschlüsselung in Netscape mittels Fortify.
    04. Januar 2000, Download als PDF (215 kB)
  • Überwachen und Manipulieren von TCP/IP-Verbindungen mit "Hunt"
    14. Juni 1999, Download als PDF (74 kB)
  • Erlangen von Administrator-Privilegien unter Microsoft Windows NT 4.0 durch Ausnutzung einer Sicherheitslücke im Systemcache
    08. Juni 1999, Download als PDF (24 kB)
  • Asymmetrische Verschlüsselungsverfahren
    Einführung, Vor- und Nachteile, detaillierte Beschreibung von RSA und Diffie-Hellman, Kurzbeschreibung weiterer Verfahren, Literaturhinweise
    15. Mai 1998, Download als PDF (24 kB)
  • Skalierbarkeit beim Betrieb von Key Recovery Centern
    Maßnahmen zur Realisierung unterschiedlicher Sicherheitsniveaus
    3. Mai 1998, Download als PDF (8 kB)

Multimedia / Computer Vision

Recht

  • Lizenzgestaltung bei Standardprodukten unter Linux
    14. November 1999, Download als PDF (203 kB)
  • Das Begleitgesetz zum Telekommunikationsgesetz ("Abhörgesetz")
    Wer und was wird von wem und wie überwacht?
    27. Mai 1998, Download als PDF (12 kB)

zum Seitenanfang