🔐 Tuỳ chỉnh Bảo mật & Quyền riêng tư trong iBrowe

Nguồn tham khảo: Dựa trên và điều chỉnh từ tài liệu công khai của Brave – https://github.com/brave/brave-browser/wiki

🚧 Lưu ý: Đây là tài liệu nháp đang được cập nhật. Tài liệu liệt kê các thay đổi liên quan đến bảo mật và quyền riêng tư trong iBrowe, không mang tính đầy đủ hoặc chính thức.

⚙️ Tổng quan: Cách tiếp cận Chromium của iBrowe

iBrowe được phát triển dựa trên nền tảng mã nguồn mở Chromium. Trong khi vẫn giữ lại lõi trình kết xuất và các chức năng cốt lõi của Chromium, iBrowe chủ động loại bỏ những thành phần ảnh hưởng đến quyền riêng tư người dùng, điều chỉnh một số API quan trọng và tích hợp thêm các công nghệ bảo vệ quyền riêng tư.

Tất cả thay đổi ở cấp lõi đều được xử lý thông qua cơ chế vá mã nguồn trong quá trình biên dịch. Mã nguồn Chromium và các bản vá riêng của iBrowe (từ ibrowe-core) sẽ được tự động tải và áp dụng thông qua gclient hooks và các tập lệnh build.

🚫 Các tính năng bị loại bỏ hoàn toàn vì lý do bảo mật/quyền riêng tư

iBrowe tắt hoặc xóa nhiều tính năng của Chromium có khả năng gây rò rỉ dữ liệu người dùng hoặc thu thập telemetry không cần thiết. Một số ví dụ:

API Privacy Sandbox (vd: Topics, FLEDGE)

Đăng nhập tài khoản Google (GAIA)

Dịch vụ đo độ tin cậy miền của Google

Trình kích hoạt đồng bộ hóa nền & thông báo

WebBluetooth & WebNFC

File System API & Digital Goods API

Federated Learning of Cohorts (FLoC)

Trust Tokens / Private State Tokens

Cảm biến chuyển động, navigator.credentials, OTP trên Android

Web Environment Integrity (WEI)

Tiện ích mở rộng nhúng & tính năng Top Sites

Ghi log WebRTC, Hyperlink pings

Preloading, dò tên miền qua DNS dự đoán

Reporting API (có triển khai giả - no-op)

Web Serial & Web Bundles

Để xem danh sách chi tiết hơn, hãy tham khảo hệ thống DEPS nội bộ và các cờ tính năng (disabled_features).

🔄 Chuyển tiếp proxy qua hạ tầng iBrowe

Một số dịch vụ mà Chromium thường truy cập trực tiếp sẽ được định tuyến lại qua hạ tầng do iBrowe điều hành. Điều này giúp ngăn chặn Google và bên thứ ba xác định danh tính người dùng (bao gồm cả địa chỉ IP):

Truy vấn SafeBrowsing

Kiểm tra CRLSet và thu hồi chứng chỉ

Cập nhật tiện ích/mở rộng

Tra cứu vị trí địa lý

Tải xuống từ điển kiểm tra chính tả

Tài nguyên front-end của DevTools

Các miền proxy tiêu biểu:

https://safebrowsing.googleapis.com/

https://chrome-devtools-frontend.appspot.com/

https://dl.google.com/release2/...

https://*.gvt1.com/...

https://storage.googleapis.com/update-delta/...

🛠️ Điều chỉnh chức năng trong các API của Chromium

Một số tính năng được điều chỉnh để giảm khả năng bị lấy dấu vân tay trình duyệt (fingerprinting) hoặc đảm bảo kỳ vọng về quyền riêng tư:

Cookies:

Cookie được đặt qua JavaScript sẽ tự động hết hạn sau 7 ngày

Cookie được đặt qua HTTP sẽ hết hạn sau 6 tháng

Chặn cookie bên thứ ba ở cấp tiêu đề

Cho phép lưu trữ JavaScript phân vùng dạng tạm thời

Battery API: Luôn trả về giá trị cố định, không thay đổi theo thực tế

Tiêu đề Referrer/Origin:

Bắt buộc sử dụng strict-origin-when-cross-origin

Yêu cầu đến các trang onion sẽ xóa referrer & origin (tương thích Tor)

Clipboard: Yêu cầu thao tác người dùng (gesture); ghi bất đồng bộ bị hạn chế

StorageManager.estimate(): Trả về giá trị tĩnh

Cảnh báo tải xuống nguy hiểm: Luôn bật, trừ khi tắt thủ công

Tắt lập chỉ mục công cụ tìm kiếm: Mặc định tắt (OpenSearch)

🧪 Kỹ thuật chống lấy dấu vân tay (Anti-Fingerprinting)

iBrowe áp dụng ngẫu nhiên hóa (entropy) và giả lập (spoofing) ở các khu vực sau để chống lấy dấu vân tay trình duyệt:

navigator.hardwareConcurrency, deviceMemory

API Canvas (làm ngẫu nhiên pixel)

Bề mặt lấy dấu WebGL & WebAudio

Liệt kê plugin

Giả lập User-Agent

Hành vi enumerateDevices

⚠️ Lưu ý về tiện ích mở rộng & truy vấn đến Google

Một số yêu cầu đến clients2.google.com, update.googleapis.com… vẫn có thể xuất hiện nếu các tiện ích mở rộng do người dùng cài đặt tự động kiểm tra bản cập nhật.

iBrowe chặn ghi log của Google Hangouts và tắt mặc định trong bản Nightly.

Chromecast (Media Router) được bật mặc định, nhưng dữ liệu SSDP được ẩn danh để tránh rò rỉ thông tin user-agent.

🆚 So sánh iBrowe và ungoogled-chromium

Trong khi ungoogled-chromium tách hoàn toàn khỏi các dịch vụ của Google, người dùng cần tự cấu hình để kích hoạt các tính năng bảo vệ quyền riêng tư. Ngược lại, iBrowe tích hợp sẵn các lớp bảo vệ mặc định, đồng thời bổ sung các cải tiến giao diện người dùng, tính năng bảo mật và các chức năng tích hợp khác.

Cả hai dự án đều hướng đến quyền riêng tư và thỉnh thoảng chia sẻ bản vá (tham khảo các issue liên kết trên GitHub).

📚 Dành cho người đóng góp: Xem tổng quan về quá trình vá và so sánh Chromium với Chrome để hiểu thêm về bối cảnh upstream.

Bài viết này được lấy cảm hứng từ tài liệu thiết kế nội bộ của Brave Browser, sau đó được điều chỉnh lại cho phù hợp với dự án iBrowe, phản ánh các bản vá riêng, chính sách proxy và lựa chọn nền tảng độc lập.