Alle Bedrohungen

Viren

Hacker

Spam

Alle Seiten    Viren
  
Virus Enzyklopädie
Alarme
Analysen
Nachrichten
Glossar
Weblog

 
Kalender

<< 2014  
Jan Feb Mär
Apr Mai Jun
Jul Aug  
     
Über die Autoren des Tagebuches
Über die Autoren des Tagebuches

Das Analytiker-Tagebuch ist ein weblog, das von den Analytikern des Kaspersky Lab unter der Leitung von Eugene Kaspersky unterhalten wird. Erfahren Sie mehr über die Autoren des weblog.

Cybercrime Umfrage

Sobald Sie Ihren PC mit dem Internet verbinden, wird er zu einem potenziellen Ziel für Cyberkriminelle. Genauso wie Einbrecher bei einem ungesicherten Haus leichtes Spiel haben, ist ein ungeschützter PC wie eine offene Einladung an Autoren von Malware. Cyberbedrohungen werden nicht nur immer raffinierter, sondern nehmen auch ständig zu: Unser Antiviruslabor verzeichnet derzeit über 17.000 neue Internetbedrohungen pro Tag.

Zur Umfrage

 

  Home / Weblog

Analytiker-Tagebuch

Erfolgsstory Botnetz-Zerschlagung: Wie Kaspersky Lab das Hlux/Kelihos-Botnetz stilllegte


  Tillmann Werner        3 Oktober 2011 | 17:35  MSK

Ihr Kommentar  

Zu Beginn der letzten Woche veröffentlichte Microsoft eine Ankündigung über die Zerschlagung eines gefährlichen Botnetzes, das vor allem für Spamversand, den Diebstahl sensibler Finanzinformationen, Pump-and-Dump-Aktienscams und verteilte DDoS-Attacken verantwortlich war.

Kaspersky Lab spielte bei dieser Zerschlagungsoperation eine Schlüsselrolle und ebnete den Weg zur Durchführung des Malware-Reverse-Engineering-Prozesses der Bot-Malware, der Analyse der Kommunikationsprotokolle sowie der Entwicklung von Werkzeugen, mit denen die Peer-to-Peer-Infrastruktur des Botnetzes aufgebrochen werden konnte. Wir kooperierten eng mit Microsofts Digital Crimes Unit (DCU), nutzten gemeinsam alle wichtigen Informationen und stellten zudem unser Live-Botnetz-Tracking-System zur Verfügung.

Ein wesentlicher Teil dieses Projekts ist das so genannte Sinkholing des Botnetzes. Wichtig hierbei ist zu verstehen, dass das Botnetz zwar auch weiterhin existiert, es aber von Kaspersky Lab kontrolliert wird. Parallel zu der Klage, die von Microsoft bei US-amerikanischen Gerichten eingereicht wurde, um die Domains zu deaktivieren, starteten wir unsere Sinkholing-Operation. Derzeit verbinden sich pro Minute etwa 3.000 Hosts mit unserem Sinkhole. Dieser Blogeintrag enthält eine Beschreibung der internen Funktionsmechanismen des Botnetzes sowie der von uns geleisteten Arbeit, durch die wir den weiteren Betrieb des Botnetzes unterbunden haben.

Zunächst ein paar technische Hintergrundinformationen: Kelihos ist Microsofts Name für das von Kaspersky als Hlux bezeichnete Botnetz. Hlux ist ein Peer-to-Peer-Botnetz, dessen Architektur eine Reihe von Ähnlichkeiten und Übereinstimmungen mit dem Waledac-Botnetz aufweist. Es besteht aus mehreren Ebenen mit unterschiedlichen Arten von Knoten: Controller, Router und Worker. Controller sind die vermutlich von den Hintermännern des Botnetzes gesteuerten Maschinen, welche Befehle an die Bots verteilen und die dynamische Struktur des Peer-to-Peer-Netzwerks überwachen. Router sind infizierte Geräte mit öffentlichen IP-Adressen. Sie lassen den Bot im Router-Modus laufen, hosten Proxy-Dienste, nehmen an Fast-Flux-Systemen teil, usw. Worker sind, ganz einfach gesagt, infizierte Geräte, die nicht im Router-Modus laufen. Sie werden für den Spamversand, das Sammeln von E-Mail-Adressen, das Abfischen von Nutzer-Zugangsdaten aus dem Netzwerk-Datenstrom, etc. eingesetzt. Unten sehen Sie eine schematische Darstellung dieser mehrschichtigen Architektur, beginnend mit der obersten Reihe aus vier Controllern und den grün dargestellten Worker-Knoten ganz unten.





Abb. 1: Architektur des Hlux-Botnetzes

Worker-Knoten

Viele Computer, die mit Schadcode infiziert werden können, haben keine direkte Verbindung mit dem Internet, sondern sind hinter Gateways, Proxies oder Geräten zur Network Address Translation (NAT) verborgen. Daher ist es ohne ein spezielles technisches Verfahren nicht möglich, von außen auf diese Rechner zuzugreifen. Für Bots, die infizierte Rechner in Peer-to-Peer-Netzwerken zusammenführen, ist das ein großes Problem, da in diesem Fall Dienste gehostet werden müssen, mit denen sich andere Computer verbinden können. Andererseits stellen diese Maschinen erhebliche Rechnerleistungen und Netzwerkbandbreiten bereit. Ein Rechner, auf dem der Hlux-Bot läuft, würde überprüfen, ob er von außen zugänglich ist, und, lautet die Antwort nein, sich selbst in den Worker-Betriebsmodus schalten. Worker verfügen über eine Liste mit Peers (d.h. anderen infizierten Rechnern mit öffentlichen IP-Adressen) und fordern von diesen Jobs an. Ein Job umfasst beispielsweise den Befehl, Spam-Nachrichten zu versenden oder sich an einem DDoS-Angriff zu beteiligen. Weiterhin kann der Bot auch die Anweisung erhalten, ein Update herunterzuladen und sich selbst durch die neue Version zu ersetzen.

Router-Knoten

Router bilden im Hlux-Botnetz eine Art Backbone-Ebene. Jeder Router führt – ebenso wie die Worker-Knoten - eine Peer-Liste mit Informationen über andere Peers. Gleichzeitig fungiert jeder Router als ein HTTP-Proxy, der eingehende Verbindungen an einen der Controller weiterleitet. Zwar können auch Router Jobs ausführen, aber ihr Hauptzweck besteht darin, die Proxy-Ebene vor den Controllern zur Verfügung zu stellen.

Controller

Die Controller-Knoten bilden die oberste, sichtbare Ebene des Zombie-Netzwerkes. Controller werden auf einem Nginx HTTP Server gehostet und liefern die Job-Nachrichten. Sie partizipieren nicht an dem Peer-to-Peer-Netzwerk und scheinen daher zu keinem Zeitpunkt in den Peer-Listen auf. Im Allgemeinen gibt es sechs von ihnen, die paarweise über verschiedene IP-Adressen in unterschiedlichen Ländern verteilt sind. Jeweils zwei IP-Adressen eines Paares haben einen gemeinsamen SSH RSA-Schlüssel, so dass höchstwahrscheinlich hinter jedem Adressenpaar in Wirklichkeit nur eine Box existiert. Ab und zu werden einige der Controller durch neue ausgetauscht. Unmittelbar vor der Abschaltung des Botnetzes enthielt die Liste folgende Einträge:


193.105.134.189

193.105.134.190

195.88.191.55

195.88.191.57

89.46.251.158

89.46.251.160

Das Peer-to-Peer-Netzwerk

Jeder Bot führt in einer lokalen Peer-Liste bis zu 500 Peer-Einträge. Diese Liste wird zusammen mit weiteren Informationen über die Konfiguration in der Windows-Registry unter HKEY_CURRENT_USER\Software\Google gespeichert. Wenn ein Bot erstmals auf einem frisch infizierten Rechner startet, initialisiert er seine Peer-Liste mit einigen hardcodierten, in der ausführbaren Datei enthaltenen Adressen. Die neueste Bot-Version wies insgesamt 176 Einträge auf. Die lokale Peer-Liste wird mit Informationen über die Peers, die der Bot von anderen Hosts empfängt, aktualisiert. Jedes Mal wenn sich ein Bot mit einem Router-Knoten verbindet, versendet er bis zu 250 Einträge aus seiner aktuellen Liste, und der remote Peer sendet ebenfalls 250 seiner Einträge zurück. Durch den Austausch von Peer-Listen werden die Adressen des zurzeit aktiven Router-Knotens in dem Botnetz verteilt. In einem Peer-Eintrag sind die in nachfolgendem Beispiel aufgeführten Informationen gespeichert:


m_ip: 41.212.81.2

m_live_time: 22639 seconds

m_last_active_time: 2011-09-08 11:24:26 GMT

m_listening_port: 80

m_client_id: cbd47c00-f240-4c2b-9131-ceea5f4b7f67

Die von Hlux implementierte Peer-to-Peer-Architektur bietet den Vorteil einer hohen Resistenz gegenüber Versuchen, das Botnetz zu zerschlagen. Dank seiner dynamischen Struktur ist bei festgestellten Unregelmäßigkeiten eine schnelle Reaktion möglich. Möchte ein Bot Jobs anfordern, verbindet er sich – ganz unabhängig davon, ob er im Worker- oder im Router-Modus läuft - niemals direkt mit einem Controller, sondern die Job-Anfragen werden stets über einen weiteren Router-Knoten gesendet. Selbst wenn also sämtliche Controller-Knoten offline gehen würden, bliebe die Peer-to-Peer-Ebene weiterhin aufrecht und würde als Instrument, das einen neuen Controller-Satz anmeldet und verbreitet, fungieren.

Das Fast-Flux-Service-Netzwerk

Außerdem beliefert das Hlux-Botnetz zahlreiche Fast-Flux-Domänen, die in dem Domain Name System mit einem TTL-Wert von 0 angegeben werden, um jegliche Cachingmöglichkeiten zu verhindern. Bei einer Suchanfrage nach einer dieser Domänen wird lediglich eine einzige IP-Adresse zurückgemeldet, die zu einer infizierten Maschine gehört. Die Fast-Flux-Domänen stellen einen Fall-Back-Kanal bereit, der von den Bots genutzt werden kann, um wieder auf das Botnetz zuzugreifen, sollten einmal alle Peers aus der lokalen Liste nicht erreichbar sein. Jede Botversion enthält eine individuelle, hardcodierte Fall-Back-Domäne. Microsoft hat diese Domänen abgemeldet und den Fall-Back-Kanal wirksam außer Betrieb gesetzt. Die Auflistung unten zeigt eine Reihe von DNS-Namen, die vor der Zerschlagung des Zombienetzes aktiv waren – für den Fall, dass Sie einen Blick auf Ihren DNS-Resolver werfen möchten. Sollten Sie dabei auf Maschinen stoßen, die nach einem von diesen Namen fragen, sind sie möglicherweise mit Hlux infiziert und sollten unbedingt im Auge behalten werden.


hellohello123.com

magdali.com

restonal.com

editial.com

gratima.com

partric.com

wargalo.com

wormetal.com

bevvyky.com

earplat.com

metapli.com

Das Botnetz nutzte zudem hunderte Subdomänen auf ce.ms und cz.cc die kostenlos registriert werden können. Allerdings dienten diese lediglich der Verteilung von Updates und nicht als Backup-Link zu dem Botnetz.

Gegenmaßnahmen

Ein Bot, der die Möglichkeit hat, sich mit dem Peer-to-Peer-Netzwerk zu verbinden, wird niemals eine Fall-Back-Domäne auflösen – einfach, weil es nicht notwendig ist. So hat auch unsere Botnetz-Überwachung in den sieben Monaten, in denen das Botnetz betrieben wurde, keinen einzigen Versuch, auf den Backup-Kanal zuzugreifen, aufgezeichnet, da zu jedem Zeitpunkt mindestens ein weiterer Peer erreichbar war.

Die Kommunikation für Bootstrapping und den Empfang von Befehlen läuft über ein speziell zugeschnittenes Protokoll, das ein strukturiertes Nachrichtenformat, Verschlüsselung, Komprimierung und Serialisierung implementiert. Der Bot-Code beinhaltet einen Protokoll-Dispatcher für die Weiterleitung der eingehenden Nachrichten (Bootstrap-Nachrichten, Jobs, SOCKS-Kommunikation) an die jeweiligen Funktionen, während gleichzeitig alles auf einen einzigen Port gelegt wird. Wir haben für dieses Protokoll einen Reverse-Engineering-Prozess durchgeführt und Werkzeuge entwickelt, mit deren Hilfe sich der Datenverkehr des Botnetzes entschlüsseln lässt. Die Fähigkeit, Bootstrap-Aktivitäten und Job-Nachrichten an einen vorsätzlich infizierten Host zurückverfolgen zu können, lieferte uns einen Überblick darüber, welche Vorgänge im Botnetz bei der Verteilung von Updates stattfinden, welche Veränderungen in seiner Architektur vorgenommen werden und, bis zum einem gewissen Grad, auch, wie viele infizierte Maschinen das Botnetz umfasst.





Abb. 2: Verbindungen mit dem Sinkhole pro Minute

Am letzten Montag begannen wir mit der Verbreitung einer bestimmten Peer-Adresse. Schon bald wurde diese Adresse zur vorherrschenden Adresse im gesamten Botnetz, was die Bots letztendlich mit unseren Maschinen kommunizieren ließ - und zwar ausschließlich mit unseren Maschinen. Eine derartige Operation wird in der Fachwelt als sinkholing bezeichnet, d.h. dass Bots statt mit ihren echten Controllern mit einem Sinkhole kommunizieren. Gleichzeitig brachten wir eine speziell gearbeitete Liste mit Job-Servern in Umlauf, um die Originalliste mit den bereits erwähnten Adressen zu ersetzen und die Bots daran zu hindern, Jobs anzufordern. Von diesem Moment an konnte das Botnetz von seinen Hintermännern nicht länger befehligt werden. Und da die Bots mittlerweile mit unseren Maschinen kommunizieren, können wir über so genanntes Data-Mining beispielsweise die Infizierungen pro Land nachvollziehen. Bisher haben wir 49.007 unterschiedliche IP-Adressen gezählt. In Zusammenarbeit mit Providern von Internetdiensten informiert Kaspersky Lab die Netzwerk-Betreiber über die Infektionen.





Abb. 3: Untergrabene IP-Adressen pro Land

Und nun?

Die wichtigste Frage lautet nun: Was kommt als nächstes? Offensichtlich können wir Hlux nicht ewig mit einem Sinkhole ausschalten. Die gegenwärtigen Maßnahmen stellen lediglich eine Übergangslösung dar, können das Problem jedoch nicht endgültig beseitigen, da die einzige wirkliche Lösung in einer Säuberung aller infizierten Maschinen bestünde. Wir gehen davon aus, dass die Zahl der Hosts, die sich mit unserem Sinkhole verbinden, mit der Zeit langsam zurückgehen wird, da die Computer gesäubert und neu aufgesetzt werden. Laut Microsoft fügte das hauseigene Malware Protection Center den Bot bereits zu seinem Malicious Software Removal Tool hinzu. Angesichts der verbreiteten Nutzung ihres Tools wird dies eine unmittelbare Auswirkung auf die Anzahl der infizierten Geräte haben. Dennoch haben wir in den letzten 16 Stunden immer noch 22.693 einmalige IP-Adressen beobachtet und hoffen, dass diese Zahl schon bald weitaus niedriger ausfallen wird.

Interessanterweise gibt es noch eine weitere theoretische Option, um Hlux ein für alle Mal loszuwerden: Wir kennen die Abläufe des Update-Prozesses des Botnetzes und könnten dieses Wissen einsetzen, indem wir ein eigenes Updates bereitstellen, das die Infektionen entfernt und sich dann selbst beendet. In den meisten Ländern allerdings wäre diese Vorgehensweise illegal und muss daher im Bereich des Theoretischen bleiben.

Auf jeden Fall aber interessiert uns Ihre Meinung. Teilen Sie uns mit, was Sie über die beschriebenen Optionen denken und für welche Sie sich entscheiden würden. Kommentare zu diesem Blogeintrag sind ebenfalls willkommen.

Danksagung

Für den Betrieb eines Botnetz-Sinkholes, das in der Lage ist, eine enorme Zahl an Verbindungen zu behandeln, sind entsprechende Ressourcen notwendig. Wir möchten uns bei SURFnet für die Unterstützung der Operation, und insbesondere für die Bereitstellung einer perfekten Infrastruktur für den Betrieb des Sinkholes, herzlich bedanken.

 

Copyright © 1996 - 2014
Kaspersky Lab
Industry Leading Antivirus Software
Alle Rechte vorbehalten
 

Email: webmaster@kaspersky.com
Datenschutzbestimmungen