1 điểm bởi GN⁺ 2025-03-19 | 1 bình luận | Chia sẻ qua WhatsApp

Chặn quảng cáo YouTube trên Apple TV

Tổng quan

Có thể đặt một proxy trung gian giữa Apple TV và thế giới bên ngoài để giải mã lưu lượng HTTPS. Nhờ đó có thể đọc dữ liệu ProtocolBuffer mà Google dùng để chèn quảng cáo vào YouTube. Việc giải mã ProtocolBuffer theo thời gian thực tiêu tốn nhiều CPU, nên đã phát hiện một điểm yếu trong định dạng ProtocolBuffer để có thể loại bỏ quảng cáo.

Mục tiêu

Xây dựng một router mã hóa mạnh bằng FreeBSD và pfSense, rồi tận dụng điểm yếu trong định dạng Google ProtocolBuffer để chặn hoàn toàn quảng cáo YouTube trên toàn mạng đối với Apple TV và iPhone.

Sự cần thiết của việc chặn quảng cáo và theo dõi hành vi

  • Quyền riêng tư: Hoạt động trực tuyến của người dùng đang bị giám sát, và đây là thông tin cực kỳ có giá trị đối với các nhà quảng cáo.
  • Băng thông: 25%~40% lưu lượng mạng được cấu thành từ quảng cáo và các script theo dõi.
  • Clickbait: Clickbait có thể dụ người dùng nhấp vào và dẫn họ tới các trang độc hại.
  • Cryptojacking: Một số website cố gắng dùng máy tính của người dùng để đào tiền mã hóa.

Phần cứng router cần thiết

  • Mini PC có tập lệnh AES-NI (ví dụ: J4125)
  • Vài chục gigabyte RAM DDR4 (ví dụ: 32 GiB)
  • Ổ SSD mSATA phù hợp (ví dụ: 128 GiB)
  • USB drive để chép pfSense

Cài đặt và cấu hình pfSense

  • Flash pfSense vào USB drive để cài đặt.
  • Kích hoạt các lệnh mã hóa AES-NI.
  • Bật RAM disk để dùng cho /var/tmp.
  • Thiết lập chặn quảng cáo bằng pfBlockerNG.

Tách biệt mạng LAN

  • Tạo một mạng phần cứng riêng cho các thiết bị không đáng tin cậy.
  • Chặn và chuyển hướng các yêu cầu DNS qua pfSense, đồng thời chặn cả các yêu cầu tới DNS server được hard-code.

Đánh lừa thuật toán quảng cáo YouTube

  • Nghiên cứu cách hạn chế quảng cáo YouTube trên Apple TV.
  • Định tuyến có chọn lọc lưu lượng Apple TV qua VPN.

Giải mã lưu lượng HTTPS

  • Cài đặt MITMProxy để chặn và phân tích lưu lượng HTTPS.
  • Reverse engineer các thông điệp Protobuf để loại bỏ quảng cáo.

Tóm tắt

  • Thử nghiệm chặn quảng cáo thông qua YouTube Premium.
  • Cân nhắc về DMCA và các vấn đề pháp lý khác.
  • Phân tích việc áp dụng thành công kỹ thuật chặn quảng cáo.

1 bình luận

 
GN⁺ 2025-03-19
Ý kiến trên Hacker News
  • Có thể loại bỏ quảng cáo bằng cách phát hiện một điểm yếu trong định dạng Protobuf
    • Có vẻ như số trường đã bị đổi sang một số lớn chưa dùng tới
    • Quét các byte Protobuf để tìm chữ ký URL quảng cáo, rồi tìm thẻ trường và đổi khóa trường
    • Đây không phải là lỗi mà là hành vi được thiết kế có chủ đích
    • Nếu bỏ công tìm thẻ, có thể đọc độ dài bên cạnh nó rồi bỏ qua các byte đó
    • Cần sao chép bộ đệm hoặc di chuyển byte, nhưng đối tượng byte mà API của mitmproxy trả về là bất biến
    • Một proxy nhỏ viết bằng C++/Go có thể làm việc tương tự với ít overhead hơn
    • Định tuyến mọi thứ qua proxy sẽ làm giảm hiệu năng
    • Thay vì pfSense, một máy chủ Linux đơn giản với bộ quy tắc iptables sẽ hiệu quả hơn
    • Có thể viết tệp .proto bằng các trường proto đã được dịch ngược để sinh mã và chuyển đổi cờ
    • Bỏ qua các thẻ trường không xác định là một tính năng quan trọng của Protobuf
  • Muốn hỗ trợ các nhà sáng tạo nội dung nên sau khi chặn quảng cáo YouTube thì đã đăng ký YouTube Premium
    • Tò mò không biết YouTube Premium có thực sự hỗ trợ nhà sáng tạo hay không
  • Tài khoản YouTube của bạn gái không hiển thị quảng cáo
    • Tò mò không biết cờ nào được đặt ở phía nội bộ để vô hiệu hóa quảng cáo
  • Có thể giải mã lưu lượng HTTPS bằng cách đặt một proxy trung gian giữa Apple TV và Internet
    • Ngạc nhiên vì có thể thêm CA vào kho chứng chỉ của Apple TV
    • Cảm ơn vì phần giải thích rất kỹ lưỡng
  • Thật buồn khi phải bỏ ra rất nhiều công sức chỉ để giành quyền sở hữu với phần cứng hay phần mềm
  • Đã thử vài lần trên Apple TV nhưng không thành công
    • Có vẻ ứng dụng YouTube đã triển khai certificate pinning
  • Thích chặn các dịch vụ trực tuyến trên toàn mạng
    • Ngoài chặn quảng cáo, giá mà có thêm nhiều cách chặn cuộn vô hạn hơn nữa
    • Muốn xem bài đăng/story của những người mình theo dõi trên Instagram, nhưng không muốn bị đề xuất các video gây xao nhãng
  • Không biết rằng YouTube có quảng cáo
    • Trải nghiệm trên AppleTV tệ hơn rất nhiều so với trên trình duyệt web thông thường
    • Việc Apple khóa phần cứng khiến YouTube hưởng lợi nhiều hơn từ doanh thu quảng cáo
  • Nếu đã đến mức phải giải mã giao thức và dịch ngược, có lẽ tốt hơn là không nên dùng những thiết bị như vậy
    • Có lẽ tốt hơn là thoát khỏi nền kinh tế này và tự giải trí bằng cách khác