Dự Án Trình Duyệt Tùy Chỉnh Của Developer Gây Tranh Luận Về Các Giải Pháp Thay Thế Đơn Giản Dựa Trên Extension

Nhóm Cộng đồng BigGo
Dự Án Trình Duyệt Tùy Chỉnh Của Developer Gây Tranh Luận Về Các Giải Pháp Thay Thế Đơn Giản Dựa Trên Extension

Dự án đầy tham vọng của một developer nhằm xây dựng trình duyệt tùy chỉnh để kiểm soát fingerprinting một cách chính xác đã khơi mào một cuộc thảo luận thú vị trong cộng đồng công nghệ về việc liệu những giải pháp phức tạp như vậy có cần thiết khi có thể đã tồn tại những lựa chọn thay thế đơn giản hơn.

Dự án bắt đầu như một giải pháp cho các thử thách web scraping, nơi developer muốn vượt qua việc phát hiện fingerprinting bằng cách kiểm soát mọi khía cạnh của stack rendering của trình duyệt. Điều này dẫn đến việc sửa đổi rộng rãi mã nguồn của Chromium, bao gồm các bản vá cho GPU services, triển khai WebGL, và nhiều hook cấp hệ thống khác.

Các Hook Chromium Được Lên Kế Hoạch:

  • GPU Service Hooks
  • DOM Rendering Hooks
  • Thread Hooks
  • OS Hooks
  • Memory Hooks
  • Debugging Hooks
  • Process Hooks
  • Networking Hooks
  • Input/Output Hooks
  • Audio Hooks
  • Video Hooks
  • Filesystem Hooks
  • Crypto Hooks
  • Performance Hooks
Khám phá sự phức tạp của việc chỉnh sửa trình duyệt và các kỹ thuật lấy dấu vân tay trong thu thập dữ liệu web
Khám phá sự phức tạp của việc chỉnh sửa trình duyệt và các kỹ thuật lấy dấu vân tay trong thu thập dữ liệu web

Cộng Đồng Chỉ Ra Các Giải Pháp Extension Hiện Có

Một số thành viên cộng đồng nhanh chóng nhận ra rằng phần lớn chức năng mong muốn có thể đã có thể đạt được thông qua các extension trình duyệt. Một người bình luận đã nêu bật JShelter, một extension Firefox hiện có cung cấp bảo vệ fingerprinting, trong khi những người khác chỉ ra chrome.scripting API và JavaScript Proxy objects như những lựa chọn thay thế tiềm năng.

Cuộc thảo luận tiết lộ rằng content scripts có thể được inject động vào các trang web và sử dụng Proxy objects để hook các hàm JavaScript một cách minh bạch. Cách tiếp cận này sẽ có tính di động cao hơn đáng kể và yêu cầu ít nỗ lực phát triển hơn nhiều so với việc biên dịch một bản build Chromium tùy chỉnh.

Các Giải Pháp Thay Thế Được Đề Cập:

  • Tiện ích mở rộng JShelter: Tiện ích mở rộng Firefox để bảo vệ chống fingerprinting
  • API Chrome.scripting: Cho phép chèn script động vào các trang web
  • JavaScript Proxy Objects: Cho phép hook function một cách minh bạch
  • Content Scripts: Có thể được chèn vào main world thay vì isolated world

Ưu Điểm Kỹ Thuật Của Cách Tiếp Cận Trình Duyệt Tùy Chỉnh

Mặc dù có những lựa chọn thay thế đơn giản hơn, cách tiếp cận trình duyệt tùy chỉnh vẫn mang lại một số lợi ích độc đáo. Developer khẳng định rằng việc truy cập trực tiếp vào các thành phần nội bộ của Chromium cung cấp khả năng stealth tốt hơn và khả năng hook các out-of-process iframes hiệu quả hơn.

Bằng cách vá GPU service trực tiếp, trình duyệt tùy chỉnh có thể sửa đổi các lệnh gọi OpenGL và DirectX ở mức thấp hơn nhiều so với các giải pháp dựa trên JavaScript. Sự tích hợp sâu này cho phép các bypass fingerprinting tinh vi hơn mà sẽ khó hoặc không thể phát hiện từ các script trang web.

Giao diện Electron tùy chỉnh minh họa cho những khả năng độc đáo của các sửa đổi trình duyệt của nhà phát triển
Giao diện Electron tùy chỉnh minh họa cho những khả năng độc đáo của các sửa đổi trình duyệt của nhà phát triển

Trò Chơi Mèo Vờn Chuột Của Việc Phát Hiện

Cuộc trò chuyện cũng đề cập đến cuộc chiến đang diễn ra giữa các công cụ hooking và hệ thống phát hiện. Một thành viên cộng đồng đang làm việc về tải video YouTube bày tỏ lo ngại về việc các nền tảng cuối cùng sẽ phát hiện các hook dựa trên proxy nếu chúng trở nên đủ phổ biến.

Tôi không nghĩ điều này có thể giải quyết hoàn toàn mà không sửa đổi chính engine trình duyệt - khi đó bạn có thể hook mọi thứ theo cách hoàn toàn minh bạch với JS trong các trang web.

Điều này nêu bật một ưu điểm chính của cách tiếp cận trình duyệt tùy chỉnh: hoàn toàn minh bạch với các script trang web, khiến việc phát hiện gần như không thể.

Trải Nghiệm Học Tập So Với Giải Pháp Thực Tế

Developer thừa nhận rằng phần lớn chức năng có thể đã được đạt được thông qua extensions, nhưng nhấn mạnh giá trị giáo dục của dự án. Xây dựng một trình duyệt tùy chỉnh cung cấp những hiểu biết sâu sắc về các thành phần nội bộ của trình duyệt và mở ra khả năng cho các tính năng nâng cao hơn.

Lộ trình dự án bao gồm các hook rộng rãi cho GPU services, DOM rendering, threading, networking, và nhiều thành phần hệ thống khác. Mặc dù đầy tham vọng, cách tiếp cận toàn diện này có thể cho phép các khả năng vượt xa những gì các extension trình duyệt có thể đạt được.

Cuộc thảo luận cho thấy cách cộng đồng công nghệ đánh giá cả hiệu quả thực tế và khám phá giáo dục, với một số thành viên bày tỏ sự quan tâm đến việc đóng góp cho dự án mặc dù có sẵn những lựa chọn thay thế đơn giản hơn.

Tham khảo: I'm Building a Browser for Precise Overrides