Botnetze – Cyber Security

Aufspüren von Botnetzen mit Hilfe von DNS Informationen

Daten und Informationen immer und überall griffbereit zu haben ist normal. Das Datenvolumen steigt stetig an. Im vierten Quartal 2020 waren es in Österreich rund 2,157 Exabyte laut RTR. (vgl.: Rundfunk und Telekom Regulierungs-GmbH). Keine Sonnenseite ohne Schattenseite – der freie Informations- und Datenfluss bedingt auch Sicherheitsrisiken. Vor allem das Risiko durch Botnetzwerke und dieser Bedrohung nicht Herr zu werden – geschweige denn, sie überhaupt zu erkennen. Botnetzwerke sind nicht nur ein Angriffsvektor, sondern sind der vorrangige Angriffsvektor.

Dieser Artikel stellt einen DNS basierenden Ansatz vor, um Botnetze aufzudecken und beschreibt die Vorgangsweise dazu auch noch allgemein. Beispiele werden angeführt, um einen Einblick zu geben. Nicht Teil der Betrachtung ist die Zertifikats Thematik im Zusammenhang mit DNS Verifikation – Zertifikats Transparenz und auch die verwendete (N)IDS und SIEM Umgebung auf Basis Zeek, netsniff, Filebeat, Elastisearch, Kibana und Logstash.


Was ist ein Botnetz

Ein Botnetz kann man definieren als eine Gruppe von Informationssystemen – Computer und IoT (vgl.: Internet Of Things) Geräte, wie Glühbirnen zum Beispiel – die kompromittiert sind. Sie führen neben den bekannten Funktionen auch noch versteckte und nicht zulässige Aktionen aus. Die Steuerung der versteckten und unzulässigen Aktionen erfolgt nicht durch den Systemverantwortlichen. Der Systemverantwortliche hat auch keine Kenntnis über die Kompromittierung. Botnetze werden von einem Botmaster gesteuert. Botnetze werden eingesetzt, als Sprungbrett für Informations- und Datendiebstahl, aber vor allem als Hebel für verteilte Attacken – aka DDOS (vgl.: distributed denial of service) Angriffe. Um nun eine Kompromittierung zu erkennen, und vor allem um mögliche Angriffe abzuwehren, muss man diese auch erkennen. Es geht einem Botmaster zum Beispiel nicht darum eine IoT Glühbirne ein- und auszuschalten, sondern diese als „Reflektor“ bei einem Angriff zu verwenden. Die Glühbirne ist ein zusätzlicher Client, der eine Anfrage zurückschickt, oder weiterleitet. In Summe können viele „kleine“ IoT Geräte ein großes System mit Anfragen auch überlasten.

Natürlich versucht der, der ein Botnetz betreibt, seine Existenz möglichst lange zu verschleiern und im allgemeinen Datenrauschen unterzugehen. Dazu werden viele Arten von Protokollen und Kommunikationsarten eingesetzt. Das DNS Protokoll und seine Kommunikation nimmt hier eine zentrale Stellung ein.

DNS Angriffe fallen generell unter APT (vgl.: advanced persistent threat), das sind hier Angriffe, die dem Eindringling einen langfristigen Zugang gewähren. Meist gelingt über diesen Zugang auch der unbemerkte Zugriff auf sensible Daten. Für die Kommunikation kommen immer weniger Domänennamen, als P2P Szenarien zum Einsatz.

DNS wird von Botnetzen verwendet, um die Kommunikation mit der Kontroll- und Kommandoinfrastruktur (vgl.: command and control – aka c&c) sicherzustellen. Vor allem kommen hier sogenannte DGAs (vgl.: domain generating algorithms) immer stärker zum Einsatz. Subdomainen und dazugehörige Zertifikate werden automatisch erstellt und sind zumindest für einen kurzen Zeitraum – weniger als 24 Stunden – gültig. (Anm.: Deswegen der obige Verweis auf das Projekt der Zertifikats Transparenz). Dadurch steigt die Schwierigkeit Botnetze zu erkennen,  weil sich die DNS Namen und Zertifikate laufend ändern und auf der anderen Seite bleiben Botnetze dadurch immer administriertbar, auch wenn einzelne DNS Einträge gelöscht, oder gesperrt, werden.

Ein Botnetz hat einen Botmaster, der über C&C (vgl.: command and control) Server kompromittierte Systeme, Bots, Ressourcen verwaltet, steuert und Anweisungen ausführen lässt. Auch hier hat sich ein Dienstleistungsmarkt – Botnet as a Service – etabliert. Der Botmaster vermietet seine Bots, auch Zombies genannt, gegen Entgelt. Von der Sicht des kompromittierten Systems aus ist nur der C&C Server sichtbar. Der Botmaster steht nicht im direkten Kontakt mit dem Bot – aka Zombie. Die Zombies sind in einem P2P Netzwerk organisiert.

Erkennung mit DNS Informationen

DNS basierende Aufklärung hat zwei Vorteile und wird auch deshalb eingesetzt:

  • Geringe Kosten – der Einsatz von den folgenden Techniken verursacht geringfügig Kosten und belegt geringe Ressourcen, wie Speicher und Verarbeitungszeit.
  • Keine Auswirkung auf laufenden Betrieb – die eingesetzten Techniken haben keine Auswirkung auf Leistung und Nutzlast.
  • Keine personenbezogenen Daten – Auswertungen und Protokollananlysen erfolgen ohne personenbezogene Daten. Eine Filterung ist dazu nicht notwendig, da bereits die Erfassung entsprechend eingeschränkt werden kann.

DNS Techniken

Die Technik setzt auf die Erkennung von Abweichungen und Metadaten von Protokollen des DNS Dienstes. Vier Bereiche werden dazu analysiert, fehlerhafte DNS Abfragen, Überwachung von bekannten Domänen – über die Schadsoftware verteilt wird, Domänen mit einem kurzen Gültigkeitszeitraum und regulärer DNS Verkehr in Bezug auf Abfrageintervalle und ähnliches.

Fehlerhafte DNS Abfrage (NXDOMAIN)

Die statistische Auswertung von fehlerhaften DNS Abfragen kann einen Hinweis auf ein Botnetz liefern. Eine ausführliche Beschreibung findet sich hier. Botnetze verwenden Domänen, die im offiziellen DNS nicht registriert sind. Deswegen liefert der DNS Dienst die Antwort NXDOMAIN  (vgl.: non-existent domain) zurück. Es gibt Botnetze, die ihre eigentliche (Steuerungs-)Domäne unter einer Vielzahl von falschen Domänen zu verstecken suchen. Bots fragen nicht nur die eigentliche Domäne ab, sondern eine Vielzahl an nicht vorhandenen Domänen. Die eigentliche Domäne erkennt man vielleicht an dem Intervall.

Abfrage einer nicht vorhandenen Domäne
Protokollauswertung aller DNS Abfrage auf Antwort NXDOMAIN (zeek mit Elasticsearch und Kibana)

Überwachung auf Schaddomänen

Diese Technik bezieht sich auf die Abfragen von den eigenen Clients aus dem eigenen Netz an das Internet. Diese Anfragen können gefiltert werden, um nicht nur Werbung auszublenden, sondern auch um Schaddomänen von vorne herein zu blockieren. Es gibt freie und kommerzielle Anbieter von Filterlistenanbietern. Pi-Hole ist in diesem Zusammenhang sicher zu nennen, da es diese Funktionalität auf DNS Basis zu filtern bietet. Pi-Hole ist nicht exklusiv an die Hardware von Raspberry gebunden. Spamrats und DNSBL sind hier stellvertretend für die Vielzahl an vorhandenenFilterlisten zu nennen. Diese Listen können in den eigenen DNS Dienst eingebunden werden. Die Antworten für aufgeführte Domänennamen in so einer Filterliste werden durch den eigenen DNS Dienst abgeändert. Der Bot kann zwar „seine“ Domäne aufrufen, aber kommt im Regelfall nicht mehr ans Ziel, weil die Antwort mit IP Adresse geändert ist.

Der Einsatz dieser Technik bedingt aber, dass das Botnetz bereits bekannt sein muss. Neue Botnetze sind in der Regel nicht in solchen Listen aufgeführt, weil nicht bekannt.

Domänen mit kurzen Gültigkeitszeiträumen (vgl.: TTL)

TTL ist die Abkürzung für „Time To Live“ und wird im Fall von Botnetzen für Domäneneinträge möglichst kurz gesetzt. Das hat zur Folge, dass IP Adresseinträge für Schaddomänen oft wechseln. Jedes Mal bei einem Wechsel – vgl.: DGA – wird einen neue IP Adresse zu dem entsprechenden Domaineintrag gesetzt. Alle DNS Server löschen die bestehenden IP Einträge aus ihrem Zwischenspeicher, wenn die Gültigkeitszeitdauer abgelaufen ist und holen automatisch den neuen Eintrag.

Eine kurze Gültigkeitszeitspanne macht solche Einträge verdächtig. Kann aber auch dazu führen, dass es zu Falschmeldungen bei echten Domänen kommen kann. Hier ist immer manuelle Nachkontrolle angesagt.

Abfrage Gültigkeitszeitraum einer Domäne

Erkennung von anormalen DNS Verkehr

Das ist ein Vorgehen, um nach Inhalten und Meta Daten im DNS Verkehr zu suchen, die nicht dem Standard entsprechen und von diesem Abweichen. Auffälligkeiten nach denen man suchen kann, sind plötzlicher Anstieg der DNS Abfragen, DNS Abfragen an abweichende Anschlüsse (vgl.: Ports), plötzliche Hänger im Verkehr – es dauert plötzlich länger. Weiter kann man die Regelmäßigkeit, Intervalle, von DNS Anfragen in Beziehung mit Adressen setzen, auch kann man auf die Zufälligkeit von Werten in Zeitserien testen. Stichwort Gauss und Poisson ….aber auch Zeitreihenanlysen, um Trends zu erkennen, nach dem Holt-Winters Verfahren. 

Share on:

Schreibe einen Kommentar