Das Erkennen von Zombies mit Wasserzeichen

Nachdem Stefan Mertinatsch am letzten Freitag unsere Reihe von Blogbeiträgen durch Studierende der FHPolBB mit einem grundlegenden Beitrag über Zombierechner und Botnetze gestartet hat, vertieft PKA Mark Le Corre dieses Thema heute und schreibt auf einer stärker technischen Ebene darüber, wie man Botnetze mit Hilfe von so genannten Wasserzeichen kennzeichnen und in der Folge identifizieren kann.

(Ganz besonders erfreulich ist dabei, dass Mark Le Corre unser Bloggerteam auch fortlaufend verstärken wird. Wir freuen uns schon jetzt auf weitere Beiträge von ihm und heißen ihn herzlich willkommen.)

Amir Houmansadr und Nikita Borisov haben kürzlich an der Universität Illinois eine Möglichkeit entwickelt, Zombies („Bots“) mithilfe von sogenannten Wasserzeichen erkennbar zu machen. Diese Verwendung von derartigen Wasserzeichen ist eine wichtige Entwicklung in der IT-Sicherheit und wird in den nächsten Jahren vielfältige Einsatzmöglichkeiten erfahren – Grund genug, sie in diesem Blogbeitrag genauer zu betrachten.

Um die Relevanz dieser Wasserzeichen angemessen verstehen zu können, sollten wir uns zunächst einige Grundlagen vergegenwärtigen: Ein Zombie ist ein mit Schadsoftware infizierter Rechner, der durch den Angreifer ferngesteuert werden kann. Ein Zusammenschluss von mehreren Bots wird Botnetz und der Betreiber eines Botnetzes wird Botmaster genannt. Botnetze gehören derzeit zu den größten Gefahren im Internet und verursachen jährlich immense Schäden (siehe ausführlich im Beitrag von Stefan Mertinatsch).

Die Kontrolle über solche Botnetze kann in zwei grundlegenden Kommunikationsstrukturen durchgeführt werden. Zum einen über eine zentralisierte zum anderen über eine dezentralisierte Architektur.

Abbildung der Serverstrukturen von Mark Le Corre
Kommunikationsstrukturen von Botnetzen

Bei einer dezentralisierten Architektur sendet der Botmaster seine Anweisung an einen Zombie, der diesen Befehl dann an andere Zombies weiterverbreitet. Der Vorgang wird solange wiederholt bis alle Zombies im Botnetz diese Anweisung erhalten haben. Eine solche Verbreitungsmethode ist vergleichbar mit einem Schneeball-System, in dem jeder Zombie die Anweisung über einen gewissen Zeitraum verteilt erhält.

Bei der zentralisierten Form verbinden sich die Zombies hingegen mit einem Server (Command and Control Server, kurz C&C-Server) und warten auf Anweisungen. Der Botmaster meldet sich dort an und verteilt dann seine Befehle. Er kann diese Befehle gezielt an einzelne Zombies oder an größere Gruppen richten. Dem Botmaster ist dabei ersichtlich, wie viele Rechner sich angemeldet haben. Er kann daher abschätzen, ob gerade genug Rechner verfügbar sind, damit von ihm beabsichtigte Angriffe mit seinen Zombies erfolgreich sein werden. An diese Architektur knüpft das Wasserzeichenmodell von Houmansadr und Borisov an.

Versuchen wir nachzuvollziehen, wie dies funktioniert: Grundsätzlich erfolgt ein Informationsaustausch zwischen zwei Systemen durch das Versenden von Datenpaketen. Solche Datenpakete werden in Abständen übermittelt und enthalten dabei individuelle Informationen, die nach ihrem Weg durch das Internet auf dem Zielrechner wieder zusammengefügt werden. Beispielsweise wird ein Urlaubsfoto aus Dänemark, das Sie Ihrer Familie in Berlin zumailen, nicht als eine große Gesamtinformation gesendet. Der Versand erfolgt stattdessen durch kleine kodierte Informationspakete. Diese wandern auf zum Teil unterschiedlichen Wegen durch das Internet und fügen sich auf dem Rechner ihrer Familie wieder zu der Gesamtinformation des Fotos zusammen. Gehen unterwegs kleinere Informationen verloren, werden sie erneut auf den Weg geschickt. Das verläuft so schnell, dass keine wesentliche Verzögerung auftritt. Bei Befehlen des Botmasters an seine Botherde ist das ähnlich. Was uns nun in Bezug auf Wasserzeichen vor allem interessiert, ist der individuelle Abstand zwischen den kleinen Datenpaketen ihres Gesamtfotos, bzw. zwischen den Teilen des Befehls an das Botnetz. Durch eine gezielte Veränderung der zeitlichen Abfolge dieser Datenpakete kann ein wiedererkennbares Muster erzeugt werden. Und genau dieses Muster wird Wasserzeichen genannt.

Abbildung "Abstand der Pakete"
Abstand der Datenpakete

Damit ein solches Wasserzeichen erzeugt werden kann, wird ein spezielles Gerät in den Kommunikationsweg geschaltet. Alle Datenpakete durchlaufen dieses Gerät und werden dabei gemäß Befehl des Wasserzeichens angeordnet. Das Wasserzeichen wird also in die Struktur des ausgehenden Datenverkehrs der Zombies integriert.

Die Schwierigkeit besteht nun allerdings in der Erkennung von Zombies, um diese überhaupt markieren zu können – denn mittlerweile ist die Entwicklung so weit fortgeschritten, dass sich aktuelle Zombies recht gut tarnen. Eine Erkennungsmöglichkeit bietet hier der Einsatz von absichtlich schwach geschützten und mit dem Internet verbundenen Systemen. Diese Malware-Fallen sind bewusst so konstruiert, dass sie mit Schadsoftware infiziert und nach einer erfolgreichen Infektion analysiert werden können. Man nennt sie im Fachjargon Honeypots, also Honigtöpfe, die Schadsoftware zur Identifizierung anlocken sollen. Mit Hilfe solcher Honeypots lassen sich nun auch Zombies ausmachen und deren Datenverkehr mit dem beabsichtigten Wasserzeichen versehen. Es ist sogar eine Verstärkung des Wasserzeichens möglich, indem der Datenverkehr von mehreren Zombies simultan gekennzeichnet wird. Das führt dann zu einer Steigerung der Reichweite der jeweiligen Wasserzeichen, da sie nicht mehr so leicht durch das Weiterleiten von Server zu Server beeinflusst werden können.

Eine Wiedererkennung des Wasserzeichens erfolgt dann durch den Einsatz von Detektoren. Das sind Rechner die den Datenverkehr auf die gezielt gesetzten Wasserzeichen überprüfen. Ohne eine Verstärkung des Signals wäre die Analyse von mehreren hundert Datenpaketen nötig, um ein Wasserzeichen mit der nötigen Sicherheit zu erkennen. Die angesprochene Verstärkung des Wasserzeichens ermöglicht jedoch, sie bereits anhand einer weit geringeren Anzahl von Abfolgen zwischen den Paketen zu identifizieren. Idealerweise sollten die Detektoren jedoch in größerer Anzahl vorhanden sein und strategisch gut platziert werden. Dafür eignen sich insbesondere Schnittstellen zwischen Netzwerken und den Internetzugängen von Unternehmen, Organisationen und Behörden sowie Knotenpunkte zwischen den Internetanbietern (Internet Service Provider).

Bedingt durch die zentralisierte Architektur versuchen die Zombies regelmäßig, sich mit dem C&C-Server zu verbinden, um Instruktionen zu erhalten. Die Zombies erhalten dann oft Anweisungen, nach bestimmten Daten zu suchen, welche für den Botmaster wichtig sein könnten – hierzu zählen etwa Kreditkartendaten bzw. Anmeldedaten für Onlineshops oder für Online-Banking. Diese Datensätze sendet der Zombie zum C&C-Server und von dort aus werden sie weiter zu anderen Rechnern und zum Botmaster gesandt. Bei gut platzierten Detektoren lässt sich anhand des Wasserzeichens im (noch seltenen) Idealfall der komplette Weg der Informationen bis zu dem Botmaster zurückverfolgen.

Es sind jedoch keineswegs alle Botnetze primär über einen zentralen C&C-Server verbunden, denn das einfache Abschalten des C&C-Servers würde dann die zentralisierte Architektur zerstören. Die mit dem zentralen Server verbundenen Zombies könnten schlicht keine weiteren Informationen mehr empfangen, wenn er nicht mehr zur Verfügung steht. Daher werden auch hybride Botnetz-Strukturen genutzt, bei denen die beiden vorgestellten Architektur-Modelle miteinander verwoben werden. Bei einer solchen hybriden Architektur kommunizieren die Zombies zusätzlich verstärkt untereinander, ohne den herkömmlichen C&C-Server einzubeziehen. Sie tauschen dabei untereinander Informationen aus, die bspw. IP-Adressen von weiteren Zombies oder auch Listen von Daten enthalten, die auf den infizierten Rechnern gespeichert sind. Solche Broadcast-Nachrichten erreichen eine große Anzahl von weiteren Zombies und erhöhen als Konsequenz der verstärkten Kommunikation auch deutlich die Trefferquote der Detektoren.

Die Nutzung von Wasserzeichen bietet also offenbar einen vielversprechenden Ansatz für die Zukunft. Schauen wir uns dazu abschließend noch einige Vor- und Nachteile an.
Einen Vorteil sehe ich in der relativ leichten Umsetzbarkeit. Das vorgestellte Modell benötigt nicht viele Ressourcen, um es in der Praxis anzuwenden. So gibt es derzeit bereits einige Universitäten und Einrichtungen die Honeypots bereitstellen können. Zudem wird ein Gerät für das Setzen von Wasserzeichen, halbwegs gut platzierte Detektoren und eine Kooperationen zu den Internet-Anbietern benötigt. Diese Detektoren sind im Grunde nur gebräuchliche Rechner, benötigen aber entsprechende Software, um als Detektoren nutzbar zu sein. Im Großen und Ganzen ist das Modell im Vergleich zu gängigen anderen Systemen also eine preiswerte Alternative.
Noch dazu bleiben Aspekte einer verschlüsselten Kommunikation und komplexer Analysen unberührt, denn die Kommunikation wird unabhängig vom individuellen Inhalt der Information mit dem jeweiligen Muster versehen.

Das Modell hat jedoch auch Schwachstellen. So können die gesetzten Wasserzeichen nur solange von den Detektoren erkannt werden, wie das Wasserzeichen nicht allzu stark verändert wird. Falls die einzelnen Datenpakete einer übermittelten Information auf einem Server gesammelt und nach bestimmten Kriterien gefiltert werden, kann das neue Zusammensetzen und die anschließende Weiterleitung der Daten jedoch auch das Wasserzeichen quasi „löschen“. Weitere Probleme ergeben sich aus dem sinnvollerweise flächendeckenden Einsatz von Detektoren und den dazu notwendigen Kooperationen mit Internet-Anbietern. Ohne eine hohe Verbreitung der Detektoren an sinnvollen Stellen wäre die erzielbare Wirkung sehr begrenzt. Allerdings wäre es dennoch möglich, Zombies innerhalb der eigenen Reihen zu erkennen. Wenn eine Broadcast-Nachricht gesendet wird, erreicht diese Nachricht schließlich eine große Anzahl von anderen Zombies. Daher könnte zumindest registriert werden, ob ein gekennzeichneter Datenverkehr die eigenen Detektoren durchläuft.

Die Technisierung unserer Gesellschaft, die Entwicklung sich beständig verändernder Strukturen und die stets einfallsreichen Möglichkeiten, neue Formen der Kriminalität im Internet zu entwickeln bedeutet, dass man sich bezüglich der Verbesserung der IT-Sicherheit nie ausruhen darf … und nie völlig sichere Systeme erzeugen kann. In Bezug auf die Eindämmung von Schaden verursachenden Botnetzen, scheint die Nutzung von Wasserzeichen jedoch aktuell sehr vielversprechend. Wir dürfen gespannt sein, wie die Entwicklung in den nächsten Jahren fortschreitet.

2 thoughts on “Das Erkennen von Zombies mit Wasserzeichen

  • 24. Juli 2014 um 11:25
    Permalink

    Ist nicht eher gemeint, dass die Kommunikation bzw. der Abstand zwischen den einzelnen Paketen eine wiedererkennbare Signatur besitzt, diese also nicht generiert, sondern „einfach“ nur monitored und protokolliert werden muss?
    Irgendwie vermittelt der Artikel den Eindruck, dass diese Signatur aktiv erzeugt wird, was unter vorg. Annahme eben nicht der Fall ist.

    Antwort
    • 25. Juli 2014 um 1:38
      Permalink

      Ich danke Ihnen für Ihren Beitrag!
      Wenn die Honeypots mehrere Bots „gefangen“ haben werden die ausgehenden Daten manipuliert, also in der zeitlichen Abfolge der Pakete aktiv verzögert. Die Manipulation von einem Bot macht dabei nicht so viel Sinn, da die Wahrscheinlichkeit für Paketverluste oder Netzwerkstörungen (sog. Rauschen) gegeben ist und damit das Wasserzeichen unbrauchbar wird. Eine Überwachung (Monitoring) wird von den Detektoren durchgeführt. Hierbei wird das Wasserzeichen aus dem eingehenden Datenfluss gefiltert. Die Signaturen werden dann mit einer Datenbank vom Wasserzeichen-Provider abgeglichen und betroffene Geräte markiert.

      Durch das Senden allein wird keine individuelle Signatur erreicht. Die Datenpakete werden quasi mit so geringem Abstand in das Netzwerk gesendet, dass durch das Rauschen kein eindeutiges Muster zustande kommt.

      Mit freundlichen Grüßen,
      Mark Le Corre

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

CAPTCHA
Change the CAPTCHA codeSpeak the CAPTCHA code