DNS Unlocker Werbung im Browser: Warnung, Ursache und Lösung

Technik
DNS Unlocker Werbung im Browser: Warnung, Ursache und Lösung

Viren – so kommt es mir vor – sind heute kein wirkliches Problem. Browser haben Blacklists für Malware-Seiten, E-Mail-Anhänge werden vorab überprüft und selbst normale AdWare nimmt ab. Einen richtigen Virus hatte ich schon länger nicht auf meinen Geräten. Doch in dieser Sicherheit überraschte mich der DNS Unlocker.

Was ist der DNS Unlocker?

Augenscheinlich handelt es sich um eine Software, welche die DNS Einstellungen des Computers ändert. DNS steht für Domain Name Server. Dieser Server liefert keine Daten sondern löst einen Namen in eine IP-Adresse auf. Gibt man z.B. www.google.com in den Browser ein, fragt dieser einen DNS-Server (idR. den DNS-Server des jeweiligen Internetproviders), welche IP-Adresse hinter diesem Domainnamen steht. Ist der DNS-Server aber schadhaft, kann er z.B. statt dem echten Google Server eine ähnlich aber falsche Seite ausgeben. Dies ist schwer zu erkennen, besonders für den Endnutzer. Und auch die Virensoftware hat so mach Problem damit.

Diesen DNS Unlocker gibt es tatsächlich. Er installiert sich als Toolbar, als Software unter „Programme und Features“ unter C:\Program files\, er ändert die Registry und gräbt sich tief im System ein. Doch den installierten DNS Unlocker meine ich hier nicht. Zu dieser Variante gibt es wohl tausende Lösungs- und Löschungsvorschläge im Internet.

Ich meinen eine Variante, die im Browser Werbebanner und alle erdenklicken Variante an Pop-Up-Bannern erstellt. Diese Variante wird nicht lokal installiert, es gibt keinen Hinweis auf ein infiziertes System, keine Registry-Einträge. Daher wird und kann er auch nicht von Anti-Malware- oder Antivirus-Software erkannt werden. Dies war nämlich auch der erste Entfernungsversuch: Spybot Search & Destroy und Malwarebytes haben mein System auf Herz und Nieren gescannt. Nichts.

Woran erkennt man eine Infektion?

Werbung. Es kommt unverhältnismäßig viel Werbung und viele Pop-Ups und das auf allen möglichen Seiten. Ursprünglich dachte ich, die Seite wurde gehackt. Was schockierend war, da ich der Webmaster bin. Tatsächlich war die Werbung aber auf vielen Seiten und die Hersteller dieser zweifelhaften Wonne besitzen auch noch die Frechheit, „powered by DNS Unlocker“ anzumerken. Einfach nach dieser Phrase (meist rechts unter der Werbung) ausschau halten. Übrigens fand ich im Zuge der Recherche auch andere Namen: Lights off, Enterprise 1.1 und wahrscheinlich noch andere.

Dabei macht die Software auch keinen Halt vor mobilen Endgeräten. Ich habe bereits eine Infektion auf einem iPad mini 2, einem Moto X 214 und einem Nexus 7 2. Generation gesehen. Ansonsten waren bisher nur Windows PCs betroffen, im Internet finden sich aber viele Meldungen auf Mac.

Ursache der DNS-Unlocker Infektion

Wie kommt der DNS-Unlocker nun also in den Browser? Hierzu kann auch ich nur spekulieren. Ein Teil des Rätsels ist Google Analytics. Die Datei www.google-analytics.com/ga.js wird standardmäßig auf vielen Seiten aufgerufen und dient vor allem der Messung von Besucherzahlen und anderen Kennzahlen. Google Analytics ist weit verbreitet und daher wurde wohl auch diese Datei als Infektionsquelle gewählt.

Man muss nun wissen, dass moderne Browser eine Cache (Zwischenspeicher) von bestimmten Dateien anlegen. Bilder, Style-Dateien und eben JavaScript-Dateien – wie ga.js – werden auf dem Computer als Cache automatisch gespeichert. Sonst müsste der Browser bei jedem Aufruf jedes Bild und jede Datei neu laden. Der Datenverkehr im globalen Internet würde sich schlagartig vervielfachen.

Wenn noch dazu mehrere Websites die gleiche Datei aufrufen – wie eben die Datei www.google-analytics.com/ga.js - dann muss diese nicht für jede Websites neu zwischengespeichert werden. Sie wird nur einmalig in die Cache gelegt und dann gemeinsam verwendet.

Da kann man ja einfach eine falsche ga.js Datei in die Cache legen? Wäre doch schlau, wenn man ein betrügerischer Hacker ist? So einfach ist das zum Glück nicht. Die Datei muss schon tatsächlich von der gleichen Domain stammen. Ruft man eine Seite mit Google Analytics auf, scannt der Browser die Cache nach der Datei www.google-analytics.com/ga.js und er muss auch exakt diese Datei von der exakten Domain im Browser finden, damit er sie verwendet. Andernfalls lädt er eine neue Version herunter.

Aber genug vom dem kurzen Exkurs in Sachen Browser Caching und zurück zum Problem. Der DNS Unlocker nutzt nun irgendeine Schwachstelle, um die Datei durch eine schadhafte Variante zu ersetzen. Diese enthält neben dem Google Tracking Code auch noch eine Schleuse um mittels JavaScript Werbung und Pop-Ups in diverse Seiten zu injizieren. Der Sinn von JavaScript Dateien ist übrigens genau dieser. Solche Dateien sollen nachträglich – also nachdem die Seite geladen wurde – die Seite dynamisch verändern können. Diese Methode wird auch genutzt um reguläre Werbung zu laden. Ein weiteres Anwendungsbeispiel ist die Überprüfung von Formulardaten oder die Animation von Inhalten, …

Schuld ist also nicht JavaScript sondern die schadhafte ga.js-Datei. Wann und warum diese Datei schadhaft wird, kann ich nur raten. Alle nachstehenden Varianten werden von mir zwar als unwahrscheinlich aber möglich angesehen. Ich liste Sie dennoch hier auf um mögliche Abgleichungen mit euch, lieben Lesern, vornehmen zu können. Hinterlasst mir einen Kommentar, wenn ihr euch wieder findet.

  1. Die Google Server sind infiziert: sehr unwahrscheinlich. Google scannt die eigenen Server laufend und der Befall ist nicht weit genug ausgebreitet. Außerdem scheint die HSTS-Lösung zu funktioniert (mehr dazu zum Schluss), was gegen ein Problem bei Google selbst spricht. Außerdem können theoretisch auch andere Dateien befallen sein. Ein möglicher Schuldiger ist die Cookie-Leiste, die in Europa unnützerweise angezeigt werden muss.
  2. Die Hutchison Drei DNS Server sind infiziert: unwahrscheinlich. Drei ist ein österreichischer Mobilfunker, der auch 4G Internet für zuhause anbeitet. Dies ist allerdings vor allem daher unwahrscheinlich, da ich auf meinen Geräte die Google DNS Server eingestellt hatte und dennoch weitere Infektionen auftraten. Dennoch waren alle mir bekannten Infektionen ausschließlich im mobilen Netz von Drei. Dies kann Zufall sein, da überwiegend viele Bekannten privat in diesem Netz surfen. Es ist aber auch eine der wenigen Gemeinsamkeiten.
  3. Die Drei Server sind infiziert: wahrscheinlich! Alle Indizien sprechen für einen Befall der normalen Server, die den Traffic weiterleiten und an das Google Analytics Script beim unverschlüsselten Aufruf manchmal den Schadcode anhängen. Bisher konnte ich nur Drei-Kunden mit dem DNS Unlocker finden und ansonsten lassen sich keine Gemeinsamkeiten finden.
  4. Google’s Chrome Browser hat eine Sicherheitslücke: Bisher habe ich die Infektion nur im Chrome Browser gesehen – sowohl unter Windows, Android als auch iOS. Das einzige, das dagegen spricht, ist die vergleichsweise geringe Anzahl und geografische Clusterung der Infektionen. Abseits von Österreich fand ich fast nur Fälle im Nahen Osten und einige in den USA. Doch das ist alles nur „Gefühl“. Mir fehlen da konkrete Zahlen, um es genauer sagen zu können.
  5. Infizierte Router: unwahrscheinlich. Zuerst dachte ich an meinen Huawei E5170 Router. Doch die mobile Infektion unterwegs lies mich daran zweifeln. Nun hat auch ein Freund in Wien einen anderen Router (Drei Webgate 3 von ZTE) und ist auch von dem Problem betroffen – sowohl auf Windows-PC als auch am Android-Handy. Bei mir hängt zudem ein Netgear WNR3500Lv2 (Link zur neueren Version) als WLAN-Router dran (der E5170 dient nur als Modem). Dieser Router hat Tomato by Shibby als Firmware installiert. Auch das ist eine Möglichkeit, aber unwahrscheinlich, denn der Wiener Freund hat weder dieses Gerät noch Tomato irgendwo installiert. Ein vorsorgliches Zurücksetzen der Geräte hat das Problem ebenfalls nicht gelöst. Die Standardpasswörter wurden sicherheitshalber ohne Internetzugang direkt nach dem Aufsetzen geändert.
  6. Netzwerk-Virus: unwahrscheinlich. Irgendein Gerät (Router, Modem, Drucker, …) ist infiziert und „teilt“ freundlicherweise die schadhafte ga.js-Datei mit allen anderen Geräten. Hierfür gibt es aber nur einen Beleg, eine Antwort auf meinen Reddit-Post. Die Ursache – also wie sich Patienz 0 infiziert – wäre aber damit nicht geklärt.
  7. Cache-Sharing: unbekannt. Windows, Chrome oder ein Netzwerkprotokoll teilt bzw. synchronisiert die Cache unter den Geräten. Und verteilt so die schadhafte Datei. Davon hätte ich allerdings noch nie gehört.
  8. Etwas anderes: Woher soll ich das dann wissen ;-)

Jetzt liegt es an euch. Lest bitte noch den Punkt „Lösung“ durch. Wenn ihr ebenfalls nur eine Browser-Infektion ohne lokal installiertem DNS Unlocker habt, hinterlasst mir einen Kommentar. Erwähnt ähnliche Geräte, euren Internetprovider, Betriebssysteme, Standorte, … alles was zu einem Muster führen könnte.

Lösung: Wie entfernt man den DNS Unlocker im Akutfall

Das ist simpel: Cache löschen. Wichtig ist, vorher alle Browser Seiten schließen. Das Löschen funkioniert sowohl über die Chrome-Einstellungen selbst als auch über Drittsoftware wie den CCleaner (allerdings verhindert der DNS Unlocker den Download dieses Programms).

Auch am Smartphone oder Tablet gilt die gleiche Vorgehensweise. Chrome öffnen, alle Fenster schließen, drei Punkte (Menu) tippen und unter Einstellungen > Privatsphäre findet ihr den Butten Browserdaten löschen. Auch hier genügt es, die Cache zu leeren.

DNS Neu-Infektion vermeiden

Mit etwas Pech holt ihr euch den DNS Unlocker beim nächsten Aufrufen einer Seite mit Google Analytics wieder und das Spiel geht von vorne los. Um das zu verhindern, solltet ihr dem Browser mitteilen, dass er nur verschlüsselte Dateien mit sicherer Verbindung von google-analytics.com annehmen darf.

  1. Dazu gebt ihr in euren Browser chrome://net-internals#HSTS ein
  2. Unter dem Punkt Query gebt ihr google-analytics.com und klickt auf den Query-Button
  3. Die Anfrage gibt unter anderem einen SH1 Hash zurück, kopiert diesen vollständig
  4. Gebt unter Add wieder google-analytics.com und hakt die Optionen mit Subdomains an
  5. Tragt unten den SH1 Hash ein
  6. Klickt auf Add

Weitere Domains die verschlüsselt werden sollten:

  • www.google-analytics.com
  • googletagmanager.com
  • doubleclick.net
  • googlesyndication.com

Schon wird beim Aufrufen die verschlüsselte Variante der ga.js angefordert, auch wenn der jeweiligen Seite eigentlich eine unverschlüsselte Variante genügt hätte.

Ein weiterer guter Tipp aus den Kommentaren ist das Installieren der Browsererweiterung HTTPS Everywhere für Chrome oder Firefox. So werden gleich alle Seitenaufrufe auf die sichere SSL-Verbindung umgeleitet (Danke @Drei_Surfer).

Das sollte helfen. Für weitere Tipps bin ich aber offen und würde mich über eure Unterstützung freuen.

Permalink: https://to.ptmr.io/1PZe9UP