1 poin oleh GN⁺ 2025-03-19 | 1 komentar | Bagikan ke WhatsApp

Memblokir iklan YouTube di Apple TV

Gambaran umum

Dengan menempatkan proxy man-in-the-middle di antara Apple TV dan dunia luar, lalu lintas HTTPS dapat didekode. Melalui cara ini, data ProtocolBuffer yang digunakan Google untuk menyisipkan iklan ke YouTube dapat dibaca. Karena mendekode ProtocolBuffer secara real-time sangat intensif CPU, ditemukan kelemahan pada format ProtocolBuffer yang memungkinkan iklan dihapus.

Tujuan

Membangun router enkripsi yang kuat menggunakan FreeBSD dan pfSense, serta memanfaatkan kelemahan pada format Google ProtocolBuffer untuk memblokir iklan YouTube sepenuhnya di seluruh jaringan pada Apple TV dan iPhone.

Alasan perlunya memblokir iklan dan pelacakan perilaku

  • Privasi: Aktivitas online pengguna sedang dipantau, dan ini merupakan informasi yang sangat bernilai bagi pengiklan.
  • Bandwidth: 25%~40% lalu lintas jaringan terdiri dari iklan dan skrip pelacakan.
  • Clickbait: Clickbait dapat memancing pengguna dan mengarahkan mereka ke situs berbahaya.
  • Cryptojacking: Beberapa situs web mencoba menambang mata uang kripto dengan menggunakan komputer pengguna.

Perangkat keras router yang dibutuhkan

  • Mini PC dengan set instruksi AES-NI (misalnya: J4125)
  • Beberapa gigabita RAM DDR4 (misalnya: 32 GiB)
  • Drive SSD mSATA yang memadai (misalnya: 128 GiB)
  • Drive USB untuk memindahkan pfSense

Instalasi dan konfigurasi pfSense

  • Flash pfSense ke drive USB untuk instalasi.
  • Aktifkan instruksi enkripsi AES-NI.
  • Aktifkan RAM disk untuk digunakan pada /var dan /tmp.
  • Atur pemblokiran iklan menggunakan pfBlockerNG.

Pemisahan LAN jaringan

  • Buat jaringan perangkat keras terpisah untuk perangkat yang tidak tepercaya.
  • Cegat permintaan DNS melalui pfSense, dan blokir juga permintaan ke server DNS yang di-hardcode.

Mengakali algoritme iklan YouTube

  • Meneliti cara membatasi iklan YouTube di Apple TV.
  • Merutekan lalu lintas Apple TV secara selektif melalui VPN.

Mendekode lalu lintas HTTPS

  • Instal MITMProxy untuk mencegat dan menganalisis lalu lintas HTTPS.
  • Lakukan reverse engineering pada pesan Protobuf untuk menghapus iklan.

Ringkasan

  • Eksperimen memblokir iklan melalui YouTube Premium.
  • Pertimbangan terkait DMCA dan masalah hukum lainnya.
  • Analisis penerapan teknik pemblokiran iklan yang berhasil.

1 komentar

 
GN⁺ 2025-03-19
Komentar Hacker News
  • Menemukan celah pada format Protobuf yang memungkinkan iklan dihapus
    • Diduga nomor field diubah ke nomor besar yang tidak terpakai
    • Memindai byte Protobuf untuk mencari signature URL iklan, lalu menemukan tag field dan mengubah key field
    • Ini bukan celah, melainkan perilaku yang memang disengaja
    • Jika mau berupaya mencari tag, panjang di sebelahnya bisa dibaca lalu byte-nya dilewati
    • Harus menyalin buffer atau memindahkan byte, tetapi objek byte yang dikembalikan API mitmproxy bersifat immutable
    • Proxy kecil berbasis C++/Go bisa melakukan hal yang sama dengan overhead lebih rendah
    • Merutekan semua hal lewat proxy menurunkan performa
    • Daripada pfSense, server Linux sederhana dengan kumpulan aturan iptables lebih efisien
    • Bisa menulis file .proto dari field proto hasil rekayasa balik untuk menghasilkan kode dan mengubah flag
    • Mengabaikan tag field yang tidak dikenal adalah fitur penting Protobuf
  • Ingin mendukung kreator konten, jadi setelah memblokir iklan YouTube lalu berlangganan YouTube Premium
    • Penasaran apakah YouTube Premium benar-benar mendukung kreator
  • Akun YouTube pacarnya tidak menampilkan iklan
    • Penasaran flag internal apa yang disetel sehingga iklan dinonaktifkan
  • Bisa mendekripsi trafik HTTPS dengan menaruh proxy man-in-the-middle di antara Apple TV dan internet
    • Terkejut karena CA bisa ditambahkan ke certificate store Apple TV
    • Terima kasih atas penjelasannya yang sangat mendetail
  • Menyedihkan bahwa harus berupaya sangat keras demi benar-benar memiliki perangkat keras atau perangkat lunak
  • Sudah mencoba beberapa kali di Apple TV tetapi tidak berhasil
    • Sepertinya aplikasi YouTube menerapkan certificate pinning
  • Suka memblokir layanan online di seluruh jaringan
    • Selain pemblokiran iklan, semoga ada lebih banyak cara untuk memblokir infinite scroll
    • Ingin melihat postingan/story dari orang yang diikuti di Instagram, tetapi tidak ingin direkomendasikan video yang mengalihkan perhatian
  • Tidak tahu bahwa YouTube punya iklan
    • Pengalaman di Apple TV jauh lebih buruk daripada pengalaman di browser web biasa
    • Apple mengunci perangkat keras sehingga lebih menguntungkan pendapatan iklan YouTube
  • Jika sudah sampai harus mendekripsi dan merekayasa balik protokol, sepertinya lebih baik tidak memakai perangkat seperti ini
    • Sepertinya lebih baik keluar dari ekonomi ini dan mencari cara lain untuk menikmati diri sendiri