Automatisiertes Auffinden von Netzwerk-Schwachstellen mittels Künstlicher Intelligenz

07 Nov, 2020

3 Minuten

Valentin Kiechle

Für die Kommunikation zwischen Computern, maschinellen Anlagen oder Mobilgeräte aller Art wird stehts ein digitales Netzwerk für den Austausch der Kommunikation benötigt. Solche Netze folgen einer Reihe standartisierter Protokolle, um einen reibungslosen Ablauf zwischen allen Teilnehmern zu gewährleisten. Die Grundlage hierfür bietet das 7-schichtige ISO/OSI Referenzmodell welches sich als idealisierte Beispielstruktur eines solchen Netzwerks durchgesetzt hat. In den meisten Realweltanwendungen finden sich vereinfachte, aber stark angelehnte Strukturen und Protokollfamilien wieder. Die bekannteste Variante ist als das TCP/IP-Referenzmodell bekannt, welches im Großteil des Internets zum Einsatz kommt.

Sicherheit

Netzwerke dieser Art sind nicht ohne ihre Schwachstellen. Fehlerhafte Implementierung der Protokolle, Ablaufschwächen und selbstverständlich die Möglichkeit, Schadsoftware zu verbreiten erlauben es bösartigen Drittparteien sich einen Vorteil zu Kosten der normalen Kommunikationsteilnehmer zu verschaffen. Das Ausmaß des möglichen Schadens hängt im Allgemeinen von dem konkreten Netzwerk, seinen Teilnehmern und den Zielen des Angreifers ab, kann jedoch existenzbedrohend für die Opfer sein.

Sicherheitsmaßnahmen

IT Sicherheitsprozess

Der Forschungszweig der IT-Sicherheit beschäftigt sich unter anderem mit den Lösungen für die Absicherung von Netzwerkkommunikation. Dabei können jeweils eine Reihe möglicher Sicherheitsziele wie Vertraulichkeit, Integrität und Verfügbarkeit anvisiert werden. Für jedes solche Ziel existieren Best Practices und Werkzeuge sowie Maßnahmen und Trainings der Mitarbeiter zur Verbesserung des Sicherheitsniveaus. Dabei sollte die IT-Sicherheit insgesamt keineswegs als Produkt, sondern als ein kontinuierlicher Prozess verstanden werden.

Neue Angriffe und Schwachstellen werden stetig entdeckt und ausgenutzt, nur um anschließend gepatcht und ausgemärzt zu werden. Dieser Kreislauf lässt leider die Entstehung von Kosten für die Schadensbeseitigung aufseiten möglicher Opfer zu. Große Bemühungen sollten daher stehts in präventive Maßnahmen gegeben werden.

Netzwerksicherheit Testen

Um bei der Sicherheit neuer Systeme, bestehender Netzwerke und andere Kommunikationswege dem Angreifer einen Schritt voraus zu sein, empfehlen sich automatisierte Tests gegen die Beständigkeit und Integrität des Netzwerks. Das heißt, es werden echte Angriffe ohne Schadensintention simuliert und praktisch durchgeführt. Dabei sind insbesondere die Kommunikationsartefakte wie Protokollnachrichten ein guter Einstiegspunkt für den Testalgorithmus. Um solche Nachrichten mit Angriffscharakter zu entwerfen gibt es mehrere Möglichkeiten. Diese unterscheiden sich primär nach ihren Voraussetzungen: manche fordern die komplette Einsicht in die Protkollspezifikationen für das selbstsändige Erzeugen neuer Nachrichten, manche kommen mit weit weniger aus. In der Theorie stellt dies eine wichtige Unterscheidung der Ansätze dar. In der Praxis jedoch sind konkrete Szenarien oft sehr komplex. Viele Industrieanlagen verwenden Protokollfamilien, die nicht im allgemeinen Internet zum Einsatz kommen und damit auch selten in Datensätzen für die freie Forschung bereitstehen. Des Weiteren gibt es auch firmeninterne Protokolle, die als Geschäftsgeheimnis gehütet werden. In all diesen Fällen stehen keine Protokollspezifikationen zur Verfügung. Wie können nun also künstliche Nachrichten generiert werden, die einen Angriff simulieren?

Reverse Engineering von Protokollen

Um dennoch das Erstellen von Nachrichten entsprechend den Spezifikationen zu ermöglichen, gibt es verschiedene Ansätze der Rekonstruktion von Protokollspezifikationen. Hierfür werden Kommunikationsartefakte wie gesammelte Beispielnachrichten verwendet, um Schlüsse über den allgemeinen Aufbau und Ablauf des zugrundeliegenden Protokolls zu bekommen. Traditionelle Ansätze vertrauen auf ein regelbasiertes Vorgehen und verwenden einfache Algorithmen um Zwischenschritte wie Clustering oder Filtern unerwünschter Ausreißer zu übernehmen. Diese Ansätze sind durch das Vorwissen der Erfinder limitiert und haben Probleme bei der Übertragung auf modernere Protokolle oder neuere Versionen. Künstliche Intelligenz bietet hier einen flexibleren Ansatz für das automatische Erlernen von Protokollspezifikationen. Mit einer neuen Herangehensweise hat unser Mitarbeiter Valentin Kiechle in seiner Masterarbeit zeigen können, dass eine Gruppe von Deep Learning Algorithmen im Zusammenspiel das Problem für ein unbekanntes Protokoll lösen können.

Automatisierte Angriffssimulation

Der Einsatz der zuvor genannten Methode für das Reverse Engineering von Protokollen mittels Neuronaler Netze erlaubt das beliebige Erlernen neuer Protokolle ohne ein explizites Vorwissen über diese. Mit den so trainierten künstlichen Intelligenzen ist es auch möglich, neue Nachrichten zu generieren. Durch den Einsatz einer weiteren KI auf höherem Level kann in einem Nachbearbeitungsschritt nun auch der Angriffscharakter der Nachrichten ausgeprägt werden. Die Kombination dieser KIs erlaubt also automatisierte Angriffssimulation auf einem Netzwerk, dessen Protokolle dem Testexperten nicht bekannt oder verfügbar sind. Somit lässt sich jede beliebige Anlage auf viele mögliche Schwachstellen überprüfen. Alle, was dazu benötigt wird, ist ein Korpus normaler Kommunikationsdaten aus dem Netzwerk, aus dem die KIs ihr Wissen über das Protokoll lernen können.

Fazit

  • Wer digital kommuniziert, muss ein Netzwerk verwenden, das wiederum standardisierte Protokolle einsetzt
  • Sicherheitslücken in diesen Netzen lassen sich unter anderem durch Angriffssimulation entdecken
  • Für solche Simulationen müssen neue Nachrichten mit Angriffscharakter gemäß den eingesetzten Protokollen entworfen werden. Dazu müssen die oft nicht verfügbaren Protokollspezifikationen bekannt sein
  • Dank dem Reverse Engineering von Protokollen lassen sich diese Spezifikationen automatisch inferieren
  • Künstliche Intelligenz ist ein flexibler Ansatz für das Reverse Engineering
  • Die trainierte KI bietet dann eine gute Grundlage für automatisiertes Generieren der Nachrichten zu Angriffszwecken
UseCaseIT-Security