Loading…
Thumbnail Image

Machine Learning for Application-Layer Intrusion Detection

Rieck, Konrad

Aktuelle Sicherheitssysteme zur Erkennung von netzbasierten Angriffen sind auf die rechtzeitige Erstellung von Erkennungsmustern (Signaturen) angewiesen. Für die Mehrzahl der bekannten Angriffe stehen solche Signaturen zur Verfügung; ein Schutz vor neuen Bedrohungen, wie Ausbrüchen von Computerwürmern und "Zero-Day Exploits", ist mit dieser Technik jedoch nicht möglich. Die zunehmende Diversität und Polymorphie von netzbasierten Angriffen erschwert die Modellierung von Signaturen, so dass ein Bedarf an alternativen Techniken zur Angriffserkennung besteht. In dieser Doktorarbeit werden neuartige Ansätze zur Erkennung von unbekannten und neuen Angriffen in der Anwendungsschicht entwickelt. Grundlage der vorgestellten Methoden bilden moderne Konzepte des maschinellen Lernens. Zunächst werden Techniken zur Einbettung von Netzinhalten in Vektorräume konzipiert, die numerische, sequentielle und syntaktische Merkmale für Methoden des maschinellen Lernens zugänglich machen. Um eine effiziente Berechnung in diesen hochdimensionalen Vektorräumen zu gewährleisten, werden Kernfunktionen für strukturierte Merkmale, wie Tokens, Q-gramme und Parsebäume, entwickelt. Schließlich werden kernbasierte Lernverfahren zur Anomalieerkennung vorgestellt, die unbekannte und neue Angriffe durch geometrische Strukturen wie Kugeln und Nachbarschaften von normalen Daten differenzieren. Die entwickelten Konzepte zur Angriffserkennung werden in einem Prototyp realisiert, der autark Angriffe im Netzverkehr identifiziert. In einer empirischen Evaluation werden die Erkennungs- und Laufzeitleistung der vorgestellten Verfahren mit realen HTTP- und FTP-Netzdaten und Angriffen untersucht. Der entwickelte Prototyp übertrifft deutlich die Leistung des signaturbasierten Systems Snort und aktueller Anomalieerkennungsmethoden. Er identifiziert 80-97% der unbekannten Angriffe bei unter 0,002% falsch-positiven Alarmen - eine Qualität, die nicht in bisherigen Ansätzen zur netzbasierten Angriffserkennung erreicht werden konnte. Experimente mit getarnten Angriffen und verunreinigten Daten demonstrieren die Robustheit der Lerntechniken. Weiterhin ermöglicht der Einsatz von Kernfunktionen Durchsatzraten zwischen 26-60 Mbit/s, so dass ein Schutz von kleinen und mittelgroßen Netzanwendungen möglich wird. Die aus dieser Arbeit resultierenden Verfahren können die Bedrohung durch Angriffe aus dem Netz nicht grundsätzlich eliminieren, dennoch erschwert der Einsatz lernbasierter Erkennung erheblich das unbemerkte Durchführen von Angriffen. In Kombination mit klassischen Sicherheitstechniken wie signaturbasierten Systemen kann so der Schutz von Netzwerken vor zukünftigen Bedrohungen gestärkt werden.
Misuse detection as employed in current network security products relies on the timely generation and distribution of so called attack signatures. While appropriate signatures are available for the majority of known attacks, misuse detection fails to protect from novel and unknown threats, such as zero-day exploits and worm outbreaks. The increasing diversity and polymorphism of network attacks further obstruct modeling signatures, such that there is a high demand for alternative detection techniques. We address this problem by presenting a machine learning framework for automatic detection of unknown attacks in the application layer of network communication. The framework rests on three contributions to learning-based intrusion detection: First, we propose a generic technique for embedding of network payloads in vector spaces such that numerical, sequential and syntactical features extracted from the payloads are accessible to statistical and geometric analysis. Second, we apply the concept of kernel functions to network payload data, which enables efficient learning in high-dimensional vector spaces of structured features, such as tokens, q-grams and parse trees. Third, we devise learning methods for geometric anomaly detection using kernel functions where normality of data is modeled using geometric concepts such as hyperspheres and neighborhoods. As a realization of the framework, we implement a standalone prototype called Sandy applicable to live network traffic. The framework is empirically evaluated using real HTTP and FTP network traffic and over 100 attacks unknown to the applied learning methods. Our prototype Sandy significantly outperforms the misuse detection system Snort and several state-of-the-art anomaly detection methods by identifying 80-97% unknown attacks with less than 0.002% false positives - a quality that, to the best of our knowledge, has not been attained in previous work on network intrusion detection. Experiments with evasion attacks and unclean training data demonstrate the robustness of our approach. Moreover, run-time experiments show the advantages of kernel functions. Although operating in a vector space with millions of dimensions, our prototype provides throughput rates between 26-60 Mbit/s on real network traffic. This performance renders our approach readily applicable for protection of medium-scale network services, such as enterprise Web services and applications. While the proposed framework does not generally eliminate the threat of network attacks, it considerably raises the bar for adversaries to get their attacks through network defenses. In combination with existing techniques such as signature-based systems, it strongly hardens today's network protection against future threats.