- Đây là kỹ thuật theo dõi gán định danh duy nhất cho khách truy cập website bằng cách lợi dụng bộ nhớ đệm favicon, và thông tin nhận dạng vẫn được giữ lại ngay cả khi người dùng xóa cache hoặc cookie
- Cách này vẫn hoạt động khi dùng chế độ ẩn danh, VPN, trình chặn quảng cáo, đồng thời tiếp tục tồn tại sau khi khởi động lại trình duyệt hoặc khởi động lại hệ thống
- Trình duyệt tạo mã nhận dạng duy nhất thông qua tổ hợp mẫu giữa việc yêu cầu favicon hoặc tải từ cache
- Các trình duyệt lớn như Chrome, Firefox, Safari, Edge và cả trình duyệt di động đều bị ảnh hưởng bởi lỗ hổng này
- Từ góc độ bảo mật trình duyệt và quyền riêng tư, tầm quan trọng của việc quản lý cache favicon đang được nhấn mạnh
Tổng quan về Supercookie
- Supercookie là công nghệ nhận diện người dùng bằng bộ nhớ đệm favicon (F-Cache)
- Favicon là biểu tượng nhỏ của website, hiển thị trên thanh địa chỉ hoặc trong danh sách dấu trang của trình duyệt
- Trình duyệt lưu favicon trong một cơ sở dữ liệu cục bộ riêng (F-Cache) để hiển thị nhanh hơn
- F-Cache chứa thông tin về URL đã truy cập, ID favicon và TTL (thời gian hiệu lực)
- Nếu bị lạm dụng, cấu trúc này có thể kết hợp trạng thái yêu cầu favicon theo từng đường dẫn URL cụ thể để tạo ra mẫu trình duyệt duy nhất
Mô hình đe dọa
- Máy chủ web có thể xác định người dùng đã từng truy cập trước đó hay chưa thông qua việc trình duyệt có gửi yêu cầu favicon mới hay không
- Nếu favicon không có trong cache, trình duyệt sẽ phát sinh yêu cầu GET tới máy chủ; nếu đã có, yêu cầu sẽ bị bỏ qua
- Khi kết hợp trạng thái yêu cầu favicon ở nhiều đường dẫn, có thể tạo ra mã định danh duy nhất cho từng trình duyệt
- Định danh này không bị ảnh hưởng bởi các biện pháp chống theo dõi hiện có như xóa cookie, khởi tạo lại cache, dùng VPN hoặc chỉnh sửa header
So sánh với cookie truyền thống
- Theo bảng so sánh, Supercookie có độ chính xác nhận dạng 100%, đồng thời
- có thể phát hiện chế độ ẩn danh, duy trì sau khi xóa cache·cookie, nhận diện giữa nhiều cửa sổ, và vượt qua phần mềm chống theo dõi
- Trong khi đó, cookie thông thường không hỗ trợ các khả năng này
Các trình duyệt bị ảnh hưởng
- Chrome, Safari, Edge, Firefox cùng nhiều trình duyệt lớn khác đều dễ bị khai thác
- Chrome: bị ảnh hưởng trên Windows, macOS, Linux, Android
- Safari: bị ảnh hưởng trên macOS, iOS
- Edge: bị ảnh hưởng trên Windows, macOS, Android
- Firefox: trên một số nền tảng sẽ tạo dấu vân tay khác khi ở chế độ ẩn danh
- Brave: trong các phiên bản mới nhất, phần lớn đã được chặn
- Các phiên bản Brave cũ hơn (1.14.0) và Firefox (<84.0) dễ bị tấn công bởi phương thức này
Khả năng mở rộng và hiệu năng
- Có thể phân biệt 2^N người dùng duy nhất bằng cách điều chỉnh số lượng đường dẫn chuyển hướng (N)
- Số lượng người dùng có thể phân biệt càng lớn thì thời gian đọc·ghi càng tăng
- Có thể điều chỉnh động độ dài của N để giảm thiểu số lần chuyển hướng
Cách phòng vệ
- Cách chắc chắn nhất là vô hiệu hóa hoàn toàn cache favicon hoặc xóa thủ công
- Chrome(macOS): xóa
~/Library/Application Support/Google/Chrome/Default/Favicons và Favicons-journal
- Chrome(Windows): xóa
C:\Users\username\AppData\Local\Google\Chrome\User Data\Default
- Safari(macOS): xóa nội dung trong
~/Library/Safari/Favicon Cache
- Edge(macOS): xóa
~/Library/Application Support/Microsoft Edge/Default/Favicon và Favicons-journal
Mục đích và bối cảnh của dự án
- Kho lưu trữ này được tạo ra cho mục đích giáo dục và trình diễn, nhằm nâng cao nhận thức bảo mật về khả năng theo dõi bằng favicon
- Ý tưởng được lấy cảm hứng từ bài nghiên cứu của University of Illinois Chicago và bài viết trên heise.de
- Dự án còn bao gồm cổng demo được triển khai chỉ trong 2 ngày như một phần của nghiên cứu cá nhân
Khác
- Nhà phát triển là một sinh viên 20 tuổi đến từ Đức, quan tâm đến thiết kế phần mềm và bảo mật CNTT
- Dự án được công khai trên GitHub và có thể chạy trong môi trường Docker hoặc Node.js
- Nội dung liên quan đã được đưa tin bởi Vice, Gizmodo, TechRadar, Schneier.com và các hãng truyền thông lớn khác
1 bình luận
Ý kiến trên Hacker News
Ví dụ như trên Reddit lại hiện favicon của Ars Technica
Sau các bản cập nhật iOS vẫn vậy, và nó tiếp tục xuất hiện cả trong hồ sơ lẫn chế độ ẩn danh
Muốn ép làm mới thì phải chỉnh đồng hồ hệ thống nhảy lên vài năm sau
MacBook của tôi bị thế này mấy năm rồi nên giờ đành bỏ cuộc
Trên Safari iOS, bộ đếm chạy từ 1 đến 18 rồi lại bị chuyển hướng, rơi vào vòng lặp vô hạn
Đây là hành vi tôi không mong muốn nên đang cân nhắc xóa bookmark hoặc lưu chúng thành HTML
Tôi chủ yếu dùng cửa sổ riêng tư, và phát hiện ra chuyện này nhờ Little Snitch
Kết hợp qemu + cage + firefox, và ảnh đĩa sẽ bị xóa khi thoát
Chạy chậm nhưng yên tâm hơn về bảo mật. Cũng có thể dùng container, nhưng tôi không thoải mái khi trình duyệt truy cập kernel của máy chủ
Việc cố kiểm soát bằng chính sách eBPF cũng quá phức tạp nên tôi cứ cách ly bằng VM
Ví dụ như các đặc điểm như bộ dựng SwiftShader hay việc thiếu font sẽ bị phát hiện
Dù có cố ngụy trang những thứ này thì các cách như can thiệp nhiễu canvas cũng nhanh chóng bị lộ. Nếu có giải pháp thì mong bạn chia sẻ
Cảm giác như đã lãng phí khoảng 20 giây