Auswahl eines optimalen Algorithmus für KI in der Cybersicherheit

August 15, 2018
Sohrob Kazerounian
Distinguished AI Researcher
Auswahl eines optimalen Algorithmus für KI in der Cybersicherheit

Im letzten Blogbeitrag haben wir auf die No-Free-Lunch-Theoreme (NFL) für Suche und Optimierung angespielt. Während die NFL-Theoreme in krimineller Weise missverstanden und im Dienste grober Verallgemeinerungen falsch dargestellt werden, um eine Aussage zu treffen, beabsichtige ich, eine grobe NFL-Verallgemeinerung einzusetzen, um genau diese Aussage zu treffen.

Die NFL-Theoreme besagen (grob), dass bei einer Menge von Problemen, bei denen das Ziel eines Algorithmus darin besteht, eine Funktion zu erlernen, die eine Menge von Eingabedaten X auf eine Menge von Zielkennzeichnungen Y abbildet, für jede Teilmenge von Problemen, bei denen Algorithmus A besser abschneidet als Algorithmus B, eine Teilmenge von Problemen existiert, bei denen B besser abschneidet als A. Wenn man ihre Ergebnisse über den Raum aller möglichen Probleme mittelt, ist die Leistung der Algorithmen A und B gleich.

Mit ein paar Handgriffen können wir ein NFL-Theorem für den Cybersicherheitsbereich aufstellen: Über die Gesamtheit aller möglichen Angriffsvektoren, die von einem Hacker eingesetzt werden könnten, kann kein einziger Erkennungsalgorithmus alle anderen über das gesamte Spektrum der Angriffe hinweg übertreffen.

Optimale Auswahl eines Algorithmus für KI in der Cybersicherheit

Künstliche Intelligenz - AI

An dieser Stelle könnte man sich fragen: Wenn ein bestimmter Algorithmus im Durchschnitt bei der Erkennung der gesamten Bandbreite möglicher Angriffe genauso gut abschneidet wie alle anderen, warum sollte man sich dann überhaupt die Mühe machen, Algorithmen für maschinelles Lernen (ML) zur Erkennung von Eindringlingen zu entwickeln?

Der Grund dafür ist ganz einfach, dass die NFL-Theoreme (für Suche und Optimierung und jetzt auch für Cybersicherheit) nur in einer hypothetischen Welt mit einer einheitlichen Priorität für alle möglichen Probleme wirklich anwendbar sind. In der realen Welt interessieren wir uns jedoch nur für eine kleine Teilmenge dieser Probleme, und der Prior für diese Teilmenge von Problemen ist wahrscheinlich nicht einheitlich. Hinzu kommt, dass jeder Algorithmus Platz- und Laufzeitbeschränkungen sowie anderen realen Faktoren (z. B. der Notwendigkeit der Interpretierbarkeit) unterworfen ist, und es wird schnell klar, dass die Wahl zwischen den Algorithmen ohne weiteres miteinander verglichen werden kann.

Auch wenn die praktischen Anwendungen der NFL-Theoreme der technischen Strenge nicht standhalten, dienen sie dennoch als gute Heuristik: Kein einzelner Algorithmus wird die Anforderungen einer Vielzahl von Problemtypen, für die er eingesetzt werden könnte, optimal erfüllen. Dies wird durch die Tatsache belegt, dass die modernsten Techniken für so unterschiedliche Aufgaben wie Computer Vision, Verarbeitung natürlicher Sprache und Finanzprognosen alle verschiedene Algorithmen verwenden.

Wie wählen wir also den besten Algorithmus für die Cybersicherheit aus?

Für die Erkennung eines breit gefächerten Angreiferverhaltens ist eine Reihe von Algorithmen erforderlich, die jeweils mit einem tiefgreifenden technischen Verständnis der potenziellen Algorithmen, die eingesetzt werden könnten, und deren Vergleich untereinander sowie der Integration von bereichsspezifischem Wissen, das für eine optimale Leistung erforderlich ist, angemessen konzipiert werden müssen.

Jeder Algorithmus sollte unter Berücksichtigung der folgenden Fragen entwickelt werden:

  • Ist der Algorithmus überwacht oder unüberwacht? Regression oder Klassifizierung?
  • Gibt es einen natürlichen Raum, in dem Inputs dargestellt oder projiziert werden können?
  • Wenn nicht, sollte der Algorithmus Merkmalsrepräsentationen lernen oder sollten die Eingaben direkt verwendet werden?
  • Werden Eingaben am besten als statische oder sequenzielle/temporale Daten dargestellt?
  • Wenn es sich um eine sequentielle Aufgabe handelt, handelt es sich dann um eine Klassifizierungs- oder eine Beschriftungsaufgabe?
  • Gibt es zeitliche Abhängigkeiten über eine große Anzahl von Zeitschritten? Oder sind die Daten einfach markovianisch?
  • Wie viele Trainingsdaten gibt es im Verhältnis zur Dimensionalität der Eingabe? Sind die Daten (stark) nicht-linear?

Fachwissen

Algorithmen erfordern Wissen. Viele Standardlösungen für maschinelles Lernen können eingesetzt werden, sobald grundlegende Fragen zur Art des Problems geklärt sind. Um zuverlässige Ergebnisse zu erzielen, ist jedoch ein relativ tiefes mathematisches Verständnis der verwendeten Techniken erforderlich, insbesondere wenn die Modelle immer komplexer und komplizierter werden.

Nehmen wir zum Beispiel das große Interesse an der Verwendung eines hochmodernen neuronalen Netzes zur Verarbeitung von sequentiellen und Zeitreihendaten, das als LSTM-Modell (Long Short Memory) bekannt ist. Tools wie TensorFlow, das Deep-Learning-Framework von Google, abstrahieren zwar die zugrunde liegende Mathematik, die für die Implementierung von LSTM erforderlich ist (in diesem Fall eine notationslastige Abfolge partieller Ableitungen), aber es sind immer noch Kenntnisse erforderlich, um den Algorithmus korrekt und für die richtigen Problemtypen zu verwenden.

Wie in diesem Fall werben viele Anbieter von Cybersicherheitslösungen mit ihrer Verwendung von Deep Learning und insbesondere von LSTM-Modellen. Sie beschreiben jedoch nicht richtig, wie dieses neuronale Netzwerk tatsächlich funktioniert und wie sie es zur Erkennung von Bedrohungen eingesetzt haben. Neben dem Fachwissen über Algorithmen kann ein tiefes Verständnis des Eingabebereichs die Erkennung von Bedrohungen durch nachgeschaltete Algorithmen erheblich vereinfachen. Betrachten wir als Beispiel eine einfache Zwei-Klassen-Klassifizierungsaufgabe, bei der Punkte, die auf einen kleinen Kreis fallen, als Klasse 0 gelten, während Punkte, die auf einen größeren, umgebenden Kreis fallen, als Klasse 1 gelten.

Wenn die Eingaben in kartesischen Koordinaten dargestellt werden, kann kein linearer Klassifikator lernen, diese beiden Klassen zu trennen. Wenn wir hingegen wissen, dass die natürliche Art der Darstellung der Eingaben nicht kartesische Koordinaten, sondern Polarkoordinaten sind, kann das Problem leicht von einem linearen Klassifikator gelernt werden. Dies wird in Abb. 1 veranschaulicht, wo eine lineare Entscheidungsgrenze im kartesischen Fall nicht gezogen werden kann, im polaren Fall aber trivial ist.

Ein einfaches Zwei-Klassen-Klassifikationsproblem. Wenn die Eingaben in einem kartesischen Koordinatensystem dargestellt werden, kann kein linearer Klassifikator gelernt werden, um die beiden Klassen zu trennen. In Polarkoordinaten wird das Problem jedoch trivial.
Ein einfaches Zwei-Klassen-Klassifikationsproblem. Wenn die Eingaben in einem kartesischen Koordinatensystem dargestellt werden, kann kein linearer Klassifikator gelernt werden, um die beiden Klassen zu trennen.
In Polarkoordinaten wird das Problem jedoch trivial. Abbildung entnommen aus "Deep Learning "Goodfellow et al. (2016)

Erkennung von Anomalien vs. bösartiges Verhalten

Im Bereich der Cybersicherheit ist die Erkennung von Anomalien nicht gleichbedeutend mit der Erkennung von bösartigem Verhalten.

Selbst wenn ein statistisches Modell die zugrundeliegenden Verteilungen von Verbindungszeiten, Ports und anderen Informationen, die ein System zur Erkennung von Bedrohungen aufspüren soll, genau erlernt, muss eine Entscheidung darüber getroffen werden, was ein normales Verhalten und was ein Ausreißer ist.

Nehmen wir an, wir wählen einen Schwellenwert, bei dem jede Eingabe, die mit einer Wahrscheinlichkeit von weniger als 0,01 % auftritt, als anomal gekennzeichnet wird. Unabhängig vom gewählten statistischen Modell gilt: Je genauer das statistische Modell ist, desto wahrscheinlicher ist es, dass wir 0,01 % aller Eingaben als Ausreißer kennzeichnen.

Es ist wichtig, Ausreißer und Anomalien nicht mit Cyberangriffen zu verwechseln. Eine angemessene Modellierung der verschiedenen Aspekte eines Cyberangriffs ist erforderlich, wenn festgestellt werden soll, ob anormale oder abweichende Eingaben böswillig sind.

Die Kennzeichnung von anomalen oder ausreißerischen Daten ohne Berücksichtigung des Angriffstyps kann dazu führen, dass ein Angriff übersehen wird, weil die verfolgten Eingangsmerkmale nicht anomal sind. Angriffe können so modifiziert werden, dass sie zu normalen Zeiten, an normalen Ports und von normalen Standorten aus erfolgen, und sie würden reine Anomalie- oder Ausreißer-Erkennungsmodelle überlisten.

Unüberwachtes Lernen und Dimension/Mannigfaltigkeit

Das Lernen aus unüberwachten Daten ist schwierig. Richtiges Lernen aus unüberwachten Daten ist noch schwieriger. Im Allgemeinen ist das unüberwachte Lernen aufgrund eines Problems schwierig, das als Fluch der Dimensionalität bezeichnet wird.

Das Problem besteht darin, dass die Dimensionalität der Eingabedaten oft so groß ist, dass das Volumen des Raums, den sie einnehmen, viel schneller wächst als die Anzahl der Beispiele, die dem Algorithmus zur Verfügung stehen.

Dies gilt für Daten mit einer hohen Anzahl von Dimensionen oder einer großen Anzahl von Merkmalen sowie für Zeitreihendaten, die oft von Natur aus hochdimensional sind. Daher müssen unüberwachte Algorithmen oft Rückschlüsse auf die Verteilungen ziehen, aus denen die Daten stammen, obwohl sie keine ausreichenden Beweise für diese Rückschlüsse haben.

Noch schlimmer ist, dass selbst in Situationen, in denen die Dimensionalität der Eingaben gering ist, die spezifischen Mannigfaltigkeiten, auf denen die Daten liegen, möglicherweise nicht für spezifische Lerntechniken der verschiedenen Algorithmen geeignet sind.

Stellen Sie sich zum Beispiel einen Datensatz mit zweidimensionalen Eingaben vor. Obwohl die Cluster für das menschliche Auge offensichtlich sind, werden verschiedene Algorithmen für unüberwachtes Lernen versuchen, die Daten auf verschiedene Weise zu modellieren. Zu wissen, welche Algorithmen für ein bestimmtes Problem geeignet sind, wird immer wichtiger.

Die folgende Abbildung zeigt eine Reihe von Algorithmen für unüberwachtes Lernen und wie sie sich selbst in den grundlegendsten Einstellungen unterscheiden.

Verschiedene Algorithmen für unüberwachtes Lernen mit einer Reihe unterschiedlicher Datensätze. Das breit gefächerte Verhalten dieser Algorithmen, das sich in der Vielfalt der gelernten Cluster zeigt, verdeutlicht, warum ein Verständnis sowohl des Algorithmus als auch der Daten so wichtig ist.
Abbildung aus der
scikit-learn Dokumentation.

Selbst innerhalb der gleichen Klasse von Algorithmen für unüberwachtes Lernen kann es viele unterschiedliche Ergebnisse geben. Die folgende Abbildung zeigt die Unterschiede bei den gelernten Clustern je nach dem gewählten Typ des spektralen Clusteralgorithmus.

Ergebnisse verschiedener spektraler Clustering-Algorithmen für eine Reihe verschiedener Datensätze.
Ergebnisse verschiedener spektraler Clustering-Algorithmen für eine Reihe verschiedener Datensätze.
Abbildung entnommen aus "on Spectral Analysis and an Algorithm" [Ng, Jordan und Weiss (2001)]

Die Beispiele und Beschreibungen in diesem Beitrag haben hoffentlich gezeigt, warum ein tiefes mathematisches Verständnis von Algorithmen in Verbindung mit einem Verständnis des Cybersicherheitsbereichs, in dem der Algorithmus angewendet werden soll, für die Entwicklung eines leistungsfähigen IDS-Systems so wichtig ist.

Es gibt weder einen einzigen Algorithmus, der alle anderen übertrifft, noch gibt es eine einfache Möglichkeit, Algorithmen "von der Stange" zu verwenden. Es gibt wirklich kein kostenloses Mittagessen.

Goodfellow, I., Bengio, Y., Courville, A., & Bengio, Y. (2016).Deep learning(Vol. 1). Cambridge: MIT Press.
Ng, A. Y., Jordan, M. I., & Weiss, Y. (2002). On spectral clustering: Analysis and an algorithm. InAdvancesin neural information processing systems(S. 849-856).