1 puntos por GN⁺ 2025-03-19 | 1 comentarios | Compartir por WhatsApp

Bloquear anuncios de YouTube en Apple TV

Resumen general

Se pudo colocar un proxy de intermediario entre Apple TV y el mundo exterior para descifrar el tráfico HTTPS. Esto permitió leer los datos de ProtocolBuffer que Google usa para insertar anuncios en YouTube. Como decodificar ProtocolBuffer en tiempo real consume mucha CPU, se encontró una falla en el formato de ProtocolBuffer que permitió eliminar los anuncios.

Objetivo

Construir un router de cifrado potente con FreeBSD y pfSense, y aprovechar una falla en el formato ProtocolBuffer de Google para bloquear por completo, en toda la red, los anuncios de YouTube en Apple TV y iPhone.

Por qué es necesario bloquear anuncios y rastreo de comportamiento

  • Privacidad: la actividad en línea de los usuarios está siendo vigilada, y esa información es muy valiosa para los anunciantes.
  • Ancho de banda: entre el 25% y el 40% del tráfico de red está compuesto por anuncios y scripts de rastreo.
  • Clickbait: el clickbait puede atraer a los usuarios y llevarlos a sitios maliciosos.
  • Cryptojacking: algunos sitios web intentan usar la computadora del usuario para minar criptomonedas.

Hardware de router necesario

  • Mini PC con conjunto de instrucciones AES-NI (por ejemplo, J4125)
  • Varios gigabytes de RAM DDR4 (por ejemplo, 32 GiB)
  • Una unidad SSD mSATA adecuada (por ejemplo, 128 GiB)
  • Una memoria USB para grabar pfSense

Instalación y configuración de pfSense

  • Grabar e instalar pfSense desde una memoria USB.
  • Activar las instrucciones de cifrado AES-NI.
  • Activar RAM disk para usar en /var y /tmp.
  • Configurar bloqueo de anuncios con pfBlockerNG.

Segmentación de la LAN

  • Crear una red de hardware separada para dispositivos no confiables.
  • Interceptar las solicitudes DNS mediante pfSense y bloquear también las solicitudes a servidores DNS codificados de forma fija.

Engañar al algoritmo de anuncios de YouTube

  • Investigar métodos para restringir los anuncios de YouTube en Apple TV.
  • Enrutar selectivamente el tráfico de Apple TV a través de una VPN.

Descifrado del tráfico HTTPS

  • Instalar MITMProxy para interceptar y analizar el tráfico HTTPS.
  • Aplicar ingeniería inversa a los mensajes Protobuf para eliminar los anuncios.

Resumen

  • Experimento para bloquear anuncios mediante YouTube Premium.
  • Consideraciones sobre la DMCA y otros problemas legales.
  • Análisis de la aplicación exitosa de técnicas de bloqueo de anuncios.

1 comentarios

 
GN⁺ 2025-03-19
Comentarios en Hacker News
  • Se puede eliminar la publicidad al encontrar una debilidad en el formato Protobuf
    • Se supone que cambiaron el número de campo por un número grande sin usar
    • Se escanean los bytes de Protobuf para encontrar la firma de la URL de anuncios, luego se busca la etiqueta del campo y se cambia la clave del campo
    • No es una debilidad, sino un comportamiento intencional
    • Si te esfuerzas en encontrar la etiqueta, puedes leer la longitud que está al lado y saltarte los bytes
    • Hay que copiar el búfer o mover bytes, pero el objeto de bytes que devuelve la API de mitmproxy es inmutable
    • Un pequeño proxy en C++/Go podría hacer lo mismo con menos sobrecarga
    • Enrutar todo a través de un proxy degrada el rendimiento
    • Un servidor Linux simple con un conjunto de reglas de iptables es más eficiente que pfSense
    • Se puede escribir un archivo .proto con campos proto obtenidos por ingeniería inversa para generar código y cambiar flags
    • Ignorar etiquetas de campos desconocidos es una característica importante de Protobuf
  • Quise apoyar a los creadores de contenido, así que después de bloquear los anuncios de YouTube me suscribí a YouTube Premium
    • Me pregunto si YouTube Premium realmente apoya a los creadores
  • La cuenta de YouTube de mi novia no muestra anuncios
    • Me pregunto qué flag estará configurado internamente para desactivar los anuncios
  • Se pudo descifrar el tráfico HTTPS poniendo un proxy man-in-the-middle entre el Apple TV y el resto del mundo
    • Sorprende que se pueda agregar una CA al almacén de certificados del Apple TV
    • Gracias por la explicación tan detallada
  • Es triste que haya que esforzarse tanto para conseguir la propiedad del hardware o del software
  • Lo intenté varias veces en Apple TV, pero no lo logré
    • Parece que la app de YouTube implementa certificate pinning
  • Me gusta bloquear servicios en línea a nivel de toda la red
    • Además del bloqueo de anuncios, ojalá hubiera más formas de bloquear el scroll infinito
    • Quiero ver las publicaciones/historias de las personas que sigo en Instagram, pero no quiero que me recomienden videos diseñados para distraerme
  • No sabía que YouTube tenía anuncios
    • La experiencia en AppleTV es mucho peor que la experiencia normal en el navegador web
    • A Apple le conviene más, al bloquear el hardware, el ingreso publicitario de YouTube
  • Si la situación es que hay que descifrar e invertir el protocolo, parece mejor no usar este tipo de dispositivos
    • Parece mejor salir de esta economía y entretenerse de otras maneras