Erkennung bösartiger Kampagnen durch maschinelles Lernen

Dec 19, 2018
8 minutes
3 views

This post is also available in: English (Englisch) Français (Französisch) Español (Spanisch)

Wir suchen kontinuierlich nach neuen Wegen, um unsere Kunden zu schützen und erfolgreiche Angriffe zu verhindern. Eine Neuheit in unserem Forschungsarsenal ist die Anwendung von unbeaufsichtigtem maschinellem Lernen auf große Datensätze mit Domain-Informationen. Auf maschinellem Lernen basierende Verfahren wie dieses können uns helfen, neue Bedrohungen zu erkennen und zu blockieren, bevor sie unsere Kunden beeinträchtigen. Die Verfahren können schädliche Domains, die Teil größerer Kampagnen sind, unmittelbar bei Aktivwerden erkennen und erfassen solche Kampagnen weitaus besser als herkömmliche Methoden.

In diesem Blog finden Sie einige Details und Beispiele, wie wir von diesem unbeaufsichtigten maschinellen Lernen Gebrauch machen. Bei einer Phishing-Kampagne fanden wir zum Beispiel kürzlich 333 aktive Domains. Am ersten Tag dieser Kampagne waren einer einschlägigen Online-Malware-Datenbank nur 87 Domains bekannt, zwei bekannten Blocklisten sogar keine einzige. In den darauffolgenden zwei Wochen führte die stärkste Blockliste nur 247 der 333 Domains und die Malware-Datenbank erkannte lediglich 93.

Unser unbeaufsichtigtes maschinelles Lernen verbessert die Gesamterfassung dieser Kampagnen und erkennt diese frühzeitig, noch bevor sie für anfällige Benutzer zur Gefahr werden. Im Falle der nachfolgend thematisierten Kampagne sowie weiterer mit dem gleichen Verfahren erkannter Kampagnen waren die Kunden von Palo Alto Networks innerhalb von einem Tag ab Aktivwerden der Domains geschützt.

 

Hintergrund

Eine Art der böswilligen Online-Aktivität umfasst den kurzzeitigen Einsatz vieler Domains für den gleichen Zweck. Diese Kampagnen machen sich häufig ein aktuelles Ereignis wie die Fußball-WM zunutze, und die Domain-Namen sehen echten Domain-Namen oft zum Täuschen ähnlich (sogenanntes Typo-Squatting) oder suggerieren eine gewisse Relevanz für seriöse Dienste, wie c0mpany.com für company.com.

Ein Beispiel dafür sind die Phishing-Kampagnen nach der Equifax-Datenpanne 2017. Damals richtete die Kreditauskunftei mit www.equifaxsecurity2017[.]com eine rechtmäßige Website ein, auf der sich Privatpersonen darüber informieren konnten, ob sie von dem Vorfall betroffen waren. Daraufhin registrierten eine oder mehrere bösartige Kampagnen Hunderte von Domains, die der echten URL täuschend ähnlich sahen. Beispiel: www.equifaxsecurity3017[.]com.

Grundsätzlich ist es nicht schwer, einen einzelnen Domain-Namen genauer unter die Lupe zu nehmen und als betrügerisch zu entlarven. Da in einer Kampagne aber Hunderte solcher Domains erstellt werden können, besteht die Herausforderung darin, alle falschen Domains zu finden, bevor eine große Anzahl von Menschen ihnen zum Opfer fällt. Obwohl sie leicht unterschiedliche Namen haben, weisen bösartige Domains der gleichen Kampagne viele identische Merkmale wie IP-Subnetz, autonome Systemnummer (ASN), DNS Time-To-Live (TTL), Whois-Informationen sowie viele weitere Attribute auf. Aufgrund dieser Beobachtung haben wir ein System implementiert, mit dem sich Attribute aus dem DNS-Verkehr und von Cluster-Domains anhand ihrer Gemeinsamkeiten extrahieren lassen. Unser System ergänzt bestehende Verfahren und kann Domains von Kampagnen erkennen, die ansonsten unentdeckt bleiben würden.

Abbildung 1: Übergeordneter Prozess

Ansatz

Unser Ansatz (siehe Abbildung 1) besteht darin, Domains, die in Passive-DNS-Einträgen gefunden wurden, in Clustern zusammenzufassen. Passive DNS ist ein Verfahren zur Aufzeichnung von DNS-Anfragen und -Antworten. Die Einträge bestehen in der Regel unter anderem aus dem Zeitstempel, der angeforderten Domain und der entsprechenden IP-Adresse. Aus Datenschutzgründen wird der DNS-Verkehr einzelner Kunden (Bit „Rekursion erwünscht“ wird gesetzt) nicht erfasst, und auch die IP-Adresse des Kunden wird entfernt.

Passive-DNS-Einträge sind über eine Vielzahl von Quellen verfügbar und werden oft von Wissenschaftlern genutzt, um den Internetverkehr in größerem Maßstab zu verstehen. Für unsere Analysen stehen uns im Grunde täglich sechs Terrabyte DNS-Daten zur Verfügung.

Wir gruppieren diese Domains anhand von Merkmalen, die aus Informationen in den Passive-DNS-Einträgen, wie IP-Adressen, oder anderen Quellen, wie BGP und Whois, generiert wurden. Dadurch erhalten wir Cluster von Domains, die in Bezug zueinander stehen, aber ansonsten weder als gutartig noch als bösartig bekannt sind.

Da diese Daten an diesem Punkt nicht gekennzeichnet sind, kommt hier das unbeaufsichtigte maschinelle Lernen ins Spiel. Wir wissen, dass die gruppierten Domains viele gemeinsame Merkmale aufweisen, haben aber keine Informationen darüber, ob sie bösartig sind oder nicht. Um die bösartigen Cluster aufzuspüren, nutzen wir Seed Domains, die scheinbar Teil einer neuen Kampagne sind und die wir als bösartig einstufen konnten.

 

Seed Domains

Seed Domains sind Beispiele von bösartigen Domains, die in Gruppen in Erscheinung treten.

Die Seeds lassen sich auf verschiedene Weise finden, wobei wir uns derzeit auf drei Quellen von Informationen zur Erkennung möglicher Seed Domains konzentrieren: Domain-Registrierungen, erstmals gefundene Domains und Trendthemen.

 

Domain-Registrierungen

Wir befassen uns mit Domains, die kürzlich registriert wurden, und bestimmen Gruppen mit ähnlichen Namen. Wenn sich die Kampagne ein aktuelles Ereignis zunutze macht, kann es sein, dass eine große Anzahl von Domains mit einem zum Ereignis passenden Namen registriert wird. Wir überprüfen alle Gruppen auf bekannte bösartige Domains und nehmen die Ergebnisse in unsere Liste der Seed Domains auf. Wir identifizieren bekannte bösartige Domains anhand unserer eigenen Erkenntnisse sowie mithilfe von Bedrohungsdaten Dritter, beispielsweise aus einschlägigen Online-Malware-Datenbanken. Zu Beginn sind in der Regel zwar noch nicht viele bösartige Domains bekannt bzw. gemeldet, aber wir benötigen ohnehin nur ein paar wenige Beispiele, um den Prozess in Gang zu setzen.

 

Erstmals gefundene Domains

Wir durchsuchen die Passive-DNS-Einträge auch nach neuen Domains, die bisher noch nicht aufgefunden wurden. Diese Domains wurden zum Beispiel schon vor längerer Zeit registriert, aber erst mit Beginn der Kampagne erstmals eingesetzt. Wir durchsuchen diese Domains nach ähnlichen Namen und identifizieren Seeds, die als bösartig bekannt sind.

 

Trendthemen

Darüber hinaus durchsuchen wir die sozialen Medien nach Trendthemen. Bekannte und gut beworbene Ereignisse tauchen häufig in den täglichen Social-Media-Trends auf. Wir gleichen Trendbegriffe, die bei Google oder Twitter auftauchen, mit kürzlich beobachteten Domain-Namen ab. Wenn wir zum Beispiel bei Google einen Trend ausmachen, der sich auf ein aktuelles Ereignis wie eine Sportveranstaltung bezieht, überprüfen wir kürzlich beobachtete Domains, die ebenfalls dieses Sportereignis thematisieren. Wir suchen erneut nach Gruppen von ähnlichen Namen und ermitteln Domains, die als bösartig bekannt sind. Mithilfe unserer Seed-Domain-Liste können wir anschließend nach Clustern von Domains suchen, die diese Seeds enthalten.

 

Aufspüren bösartiger Cluster

Nachdem wir die Gruppe von Seed Domains identifiziert haben, die wir verwenden werden, durchsuchen wir die zuvor aus den Passive-DNS-Daten generierten Domain-Cluster nach diesen Seeds (siehe Abbildung 2). Ein Cluster mit einem wesentlichen Anteil von Seed Domains wird als bösartige Kampagne identifiziert, und alle Domains im Cluster werden als bösartig gekennzeichnet.

Abbildung 2: Cluster von Domains

 

Ergebnisse

Wir entdeckten zum Beispiel kürzlich eine Phishing-Kampagne, bei der bösartige Domains mit Namen wie check-box-with-money##[.]loan verwendet wurden. Wir konnten diese Gruppe von Domains ausfindig machen, indem wir eine Gruppe ähnlicher Domains beobachteten, die zur gleichen Zeit registriert wurden. Am ersten Tag beobachteten wir 77 Domain-Registrierungen. Davon waren einer einschlägigen Online-Malware-Datenbank nur 17 bekannt, was aber ausreichte, um sie in unsere Seed-Gruppe aufzunehmen. Die Cluster-Analyse der aus den Passive-DNS-Daten gewonnenen Domains ergab direkt zwei weitere Domains, die bei der Registrierung nicht aufgefallen waren.

Am darauffolgenden Tag fanden wir 16 weitere Domains in der Kampagne, danach 58 und schließlich erneut 88 Domains. In den ersten beiden Wochen dieser Kampagne konnten wir insgesamt 333 Domains ausfindig machen, die mit dieser Phishing-Kampagne in Zusammenhang standen.

Interessant ist dabei, dass 247 dieser 333 Domains am ersten Tag ihres Aktivwerdens einer einschlägigen Online-Malware-Datenbank nicht bekannt waren. In den darauffolgenden zwei Wochen wurden nur sieben dieser Domains geführt. Selbst nach zwei Wochen waren 240 Domains von dieser Datenbank noch immer nicht als Phishing gekennzeichnet, obwohl sie längst im Internet präsent und eindeutig Teil der gleichen Kampagne waren.

Wir überprüften dahingehend auch zwei bekannte Blocklisten und stellten fest, dass keine dieser Blocklisten die Domains am ersten Tag ihrer Beobachtung im Internet blockiert hatte. In den darauffolgenden zwei Wochen blockierte eine Liste 80 und die andere 247 der 333 Domains.

Diese Ergebnisse zeigen: Obwohl einige Domains in den Kampagnen von der Sicherheitscommunity gefunden werden, bleiben viele der Domains problemlos unentdeckt, was das letztendliche Ziel des Angreifers sein dürfte.

 

Fazit

Bei dem beschriebenen Fall handelt es sich nur um ein Beispiel. In den vergangenen Monaten haben wir 15 verschiedene Kampagnen mit über 1.000 aktiven Domains entdeckt. Obwohl sie aktiv und Teil der Kampagnen waren, wurden viele dieser Domains von verschiedenen Drittanbietern nicht individuell identifiziert. Die Domains, die durch Drittanbieter identifiziert wurden, haben wir im Durchschnitt 2,8 Tage vor einer Online-Malware-Datenbank, 3,9 Tage vor einer öffentlichen Blockliste und 2,4 Tage vor einer anderen öffentlichen Blockliste gefunden. Die maximalen Abweichungen, die wir bis heute bei den von Drittanbietern identifizierten Domains festgestellt haben, sind 46 Tage im Falle der Malware-Datenbank, 15 Tage im Falle der ersten Blockliste und 32 Tage im Falle der zweiten Blockliste. Abbildung 3 zeigt einen Gesamtvergleich der Dauer bis zur Erkennung.

Abbildung 3: Dauer bis zur Erkennung durch Drittanbieter

 

Schutz und Handlungsempfehlung

Kunden von Palo Alto Networks sind mittels URL-Filterung mit PAN-DB und DNS-C2-Signaturen, die Teil des Threat-Prevention-Abonnements sind, vor diesen bösartigen und Phishing-Domains geschützt. Firewall-Kunden von Palo Alto Networks können unsere Passive-DNS-Forschung unterstützen, um bösartige und Phishing-Domains proaktiv zu identifizieren. Um den Passive-DNS-Austausch in PAN-OS Version 8.0 oder neuer zu aktivieren, wählen Sie „Passive DNS Monitoring“ (Device > Setup > Telemetry). In PAN-OS 7.1 oder älter wird der Passive-DNS-Austausch im Sicherheitsprofil von Anti-Spyware aktiviert. Die Passive-DNS-Einträge bestehen in der Regel unter anderem aus dem Zeitstempel, der angeforderten Domain und der entsprechenden IP-Adresse. Aus Datenschutzgründen wird der DNS-Verkehr einzelner Kunden (Bit „Rekursion erwünscht“ wird gesetzt) nicht erfasst, und auch die IP-Adresse des Kunden wird entfernt.


Subscribe to the Newsletter!

Sign up to receive must-read articles, Playbooks of the Week, new feature announcements, and more.