1 points par GN⁺ 2025-03-19 | 1 commentaires | Partager sur WhatsApp

Bloquer les publicités YouTube sur Apple TV

Vue d'ensemble

Il a été possible de placer un proxy intermédiaire entre l’Apple TV et le monde extérieur afin de déchiffrer le trafic HTTPS. Cela a permis de lire les données ProtocolBuffer que Google utilise pour insérer des publicités dans YouTube. Comme le décodage en temps réel de ProtocolBuffer est gourmand en CPU, il a été possible de supprimer les publicités en exploitant une faille du format ProtocolBuffer.

Objectif

Construire un routeur chiffré puissant avec FreeBSD et pfSense, et exploiter une faille du format Google ProtocolBuffer pour bloquer complètement, à l’échelle du réseau, les publicités YouTube sur Apple TV et iPhone.

Pourquoi bloquer les publicités et le suivi comportemental

  • Confidentialité : l’activité en ligne des utilisateurs est surveillée, et ces informations ont une très grande valeur pour les annonceurs.
  • Bande passante : 25 % à 40 % du trafic réseau est constitué de publicités et de scripts de suivi.
  • Pièges à clics : les clickbaits peuvent attirer les utilisateurs vers des sites malveillants.
  • Cryptojacking : certains sites tentent d’utiliser l’ordinateur de l’utilisateur pour miner des cryptomonnaies.

Matériel de routeur nécessaire

  • Mini PC avec jeu d’instructions AES-NI (par ex. J4125)
  • Plusieurs gigaoctets de RAM DDR4 (par ex. 32 GiB)
  • SSD mSATA adapté (par ex. 128 GiB)
  • Clé USB pour transférer pfSense

Installation et configuration de pfSense

  • Flasher et installer pfSense sur une clé USB.
  • Activer les instructions de chiffrement AES-NI.
  • Activer un RAM disk pour l’utiliser avec /var et /tmp.
  • Configurer le blocage publicitaire avec pfBlockerNG.

Segmentation du LAN

  • Créer un réseau matériel séparé pour les appareils non fiables.
  • Intercepter les requêtes DNS via pfSense et bloquer aussi les requêtes vers des serveurs DNS codés en dur.

Tromper l’algorithme publicitaire de YouTube

  • Étudier comment limiter les publicités YouTube sur Apple TV.
  • Router sélectivement le trafic Apple TV via un VPN.

Déchiffrement du trafic HTTPS

  • Installer MITMProxy pour intercepter et analyser le trafic HTTPS.
  • Faire de la rétro-ingénierie sur les messages Protobuf pour supprimer les publicités.

Résumé

  • Expérimentation du blocage des publicités via YouTube Premium.
  • Prise en compte du DMCA et d’autres questions juridiques.
  • Analyse de l’application réussie de techniques de blocage publicitaire.

1 commentaires

 
GN⁺ 2025-03-19
Avis Hacker News
  • Il est possible de supprimer les publicités en exploitant une faille du format Protobuf
    • On suppose que le numéro de champ a été remplacé par un grand numéro inutilisé
    • Il suffit de scanner les octets Protobuf pour trouver la signature d’URL de la publicité, repérer le tag du champ, puis modifier la clé du champ
    • Ce n’est pas une faille, mais un comportement intentionnel
    • Si l’on fait l’effort de trouver le tag, on peut lire la longueur à côté et sauter les octets
    • Il faut copier le buffer ou déplacer les octets, mais l’objet bytes renvoyé par l’API de mitmproxy est immuable
    • Un petit proxy C++/Go pourrait faire la même chose avec moins d’overhead
    • Faire transiter tout le trafic par un proxy dégrade les performances
    • Un simple serveur Linux avec un ensemble de règles iptables est plus efficace que pfSense
    • On peut écrire un fichier .proto à partir des champs proto rétroconçus pour générer le code et basculer des flags
    • Ignorer les tags de champs inconnus est une fonctionnalité importante de Protobuf
  • Après avoir bloqué les publicités YouTube, quelqu’un s’est abonné à YouTube Premium parce qu’il voulait soutenir les créateurs de contenu
    • Il se demande si YouTube Premium soutient réellement les créateurs
  • Le compte YouTube de sa petite amie n’affiche pas de publicités
    • Il se demande quel flag interne a été activé pour désactiver les publicités
  • Il a été possible de déchiffrer le trafic HTTPS en plaçant un proxy man-in-the-middle entre l’Apple TV et Internet
    • Certains sont surpris qu’il soit possible d’ajouter une CA au magasin de certificats de l’Apple TV
    • Merci pour l’explication détaillée
  • C’est triste de devoir faire autant d’efforts pour obtenir la maîtrise de son matériel ou de son logiciel
  • Certains ont essayé plusieurs fois sur Apple TV sans succès
    • L’application YouTube semble avoir mis en place le certificate pinning
  • Certains aiment bloquer des services en ligne à l’échelle de tout le réseau
    • Ils aimeraient disposer de plus de moyens de bloquer l’infinite scroll, au-delà du blocage des publicités
    • Ils veulent voir les publications/stories des personnes qu’ils suivent sur Instagram, sans recevoir de recommandations de vidéos conçues pour capter leur attention
  • Certains ne savaient pas qu’il y avait des publicités sur YouTube
    • L’expérience Apple TV est bien pire que celle d’un navigateur web classique
    • Le fait qu’Apple verrouille le matériel profite davantage aux revenus publicitaires de YouTube
  • S’il faut en arriver à déchiffrer le protocole et à faire de la rétro-ingénierie, il vaut probablement mieux ne pas utiliser ce type d’appareil
    • Il vaudrait mieux sortir de cette économie et trouver d’autres façons de se divertir autrement que comme des clients à monétiser