- Meta đã phát triển một phương thức theo dõi lách sandbox Android ("localhost tracking") để liên kết và theo dõi danh tính thật của người dùng với hoạt động duyệt web, bất chấp VPN, chế độ ẩn danh hay việc xóa cookie
- Kỹ thuật này cho phép ứng dụng Meta (chạy nền) và script Meta Pixel trong trình duyệt trao đổi thông tin qua cổng mạng cục bộ, từ đó liên kết cookie _fbp với tài khoản ngay cả khi không đăng nhập
- Bằng cách này, hành vi duyệt web được gắn với tài khoản Facebook/Instagram thực tế, dẫn tới việc hợp nhất dữ liệu cá nhân trên quy mô lớn mà không có sự đồng ý của người dùng
- Có khả năng đồng thời vi phạm các luật bảo vệ dữ liệu cá nhân chủ chốt của châu Âu như GDPR, DSA, DMA, nên các chế tài có thể bị cộng dồn và mức phạt tối đa có thể lên tới 32 tỷ euro (tương đương khoảng 4%, 6%, 10% doanh thu)
- Trong hơn 9 tháng, hoạt động theo dõi quy mô lớn đã diễn ra mà không có sự đồng ý của người dùng trên thực tế ở 22% các website lớn trên thế giới (bao gồm hơn 17.000 website tại Mỹ), và dữ liệu cá nhân của hàng trăm triệu người đã bị liên kết, thu thập mà không có giải thích rõ ràng
- Do dấu hiệu rõ ràng của vi phạm lặp lại, lạm dụng vị thế thống lĩnh thị trường và cố ý né tránh về mặt kỹ thuật, thậm chí đang có bàn luận về khả năng áp dụng mức phạt cộng dồn cao nhất chưa từng có
- Chỉ một số trường hợp như iOS, PC hoặc người không cài ứng dụng mới tránh được ảnh hưởng
Công nghệ "localhost tracking" của Meta
- Meta đã dùng một kỹ thuật mang tính đổi mới nhưng gây tranh cãi mang tên "localhost tracking" để lách các biện pháp bảo vệ nhận diện tài nguyên người dùng mà hệ thống sandbox Android vốn được thiết kế để ngăn chặn
- Ứng dụng Facebook/Instagram sẽ ở trạng thái chạy nền và mở các cổng TCP/UDP cụ thể trên điện thoại để duy trì trạng thái “listening” (chờ nhận) (bắt buộc phải đăng nhập)
- Khi người dùng truy cập website bằng trình duyệt trên cùng thiết bị (ví dụ: báo điện tử, trung tâm mua sắm trực tuyến), nếu website đó cài Meta Pixel thì cookie và thông tin hoạt động sẽ bị thu thập ngay lập tức
- Ngay cả khi dùng VPN, chế độ ẩn danh hoặc xóa cookie để bảo vệ riêng tư thì cũng không có tác dụng
- Script Meta Pixel trong trình duyệt sử dụng WebRTC (vốn dành cho liên lạc video/âm thanh) cùng một mẹo gọi là SDP Munging để truyền trực tiếp cookie _fbp tới ứng dụng
- Đồng thời, cùng thông tin đó cũng được gửi riêng tới máy chủ Meta, cho phép theo dõi liên kết hai chiều cả online lẫn offline
- Ứng dụng Facebook/Instagram nhận giá trị _fbp rồi gửi lại lên máy chủ Meta GraphQL cùng với mã định danh duy nhất của tài khoản
- Kết quả là ID lượt truy cập web trên trình duyệt và tài khoản Facebook/Instagram thực được ánh xạ 1:1 giữa hoạt động truy cập web và danh tính thật, tạo nên một sự gắn kết cực mạnh
Vì sao đây là vấn đề nghiêm trọng
- Lách bằng thủ thuật việc nghe cổng cục bộ/giao tiếp ẩn giữa các ứng dụng vốn bị cấm theo thiết kế của Android
- Ngay cả khi người dùng không mở ứng dụng, không đăng nhập trên trình duyệt web, thì VPN, chế độ ẩn danh hay xóa cookie cũng đều vô dụng
- Thu thập và liên kết thông tin mà không có sự đồng ý trước rõ ràng và đầy đủ để tuân thủ các quy định bảo vệ dữ liệu như GDPR
- 22% các website Top toàn cầu bị ảnh hưởng, với hoạt động theo dõi không có đồng ý trong 9 tháng (Meta) / 8 năm (Yandex) đối với hàng tỷ người
- Dữ liệu được thu thập và kết hợp gồm: toàn bộ lịch sử duyệt web, giỏ hàng/lịch sử mua sắm, nội dung điền biểu mẫu trên website, mẫu hành vi theo khung giờ, liên kết với tài khoản tên thật, v.v.
- Chỉ iOS, PC, người không cài ứng dụng, hoặc dùng duy nhất trình duyệt Brave/DuckDuckGo mới là ngoại lệ
Các hạng mục vi phạm pháp lý chính
- GDPR: cần có sự đồng ý cho việc xử lý dữ liệu cá nhân phục vụ quảng cáo, và đã vi phạm nghĩa vụ tối thiểu hóa dữ liệu / thiết kế đảm bảo quyền riêng tư (tối đa 4% doanh thu)
- DSA (Điều 26): cấm quảng cáo cá nhân hóa dựa trên thông tin nhạy cảm trong hồ sơ (xu hướng, quan điểm chính trị, sức khỏe, v.v.) (tối đa 10% doanh thu)
- DMA (Điều 5.2): cấm kết hợp dữ liệu cá nhân giữa các nền tảng cốt lõi khi chưa có sự đồng ý rõ ràng (tối đa 10%, tái phạm là 20%)
- Với việc liên kết tài khoản, lẽ ra cần tối thiểu ba loại đồng ý (GDPR, ePrivacy, DMA) nhưng chỉ yêu cầu 1 loại (phương án ép buộc "Pay or OK")
- Đã có tiền lệ bị phạt 200 triệu euro vào tháng 4/2025 liên quan đến vi phạm DMA
Dự báo tiền phạt và chế tài
- GDPR, DMA và DSA có lợi ích pháp lý được bảo vệ và hệ thống xử phạt riêng biệt, nên có thể tính phạt cộng dồn
- Mức phạt tối đa trên lý thuyết là 32 tỷ euro. Với lịch sử vi phạm lặp lại của Meta, sự hợp tác hạn chế với cơ quan quản lý, vị thế thống lĩnh thị trường và dấu hiệu cố ý né tránh, có thể kỳ vọng một án phạt nặng mang tính tiền lệ
Kết luận
- Kỹ thuật “localhost tracking” của Meta là một ví dụ điển hình về việc cố ý lách các tiêu chuẩn kỹ thuật và pháp lý về bảo vệ quyền riêng tư bằng ác ý, với mức độ lan rộng và tác động nghiêm trọng trên phạm vi toàn cầu.
- Trong bối cảnh cùng lúc vi phạm nhiều quy định như GDPR/DSA/DMA, cộng thêm vị thế thống lĩnh thị trường và tiền sử tái phạm, khả năng một khoản phạt cộng dồn ở mức lớn nhất lịch sử thực sự được áp dụng là điều có thể xảy ra
- Toàn cầu đang tập trung theo dõi liệu cơ quan quản lý có lần đầu tiên áp dụng mức phạt cộng dồn theo GDPR, DSA và DMA (tối đa 32 tỷ euro) hay không
5 bình luận
Không biết rồi họ sẽ quy trách nhiệm nội bộ với những cấp quản lý đã phê duyệt chuyện này như thế nào nhỉ.
Không biết iOS có an toàn không nhỉ..
Q: iOS/nền tảng khác cũng bị ảnh hưởng không?
A: Cho đến nay mới chỉ được xác nhận trên Android, nhưng về mặt kỹ thuật thì iOS/máy tính để bàn/TV thông minh cũng có nguy cơ tiềm ẩn
Công bố kỹ thuật theo dõi web-ứng dụng bí mật bằng Localhost trên Android
Ý kiến trên Hacker News
Chia sẻ một bộ sưu tập liên kết tổng hợp các chủ đề liên quan từng được thảo luận trước đây về vấn đề theo dõi từ web sang app và các vấn đề quyền riêng tư của Meta và Yandex. Có nhắc đến các chủ đề như: mẹo về quyền riêng tư của Washington Post (ngừng dùng Chrome, xóa app Meta và Yandex), Meta âm thầm theo dõi người dùng Android qua Instagram và Facebook, việc Android dừng kỹ thuật theo dõi qua cổng di động sau phản đối từ các nhà nghiên cứu, Yandex và Meta làm rò rỉ dữ liệu theo dõi qua WebRTC, v.v.
Nhắc lại vụ năm 2014 khi app Twitter trên Android bắt đầu gửi danh sách toàn bộ app đã cài trên thiết bị của tôi về máy chủ Twitter. Từ sau đó, với mọi dịch vụ có thể dùng bằng trình duyệt thì tôi luôn cố chấp dùng bản web thay vì app native. Tôi không dùng Facebook hay Instagram nên không rõ gần đây chúng hoạt động ra sao. Khi đó Facebook Messenger cũng từng cố tình giới hạn tính năng trong môi trường trình duyệt. Trong 10 năm qua, app native đã xin vô số quyền và người dùng thì cứ bấm đồng ý mà không suy nghĩ nhiều. Không hiểu vì sao Facebook lại cần xem thông tin Wi‑Fi hay Bluetooth của tôi. Ngoài đời thực cũng có trường hợp theo dõi người bằng beacon trong cửa hàng offline
https://en.wikipedia.org/wiki/Facebook_Bluetooth_Beacon . Điều đáng tiếc là app native thật sự mượt và có hiệu năng tốt hơn web app rất nhiều
Chia sẻ trải nghiệm Facebook Messenger cố tình bị làm cho bất tiện trên trình duyệt. Từng dùng cả Messenger Lite nhưng rồi dịch vụ cũng bị ngừng. Vì sự kiện và liên lạc nên vẫn phải tiếp tục dùng Facebook, nhưng tuyệt đối không cài app Messenger, cuối cùng đành ép dùng ở chế độ desktop rất bất tiện. Trên feed thì chỉ toàn "đề xuất cho bạn" nên cũng không còn gây nghiện như trước. Không hiểu vì sao họ lại muốn đuổi người dùng đi, nhưng cảm giác đúng là như vậy
Nhắc đến việc trong vài năm gần đây bản thân web app cũng bị cản trở quá mức. Một nửa thời gian thì bị hành bởi popup "hãy cài app", nửa còn lại là không chạy nổi. Điều thất vọng hơn nữa là đa số app native ngày nay thực chất chỉ là webview, nhiều trường hợp còn chẳng dùng UI native. Nếu về bản chất cũng chẳng khác Safari thì cứ để tôi dùng Safari đi
Khi đó có vẻ hơi cực đoan, nhưng tôi vẫn kiên quyết chỉ dùng bản trình duyệt, và đến giờ vẫn không hối hận. Nhờ vậy cũng tránh được những thứ gây xao nhãng như thông báo. Nếu Apple hay Google thực sự nghiêm túc về quyền riêng tư thì mọi chuyện đã khác. App nào không có trên F-Droid thì tôi cứ chờ
Kiểu theo dõi qua app này đến giờ vẫn hoàn toàn hợp pháp. Mọi app đều có thể quét danh sách app hiện cài và app vừa chạy gần đây “vì mục đích bảo mật”. Danh bạ cũng vậy. WhatsApp (sản phẩm Meta duy nhất tôi quản lý mà còn dùng) kiểm tra thông tin danh bạ với chu kỳ rất ngắn, và nếu phát hiện thay đổi thì chỉ upload phần khác biệt lên máy chủ. Điểm mấu chốt của tranh cãi lần này là Meta đã lách việc ghép người dùng từ web mà không phải trả phí “cookie matching” cho Google
Hệ thống lần này có dấu vết rõ ràng là các kỹ sư Meta commit code và các PM xử lý yêu cầu qua ticket. Có ý kiến cho rằng nên buộc trách nhiệm cá nhân với những người này, giống như cách Facebook bị phạt theo tỷ lệ doanh thu, bằng cách phạt họ theo một tỷ lệ nhất định trên lương
Nhấn mạnh rằng những người thật sự phải chịu trách nhiệm là các quản lý đã cho phép tồn tại hệ thống như vậy
Đồng ý với ý tưởng này, nhưng nếu chỉ để nhân viên tuyến dưới chịu trách nhiệm còn cấp trên được miễn thì không đúng. Trách nhiệm phải được truy lên phía trên
Câu chuyện này gợi nhớ đến một câu trích dẫn nổi tiếng của CS Lewis. Đây được xem như một ví dụ hiện đại cho ý rằng “cái ác tồi tệ nhất được lên kế hoạch bởi những người mặc vest trong các văn phòng sạch sẽ và yên tĩnh”, ví các tập đoàn lớn như Meta với hình ảnh đó
Thừa nhận đây rõ ràng là việc có vấn đề về mặt đạo đức, nhưng một số kỹ sư sẽ làm ra bất cứ thứ gì miễn có lương. Nếu họ không làm thì sẽ có người khác làm, và đôi khi họ còn thấy hứng thú vì đó là một bài toán kỹ thuật có tính thách thức. Cuối cùng, cần quy trách nhiệm cho quản lý hay những người cấp vốn ở tầng trên, tức những người như Zuck hưởng tiền và lợi ích, và phải lần theo dòng tiền
Nêu thắc mắc liệu EU có thể phạt một kỹ sư người Mỹ sống ở Mỹ hay không
Với Meta thì kiểu hành vi này không có gì đáng ngạc nhiên. Hồi đầu thập niên 2010, họ từng giám sát lưu lượng HTTPS trong iOS App Store để biết trước app nào đang nổi, từ đó có thể quyết định mua lại WhatsApp hay Instagram. Trong bối cảnh hiện tại, nước đi của Zuckerberg có vẻ là cố sống sót cho Meta đến khi nền tảng tiếp theo (AR, VR) xuất hiện. Nếu Meta chiếm được nền tảng mới, họ sẽ không còn phải tuân thủ các quy định hợp lý nữa và có thể thoải mái vươn các xúc tu quảng cáo khắp internet. Không phải viễn cảnh đáng mong muốn, nhưng thực tế thì khả năng họ làm được có vẻ vẫn khá cao
Các công ty rất muốn AR/VR trở thành nền tảng kế tiếp, nhưng ngoài một nhóm nhỏ fan game ra thì có nghi ngờ liệu công chúng đại chúng có thật sự muốn nó không. Có cảm giác nó chỉ bền được cỡ kính 3D xem phim mà thôi
Hồi vụ giám sát app iOS trước đây, người dùng phải tự cài VPN được phát hành bằng enterprise certificate, tức là theo cách không lên App Store. Người dùng phải vượt qua nhiều cảnh báo đáng sợ của iOS mới cài được, nhưng chỉ cần tặng ít gift card là thực tế vẫn có rất nhiều người tham gia
Việc Meta lặp đi lặp lại những trò như vậy là vì các hình phạt trước đây chưa đủ để ngăn một bên tái phạm nhiều lần
Nền tảng VR Quest của Meta đã bán lũy kế khoảng 20 triệu máy, nhưng với một công ty cần tệp người dùng khổng lồ như Facebook thì con số đó vẫn còn quá ít. Ngay cả sản phẩm bán tốt như Quest 2 (14 triệu máy) cũng đã bị ngừng sản xuất được 9 tháng. Trông vẫn rất xa mới đạt tăng trưởng bùng nổ
Có suy nghĩ rằng kỹ sư đã triển khai hệ thống này có khi cũng là một trong số chúng ta trên Hacker News. Có lẽ không phải do chính Zuck trực tiếp viết ra
Ở đây (Hacker News), khi yêu cầu kỹ sư phải suy nghĩ về đạo đức của công việc mình làm, thường sẽ gặp phản bác kiểu “tôi chỉ muốn làm công nghệ ngầu, công ty dùng nó vào đâu thì không phải việc của tôi”. Cũng tồn tại thái độ mỉa mai kiểu “tôi chỉ là code monkey, quản lý bảo làm Torment Nexus thì tôi làm thôi”
Có người đùa rằng lý do Meta cần AI để triển khai mấy thứ như vậy là vì AI sẽ không từ chối
Thấy có hai vấn đề. Thứ nhất, Android cho phép app mở cổng mà không cần quyền riêng. Và app cũng có thể giao tiếp với nhau mà không cần quyền riêng. Thứ hai, trình duyệt cho phép bất kỳ domain nào truy cập dịch vụ localhost. Trước đây cũng từng có vấn đề bảo mật khi truy cập các dịch vụ dành cho nhà phát triển đang chạy trên localhost. Có vẻ cần cải thiện gì đó
Nếu tách vấn đề kỹ hơn thì thứ nhất là app bất kỳ có thể lắng nghe trên cổng mà không cần quyền riêng, và thứ hai là app bất kỳ có thể truy cập cổng cục bộ mà không cần quyền riêng. Cá nhân tôi từng thử nhốt trình duyệt trong một network namespace trên desktop vì lý do này. Tôi nghĩ website không nên được tùy tiện truy cập dịch vụ localhost của tôi
Đồng ý là có hai vấn đề kỹ thuật như vậy, nhưng dù có thế thì Facebook cũng không nên làm trò này
Để app Android mở cổng thì cần quyền
android.permission.INTERNET. Quyền này mặc định được cấp tự động khi cài đặt, và cũng có những bản như GrapheneOS cho phép chặn riêng. Theo tôi biết thì hiện vẫn chưa hỗ trợ kiểu kiểm soát chi tiết như “chỉ cho phép liên lạc nội bộ”Cũng có đề xuất hạn chế website truy cập mạng cục bộ của người dùng mà không có sự cho phép rõ ràng
https://github.com/explainers-by-googlers/local-network-access
Nếu app Facebook hoặc Instagram được cài trên điện thoại Android, đang đăng nhập tài khoản, và không bật cấu hình riêng để chặn các thứ như tracking pixel, thì bạn có thể bị ảnh hưởng bởi vụ này. Phần vượt qua VPN hay chế độ ẩn danh có vẻ là vấn đề đặc biệt nghiêm trọng. Nhiều người lầm tưởng các chế độ đó giúp bảo vệ quyền riêng tư hoàn toàn, nhưng trên thực tế chúng chủ yếu chỉ tạo cảm giác như một phiên mới hoặc một vị trí khác mà thôi
Từ góc nhìn người dùng phổ thông, khi dùng VPN và duyệt web riêng tư thì hoàn toàn có thể nghĩ là như vậy đã đủ. Việc trình duyệt bí mật liên lạc với app trên điện thoại của tôi rồi gắn mọi hành vi vào tài khoản của tôi là quá đáng
Việc theo dõi có thể tệ hơn nếu app Facebook hay Instagram thật sự còn chạy nền. Một số người rất ghét việc app chạy nền nên hễ dùng xong là luôn tắt hẳn
Chỉ ra rằng vấn đề thực sự nằm ở WebRTC. WebRTC nên bị tắt mặc định, hoặc ít nhất phải bị đặt sau một hộp thoại xin quyền. Tất nhiên Facebook sẽ viện cớ cần bật WebRTC cho một số tính năng như chat, và rồi 99% người dùng cuối cùng vẫn sẽ đồng ý
Không hiểu vì sao Meta lại cần phải đi xa đến mức này. Họ vốn đã có các kỹ thuật theo dõi như fingerprinting, nên có vẻ không cần mạo hiểm thêm như vậy. Có lẽ kỹ thuật này được dùng làm nhóm thử nghiệm để kiểm tra xem các phương pháp theo dõi khác có hoạt động tốt không, hoặc là dấu hiệu cho thấy họ muốn sẵn sàng chuyển ngay sang kỹ thuật khác nếu một trong nhiều cách theo dõi bị lộ hay bị vá. Việc cứ tiếp tục dùng một cách dễ bị bắt quả tang như thế này trông thật sự ngu ngốc
Nhắc đến mô tả “script Meta Pixel gửi cookie _fbp sang app native Instagram hoặc Facebook thông qua WebRTC (STUN) SDP Munging” như một kiểu hack điên rồ đến mức khó tin