1 Punkte von GN⁺ 2025-03-19 | 1 Kommentare | Auf WhatsApp teilen

YouTube-Werbung auf Apple TV blockieren

Überblick

Zwischen Apple TV und der Außenwelt konnte ein Man-in-the-Middle-Proxy platziert werden, um HTTPS-Traffic zu entschlüsseln. Dadurch ließ sich der ProtocolBuffer-Datensatz lesen, den Google verwendet, um Werbung in YouTube einzufügen. Da das Decodieren von ProtocolBuffer in Echtzeit CPU-intensiv ist, konnte durch das Auffinden eines Fehlers im ProtocolBuffer-Format die Werbung entfernt werden.

Ziel

Mit FreeBSD und pfSense einen leistungsfähigen verschlüsselnden Router aufbauen und mithilfe eines Fehlers im Google-ProtocolBuffer-Format YouTube-Werbung auf Apple TV und iPhone netzwerkweit vollständig blockieren.

Warum Werbe- und Verhaltens-Tracking blockiert werden muss

  • Privatsphäre: Die Online-Aktivitäten der Nutzer werden überwacht, und diese Informationen sind für Werbetreibende äußerst wertvoll.
  • Bandbreite: 25 % bis 40 % des Netzwerk-Traffics bestehen aus Werbung und Tracking-Skripten.
  • Clickbait: Clickbait kann Nutzer anlocken und auf bösartige Websites weiterleiten.
  • Cryptojacking: Einige Websites versuchen, den Computer des Nutzers zum Mining von Kryptowährungen zu verwenden.

Erforderliche Router-Hardware

  • Mini-PC mit AES-NI-Befehlssatz (z. B. J4125)
  • Mehrere Gigabyte DDR4-RAM (z. B. 32 GiB)
  • Geeignetes mSATA-SSD-Laufwerk (z. B. 128 GiB)
  • USB-Laufwerk zur Übertragung von pfSense

Installation und Konfiguration von pfSense

  • pfSense auf ein USB-Laufwerk flashen und installieren.
  • AES-NI-Verschlüsselungsbefehle aktivieren.
  • RAM-Disk aktivieren und für /var und /tmp verwenden.
  • Mit pfBlockerNG Werbeblockierung einrichten.

Trennung des Netzwerk-LANs

  • Ein separates Hardware-Netzwerk für nicht vertrauenswürdige Geräte erstellen.
  • DNS-Anfragen über pfSense abfangen und auch Anfragen an hartcodierte DNS-Server blockieren.

Den YouTube-Werbealgorithmus austricksen

  • Methoden erforschen, um Apple-TV-YouTube-Werbung einzuschränken.
  • Apple-TV-Traffic selektiv über ein VPN routen.

HTTPS-Traffic entschlüsseln

  • MITMProxy installieren, um HTTPS-Traffic abzufangen und zu analysieren.
  • Protobuf-Nachrichten rückentwickeln, um Werbung zu entfernen.

Zusammenfassung

  • Experiment zur Blockierung von Werbung über YouTube Premium.
  • Berücksichtigung von DMCA und anderen rechtlichen Fragen.
  • Analyse der erfolgreichen Anwendung von Werbeblockierungs-Techniken.

1 Kommentare

 
GN⁺ 2025-03-19
Hacker-News-Kommentare
  • Es wurde eine Schwachstelle im Protobuf-Format entdeckt, mit der sich Werbung entfernen lässt
    • Vermutlich wurden Feldnummern auf große, ungenutzte Nummern geändert
    • Durch Scannen der Protobuf-Bytes nach der Signatur der Werbe-URL werden die Feld-Tags gefunden und der Feldschlüssel geändert
    • Das ist keine Schwachstelle, sondern beabsichtigtes Verhalten
    • Wenn man sich die Mühe macht, die Tags zu finden, kann man die danebenstehende Länge lesen und die Bytes überspringen
    • Man muss den Buffer kopieren oder Bytes verschieben, aber das Byte-Objekt, das die API von mitmproxy zurückgibt, ist unveränderlich
    • Ein kleiner C++-/Go-Proxy könnte dieselbe Aufgabe mit weniger Overhead erledigen
    • Wenn man alles über einen Proxy routet, leidet die Performance
    • Statt pfSense sind ein einfacher Linux-Server und ein Satz iptables-Regeln effizienter
    • Man könnte eine .proto-Datei mit rückentwickelten Proto-Feldern schreiben, um Code zu generieren und Flags umzuschalten
    • Das Ignorieren unbekannter Feld-Tags ist ein wichtiges Feature von Protobuf
  • Ich wollte Content-Ersteller unterstützen und habe nach dem Blockieren der YouTube-Werbung YouTube Premium abonniert
    • Ich frage mich, ob YouTube Premium die Ersteller unterstützt
  • Im YouTube-Konto meiner Freundin wird keine Werbung angezeigt
    • Ich frage mich, welches interne Flag gesetzt wurde, sodass Werbung deaktiviert ist
  • Zwischen Apple TV und dem Rest der Welt wurde ein Man-in-the-Middle-Proxy platziert, um den HTTPS-Traffic zu entschlüsseln
    • Ich bin überrascht, dass man dem Zertifikatsspeicher von Apple TV eine CA hinzufügen kann
    • Danke für die ausführliche Erklärung
  • Es ist traurig, dass man so viel Aufwand betreiben muss, um Eigentum an Hardware oder Software zu erlangen
  • Ich habe es auf Apple TV ein paar Mal versucht, aber keinen Erfolg gehabt
    • Es scheint, als hätte die YouTube-App Certificate Pinning implementiert
  • Ich blockiere Online-Dienste gern im gesamten Netzwerk
    • Zusätzlich zum Werbeblocking wünschte ich, es gäbe mehr Möglichkeiten, Infinite Scroll zu blockieren
    • Ich möchte auf Instagram die Beiträge/Stories der Personen sehen, denen ich folge, aber keine auf Ablenkung ausgelegten Videoempfehlungen bekommen
  • Ich wusste nicht, dass es auf YouTube Werbung gibt
    • Die Erfahrung auf Apple TV ist viel schlechter als im normalen Webbrowser
    • Davon profitiert YouTubes Werbeumsatz mehr, weil Apple die Hardware abschottet
  • Wenn man in einer Situation ist, in der man Protokolle entschlüsseln und rückentwickeln muss, sollte man solche Geräte vielleicht einfach nicht verwenden
    • Es wäre vermutlich besser, aus dieser Ökonomie auszusteigen und sich auf andere Weise zu unterhalten