Loading…
Thumbnail Image

Probabilistic Methods for Network Security. From Analysis to Response

Krueger, Tammo

Computer-Netzwerke sind einer steigenden Bedrohung ausgesetzt, und neue Märkte wie Mobile Computing und Tablet-PCs eröffnen dem Cybercrime immer neue Angriffspunkte. Formale Methoden versprechen zwar beweisbaren Schutz, sind jedoch häufig aufwendig in der Implementierung. Um die Sicherheitslücken zu schließen, werden daher flexiblere und effektivere Methoden benötigt, die mit der Fortentwicklung des Bedrohungspotenzials Schritt halten können. Ausgehend von den Einzelschritten des Sicherheitsprozesses wird in dieser Arbeit gezeigt, wie Verfahren aus der Wahrscheinlichkeitstheorie und Methoden aus dem maschinellen Lernen effektiv verbunden und eingesetzt werden können, um den Sicherheitsprozess zu unterstützen: Im Bereich der Analyse werden durch statistische Tests sinnvolle Repräsentationen für Netzwerkverkehr gefunden, die es ermöglichen, Methoden des maschinellen Lernens zur Extraktion von Mustern anzuwenden. In Kombination mit Markov-Modellen zur Abbildung der abstrakten Statusmaschine des Netzwerkdienstes können somit sowohl die dynamischen als auch die statischen Aspekte von Netzwerkkommunikation probabilistisch erfasst werden. Für die Detektion von Angriffen wird eine schnelle Modellselektion präsentiert, die es ermöglicht, die korrekten Parameter für einen Lernalgorithmus sehr viel schneller als mit der herkömmlichen Kreuzvalidierung zu finden. Durch das sequentielle Lernen auf Untermengen der Trainingsdaten wird ein probabilistisches Modell des Verhaltens der einzelnen Parameter erstellt, das mittels robuster statistischer Tests kontinuierlich verkleinert wird, bis eine Konfiguration als signifikanter Sieger feststeht. Im Bereich der Reaktion auf Angriffe wird eine intelligente Web-Application Firewall vorgestellt, die mittels spezialisierter Einbettungen für einzelne Teile einer HTTP-Anfrage deren bösartige Teile extrahieren und durch gutartige Inhalte ersetzen kann. Methoden der Anomalieerkennung zusammen mit statistischen Tests führen zu einer vollautomatisierten Konfiguration anhand einer gegebenen Trainingsmenge. Bei allen Lösungen konnte ein generelles Prinzip ähnlich den Design Patterns im Software-Engineering gewinnbringend zum Einsatz gebracht werden: Durch sorgfältige Zerlegung des Problems in unabhängige Schichten können lokale Probleme effizient gelöst werden. Beginnend mit der physikalischen Vorverarbeitung werden die Ursprungsdaten so aufbereitet, dass sie mit Hilfe der probabilistischen Vorverarbeitung in geeignete, spezialisierte Räume eingebettet werden können. Darauf basierend können im folgenden probabilistischen Modellierungsschritt die Daten mit Methodiken des maschinellen Lernens und der Statistik abgebildet werden, sodass probabilistische Inferenz betrieben werden kann. Open Source Implementierungen der wichtigsten Teile dieser Arbeit unterstreichen die Notwendigkeit frei zugänglicher Lösungen zur effizienten Weiterentwicklung und Forschung im Bereich der Netzwerksicherheit.
Today's computer networks are constantly under attack: apart from a continuous amount of network security threats like denial of service attacks or cross-site request forgeries, new markets like mobile computing and tablets open up new venues for fraudulent monetary exploitation. Thus, cybercrime is a steady driving force for constant malicious innovations which keep on increasing the security gap. While formal methods promise perfect protection, they are often hard to implement and very time-consuming. Hence, they can not keep up with the pace of the modern threat landscape and different, more flexible solutions have to be found. This thesis shows, how methods from statistics and machine learning can improve the security cycle of analysis, detection and response to threats. By carefully layering probabilistic methods and machine learning techniques we find a design pattern similar to best practice in software engineering: Dividing the overall problem modeling process into physical preprocessing, probabilistic preprocessing and probabilistic modeling we arrive at solid solutions for pressing security problems. For the analysis of network security problems we devise a fully automated procedure for protocol inference and state machine analysis of arbitrary network traces. By first transforming the raw network traffic into session information and embedding the network messages into problem-dependent vector spaces via statistical feature selection tests, we are able to extract complete and correct message templates and abstract state machines of the underlying services leveraging specialized, replicate-aware matrix factorization methods in combination with Markov models. To support the detection of network security threats we construct a fast model selection procedure which is capable of choosing the correct learning parameters while saving up to two orders of magnitude of computation time. Deconstructing the overall process into substeps in combination with robust testing procedures leads to a statistically controlled model selection process. We show the applicability of our concepts in the domain of intrusion response with an intelligent web application firewall which is able to "heal" malicious HTTP requests by cutting out suspicious tokens and replacing them with harmless counterparts, therefore actively protecting the web server. Open source implementation of major parts of this thesis underline the necessity for freely available solutions to foster future development in the implementation-heavy domain of network computer security.