• IT-Karriere:
  • Services:

Adblock Plus: Adblock-Filterregeln können Code ausführen

Unter bestimmten Voraussetzungen können Filterregeln für Adblocker mit einer neuen Funktion Javascript-Code in Webseiten einfügen. Adblock Plus will reagieren und die entsprechende Funktion wieder entfernen. Ublock Origin ist nicht betroffen.

Artikel von Hanno Böck veröffentlicht am
Eine neue Form von Filterregeln kann zum Sicherheitsrisiko für Werbeblocker werden.
Eine neue Form von Filterregeln kann zum Sicherheitsrisiko für Werbeblocker werden. (Bild: Pixabay/Pixabay License)

Verschiedene Werbeblocker sind durch eine neue Funktion für Filterregeln anfällig für Angriffe. Dabei müssen eine Reihe von Voraussetzungen zusammenkommen. Dem Softwareentwickler Armin Sebastian gelang es, einen Beispielangriff auf Webseiten von Google zu demonstrieren.

Stellenmarkt
  1. Dataport, verschiedene Standorte
  2. Migratec Netzwerktechnik GmbH, Backnang bei Stuttgart

Adblocker arbeiten mit Filterlisten, die durch verschiedene Regeln den Inhalt von Webseiten beeinflussen können. Die Filterregeln sind allerdings in ihren Möglichkeiten beschränkt. Im Normalfall können sie zwar Inhalte aus Webseiten entfernen, sie sollten aber keine neuen Inhalte hinzufügen können und insbesondere auch keinen Code im Kontext von Webseiten ausführen.

Neue Filterfunktion erlaubt Umschreiben von URLs

Doch eine neue Filterfunktion, die im Juli 2018 in Adblock Plus eingeführt wurde, ermöglicht es, diese Beschränkungen zu umgehen. Mit den sogenannten Rewrite-Filterregeln können Filterlisten die URLs von HTTP-Anfragen umschreiben - allerdings nur innerhalb eines Hosts. Auch gibt es einige zusätzliche Sicherheitsbeschränkungen, so können etwa durch Script-Tags geladene Javascript-URLs nicht direkt umgeschrieben werden.

Doch Script-Tags sind nicht die einzige Möglichkeit, mit der Webseiten Javascript nachladen. Auf komplexeren Webseiten wird Javascript-Code oft dynamisch nachgeladen, etwa über die XMLHttpRequest-Funktion oder über die Fetch-API. Das ist etwa auf der Google-Webseite der Fall.

Damit ist es möglich, HTTP-Anfragen umzuschreiben, bei denen Javascript-Code geladen wird. Doch da das Umschreiben nur innerhalb eines Hosts funktioniert, braucht es einen weiteren Trick für einen Angriff. Dafür dienen Weiterleitungen. Auf den Google-Hosts ist es möglich, eine URL zu generieren, die auf eine beliebige externe URL weiterleitet.

Damit ist der Angriff komplett: Die Filterregel schreibt eine Anfrage, bei der Javascript nachgeladen wird, auf eine entsprechende Weiterleitung um. Diese leitet auf eine vom Angreifer kontrollierte URL um.

Der Entdecker der Lücke hatte den Angriff auch an Google gemeldet, das Unternehmen war aber der Ansicht, dass es sich um ein erwünschtes Verhalten der Google-Webseite handelt und der Fehler in den Adblock-Plugins liegt.

Bösartige Filterregeln können Account kontrollieren

Der gesamte Angriff basiert darauf, dass der Nutzer entweder Filterregeln installiert, deren Autor den Angriff durchführt, oder dass die Filterregeln bei der Übertragung manipuliert wurden. Letzteres ist möglich, wenn diese über HTTP und nicht über HTTPS geladen werden. Die meisten Filterregeln werden inzwischen über HTTPS ausgeliefert, einige nicht standardmäßig aktivierte Listen werden aber über unsicheres HTTP übertragen.

Bei einem Angriff kann dem Nutzer beliebiger Javascript-Code untergeschoben werden, der im Kontext der Webseite ausgeführt wird. In der Praxis bedeutet das, dass der Angreifer alle Aktionen, die ein Nutzer mit seinem Account durchführen kann, ebenfalls steuern kann. Es ist von den Auswirkungen vergleichbar mit einer Cross-Site-Scripting-Lücke.

Neben Adblock Plus unterstützen auch die Browsererweiterungen Adblock und Ublock entsprechende Rewrite-Filter, nicht jedoch Ublock Origin. Wir konnten den Angriff in unseren eigenen Tests mit allen drei Plugins nachvollziehen.

Ublock-Origin-Autor warnte schon vergangenes Jahr vor der neuen Funktion

In Ublock Origin wurde die entsprechende Funktion nie implementiert, daher funktioniert der Angriff dort nicht. Der Autor von Ublock Origin schrieb bereits im Mai vergangenen Jahres, dass er Sicherheitsbedenken bei diesem Feature hat und nicht plant, es in dieser Form umzusetzen.

Adblock Plus schreibt in einem Statement, dass man es für sehr unwahrscheinlich hält, dass der Angriff in der Praxis durchgeführt wird. Trotzdem will man reagieren. Adblock Plus hat angekündigt, die Rewrite-Filter in der nächsten Version wieder zu entfernen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Hardware-Angebote
  1. (reduzierte Überstände, Restposten & Co.)
  2. täglich neue Deals bei Alternate.de

Nurgler 25. Apr 2019

Ich nutze Adblock seit Jahren und habe keine Werbung. Vielleicht machst Du einfach was...

Cyrano_B 24. Apr 2019

das nutzt ja diverse Filterlisten... gibt es dort auch diese Möglichkeiten der Manipulation?

Hut+Burger 16. Apr 2019

Werbung kann mit sehr hoher Wahrscheinlichkeit Javascript-Code ausführen! Sogar von...


Folgen Sie uns
       


Pixel 4 XL - Test

Das Pixel 4 XL ist Googles erstes Smartphone mit einer Dualkamera. Im Test haben wir uns diese genau angeschaut.

Pixel 4 XL - Test Video aufrufen
Mobile-Games-Auslese: Märchen-Diablo für Mobile-Geräte
Mobile-Games-Auslese
Märchen-Diablo für Mobile-Geräte

"Einarmiger Schmied" als Klasse? Diablo bietet das nicht - das wunderschöne Yaga schon. Auch sonst finden sich in der neuen Mobile-Games-Auslese viele spannende und originelle Perlen.
Von Rainer Sigl

  1. Mobile-Games-Auslese Fantasypixel und Verkehrsplanung für unterwegs
  2. Mobile-Games-Auslese Superheld und Schlapphutträger zu Besuch im Smartphone
  3. Mobile-Games-Auslese Verdrehte Räume und verrückte Zombies für unterwegs

Mikrocontroller: Sensordaten mit Micro Python und ESP8266 auslesen
Mikrocontroller
Sensordaten mit Micro Python und ESP8266 auslesen

Python gilt als relativ einfach und ist die Sprache der Wahl in der Data Science und beim maschinellen Lernen. Aber die Sprache kann auch anders. Mithilfe von Micro Python können zum Beispiel Sensordaten ausgelesen werden. Ein kleines Elektronikprojekt ganz ohne Löten.
Eine Anleitung von Dirk Koller

  1. Programmiersprache Python verkürzt Release-Zyklus auf ein Jahr
  2. Programmiersprache Anfang 2020 ist endgültig Schluss für Python 2
  3. Micropython Das Pyboard D ist ein Steckbausatz für IoT-Bastler

Radeon RX 5500 (4GB) im Test: AMDs beste 200-Euro-Karte seit Jahren
Radeon RX 5500 (4GB) im Test
AMDs beste 200-Euro-Karte seit Jahren

Mit der Radeon RX 5500 hat AMD endlich wieder eine sparsame und moderne Mittelklasse-Grafikkarte im Angebot. Verglichen mit Nvidias Geforce GTX 1650 Super reicht es zum Patt - aber nicht in allen Bereichen.
Ein Test von Marc Sauter

  1. Workstation-Grafikkarte AMDs Radeon Pro W5700 hat USB-C-Anschluss
  2. Navi-Grafikeinheit Apple bekommt Vollausbau und AMD bringt RX 5300M
  3. Navi-14-Grafikkarte AMD stellt Radeon RX 5500 vor

    •  /