Funktionen

Print[PRINT]
.  Home  .  Lehre  .  Studentische Arbeiten  .  Bachelorarbeiten  .  Ausschreibung

Parallelisierung von Penetrationstests

Hintergrund der Arbeit:
Das Leibniz-Rechenzentrum (LRZ) ist Betreiber des Münchner Wissenschaftsnetzes (MWN) und betreibt daher auch den zentralen Übergang vom MWN zum Internet. An das MWN sind neben den Universitäten und deren Lehrstühle auch diverse Studentenwohnheime und Wireless-LAN-Netze angeschlossen. Durch diese sehr offene Infrastruktur kann nicht ausgeschlossen werden, dass kompromittierte oder virenverseuchte Systeme ans MWN angeschlossen sind. Nach Außen ist das LRZ jedoch als Betreiber erster Ansprechpartner im Falle eines Missbrauches.

Mit Portscan-Werkzeugen wie nmap wird ermittelt, auf welchen TCP-/UDP-Ports ein Rechner netzbasierte Dienste anbietet. Systemadministratoren verwenden die Portscan-Ergebnisse ihrer eigenen Netze, um zu überprüfen, ob z.B. eingesetzte Firewalls richtig konfiguriert sind und keine unerwünschten Dienste nach außen angeboten werden. Diese Ergebnisse werden auch als Grundlage für tiefergehende Penetrationstests verwendet.

Das am LRZ entwickelte Open-Source-Werkzeug Dr. Portscan aggregiert Portscan-Ergebnisse, die räumlich und zeitlich verteilt ermittelt wurden. Beispielsweise prüft das LRZ seine eigenen Servernetze regelmäßig per Portscan von verschiedenen Rechnern innerhalb und außerhalb des Münchner Wissenschaftsnetzes aus. Dr. Portscan speichert alle erfassten Informationen in einer relationalen Datenbank; diese wird von Reporting-Skripten ausgewertet, um das LRZ-Security-Team über Veränderungen auf dem Laufenden zu halten.

Ziel der Arbeit:
Bedingt durch die große Anzahl an Systemen und Ports, die gescannt werden sollen, dauert das Scannen und insbesondere das intensive Testen des kompletten Netzbereiches verhältnismäßig lange. Weiterhin gibt es unter Umständen auf einigen Zielsystemen bzw. in einigen Subnetzbereichen Sensoriken, die z.B. einen Portscan erkennen und unterbinden können, wie es beispielsweise fail2ban für SSH-Scans tut. Wie eine Parallelisierung von Penetrationstests im Allgemeinen durchzuführen ist, ist theoretisch zu erörtern, wohingegen eine praktische Implementierung für nmap-basierte Portscans durchgeführt werden soll.

Daher soll eine Zwischenschicht entwickelt werden, die zwischen den nmap-Scannern und der Auswerteeinheit Dr. Portscan vermittelt. Den Scannern wird auf einem zu definierenden Weg eine Liste von IP-Adressen und Ports übermittelt, die zu einem vorgegebenen Zeitpunkt gescannt werden sollen. Dieser Zeitpunkt kann entweder ein einzelner vordefinierter Zeitpunkt sein, wie beispielsweise auch der Zeitpunkt "sofort", es ist jedoch auch möglich, eine gewisse Regelmäßigkeit vorzugeben, wie beispielsweise "jeden ersten Montag im Monat" oder "alle 5 Minuten".

Die erhaltene Liste wird nun in der zu implementierenden Zwischenschicht geeignet auf eine oder mehrere nmap-Instanzen aufgeteilt. Dabei ist es erwünscht, dass eine gewisse Randomisierung der Zuordnungen stattfindet, so dass eine nmap-Instanz nicht alle Ports eines Zielsystems scannen soll, sondern es die Ports eines Zielsystems auf mehrere nmap-Instanzen aufgeteilt werden. Ob diese Aufteilung auf mehrere parallel auf einer Maschine laufenden nmap-Instanzen oder auf mehrere verschiedene Maschinen aufgeteilt werden, muss von Fall zu Fall entschieden werden. Es muss jedoch vorab konfigurierbar sein, welche Aufteilung wann benutzt wird.

Schlussendlich muss die Zwischeninstanz alle Ergebnisse der Portscans einsammeln, aggregieren, gegebenenfalls auch interpretieren und an die Dr. Portscan-Instanz weiterleiten. Die erwähnte Interpretation kommt in dem Fall vor, wenn entweder durch Schutzmaßnahmen oder Fehler verschiedene Portscan-Instanzen unterschiedliche Ergebnisse melden. So kann es beispielsweise sein, dass Instanz 1 vom Schutzsystem als Portscanner erkannt wurde und dadurch alle weiteren Anfragen geblockt werden, Instanz 2 jedoch nicht und daher die Anfragen beantwortet werden. In diesem Fall kann man anhand der unterschiedlichen Zeitstempel die Ergebnisse durch die Zwischenschicht korrigieren lassen.


Aufgabensteller:
Priv. Doz. Dr. W. Hommel

Anforderungen:
Linux; Perl

Dauer des FoPras/SEPs bzw. der Bachelorarbeit: 3 Monate

Anzahl Bearbeiter: 1

Betreuer: