Selbst IT-Fachleute werfen maschinelles Lernen (Machine Learning, ML) und künstliche Intelligenz (Artificial Intelligence, AI) häufig in einen Topf. Bevor Sicherheitsverantwortliche in Unternehmen sich diesen Eintopf kredenzen lassen, sollten sie sich bewusst machen, dass es ML gibt, wohingegen AI Science Fiction ist: Eine dem menschlichen Bewusstsein ähnliche künstliche Intelligenz ist nicht in Reichweite.
ML basiert auf Algorithmen, die große Mengen strukturierter und unstrukturierter Daten nach sehr vielen Merkmalen detailliert analysieren, daraus lernen und Rückschlüsse aus der Datenanalyse auf neue Daten anwenden können. Vor rund neun Jahren haben die ersten Endpoint-Security-Hersteller angefangen, ihre Lösungen mit ML zu verbessern. Dies soll die Wirksamkeit verschiedener Sicherheitsmechanismen wie Anti-Malware, Anti-Spam, Anti-Fraud und Anti-Phishing erhöhen. Über Hunderte Millionen Endgeräte hinweg findet ML Korrelationen, die helfen, Angriffsmuster zu erkennen. Die Erkennung von Malware konnte man damit weitgehend automatisieren und beschleunigen. Auch der Aufwand für Angreifer, um solche lernenden Lösungen zu überwinden, ist deutlich gestiegen. Der offensichtliche Erfolg von Machine Learning führt so weit, dass einige Sicherheitslösungen heute allein auf ML zur Detektion von Bedrohungen setzen.
War die Erkennung von Malware zuvor reaktiv, kann Machine Learning komplett unbekannte Stämme von Malware abwehren. Damit gehen die Lösungen über die herkömmliche statische Analyse hinaus. ML-Algorithmen erkennen Malware nicht mehr anhand Signaturen oder Hashes, sondern verwenden stattdessen Modelle. Ein großer Vorteil dieser Modelle im Vergleich zu Signaturbibliotheken ist ihr geringer Platzbedarf. Die Modelle sind in der Regel kleiner als 1 KByte. Sie beschreiben Merkmale, die häufig bei bösartigen Dateien auftreten. Diese Informationen werden als mathematische Gleichung dargestellt, die durch eine Datei "gelöst" werden muss. Statt ständig eine lange Liste von Hashes zu aktualisieren, kann somit ein einzelnes ML-Modell selbst im Offline-Modus und bei einer sehr großen Anzahl unbekannter Dateien bestimmen, welche davon bösartig oder sicher sind, je nachdem, wie sie die Gleichung "lösen".
Auch wenn die Speichergröße von Algorithmen gering ist, sind sie sehr komplex, und die Erstellung solcher Modelle ist überaus kompliziert. Die Hersteller verfeinern und ergänzen sie über Jahre hinweg. Ein Modell besteht nicht nur aus einem Algorithmus, sondern kombiniert verschiedene Arten von Algorithmen, da einige je nach Verwendungszweck bessere Ergebnisse liefern als andere. Beispiele dafür sind: Perzeptronen, binäre Entscheidungsbäume, eingeschränkte Boltzmann-Maschinen, genetische Algorithmen, Support-Vektor-Maschinen und künstliche neuronale Netze.
Sicherheitslösungen setzen diese Algorithmen einzeln oder gemeinsam ein, um bestimmte Arten von Malware oder Malware-Familien zu identifizieren. Entwickler müssen zuerst die Aufgabe ganz genau begreifen und dann zahlreiche Optionen und Varianten testen, bevor sie sich auf die Algorithmen und das Gesamtmodell festlegen. Wie gut die Sicherheitslösungen auf der Basis von ML dann funktionieren, hängt nicht zuletzt von den folgenden sechs Faktoren ab.
Qualität der Datensätze: Wenn eine Maschine Äpfel und Birnen voneinander unterscheiden soll, muss sie zuerst alles über Äpfel und über Birnen lernen. Deshalb sind große Datensätze eine Vorbedingung für die Erstellung von ML-Algorithmen. Mittels Schulungssätzen "guter" und "böser" Dateien erstellen die Entwickler Modelle, die dann auf aktuelle unbekannte Dateien angewendet werden. Bevor man ein Modell in den produktiven Betrieb nimmt, muss es gut- und bösartige Dateien mit einer Genauigkeit auseinanderhalten, die möglichst an hundert Prozent heranreicht. Denn False Positives beeinträchtigen die Produktivität von Unternehmen und IT-Organisationen.
Kombination verschiedener Modelle: Mehrere ML-Modelle können sich bei der Erkennungstätigkeit überschneiden, um möglichst robuste Sicherheit zu gewährleisten. Zum Beispiel kann der eine Algorithmus genauer und effektiver beim Finden von Malware sein, während ein anderer eher Phishing entdeckt oder C&C-Domänen (Command and Control) identifiziert. Wenn sich einige Modelle auf bestimmte Bedrohungen konzentrieren, während andere generischer arbeiten, können sie zusammen mit höherer Wahrscheinlichkeit unbekannte Malware einfangen und False Positives vermeiden. Teilweise vergleichen verschiedene Modelle ihre Ergebnisse untereinander und handeln vollautomatisiert aus, ob Dateien geblockt werden und welche Alarmierung erfolgt.
Merkmalsextraktion: Modelle und Algorithmen basieren auf Merkmalen der Dateien. Damit Modelle funktionieren, müssen Entwickler ausgefeilte Techniken der Merkmalsextraktion nutzen, zum Beispiel Entpackungsroutinen, Emulationen vor der Ausführung, Reputation eines Packers etc. Dabei müssen sie die extrahierten Merkmale pro Datei sorgsam definieren. Insgesamt können ausgereifte Lösungen Tausende von Merkmalen pro Datei extrahieren. Aus den Merkmalen werden dann multidimensionale Matrices erstellt. Aus diesen errechnet die mathematische Funktion, ob eine untersuchte Datei gut- oder bösartig ist.
Tuning von Modellen: Gerade große Unternehmen benötigen ein ausgewogenes Verhältnis zwischen Leistung und Erkennungsrate. Die Anzahl von False Positives wird durch den ML-Einsatz potenziell höher, da die Modelle nicht nur bekannte, sondern auch neue Bedrohungen identifizieren wollen. Genau dies ist bei vielen Sicherheitslösungen, die auf Machine Learning setzen, eine Herausforderung für die IT-Verantwortlichen. Eine Möglichkeit, die negativen Auswirkungen von False Positives zu minimieren, ist das Tuning der Schwellenwerte: IT-Administratoren können einstellen, wie aggressiv oder permissiv die ML-basierte Erkennung sein soll. Aggressive Erkennung bedeutet, dass man im Zweifelsfall lieber eine Datei zu viel blockt, während permissive Erkennung heißt, dass man mehr Wert auf einen effizienten IT-Betrieb legt. Ebenso lässt sich oft einstellen, ob die Lösung bestimmte Vorgänge zwar zulassen, aber beobachten und berichten soll.
Lokaler Einsatz von Modellen: ML-Modelle können in der Cloud wie auch lokal zum Einsatz kommen. Während kleinere Organisationen zweifellos von der Cloud-Implementierung profitieren, um vor unbekannten Bedrohungen geschützt zu sein, ist für bestimmte Großunternehmen ein lokaler Einsatz sinnvoll. Denn die Modelle bilden sich dann für die Verteidigung der Infrastruktur dieser Organisation aus. Sie werden mit Angriffsarten konfrontiert, die für diese Organisation typisch sind, und lernen täglich auf der Datenbasis der unternehmensspezifischen Bedrohungslandschaft dazu - nicht zuletzt auch über legitime Dateien und Vorgänge.
ML-Integration mit allen Sicherheitsschichten: Machine Learning ist kein Allheilmittel, das die herkömmlichen Sicherheitsschichten ersetzt. Angriffe beruhen immer häufiger auf Verschlüsselung, Verschleierung und Polymorphismus, und die Angreifer verfeinern ihre Methoden immer weiter. Dies hat dazu geführt, dass eindimensionale Erkennungsmethoden bei der Bewältigung der riesigen Anzahl von Bedrohungen wirkungslos geworden sind. Vielmehr kann ML jede dieser Schichten verbessern und helfen, alle Angriffsvektoren abzudecken - von dateibasierter oder dateiloser Malware (wie PowerShell-oder Visual-Basic-Scripts) bis hin zu Spam und Online-Betrug. Auch moderne Sicherheitsmechanismen wie Sandboxing, Prozessüberwachung und Arbeitsspeicher-Schutz kann Machine Learning optimieren.
Sicherheitsarchitekturen ohne Machine Learning sind im Jahr 2018 nicht mehr zeitgemäß. Lösungen, die alleine auf ML basieren, bergen zugleich die Gefahr zu vieler Fehlalarme und eines erhöhten Aufwands für die IT-Verantwortlichen. Erst die Kombination zahlreicher ML-Modelle, verhaltensbasierter Heuristik sowie anderer bewährter Security-Technik führt zur gewünschten hohen Erkennungsleistung bei niedrigem Verwaltungsaufwand. Besonders Großunternehmen profitieren stark von Tuning-Optionen, lokaler Implementierung und einem in die bestehende Security-Architektur integrierten Lösung.