Zurück zu allen Beiträgen
Veröffentlicht am · von Renaud Deraison

Wie Bromure Werbung blockiert, bevor die Seite sie überhaupt zu sehen bekommt

Die meisten Werbeblocker sind Browser-Erweiterungen, und die meisten Browser-Erweiterungen laufen im selben Prozess wie die Seite, vor der sie Sie schützen sollen. Bromure macht es anders. Hier erfahren Sie, wie – und warum das einen Unterschied macht.

Ein Werbeblocker, der im Browser lebt, will einen Kampf schlichten, während er selbst im Ring steht. Bromure verlegt den Schiedsrichter ins Netzwerk – dorthin, wo keine Seite ihn erreicht, kein Skript ihn berühren und kein „Anti-Adblock”-Banner mit ihm diskutieren kann.

Die Werbeblockierung ist das mit Abstand beliebteste Browser-Feature, das im Browser selbst nicht enthalten ist. Hunderte Millionen Menschen installieren am ersten Tag eine Erweiterung eines Drittanbieters, weil das heutige Web ohne eine solche schlicht unbenutzbar ist. Das allein ist schon ein schlechtes Zeichen im Design. Aber die Art, wie fast jeder Werbeblocker arbeitet, verdient Beachtung, denn die Architektur ist entscheidend – sowohl dafür, wie gut er funktioniert, als auch dafür, was passiert, wenn die Seite sich aktiv dagegen wehrt.

Dieser Beitrag erklärt, wie ein Werbeblocker üblicherweise arbeitet, warum diese Bauart echte Grenzen hat und wie Bromure einen anderen Weg geht – einen, der seine Kernidee von einem Werkzeug übernimmt, das Sie vielleicht von einem Raspberry Pi in irgendjemandes Keller kennen.

Werbung ist nicht nur lästig. Sie ist ein Ladeproblem, ein Datenschutzproblem und ein Angriffsvektor.

Nach ein paar Jahren mit Werbeblockierung vergisst man leicht, wie das rohe Web eigentlich aussieht. Ein beliebter Nachrichtenartikel, ohne jede Filterung geladen, holt sich typischerweise Ressourcen von 30 bis 80 Drittanbieter-Domains. Die meisten davon sind Analytics, Tracking-Pixel und Echtzeit-Bidding-Endpunkte. Sie machen die Seite schwerer, verlangsamen sie, setzen Cookies im Auftrag von Firmen, von denen Sie noch nie gehört haben, und – wie im Ransomware-Beitrag von Anfang dieses Monats erläutert – sie sind eines der stillen Verbreitungsmittel für Schadsoftware, weil Werbenetzwerke gelegentlich dazu gebracht werden, bösartige Kreative auf seriösen Seiten auszuliefern.

news.example.comein Artikeldoubleclick.netgoogletagmanager.comfacebook.netadnxs.comscorecardresearch.comcriteo.nethotjar.comsegment.comchartbeat.compubmatic.comrubiconproject.comliveramp.comtaboola.comoutbrain.comnewrelic.comamplitude.commixpanel.com… 40 weitereJedes Logo ist eine neue Domain, neues DNS, neues TLS, ein neuer Satz Cookies. Nichts, was Sie angefordert haben.
Was ein einzelner Seitenaufruf im Jahr 2026 tatsächlich nachlädt – ohne jede Filterung. Der Artikel, den Sie gerade lesen, ist meist die kleinste Anfrage auf der Seite. Alles andere ist die Maschinerie, in die der Artikel eingewickelt wurde.

Das Blockieren dieser Anfragen ist also kein kosmetisches Problem. Es ist ein Gewinn an Leistung, ein Gewinn an Privatsphäre und – weil Werbenetzwerke ein regelmäßiger Verbreitungskanal für Schadsoftware sind – ein echter Sicherheitsgewinn. Die einzige Frage ist, wie Sie sie blockieren.

Wie eine typische Browser-Erweiterung Werbung blockiert.

Fast jeder gängige Werbeblocker, darunter die verbreiteten, die Sie wahrscheinlich installiert haben, ist eine Browser-Erweiterung. Das bedeutet architektonisch: Sie lebt im Browser – sie führt JavaScript innerhalb des Browser-Prozesses aus, registriert Callbacks bei den Netzwerk-APIs des Browsers (webRequest, declarativeNetRequest) und prüft jede Anfrage, die der Browser im Begriff ist abzusetzen.

BROWSER-PROZESSSeitelädt, führt Skripte aus,fordert Ressourcen anWerbeblocker-Erweiterungprüft jede Anfrage,erlaubt oder blockiertNetzwerkTCP / TLSzur Seite(blockiert)Die Erweiterung ist Code, der vom Browser geladen wird.Ein kompromittierter Renderer oder eine entzogene Berechtigung kann sie ausschalten.Eine feindselige Seite kann erkennen, ob sie installiert ist, und das Laden verweigern.InternetWerbeserver · Tracker · Analytics
Wie ein erweiterungsbasierter Werbeblocker typischerweise arbeitet. Die Erweiterung lebt im Browser. Jede ausgehende Anfrage wird ihr zur Freigabe vorgelegt; sie blockiert diejenigen, deren URLs ihren Regeln entsprechen. Die Seite und die Erweiterung teilen sich denselben Prozess und meist auch dieselben Berechtigungen.

Diese Bauart funktioniert – schließlich ist sie das, worauf sich die meisten Menschen täglich verlassen –, aber sie hat echte strukturelle Grenzen:

Die Seite merkt es

Da die Erweiterung im selben Prozess wie die Seite lebt, kann das JavaScript der Seite sie abfragen: „Ist meine Anfrage tatsächlich rausgegangen? Ist diese Variable am Ende definiert?” Ganze Seiten (und die meisten Nachrichtenportale mit Bezahlschranke) erkennen fehlende Anfragen, verweigern das Laden ohne sie und fordern die Nutzer auf, „ihren Werbeblocker zu deaktivieren”.

Die Seite liegt in derselben Vertrauenszone

Die Erweiterung und die feindselige Seite, die sie filtern soll, teilen sich einen Browser-Prozess, einen Renderer, manchmal auch einen Satz Berechtigungen. Ein hinreichend gefährlicher Browser-Exploit in der Seite schaltet die Erweiterung gleich mit aus. Erweiterungen sind Code; sie sind auch Angriffsfläche.

Die Anfrage ist schon auf der Welt

Wenn die Erweiterung eine Anfrage zu Gesicht bekommt, hat der Browser bereits entschieden, sie abzusetzen, die URL geparst und (je nach API) den DNS-Lookup durchgeführt. An diesem Punkt zu blockieren ist Filtern, nicht Verhindern.

Die Filter-API wird immer schwächer

Die Manifest-v3-Umstellung von Chrome hat eingeschränkt, was Filter-Erweiterungen tun können – vor allem durch Deckelung der Regelanzahl und durch den Ersatz des dynamischen webRequest durch declarativeNetRequest. Die Architektur der Erweiterungs-API gibt der Browser-Hersteller vor, nicht Sie.

Wie Bromure es macht: Die Wand ist nicht die Erweiterung.

Der Werbeblocker von Bromure ist keine Erweiterung. Der Browser selbst enthält überhaupt keinen Werbeblocker-Code. Stattdessen ist der Netzwerk-Stack der wegwerfbaren Linux-VM, in der der Browser läuft, der Werbeblocker – und aus Sicht des Browsers lassen sich die Werbe-Domains schlicht nicht auflösen.

GAST-VM · ProfilnetzwerkBrowserkein Werbeblockerals Erweiterung installiertSquid-Proxy:3128 · HTTP/HTTPSlöst über lokales DNS aufdnsmasqlokaler DNS-ResolverTreffer in SinkholeSPERRLISTEgravity.listüber 100.000 Domainsleiten auf 0.0.0.0Internetnews.example.comdoubleclick.netadnxs.comBLOCKIERTWeder die Seite noch ihre Skripte sehen am Proxy vorbei. Aus dem Browser heraus existieren Werbe-Domains schlicht nicht.
Innerhalb der VM eines Bromure-Profils wird jede ausgehende Verbindung des Browsers über einen lokalen HTTP-Proxy geleitet. Dieser Proxy löst jede Domain über einen lokalen DNS-Server auf, dessen „Nein”-Liste eine Sperrliste ist. Steht die Domain auf der Liste, erhält der Browser eine nicht erreichbare Adresse und stellt die Verbindung nie her – auch die Skripte der Seite nicht.

Mechanisch erledigen zwei kleine, unaufgeregte Softwarestücke die Arbeit:

Ein lokaler HTTP-Proxy (Squid)

Jede ausgehende Anfrage des Browsers wird transparent über einen Squid-Proxy geleitet, der innerhalb der VM auf localhost:3128 läuft. Squid ist die Rohrleitung: Er entscheidet nicht, was Werbung ist, er erledigt lediglich die DNS-Auflösung und das Weiterleiten für den Browser.

Ein lokaler DNS-Resolver (dnsmasq)

Squid ist angewiesen, jede Domain über eine lokale dnsmasq-Instanz auf 127.0.0.1 aufzulösen. Die Konfiguration von dnsmasq enthält eine Sperrliste von rund 100.000 Domains – Werbenetzwerke, Tracker, Analytics, bekannte bösartige Hosts. Alles auf der Liste wird auf 0.0.0.0 aufgelöst, was ins Leere führt.

Das Ergebnis ist ein Netzwerk, das aus Sicht des Browsers internet-förmig ist, nur dass Werbe- und Tracking-Domains überhaupt keine DNS-Einträge haben. Der Browser fragt nach doubleclick.net, bekommt „keine Route” zurück und macht weiter. Es wird keine Verbindung aufgebaut. Es wird kein TLS-Handshake versucht. Kein Cookie geht irgendwohin, weil es kein „Irgendwohin” gibt, an das man es schicken könnte.

Dieselbe Idee, die seit Jahren in Kellern läuft.

Wer schon einmal pi-hole eingerichtet hat – das kleine DNS-Sinkhole, das viele Menschen auf einem Raspberry Pi laufen lassen, um Werbung aus ihrem gesamten Heimnetzwerk zu filtern –, wird die Bromure-Architektur ausgesprochen vertraut finden. Die zugrunde liegende Sperrliste ist Steven Blacks vereinheitlichte Hosts-Datei, dieselbe, mit der diese Heim-Installationen seit Jahren laufen. Der konzeptionelle Schritt ist identisch: Versuchen Sie nicht, Werbung aus der Seite zu entfernen, sondern verweigern Sie dem Browser schlicht die Auskunft, wie der Werbeserver überhaupt zu finden ist.

Der entscheidende Unterschied liegt darin, wo das Sinkhole lebt. Ein haushaltsweites Sinkhole schützt jedes Gerät im Heimnetzwerk; ein Bromure-Sinkhole schützt genau ein Browser-Profil. Schalten Sie es für das Profil ein, mit dem Sie Nachrichten lesen; lassen Sie es für das Profil aus, in dem Ihre Bank Sie lieber nicht durch ungewöhnliche Middleware leiten soll.

Was Ihnen das tatsächlich bringt.

Die Erweiterung blockiertDer Browser parst die Werbe-URL.Ein DNS-Lookup für die Werbe-Domain wird ausgeführt.Ein Verbindungsversuch kann starten.Die Erweiterung legt im letzten Moment ihr Veto ein.Die Seite kann die fehlende Anfrage erkennen.WERBESERVER ERFÄHRT„Jemand hat versucht, uns zu erreichen,von IP X, und hat abgebrochen."Bromure fragt gar nicht erstDer Browser fragt das lokale DNS nach der Domain.dnsmasq antwortet mit 0.0.0.0.Es wird keine Netzwerkverbindung geöffnet.Kein TLS, kein SNI, keine HTTP-Anfrage.Die Seite kann den Unterschied zu einem DNS-Ausfall nicht erkennen.WERBESERVER ERFÄHRTnichts.Es gibt keine Verbindung, die sich beobachten ließe.
Derselbe Seitenaufruf, unterschiedliche Architekturen. Die Erweiterung lässt die Anfrage beginnen und filtert sie im letztmöglichen Moment. Bromure verweigert die Frage, bevor sie überhaupt gestellt wird. Der Werbeserver weiß nichts über die Bromure-Nutzerin – nicht einmal, dass sie es versucht hat.

Die praktischen Vorteile summieren sich:

Lässt sich nicht durch eine kompromittierte Seite abschalten

Die Sperrliste ist kein Code, den der Browser lädt; sie ist das Netzwerk des Browsers. Ein Renderer-Exploit, ein feindseliges Skript, eine sich fehlverhaltende Drittanbieter-Bibliothek – keines davon erreicht die dnsmasq-Konfiguration, denn keines davon kann aus dem Browser-Prozess hinaus an den Netzwerk-Stack der VM gelangen.

Seiten können nicht daran vorbeischauen

Das JavaScript der Seite kann den ganzen Tag navigator-Attribute prüfen; es kann die DNS-Konfiguration des Netzwerks, in dem es sich befindet, nicht einsehen, denn das ist kein Wissen, das JavaScript zusteht. Aus Sicht der Seite sieht eine blockierte Werbung genauso aus wie eine Werbe-Domain, die gerade eine Minute lang ausgefallen ist.

Keine Angriffsfläche durch Erweiterungen

Werbeblocker-Erweiterungen wurden mehr als einmal kompromittiert – entweder über den Extension-Store, über eine Übernahme oder über ein bösartiges Update. In Bromure gibt es keine solche Erweiterung, die kompromittiert werden könnte, denn es gibt keine Erweiterung.

Pro Profil, umschaltbar wie jede andere Fähigkeit

Die Werbeblockierung ist eine Profileinstellung („Werbung blockieren” in Privatsphäre & Sicherheit), standardmäßig aus und in jedem Profil Ihrer Wahl einschaltbar. Ihr Banking-Profil bleibt ungefiltert; Ihr tägliches Leseprofil ist sauber.

Die ehrlichen Grenzen.

In diesem Feld gibt es nichts umsonst. Ein paar Dinge, die der Ansatz auf Netzwerkebene bewusst nicht leistet und die Sie von vornherein kennen sollten:

Keine kosmetische Filterung

Eine klassische Erweiterung kann den leeren Kasten ausblenden, wo früher ein Banner war. Bromure schreibt die Seite nicht um. Hat der Verlag also einen 728×90-Block reserviert, bleibt der Block leer an seiner Stelle. Das ist auf einigen wenigen Seiten eine kleine optische Unschönheit, und der Gegenwert ist, dass auf der Seite nichts ist, was ein Skript bemerken könnte.

First-Party-Werbung überlebt

Wenn eine Seite ihre eigene Werbung aus ihrer eigenen Domain ausliefert (wie es einige große Tech-Plattformen mittlerweile tun), kann die Blockierung auf Domain-Ebene nicht zwischen „Artikel” und „Werbung” unterscheiden – beide liegen unter demselben Hostnamen. Das ist eine echte Lücke; die Antwort darauf – dort, wo es wichtig ist – wäre eine zusätzliche Content-Skript-Ebene, und daran arbeiten wir.

Anti-Adblock-Wände erkennen weiterhin Abwesenheit

Manche Seiten müssen den Werbeblocker gar nicht finden. Sie prüfen einfach, ob ein bestimmtes Skript geladen wurde, und verweigern den Artikel, falls nicht. Für diese Seiten wird jeder Blocker – ob Erweiterung oder Netzwerk – aufgedeckt. Das ist eine Auseinandersetzung über die Regeln mit dem Verlag, keine technische mit dem Blocker.

Die Sperrliste wird mit Bromure ausgeliefert

Die gravity.list wird zum Zeitpunkt des Image-Builds eingebacken und aktualisiert sich, wenn Sie Bromure aktualisieren. Sie zieht sich nicht, wie es ein dediziertes Dauer-Sinkhole zu Hause kann, jede Stunde die neuesten Regeln. Für eine Liste, die auf Hostnamen basiert, ist das meist in Ordnung – Werbe-Domains wechseln nicht so schnell wie etwa Malware-Domains –, aber es ist gut, das zu wissen.

Die Form der Sache.

Der größere Punkt ist nicht, dass der Werbeblocker von Bromure auf magische Weise besser Regeln abgleichen würde als uBlock Origin. Tatsächlich ist die Regel-Engine von uBlock ausgefeilter. Der Punkt ist, wo blockiert wird. Eine Erweiterung ist ein höflicher Schiedsrichter, der den Browser bittet, dieses Ding doch bitte nicht zu laden. Bromure ist die Straße, auf der die Anfrage unterwegs gewesen wäre – still an der Autobahnauffahrt gesperrt, bevor sich der Fahrer überhaupt ins Auto setzt.

Werbeblockierung in einer versiegelten VM ist kein neues Feature von Bromure; sie ist eine Folge der Architektur, die vom ersten Tag an da war. Die Netzwerkschicht jedes Profils ist ihre eigene kleine Welt. In dieser Welt kann WARP stecken. Sie kann ein bezahltes VPN enthalten. Sie kann einen Tor-Transport haben. Und sie kann, gratis, dasselbe DNS-Sinkhole enthalten, das seit Jahren leise Werbung in den Kellern der Leute filtert – installiert, konfiguriert und genau auf die Browser-Sitzung zugeschnitten, in der Sie es haben wollen.

Wenn Sie die lange Fassung wünschen: Die Sperrliste ist eine reine Textdatei, die innerhalb des VM-Images ausgeliefert wird – Sie können sie beim nächsten Release direkt einsehen und jede einzelne der hunderttausend Domains lesen, die für Ihren Browser still aufhören zu existieren. Wenn Sie nur die kurze Fassung wollen: Öffnen Sie Privatsphäre & Sicherheit in einem beliebigen Bromure-Profil und legen Sie den Schalter „Werbung blockieren” um. Die Straße ist bereits gesperrt. Sie müssen nur noch fahren.