Refine
Document Type
- Master's Thesis (2) (remove)
Language
- German (2) (remove)
Has Fulltext
- yes (2)
Is part of the Bibliography
- no (2)
Keywords
- Maschinelles Lernen (2) (remove)
Institute
- Fakultät IV - Wirtschaft und Informatik (2) (remove)
Die Prävention und Erkennung von Cyber-Angriffen ist eine Herausforderung von hoher Bedeutung, da die Digitalisierung nahezu aller Lebensbereiche immer weiter voranschreitet. Im Forschungssektor der sogenannten Intrusion Detection wird fortlaufend untersucht, inwiefern sich Machine Learning (ML) zur Erkennung von Angriffen eignet. Während ML-Algorithmen bei Anwendungsfällen wie Produktempfehlungen oder Spam-Filtern erfolgreich in Produktion eingesetzt werden können, gestaltet sich die Anwendung in der Intrusion Detection schwieriger.
In sogenannten signatur-basierten IDS-Systemen werden Regelwerke eingesetzt, um Angriffe im Netzwerkverkehr zur Laufzeit zu erkennen. Die Erstellung und Verwaltung dieser IDS-Regeln erfolgt normalerweise manuell und erfordert eine hohe Domänenexpertise. Diese Masterthesis liefert einen Forschungsbeitrag, da diese IDS-Regeln erstmals automatisiert unter der Verwendung von Machine Learning erzeugt werden. Die für diesen Zweck entwickelte Toolchain verwendet Entscheidungsbaum-Algorithmen zur Regelerzeugung aus Trainingsdaten. Des Weiteren werden die Regeln für den Einsatz in einem signatur-basierten IDS-System in das Format von Suricata konvertiert.
Die Evaluierung der erzeugten Regeln hat gezeigt, dass in einer Vielzahl von Experimenten hohe Erkennungsraten und wenige Fehlalarme möglich sind. Allerdings basieren die betroffenen Regelwerke zum Teil auf unterkomplexen Zusammenhängen in den zugrundeliegenden Trainingsdaten. Darüber hinaus verfügen die Regelwerke über eine eingeschränkte Generalisierungsfähigkeit. Für ein finales Urteil wäre es notwendig und empfehlenswert, zusätzliche Forschungskapazitäten für die Erstellung repräsentativer IDS-Datensätze aufzuwenden.
Insbesondere aufgrund der Zugehörigkeit zum sehr aktuellen und viel betrachteten Thema Machine Learning ist die genetische Programmierung mit ihren vielseitigen Anwendungsmöglichkeiten ein sehr interessantes Gebiet. Wie in allen Forschungsschwerpunkten gibt es auch hier viele Ansätze die standardmäßige Vorgehensweise weiter zu verbessern – einer dieser Ansätze ist die Verwendung von Subroutinen. Diese könnten in diesem Kontext auch als Methoden, Funktionen oder ähnliches bezeichnet werden und bedeuten, dass vom Algorithmus neben dem eigentlichen Programm auch wiederverwendbare Folgen von Anweisungen entwickelt werden, die über einen Bezeichner an beliebigen Stellen verwendet werden können. Hierfür gibt es bereits diverse Konzepte, die in Tests sehr gute Ergebnisse erzielt haben und eine Verbesserung gegenüber der standardmäßigen genetischen Programmierung ohne Subroutinen erreichen konnten. Diese Tests fanden allerdings immer in sehr spezialisierten Testumgebungen statt. Besonders interessant sind allerdings solche Systeme zur genetischen Programmierung, die (theoretisch) beliebige Probleme lösen kann, da sie für eine Vielzahl von Problemstellungen verwendet werden können.
Das Ziel dieser Arbeit ist es, zu untersuchen, ob und inwiefern die Verwendung von Subroutinen auch in einem solchen allgemeinen System zur genetischen Programmierung, das theoretisch dazu in der Lage ist, beliebige Probleme zu lösen, möglich und sinnvoll ist.