Programming lesson
Maschinelles Lernen für die Netzwerksicherheit: Ein Tutorial zu PAYL und Blending-Angriffen
Lernen Sie, wie Sie mit PAYL ein Machine-Learning-Modell zur Erkennung anomalen Netzwerkverkehrs erstellen und wie Angreifer mit Blending-Angriffen solche Modelle umgehen können – praxisnah für das CS6262-Projekt 5.
Einführung in Machine Learning für die Netzwerksicherheit
Maschinelles Lernen (ML) hat die Netzwerksicherheit revolutioniert. Statt auf statischen Signaturen zu basieren, lernen ML-Modelle das normale Verhalten von Netzwerkverkehr und erkennen Abweichungen. Ein bekanntes Beispiel ist der PAYL-Ansatz (Profile Anomaly Detection for Network Traffic), der n-Gramm-Häufigkeiten nutzt, um normalen von bösartigem Verkehr zu unterscheiden. In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie ein PAYL-Modell trainieren, testen und schließlich mit einem Polymorphic Blending Attack umgehen. Dieses Wissen ist direkt anwendbar im CS6262 Project 5: Machine Learning for Security.
Grundlagen des PAYL-Modells
PAYL arbeitet mit Ein-Byte-n-Grammen (1-Gramm). Für jede Paketlänge wird ein Profil aus Mittelwert und Standardabweichung der ASCII-Häufigkeiten erstellt. Das Modell wird mit normalem Verkehr trainiert. Bei der Klassifikation wird die Mahalanobis-Distanz zwischen dem neuen Paket und dem Profil berechnet. Überschreitet die Distanz einen Schwellwert, gilt das Paket als anomal.
Stellen Sie sich vor, Sie trainieren ein Modell mit dem normalen Verkehr Ihrer Universität. Ein Angreifer möchte nun Schadcode einschleusen, der wie normale Web-Anfragen aussieht – genau hier setzt der Blending-Angriff an.
Projektaufbau und Daten
Das Projekt stellt Ihnen zwei Protokolle zur Verfügung: HTTP und DNS. Sie erhalten normale Verkehrsdaten (z.B. normal_http.pcap) und einen individuellen Angriffs-Payload (IHR_GTUSERNAME.pcap). Die Aufgaben gliedern sich in drei Teile:
- A: Modelltraining – Finden Sie optimale Parameter (Glättungsfaktor, Mahalanobis-Schwellwert) für HTTP und DNS.
- B: Erkennung testen – Überprüfen Sie, ob das Modell normale Pakete akzeptiert und Angriffe erkennt.
- C: Blending-Angriff – Erzeugen Sie künstlichen Verkehr, der das Modell umgeht.
Schritt 1: Modelltraining mit PAYL
Navigieren Sie in das PAYL-Verzeichnis und führen Sie den Trainingsmodus aus:
python3 wrapper.pyDas Skript liest die normalen Verkehrsdaten, teilt sie in 75% Training und 25% Test, und erzeugt für jede Paketlänge ein Profil. Die Ausgabe zeigt Metriken wie mSF (Smoothing Factor), mTMD (Threshold for Mahalanobis Distance) und mTP (True Positive Rate). Ihr Ziel ist es, eine mTP > 96% zu erreichen. Passen Sie dazu die Parameter in wrapper.py an:
http_smoothing_factor = 0.01
dns_smoothing_factor = 0.02
http_threshold_for_mahalanobis = 10.0
dns_threshold_for_mahalanobis = 15.0Notieren Sie die endgültigen Werte in parameters.txt mit zwei Dezimalstellen.
Schritt 2: Modellvalidierung
Testen Sie das trainierte Modell mit Ihrem Angriffs-Payload:
python3 wrapper.py IHR_GTUSERNAME.pcapDas Modell sollte den Angriff als anomal erkennen – die Mahalanobis-Distanz wird den Schwellwert überschreiten. Notieren Sie die Distanz für HTTP und DNS ebenfalls in parameters.txt.
Hinweis: Falls die Erkennung nicht funktioniert, überprüfen Sie die Parameter oder die Protokollzuordnung in
wrapper.py.
Schritt 3: Polymorphic Blending Attack
Ziel des Angriffs ist es, einen bösartigen Payload so zu verändern, dass er die statistischen Eigenschaften normalen Verkehrs annimmt. Der Angreifer hat Zugriff auf ein normales Paket (z.B. http_artificial_profile.pcap). Der Angriff nutzt die Idee des Polymorphic Blending aus der Forschung von Fogla et al. (2006).
Konkret: Sie fügen Ihrem Angriffspaket Füllbytes hinzu, sodass die 1-Gramm-Häufigkeiten denen des normalen Profils ähneln. Die Implementierung finden Sie im bereitgestellten Code. Führen Sie den Angriff aus:
python3 wrapper.py http_artificial_profile.pcapStellen Sie sicher, dass training_protocol in wrapper.py auf http oder dns gesetzt ist. Der Angriff erzeugt künstliche Profile, die das Modell als normal klassifiziert.
Trendbeispiel: KI-gestützte Phishing-Angriffe
Aktuell (Mai 2026) nutzen Cyberkriminelle zunehmend generative KI, um täuschend echte Phishing-Mails zu verfassen. Ähnlich wie beim Blending-Angriff wird der schädliche Inhalt so angepasst, dass er von ML-basierten Filtern nicht erkannt wird. Dies zeigt, wie wichtig es ist, sich mit solchen Angriffstechniken auseinanderzusetzen – nicht nur im Studium, sondern auch für die Praxis in Unternehmen.
Häufige Fehler und Tipps
- Falsche Parameter: Achten Sie darauf, dass die Parameter in
parameters.txtexakt mit den Ausgaben übereinstimmen. - Protokollverwechslung: Trainieren Sie HTTP und DNS getrennt – die Werte unterscheiden sich deutlich.
- Dateipfade: Stellen Sie sicher, dass alle .pcap-Dateien im richtigen Verzeichnis liegen.
- VM vs. Lokal: Die Variablen in der VM heißen anders (z.B.
smoothing_factorstatthttp_smoothing_factor). Passen Sie den Code entsprechend an.
Zusammenfassung
In diesem Tutorial haben Sie gelernt, wie Sie mit PAYL ein ML-Modell zur Anomalieerkennung trainieren, es testen und mit einem Blending-Angriff umgehen. Diese Techniken sind essenziell für die moderne Netzwerksicherheit. Das Projekt CS6262 vermittelt praxisnah, wie Angreifer ML-Modelle umgehen können – und wie Verteidiger ihre Modelle robuster machen. Viel Erfolg bei Ihrem Projekt!