Der Datenklau über das Domain Name System (DNS) geht weitgehend unbemerkt vor sich, ist aber weitverbreitet - nach einer DNS Security Umfrage von Infoblox wurde bei 46 Prozent der befragten Unternehmen Data Exfiltration und bei 45 Prozent DNS Tunneling beobachtet. Bei DNS Tunneling läuft der Datenverkehr mit IP-Protokoll oft über den DNS Port 53, der meist nicht einmal von Firewalls - auch nicht von Next-Generation Firewalls - im Detail geprüft wird, ideal für das unbefugte Abgreifen von Daten. Ein übelwollender Insider kann entweder von innerhalb des Netzwerks einen DNS-Tunnel aufsetzen oder Dateien kodieren und in die DNS-Anfragen einbetten. Die Daten werden dann am anderen Ende wieder dekodiert und zusammengesetzt.
Trotz aller Abwehr
In den meisten Unternehmen gibt es die verschiedensten Abwehrmechanismen und Sicherheits-Technologien, wie Next-Generation Firewalls, IDSs und IPSs. Wie also kann es gelingen, Daten trotz dieser achtsam aufgesetzten Verteidigungsmechanismen zu transportieren? Es gibt zwei Arten von DNS-Botschaften: die Anfrage und die Antwort. Beide haben immer dasselbe Format: sie bestehen aus einem Header und vier Bereichen - Frage, Antwort, Autorisierung und weitere Informationen. Viele Objekte und Parameter im DNS haben grundsätzliche Größenbeschränkungen. Das bedeutet, dass einem Hacker als Basis 512 Octets (= eine geordnete Zusammenstellung von 8 Bit) zur Verfügung stehen, um Daten innerhalb von UDP (User Datagram Protocol)-Botschaften zu verstecken. Diese verschlüsselten Datenstücke können verschiedenen Zwecken dienen.
- Adminrechte
Keine Vergabe von Administratorenrechten an Mitarbeiter - Dokumentation
Vollständige und regelmäßige Dokumentation der IT - Sichere Passwörter
IT-Sicherheit beginnt mit Sensibilisierung und Schulung der Mitarbeiter sowie mit einer klaren Kommunikation der internen Verhaltensregeln zur Informationssicherheit:<br /><br /> Komplexe Passwörter aus Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen, mindestens achtstellig. - Passwortdiebstahl
Niemals vertrauliche Daten weitergeben oder/und notieren. - E-Mail-Sicherheit
E-Mails signieren, sensible Daten verschlüsseln, Vorsicht beim Öffnen von E-Mail-Anlagen und Links. - Soziale Manipulation
Bewusst mit vertraulichen Informationen umgehen, nur an berechtigte Personen weitergeben, sich nicht manipulieren oder aushorchen lassen. - Vorsicht beim Surfen im Internet
Nicht jeder Link führt zum gewünschten Ergebnis. - Nur aktuelle Software einsetzen
Eine nicht aktualisierte Software lässt mehr Sicherheitslücken offen. - Verwendung eigener Software
Unternehmensvorgaben beachten und niemals Software fragwürdiger Herkunft installieren. - Unternehmensvorgaben
Nur erlaubte Daten, Software (Apps) und Anwendungen einsetzen. - Backups
Betriebliche Daten regelmäßig auf einem Netzlaufwerk speichern und Daten auf externen Datenträgern sichern. - Diebstahlschutz
Mobile Geräte und Datenträger vor Verlust schützen. - Gerätezugriff
Keine Weitergabe von Geräten an Dritte, mobile Geräte nicht unbeaufsichtigt lassen und Arbeitsplatz-PCs beim Verlassen sperren. - Sicherheitsrichtlinien
Die organisatorischen Strukturen im Hintergrund bilden den erforderlichen Rahmen der IT-Sicherheit. Hier gilt es, klare Regelungen zu formulieren und einzuhalten:<br /><br />Definition und Kommunikation von Sicherheitsrichtlinien - Zugriffsrechte
Regelung der Zugriffsrechte auf sensible Daten - Softwareupdates
Automatische und regelmäßige Verteilung von Softwareupdates - Logfiles
Kontrolle der Logfiles - Datensicherung
Auslagerung der Datensicherung - Sicherheitsanalyse
Regelmäßige Überprüfung der Sicherheitsmaßnahmen durch interne und externe Sicherheitsanalysen - Notfallplan
Erstellung eines Notfallplans für die Reaktion auf Systemausfälle und Angriffe - WLAN-Nutzung
Auf technischer Ebene muss ein Mindeststandard gewährleistet sein. Dieser lässt sich größtenteils ohne großen Kostenaufwand realisieren:<br /><br />Dokumentation der WLAN-Nutzung, auch durch Gäste - Firewalls
Absicherung der Internetverbindung durch Firewalls - Biometrische Faktoren
Einsatz von Zugangsschutz/Kennwörter/Biometrie - Zugangskontrolle
Physische Sicherung/Zugangskontrolle und -dokumentation - Schutz vor Malware
Schutz vor Schadsoftware sowohl am Endgerät als auch am Internetgateway, idealerweise durch zwei verschiedene Antivirenprogramme - Webzugriffe
Definition einer strukturierten Regelung der Webzugriffe - Verschlüsselung
Verschlüsselung zum Schutz von Dateien und Nachrichten mit sensiblen Inhalten - Löschen
Sicheres Löschen der Daten bei Außerbetriebnahme - Update der Sicherheitssysteme
Sicherstellung regelmäßiger Updates der Sicherheitssysteme - Monitoring
Permanente Überwachung des Netzwerkverkehrs auf Auffälligkeiten
Exfiltrierung
Data Exfiltration - heißt ein Hacker will Daten stehlen. Tut er das über DNS, wird er die gewünschten Informationen in unterschiedlich große Teile trennen und den Value String in den Bereichen Namen (bis zu 255 Octets) oder UDP-Message (bis zu 512 Octets) platzieren. Der Value String wird wie eine Anfrage formatiert und an einen böswilligen DNS-Server geschickt, der die Anfrage aufzeichnet.
Ein Name-Server der Hacker ermöglicht das Logging der Anfragen - er sammelt die gestohlenen Daten. Auf diesem läuft eine einfache Installation von BIND, dem Berkeley Internet Name Domain Server, und er ist über das Internet zugänglich. Er kann sich sogar hinter einem Kabelmodem verstecken, solange Port 53 genutzt wird. Möchte ein infizierter Client oder ein Client eines Mitarbeiters Daten stehlen, kann dieser den gefährlichen Server mit einem String ansprechen.
Die Daten können nun einfach nach außen übertragen werden. Natürlich versuchen Hacker die eigentliche Datenübertragung besser zu verstecken: Sie nutzen Datenverschlüsselungs-Algorithmen, verstecken und komprimieren den Inhalt und schneiden ihn in Teile beliebiger Größe. Eine Anfrage könnte zum Beispiel binär und für die Übertragung in HEX-Format konvertiert worden sein. Beim Empfänger wird der Inhalt wieder zusammengesetzt. Cyberkriminelle nutzen aber auch andere schlaue Methoden wie ID-Tracking, Sequence Numbering und andere - vor allem, wenn Transaktionen wie beispielsweise Kreditkartenkäufe getaggt werden, in denen die Reihenfolge der Events aussagt, welche Bits Namen, Kartennummern oder Kartenverifikationszahlen enthalten.
Bei einem Exfiltrations-Versuch werden häufig Tausende von DNS-Anfragen über ein Netzwerk geschickt. Es erscheint also recht einfach diese Transportmethode zu unterbinden - nur wissen die Diebe sehr gut, wie sie eine Entdeckung verhindern. Sie nutzen Methoden wie Slow Drip, bei der die Anfragen in einer kontrolliert langsamen Geschwindigkeit gesendet werden, um die Übertragungsrate nicht nach oben schnellen zu lassen und einen Alarm auszulösen (z.B. von IDS/IPS). Oder sie nutzen Source IP Spoofing, wobei die Quell-IP in den Anfragen wiederholt werden, so dass es aussieht, als kämen die Anfragen aus vielen verschiedenen Quellen. Bei dieser Methode ist es schwierig die Anfragen abzufangen.
Infiltrierung
DNS-basierte Exfiltration funktioniert auch anders herum. Hacker können das DNS nutzen, um Daten durch Infiltration in das Netzwerk einzuschleusen - etwa Schadcodes. Ähnlich wie bei der Exfiltrierung nutzen Hacker ein Programm, codieren es beispielsweise als HEX zur Vorbereitung für den Transport und laden es in einen TXT-Datensatz auf ihren Server. Wie aber bekommt man das durch die Firewall, durch IDS und Content-Filter? Es gibt verschiedene Möglichkeiten:
DNS Plain Text: Dieses Echtzeit-Tool nutzt die Infiltration einer Textnachricht über kodiertes DNS. Es werden Einzel- und sehr kurze DNS-Anfragen verwendet, um Daten von einem externen Server abzurufen.
DNS Encoded Text: Dieses Echtzeit-Tool nutzt die Infiltration einer kodierten Textnachricht über DNS. Es werden Einzel- und sehr kurze DNS-Anfragen verwendet, um Daten von einem externen Server abzurufen.
DNS Static Files: Dieses Tool nutzt die Infiltration von drei verschiedenen Datentypen (Grafiken, Windows-Dateien und Shell-Skripts). Alle drei Datentypen werden an die Workstation des Nutzers übermittelt - das funktioniert mithilfe von DNS-Abfragen zum Abrufen und wieder Zusammensetzen der Daten auf einem Remote-DNS-Server. Dies emuliert einen möglichen Vektor, der einen Schadcode in ein Netzwerk mit Protokoll- und Nachricht-Typen, die nicht durch herkömmliche Sicherheitsmaßnahmen erkannt werden, einschleusen kann.
DNSMessenger: Der DNSMessenger kann DNS-Abfragen verwenden, um böswillige PowerShell-Befehle auf infizierten Computern auszuführen. Laut Experten wird es dadurch erschwert den Remote-Zugriff eines Trojaners auf ein bestimmtes System zu erkennen. Das Tool emuliert das Vorgehen des DNSMessenger.
Tunneling mit DNS
Mit DNS Tunneling kann ein Anwender auf eine Website zugreifen, auch wenn der Proxy diese Seite blockiert. Um über DNS zu tunneln, muss man einen externen DNS Server kontrollieren und dort Name-Server (NS)-Einträge und A-Einträge ergänzen. Ein NS-Eintrag ermöglicht es eine Subdomain der eigenen Domäne auf einen anderen Name-Server umzuleiten. A-Record enthält die IP-Adresse, die den Domain-Namen abbildet. Für das Aufsetzen eines Tunnelservers wird ein Hacker-Tool installiert. Auch auf der Zielmaschine muss ein DNS Tunneling Client sein. Sobald die Verbindung hergestellt ist, kann man den SOCKS Proxy für die Verbindung nutzen. DNS Tunneling ist zwar langsam und hat nur eine limitierte Bandbreite, aber für ein Botnet ist der DNS-Tunnel ein versteckter, schwer zu entdeckender Kanal für fragmentierte Daten.
DNS Tunneling gibt es schon seit langem, entsprechend gibt es auch beliebte und bewährte Hacker-Toolkits wie Iodine, OzymanDNS, SplitBrain, DNS2TCP oder TCP-over-DNS. Es existieren aber auch neuere Möglichkeiten, die ein schnelleres Tunneling mit mehr Features ermöglichen. Dafür haben sich kommerzielle Dienste etabliert, die VPN-Service über DNS anbieten und die Umgehung vieler WiFi-Sicherheitskontrollen ermöglichen. Die meisten Tools haben aber spezifische Signaturen, die eine Erkennung und Schadensbegrenzung vereinfachen.