Wie funktionieren AdBlocker?

Vermutlich gibt es kaum jemanden, der über die BGH-Entscheidung der letzten Woche bezüglich der u.a. wettbewerbsrechtlichen Zulässigkeit von AdBlocker nichts gehört hat.Doch wer weiß schon wie sie tatsächlich funktionieren?

Vorne weg: auch wenn die Meisten unter AdBlocker die Browser-Plugins kennen, existieren mehrere Möglichkeiten um Werbung gezielt zu blockieren. So lässt sich bereits auf der Routerseite Werbung blockieren. Nachdem aber die Gerichtsentscheidung spezifisch auf die Plugins eingeht, beschäftigt sich dieser Beitrag entsprechend auch nur mit diesen.

Aber nun zu den Grundlagen: Content Security Policy

Content Security Policy bezeichnet ein Sicherheitskonzept, das im Grunde bei jedem Seitenaufruf aktiviert wird und darüber entscheidet, ob spezifische Inhalte geladen werden sollen oder nicht. Dabei greift es unter anderem auf die Metadaten zurück um herauszufinden, ob beispielsweise Daten von einem anderen Server geladen werden als die der eigentlichen Webseite. Ziel ist es das Einschleusen von Daten Dritter zu verhindern, sowie das Ausspionieren der Nutzer zu erschweren (sog. Cross-Site-Scripting-Attack).

Am Ende ist es sogar möglich den tatsächlich auszufilternden Inhalt an sich sehr stark zu vereinfachen – vom bloßen Bild bis zum gesamten Inhalt.

AdBlocker bauen auf diese „Technologie“, so dass sie an sich gesehen nicht einmal eine eigene Funktion haben.  Vielmehr werden bestimmte Inhalte erst dann blockiert, wenn dies vom Nutzer eingestellt wird. Hierfür werden vom Nutzer festgelegte Regeln mit Hilfe der AdBlocker als Sprachrohr ausgeführt. Im Grunde sind AdBlocker somit nichts anderes als Filter mit einem riesengroßen Datenpool im Hintergrund; so sind spezifische URL/Widgets/Quellen von Anfang an festgelegt, nach denen die Filter im Code suchen und diese bei entsprechendem Fund ausblenden. Dies hängt auch damit zusammen, dass die Webseiten im Code oft ähnlich aufgebaut sind; diverse Funktionen tragen oft eine ähnliche Beschreibung oder sind zumindest nach dem selben Muster aufgebaut:

 

Basic-AdBlocker-Code:

 function getMatchingFilter1(S, F)

for each filter in F

if (filter matches S)

return filter

end if

end for

 

return null

end function

 

Dabei gibt es in der Regel drei Möglichkeiten der Blockade.

Bereits Anfragen „Requests“ bestimmter URLs können blockiert werden, um z.B „third-party-tracking“ zu verhindern. Dadurch können Server, von denen erfahrungsgemäß in der Regel Werbung ausgeht, bereits im Vorfeld blockiert werden, sodass die Webseite selbst auch schneller aufgebaut werden kann.

Es besteht jedoch auch die Möglichkeit bereits geladenen Inhalt einfach zu verstecken. Hierbei greift der Code auf CSS-Ebene auf den Code der Webseite ein und versteckt den unerwünschten Inhalt vor den Augen des Nutzers, als würde man eine Augenbinde dem Nutzer spezifisch für diesen Inhalt auflegen. Sie sind jedoch weiterhin da und werden auch stets geladen.

Off: Wie Webseiten in der Regel aufgebaut werden, welche Programmiersprachen für welche Zwecke herangezogen werden und was Frontend sowie backend bedeutet kann man hier  und hier nachlesen.

Backend und Frontend

Programmiersprachen zur Webentwicklung

 

Als dritte Möglichkeiten lassen sich auch spezifische Bildformate blockieren. So wird Werbung in quasi standardisierten Größen oder regelmäßig an denselben Stellen (Banner) platziert, sodass die Möglichkeit besteht die gängigen Formate z.B. 728×90, 300×250 zu blockieren. Hierbei besteht jedoch die Gefahr, dass auch Inhalte die nur zufällig die Größen aufweisen oder an der Stelle platziert sind auch blockiert werden.

Die Zukunft – Perceptual AdBlocking

Neuere Entwicklungen tragen jedoch auch zur besseren Erkennbarkeit von Werbung bei. So sind bereits Methoden und Prototypen entwickelt worden, die auf die Kennzeichnungspflicht von Werbung aufbauen, sodass bereits ein Hinweis auf eine möglicherweise Produktplatzierung oder das Kreuzchen zum Schließen des Fensters, das Blockieren dieser ermöglicht. Aber auch Methoden aus der Psychologie, aus dem Design etc. können herangezogen werden, um moderne Vorgehensweisen der Werbebranche in die adBlocker integrieren zu können. So bedient sich der Technologie Perceptual AdBlocking u.a. der optischen Zeichenwahrnehmung und analysiert Inhalte dementsprechend wie ein Mensch dies wahrnehmen würde, anstatt auf den Code abzustellen.

Fakt ist, es existiert seit Jahren stets ein Rennen zwischen AdBlocker und den Machern von Werbung und ich würde mich nicht aus dem Fenster lehnen und ein Ende vorhersagen wollen. Außerdem beschäftigen sich mehrere namhafte Universitäten mit der Entwicklung immer effektiverer AdBlocking-Systeme. Doch die Werbungschalter schlafen auch nicht, sodass man dem Rennen zwischen den Seiten, quasi wie der Ballwechsel in einem Tennisspiel im wöchentlichen Takt verfolgen kann (siehe hier).

Achtung, meistens besteht eine Browserabhängigkeit

Zu beachten ist, dass die als Browser-PlugIn angebotenen AdBlocker stets nur in dem jeweiligen Browser funktionieren. Will man also weitere Domains in die Liste der Filter selber eintragen, müsste man bei der Nutzung mehrerer Browser dies möglicherweise bei allen einzeln vornehmen. Außerdem ist es wichtig zu beachten, dass AdBlocker Werbung, die Viren einschleusen würden zwar blockieren, aber das Einschleusen nicht mit 100%iger Sicherheit verhindern können; hierfür ist es nicht konzipiert worden. So werden Antivirus und Anti-Malware Software weiterhin als zwingend erforderlich angesehen.

AdBlocker erkennen?

Nun aber zurück zu dem Urteil. In diesem geht der BGH davon aus, „dass der Kläger in der Lage ist, sich gegen Werbeblocker zu wehren“. Diese Möglichkeit besteht anhand einer an sich recht einfachen Methoden. So sind Webseitenbetreiber in der Lage zu erkennen, wenn ein AdBlocker beim Aufrufen der Webseite aktiv ist, so dass die Inhalte bis zum Ausschalten der Blockierung nicht angezeigt wird. Sie können aber auch weniger drastische Lösungen, u.a. Pauschalzahlungen oä vorschlagen. Hierfür müssen sie aber vor allem erkennen, wann ein AdBlocker verwendet wird.

Hierfür wird einfach eine Datei  versteckt in den Code platziert, bei dem man mit Sicherheit davon ausgehen kann, dass dies von einem AdBlocker blockiert werden würde, unter anderem wegen dessen Namens, z.B. werbung.js. Dies ist  deswegen möglich, da die Filter vieler AdBlocker open source u.a. auf GitHub zur Verfügung stehen. So soll zum Beispiel AdBlock Plus mittels _advertisement.js aufgedeckt werden können.

Wird das entsprechende Skript beim Ausführen nicht geladen, so kann man mit beinahe vollkommener Sicherheit davon ausgehen, dass ein AdBlocker aktiv ist und entsprechend reagieren.

Wie sowas im Code am Ende aussieht, seht ihr hier:

Beispiel

Übrigens die klassischee  „Hello World“ –Übung im Browser ist auch mittels JavaScript möglich. Wer also Lust und Zeit hat ein bisschen zu spielen:

Java Script Basics

Das Problem ist am Ende bloß, dass während einige Webseite auf die Einnahmen aus der Werbung angewiesen sind, reagieren andere anstatt mit qualitativer Änderung der Werbung mit Quantität. So geht das Tennisspiel immer weiter, bis eine der Parteien neue Methoden zur Blockade oder zur Anti-Blockade entwickelt hat oder das Internet nur noch mit schlechter Werbung vermüllt ist…….

und wohin das ganze führen wird, bleibt abzuwarten…..

 

Quellen:

Adblockplus.org

Eine List der Filter

Superwaffe gegen Werbung

How does AdBlock work

knowonlineadvertising.com

Adblock.org FAQ

Wikipedia- content security policy

Futurezone.de

Ad-Blocker Urteil

Princeton gegen Werbung

Corporate.codecheck.info

Zeit.de

Webdesign-podcast.de

Web-spirit.de

 

Teile diesen Beitrag

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.