Lập trường tiêu chuẩn của Mozilla phản đối Web Environment Integrity API
(github.com/mozilla)- Trong một issue của Mozilla standards-positions, Mozilla được yêu cầu đưa ra lập trường về Web Environment Integrity API, và Mozilla kết luận với
position: negativevì cho rằng đề xuất này xung đột với nguyên tắc mở của web - Đề xuất cho biết nguyên mẫu Chromium hiện phụ thuộc vào Google Play Integrity, nhưng về mặt đặc tả thì trung lập với nhà cung cấp; người yêu cầu lo ngại rằng trên thực tế nó có thể bị cố định quanh một số ít nhà cung cấp, giống như EME
- Mozilla đánh giá API này có thể trở thành một cơ chế hạn chế lựa chọn thiết bị, hệ điều hành và trình duyệt, gây hại cho tính mở của hệ sinh thái web và không tốt cho người dùng
- Trong các trường hợp sử dụng được đề xuất, “phát hiện lưu lượng không phải con người” có thể ngăn cản các cách sử dụng web hiện có như công nghệ hỗ trợ, kiểm thử tự động, lưu trữ, spider của công cụ tìm kiếm — những công cụ chuyển đổi, xác minh, lập chỉ mục và tóm tắt nội dung dành cho con người
- Mozilla cho biết phát hiện gian lận và lưu lượng không hợp lệ là vấn đề khó và họ quan tâm đến việc giải quyết, nhưng cho rằng đề xuất này thiếu giải thích về tiến bộ trong các trường hợp sử dụng thực tế và có những nhược điểm rõ ràng nếu được áp dụng
Yêu cầu trong issue và phạm vi đề xuất
- Issue trên GitHub yêu cầu Mozilla đưa ra lập trường chính thức về một đặc tả web mới nổi có tên Web Environment Integrity API
- Các tài liệu được đưa vào yêu cầu:
- Nguyên mẫu của Chromium hiện phụ thuộc vào Google Play Integrity, nhưng người yêu cầu viết rằng bản thân đặc tả là trung lập với nhà cung cấp
Những lo ngại ban đầu được nêu ra
- Người yêu cầu lấy EME làm ví dụ: về lý thuyết EME trung lập với nhà cung cấp, nhưng trên thực tế chỉ có một số ít nhà cung cấp được công nhận rộng rãi
- Google Widevine: được dùng trên Firefox, Chrome và Android ở hầu hết nền tảng
- Microsoft PlayReady: được dùng trên Microsoft Edge, Windows và một số thiết bị Android cùng với Widevine
- Apple FairPlay: được dùng trong Safari và hệ sinh thái Apple
- Có lo ngại rằng tình huống tương tự có thể tiếp diễn với Web Environment Integrity API, và các website thực tế có thể yêu cầu trình duyệt đã được phê duyệt trước
- Một bình luận chỉ trích rằng API này không mang lại gì cho người dùng cuối, chỉ có thể được dùng để hạn chế người dùng; đặc tả thì mơ hồ và underlying mechanism không rõ ràng
Lý do Mozilla phản đối
- Mozilla cho biết đề xuất này đi ngược lại nguyên tắc và tầm nhìn về web của Mozilla
- Tầm nhìn về web của Mozilla cho rằng các trình duyệt, máy chủ và nhà xuất bản triển khai các tiêu chuẩn chung phải tự động trở thành một phần của web
- Tiêu chuẩn nên tránh đưa ra giả định về phần cứng hoặc phần mềm có thể triển khai, và không nên để một chủ thể cụ thể quyết định form factor, thiết bị, hệ điều hành hay trình duyệt nào có thể truy cập web
- Quyền lựa chọn như vậy giúp nhiều nhóm người khác nhau có thể tiếp cận cùng một web xét về công nghệ hỗ trợ, bản địa hóa, form factor và giá cả
- Vì vậy, các cơ chế nhằm hạn chế lựa chọn gây hại cho tính mở của hệ sinh thái web và không tốt cho người dùng
Vấn đề với trường hợp sử dụng “phát hiện lưu lượng không phải con người”
- Mozilla cho rằng các trường hợp sử dụng được đề xuất dựa vào khả năng “detect non-human traffic”
- Cách tiếp cận này có khả năng cản trở các cách sử dụng web hiện có
-
Công nghệ hỗ trợ
- Kiểm thử tự động
- Lưu trữ
- Spider của công cụ tìm kiếm
- Những công cụ này cần có khả năng nhận nội dung dành cho con người rồi chuyển đổi, kiểm thử, lập chỉ mục và tóm tắt lại cho con người
- Cơ chế bảo vệ trong đề xuất như “holdback” hoặc khiến việc tạo attestation thất bại ngẫu nhiên được đánh giá là khó có khả năng hiệu quả, và không đủ để giải quyết các lo ngại mà Mozilla nêu ra
-
Kết luận và cách xử lý issue
- Mozilla cho biết phát hiện gian lận và lưu lượng không hợp lệ là vấn đề khó, và họ quan tâm đến việc giải quyết vấn đề này
- Tuy nhiên, đề xuất Web Environment Integrity API không giải thích được cách tạo ra tiến bộ thực chất trong các trường hợp sử dụng đã liệt kê, đồng thời có những nhược điểm rõ ràng nếu được áp dụng
- Thành viên Mozilla gắn nhãn lập trường đối với đề xuất này là negative theo phân tích trên
- Vì đề xuất này nằm trong một kho GitHub cá nhân, không phải công việc trên standards track hay của một nhóm ươm mầm công khai, nên được đánh giá là không cần dashboard entry riêng
- Issue được gắn nhãn
position: negativevào ngày 25/7/2023 rồi được đóng ở trạng thái hoàn tất
1 bình luận
Ý kiến trên Hacker News
Cách tấn công đại khái như sau: kẻ tấn công tạo ra một thiết bị như smartphone, sinh một cặp khóa rồi lưu trong HSM bên trong thiết bị, thường được gọi là trusted enclave, sau đó ký khóa công khai bằng khóa master.
Thiết bị chạy phần mềm của kẻ tấn công và được thiết kế sao cho nếu phần mềm do người dùng chọn chạy với đặc quyền cao, HSM sẽ biết điều đó theo cách không thể đảo ngược cho đến khi khởi động lại. HSM ký vào câu “thiết bị này đang chạy phần mềm của kẻ tấn công” cùng với nội dung mà phần mềm của kẻ tấn công muốn truyền đi, nhưng sẽ không ký nếu phần mềm do người dùng chọn đang chạy. Kèm theo đó là khóa công khai đã được ký bằng khóa master, để bên thông đồng có thể xác nhận rằng thiết bị không nằm dưới quyền kiểm soát của người dùng mà nằm dưới quyền kiểm soát của chủ thể hạn chế quyền tự do của người dùng.
Tùy chọn, chứng thực này có thể đi qua máy chủ của kẻ tấn công để được ẩn danh hóa hoặc kiểm tra các điều kiện tùy ý rồi biến thành một chứng thực mới. Cuối cùng, bên thứ ba được đảm bảo theo cách này rằng thiết bị đang chạy phần mềm của kẻ tấn công, và có thể ngăn người dùng chạy phần mềm họ muốn hoặc buộc họ dùng thiết bị theo cách mà kẻ tấn công và bên thông đồng mong muốn. Kiểu tấn công này đã được triển khai trên Android thông qua SafetyNet và Play Integrity API của Google, trên iOS bởi Apple, và giờ đang được mở rộng sang web.
Web Integrity API này là phương tiện để họ củng cố vị thế không phải là một người trung gian có thể lựa chọn, mà là người trung gian bắt buộc.
Và “kẻ tấn công” này cũng chẳng thu được gì. Đây không phải kẻ tấn công mà là nhà sản xuất thiết bị. Gọi TPM là kẻ tấn công trong khi giải thích quy trình chứng thực từ xa nghe thật kỳ lạ.
Vì vậy những cơ chế như thế này đẩy chi phí sang người dùng phổ thông, trong khi chỉ mang lại lợi ích cho những bên có năng lực như vậy.
Đây là điều đã được dự đoán, nhưng sẽ vô nghĩa nếu không đưa được mọi người sang Firefox và rời xa các trình duyệt họ Chromium. Những người đã đầu tư vào an toàn và bảo mật của web, rộng hơn là niềm tin, phải chịu một phần trách nhiệm.
Tôi vẫn chưa thấy thông tin Brave có hỗ trợ cái này hay không. Nhưng nếu tôi hiểu đúng, một khi dùng Chromium thì có vẻ không còn lựa chọn nào, và tôi hy vọng mình hiểu sai.
Cuối cùng, tôi nghĩ chúng ta phải quay lại vĩnh viễn với màn hình chọn trình duyệt được luật pháp hậu thuẫn, giống như sau vụ IE bị bán kèm. Nếu không, ma sát và các động lực khuyến khích sẽ tiếp tục củng cố thêm một tay chơi thống trị.
Điều quan trọng hơn là tự do và khả năng tương tác.
Nhân tiện, có thể cài sẵn cả uBlock Origin. Chúng tôi đang làm như vậy.
Nếu thứ này được triển khai, danh tính của người dùng có thể bị đánh giá là “không đủ” và họ không thể truy cập một số website hoặc dịch vụ nhất định; khi đó họ có thể có động lực chuyển sang một trình duyệt khác không có tính năng này.
Tôi đã nói ở chỗ khác rồi, mọi người nên dùng Firefox. Nếu tất cả dừng lại, sẽ không còn thực thể nào có tiếng nói để chống lại mấy trò nhảm nhí của Google. Google sở hữu Chrome và có thể làm bất cứ gì họ muốn.
Không phải tôi nói Firefox hoàn hảo hay tốt hơn, mà là nó cần thiết. Chúng ta cần một trình duyệt cạnh tranh có thị phần đáng kể, với engine render không bị Google kiểm soát về cơ bản. Nếu không thì chỉ còn cách ngừng phàn nàn và để Google làm theo ý họ.
Tìm sơ qua thì 5–10 năm trước, hơn 50% doanh thu đến từ Google, nhưng tôi không tìm được dữ liệu gần đây hơn. Nếu Google là nguồn thu chính của Mozilla, đặc biệt là chiếm quá bán, thì Google về thực chất kiểm soát Mozilla bằng đòn bẩy có thể cắt nguồn thu lớn nhất của họ.
Cũng nảy sinh câu hỏi công ty hay tổ chức nào nên phát triển trình duyệt. Mọi người đều kỳ vọng trình duyệt miễn phí, nhưng việc phát triển, vận hành và bảo trì thì không miễn phí. Các công ty trình duyệt vì lợi nhuận như Brave buộc phải kiếm tiền từ trình duyệt, chẳng hạn bằng token tiền mã hóa BAT hoặc quảng cáo trên tab mới.
Mozilla cũng có thể nêu lập trường về đề xuất IPA của chính họ, vốn theo dõi người dùng trên toàn bộ Internet không?
Khi một người xem quảng cáo sản phẩm trên searchengine.example, sau đó tìm sản phẩm đó trên reviews.example rồi mua trên shop.example, trình duyệt Mozilla sẽ gửi tất cả các sự kiện này tới một hoặc nhiều dịch vụ tổng hợp, để shop.example hiểu được — ít nhất ở mức tổng hợp — rằng người dùng đã được hiển thị quảng cáo trên searchengine.example và lại được hiển thị trên reviews.example. Tất nhiên, điều này dựa trên giả định rằng ta tin tưởng cartel vận hành các dịch vụ tổng hợp đó
Trước đây, các công ty công nghệ quảng cáo vẫn có thể theo dõi người dùng dựa trên địa chỉ IP nguồn ngay cả khi cookie bị tắt, nhưng IPA cho phép theo dõi xuyên qua nhiều địa chỉ IP bằng một mã định danh theo dõi duy nhất, bất kể thiết lập cookie. Cũng đã có đề xuất để hệ điều hành cung cấp một mã định danh theo dõi duy nhất có thể dùng cho mọi ứng dụng và trình duyệt trên thiết bị, nhờ đó có thể phân biệt cả nhiều thiết bị phía sau cùng một IP
https://github.com/patcg-individual-drafts/ipa/
Điều này tách biệt với việc theo dõi quảng cáo để xây hồ sơ sở thích người dùng, hay remarketing mua quảng cáo nhắm vào những người từng truy cập. Phần lớn các hệ thống attribution riêng tư được thiết kế để nhà vận hành quảng cáo đếm được có bao nhiêu người nhấp vào quảng cáo, nhưng không biết ai đã nhấp hay họ đã làm gì khác. Đề xuất của Safari có giới hạn số chiến dịch có thể chạy trên mỗi domain, nhằm ngăn việc tạo “chiến dịch” riêng cho từng người dùng để fingerprint họ trong một lần. Tôi không biết đề xuất của Mozilla khác thế nào
Việc user agent có nên quan tâm đến những thứ như vậy hay không là một câu hỏi riêng
https://www.theregister.com/2023/06/29/google_trueview_skepticism/
Đặc biệt, remarketing là nguyên nhân tạo ra cảm giác “bị giám sát” của quảng cáo hiện đại: chỉ cần tìm kiếm một món đồ là cả tuần sau có hàng vạn quảng cáo về món đó bám theo
Thật đáng tiếc khi Mozilla chiều theo những thứ rác rưởi như IPA, nhưng ít nhất hiện tại người dùng vẫn có quyền tự do vô hiệu hóa, gỡ bỏ, fork, v.v. Trái lại, chứng thực từ xa về cơ bản là dấu chấm hết cho chính khái niệm user agent
Phát hiện trình duyệt, phát hiện “môi trường”
Một số nhà vận hành website có thể thiết kế các website không thể truy cập bằng Chrome như một cách phản đối. Sẽ khá thú vị khi xem Google cố vượt qua chuyện đó. Đặc biệt nếu nó chỉ trở thành trào lưu trong các website nhỏ, phi thương mại
Tuy nhiên, thay vì chặn hoàn toàn, tôi sẽ chỉ giữ lại các chức năng thật sự cần thiết và liên tục nhắc họ chuyển sang trình duyệt khác hoặc dùng thứ như Tampermonkey. Cũng cần cung cấp hướng dẫn rõ ràng về việc phải làm gì
Cách tốt để phát hiện việc hỗ trợ tính năng này là gì? JavaScript API?
May là Google cũng đã sửa khoảng 4 tháng trước. Một số công cụ kiểm thử cross-browser miễn phí vẫn có thể cho thấy lỗi hỏng đó qua kiểm thử theo phiên bản
Đối ứng phía di động là Play Integrity API cần bị đặt ngoài vòng pháp luật và đưa ra tòa tranh tụng. Vì ý tưởng cốt lõi là loại bỏ ROM của bên thứ ba, tôi cho rằng nó rất có thể cũng trái với quyền sửa chữa của EU và luật về rác thải điện tử
Cần bắt đầu chuyển trọng tâm tranh luận sang các vấn đề bảo mật do Google và quảng cáo của họ tạo ra
Cần chia tách Google để lợi ích của họ không còn làm ô nhiễm Android và Chrome
Tôi muốn quyên góp cho Mozilla, nhưng lo tiền của mình sẽ chui vào túi các lãnh đạo cấp C. Có cách nào quyên góp chỉ định riêng cho đội ngũ cốt lõi Firefox hoặc MDN không?
Ngay cả một CEO được trả lương cao đến mức vô lý cũng cần thiết cho công ty. Tôi không tin lập luận rằng ở Mỹ muốn thuê CEO giỏi thì phải trả thật nhiều, nhưng một CEO tệ có thể phá hỏng công ty như GE, Enron, Boeing, Twitter
Một ví dụ thú vị về việc giới hạn mục đích ngân sách thất bại ra sao là MARTA ở Atlanta. Trước đây, do luật tài trợ cố định chi phí vận hành và chi tiêu vốn theo tỷ lệ 50/50, kết quả là có tàu mới nhưng phần còn lại thì xuống cấp tan nát
Doanh nghiệp là cấu trúc nơi tiền đi vào, tiền đi ra, và sản phẩm được tạo ra. Bạn chỉ cần chọn trả tiền cho sản phẩm mình thích hay không. Họ dùng tiền nhận được thế nào là việc của họ
Nhưng tiền có tính thay thế. Nếu bạn quyên góp 500 đô la để hỗ trợ MDN, nó có thể thay thế 500 đô la vốn từ doanh thu ban đầu dành cho MDN, và 500 đô la khác có thể đi vào túi lãnh đạo cấp C hoặc Pocket, v.v. Bản thân đồng đô la sẽ đi đến nơi bạn chỉ định, nhưng nó có thể khiến các khoản chi khác mà bạn không thích trở nên khả thi
Ngược lại, nếu bạn quyên góp 50 tỷ đô la để hỗ trợ MDN thì hơi khác. Ngân sách hỗ trợ MDN hiện có chắc chắn sẽ được giải phóng, nhưng chi tiêu của MDN không thể là 50 tỷ đô la, nên số tiền vượt quá nhu cầu của MDN sẽ không có nơi nào để đi
Việc dùng sản phẩm và trở thành khách hàng có thể có giá trị hơn với họ và tuyên ngôn của họ
Mozilla có thể phản đối, nhưng nếu nó được đưa vào Chrome và bắt đầu được dùng rộng rãi, cuối cùng họ sẽ triển khai như CDM
Rốt cuộc người dùng chỉ thấy một số website chạy trên Chrome nhưng không chạy trên Firefox. Khi có chi phí thực tế là nguy cơ mất thị phần, Firefox sẽ kết luận rằng không còn lý do để phản đối
Lập trường tiêu chuẩn của WebKit cũng đáng xem: https://webkit.org/standards-positions/
Vụ này chưa được phản ánh, và có lẽ họ rất có thể sẽ phản đối
Có một lịch sử dài về việc các hacker theo nghĩa cổ điển dùng máy tính để làm những điều người khác không muốn, còn những người đó thì hoặc chẳng làm được gì, hoặc cùng lắm là bước vào một cuộc chạy đua vũ trang. Điều đó tệ với họ, nhưng lại rất tốt cho toàn xã hội
Nó đã sinh ra vô số thứ như GNU, “IBM Compatible”, trình chặn quảng cáo, Firefox, BitTorrent, YouTube ReVanced/youtube-dl, v.v.
Mục tiêu của chứng thực thiết bị cho phần mềm tiêu dùng là chấm dứt điều này. Apple đã tiên phong trên iOS, và giờ đây nhờ sức mạnh của chủ nghĩa tư bản, nó đang lan sang mọi lĩnh vực điện toán. Chứng thực thiết bị có nghĩa là hacker thua cuộc, và đó là một kết cục tồi tệ
Một mối đe dọa song sinh khác là ngành phần mềm đang dọn dẹp vấn đề bảo mật một cách đúng nghĩa. Trước đây jailbreak iOS rất phổ biến, nhưng đã một năm không có jailbreak iOS. Rust cũng chẳng giúp gì
Chúng ta đang lao vào một thế giới nơi nhà sản xuất và chủ sở hữu quyền sở hữu trí tuệ kiểm soát hoàn toàn nội dung họ tạo ra, và duy trì trạng thái đó bằng mật mã học tiên tiến cùng phần mềm cực kỳ an toàn nhưng thù địch với người tiêu dùng. Đây là một trong những diễn biến nguy hiểm nhất trong lịch sử, và nếu nó trở thành hiện thực thì sẽ không thể đảo ngược. Stallman đã đúng
Nghe giống như nói rằng đưa ví tiền ra trước họng súng có thể cải thiện hạnh phúc của bạn