Phát hiện plugin và tiện ích mở rộng trình duyệt đã cài đặt
Phát hiện xem trình duyệt có trình xem PDF tích hợp không để xác định giả mạo plugin
So sánh danh sách plugin với các loại MIME để tính nhất quán logic
Phát hiện xem navigator.plugins đã bị chiếm quyền hoặc giả mạo
Lưu ý: Để ngăn chặn dấu vân tay trình duyệt, API plugin của trình duyệt hiện đại thường chỉ có thể phát hiện một số lượng rất hạn chế các plugin tích hợp như PDF Viewer.
Phát hiện trạng thái các plugin cũ đã bị loại bỏ bởi trình duyệt hiện đại
Plugin và tiện ích mở rộng bổ sung những tính năng mạnh mẽ cho trình duyệt của bạn, nhưng mỗi cái cũng có thể để lại dấu vết khiến trình duyệt của bạn dễ nhận diện hơn. Hiểu cách chúng bị phát hiện — và cách một tập hợp bất thường làm tăng tính độc nhất của bạn — giúp bạn cân bằng giữa sự tiện lợi và quyền riêng tư.
Tiện ích mở rộng là những chương trình nhỏ tùy biến trình duyệt của bạn, bổ sung các tính năng như chặn quảng cáo, quản lý mật khẩu, hay dịch thuật. Plugin là một công nghệ cũ hơn, chẳng hạn Flash và các applet Java, vốn chạy nội dung nhúng và phần lớn đã bị khai tử vì lý do bảo mật. Ngày nay gần như mọi thứ đều chạy dưới dạng một tiện ích mở rộng hiện đại được xây trên các công nghệ web, nhưng cả hai thuật ngữ vẫn xuất hiện trong các cuộc thảo luận về lấy dấu vân tay vì mỗi cái đều có thể để lộ những tín hiệu đặc trưng.
Các plugin cũ dùng những giao diện như NPAPI và có thể được liệt kê trực tiếp, khiến danh sách đã cài đặt trở thành một nguồn lấy dấu vân tay phong phú. Các trình duyệt đã loại bỏ khả năng đó từ nhiều năm trước để bịt các lỗ hổng bảo mật, nên danh sách plugin kinh điển giờ đây hầu như trống rỗng hoặc đã được chuẩn hóa. Tiện ích mở rộng thay thế plugin nhưng được thiết kế để khó liệt kê hơn — tuy vậy, như các phần sau giải thích, tác động của chúng vẫn có thể quan sát được theo những cách gián tiếp.
Dù các trình duyệt không còn phơi bày một danh sách các tiện ích mở rộng của bạn, những thay đổi mà các tiện ích đó tạo ra trên một trang vẫn nhìn thấy được. Một trình chặn quảng cáo loại bỏ các phần tử cụ thể, một trình quản lý mật khẩu chèn vào các trường biểu mẫu, một trình dịch làm thay đổi văn bản, và nhiều tiện ích tải tài nguyên từ các địa chỉ nội bộ có thể đoán trước. Bằng cách quan sát những tác động này, một trang web có thể suy ra bạn đang chạy những tiện ích nào mà không bao giờ phải hỏi trực tiếp trình duyệt.
Việc phát hiện dựa vào các tác dụng phụ. Các script có thể dò tìm các tài nguyên có thể truy cập qua web của một tiện ích, quan sát những thay đổi DOM mà nó tạo ra, đo các khác biệt về thời gian mà nó gây ra, hay phát hiện các content script mà nó chèn vào. Mỗi tiện ích được xác nhận bổ sung thêm thông tin định danh. Vì các kỹ thuật này khai thác chính hành vi của tiện ích chứ không phải một API đặc quyền, chúng rất khó chặn nếu không tắt chính tiện ích gây ra chúng.
Tiện ích mở rộng được chọn theo sở thích cá nhân, nên một tổ hợp bất thường có thể mang tính định danh hơn cả phần cứng của bạn. Một nhúm tiện ích ngách đi cùng nhau có thể tạo thành một tập hợp mà gần như không ai khác chia sẻ, biến những công cụ bạn cài để bảo vệ quyền riêng tư hay vì tiện lợi thành một dấu vân tay mạnh và dai dẳng. Trớ trêu thay, một số tiện ích chống theo dõi lại hiếm đến mức chúng làm tăng tính độc nhất của bạn thay vì giảm đi.
Chỉ cài tiện ích mở rộng từ các cửa hàng chính thức và các nhà phát triển đáng tin cậy, vì một tiện ích độc hại có thể đọc mọi thứ bạn làm trên mạng. Hãy rà soát danh sách của bạn định kỳ và gỡ bỏ bất cứ thứ gì bạn không còn dùng, vừa vì bảo mật vừa để thu nhỏ dấu vân tay của bạn. Đối với các tác vụ nhạy cảm, một hồ sơ sạch hay một cửa sổ riêng tư — vốn vô hiệu hóa hầu hết các tiện ích — sẽ giảm cả bề mặt tấn công lẫn khả năng bị theo dõi của bạn.
Một bài kiểm tra plugin xem xét những gì trình duyệt của bạn để lộ cho một trang web: các mục trong danh sách navigator.plugins, các loại MIME mà trình duyệt của bạn tuyên bố có thể xử lý, và các manh mối hành vi tiết lộ những tiện ích mở rộng phổ biến ngay cả khi chúng không được liệt kê trực tiếp. Các trình duyệt hiện đại không còn phơi bày một danh sách tiện ích đầy đủ vì lý do quyền riêng tư, nên việc phát hiện dựa vào các tác dụng phụ — các phần tử được chèn vào, các tài nguyên trang bị sửa đổi, hay các tệp có thể truy cập qua web mà một tiện ích đi kèm. Chạy bài kiểm tra sẽ cho thấy những tín hiệu nào trong số này mà thiết lập của bạn làm rò rỉ và chúng bổ sung bao nhiêu vào dấu vân tay của bạn.
Trước đây, các trang web đọc mảng navigator.plugins để liệt kê các plugin đã cài đặt như Flash hay trình xem PDF. Ngày nay logic đã đảo ngược: để hạn chế việc lấy dấu vân tay, các trình duyệt hiện đại trả về một danh sách chuẩn hóa, cố định sẵn — thường là một vài mục trình xem PDF tích hợp sẵn gần như y hệt nhau giữa Chrome, Edge và Firefox — nên bản thân danh sách giờ mang rất ít độ ngẫu nhiên. API này vẫn quan trọng cho việc phát hiện, vì các trình duyệt không đầu hay bị giả mạo thường tái tạo nó một cách không hoàn hảo, và một danh sách plugin không khớp với User-Agent mà nó tuyên bố là một tín hiệu bot tức thì.
Không trực tiếp. Các trình duyệt hiện đại không còn trao ra một danh sách các tiện ích mở rộng của bạn. Tuy nhiên, các trang web thường có thể suy ra bạn đang chạy những tiện ích nào bằng cách phát hiện những thay đổi mà chúng tạo ra trên một trang hay các tài nguyên mà chúng tải, nên các tiện ích của bạn không riêng tư như chúng có vẻ.
Có thể. Vì lựa chọn tiện ích mang tính cá nhân, một tập hợp bất thường bổ sung độ ngẫu nhiên cho dấu vân tay của bạn và có thể định danh bạn chính xác hơn cả phần cứng. Ngay cả các tiện ích về quyền riêng tư cũng có thể phản tác dụng nếu chúng hiếm. Giữ một tập hợp tối thiểu, phổ biến gồm các tiện ích đáng tin cậy là sự cân bằng an toàn hơn.
Theo mặc định, hầu hết các tiện ích đều bị tắt trong các cửa sổ riêng tư hay ẩn danh trừ khi bạn cho phép chúng một cách rõ ràng. Điều này giảm cả rủi ro bảo mật lẫn việc lấy dấu vân tay trong lúc duyệt web nhạy cảm, đó là một lý do khiến chế độ riêng tư có thể cảm thấy ẩn danh hơn dù tự nó không ngăn được việc lấy dấu vân tay.
Hãy ưu tiên các tiện ích nổi tiếng từ những nhà phát triển uy tín với nhiều người dùng, cập nhật gần đây, và quyền hạn tối thiểu. Các công cụ được dùng rộng rãi vừa có xu hướng được kiểm toán tốt hơn vừa, vì nhiều người chạy chúng, ít làm tăng tính độc nhất của bạn hơn so với những cái ít người biết. Hãy gỡ bỏ bất cứ thứ gì bạn không còn tích cực sử dụng.
Hãy chạy một bài kiểm tra plugin. Nó đọc danh sách navigator.plugins và các loại MIME được hỗ trợ của bạn và tìm kiếm các tác dụng phụ tiết lộ những tiện ích mở rộng phổ biến, rồi cho thấy những gì một trang web sẽ phát hiện. Vì các trình duyệt đã hạn chế việc liệt kê tiện ích trực tiếp, bài kiểm tra tập trung vào những tín hiệu vẫn còn rò rỉ — và vào việc liệu dữ liệu plugin của bạn có nhất quán với phần còn lại của trình duyệt hay không.
Phần lớn là không. Các plugin kiểu cũ như Flash và các applet Java đã bị gỡ khỏi các trình duyệt hiện đại, thay thế bằng các tính năng tích hợp sẵn và các chuẩn web. Thứ còn lại là một danh sách navigator.plugins nhỏ, gần như cố định (thường chỉ có một trình xem PDF) cùng với các tiện ích mở rộng trình duyệt, vốn là một hệ thống riêng. Tuy vậy, API plugin cũ vẫn còn tồn tại, và giờ đây được dùng cho việc lấy dấu vân tay và phát hiện bot nhiều hơn là cho chức năng thực sự.