- Mỗi khi trang web LinkedIn tải trang, nó sẽ phát hiện sự hiện diện của 2.953 tiện ích mở rộng Chrome
- Kho lưu trữ này ghi lại toàn bộ ID tiện ích, tên và liên kết Chrome Web Store mà LinkedIn kiểm tra
- Trong tổng số tiện ích, khoảng 78% được xác nhận qua Chrome Web Store, khoảng 22% qua Extpose
- Script được cung cấp (
fetch_extension_names.js) tự động thu thập tên tiện ích, và với các tiện ích đã bị xóa thì tra cứu thay thế qua Extpose
- Dữ liệu này cho thấy quy mô của việc website nhận diện các tiện ích mở rộng trên trình duyệt của người dùng
LinkedIn Chrome Extension Fingerprinting
- LinkedIn bí mật kiểm tra 2.953 tiện ích mở rộng Chrome mỗi khi tải trang
- Quá trình này được thực hiện dưới dạng fingerprinting nhằm nhận diện các tiện ích đã cài trên trình duyệt của người dùng
- Kho lưu trữ bao gồm toàn bộ danh sách tiện ích mà LinkedIn kiểm tra cùng các công cụ liên quan
- Trong tệp
chrome_extensions_with_names_all.csv có sắp xếp ID tiện ích, tên và liên kết đến Chrome Web Store hoặc Extpose
Cấu trúc dữ liệu
- Tệp dữ liệu gồm ba cột: Extension ID, Name, URL
- Extension ID là mã định danh 32 ký tự, còn URL dẫn đến Chrome Web Store hoặc Extpose
- Có thể xem toàn bộ danh sách trong tệp
chrome_extensions_with_names_all.csv
Script
- fetch_extension_names.js lấy tên tiện ích từ Chrome Web Store, và nếu tiện ích đã bị xóa hoặc không thể truy cập thì sẽ tra cứu thay thế qua Extpose
- Ví dụ lệnh:
node fetch_extension_names.js, node fetch_extension_names.js --offset 0 --limit 500
- test_fetch.js xử lý 3 tiện ích đầu tiên và có thể kiểm thử ở chế độ đầu ra chi tiết (verbose)
Thống kê
- Danh sách fingerprint của LinkedIn bao gồm tổng cộng 2.953 tiện ích
- Trong đó, khoảng 78% được xác nhận qua Chrome Web Store, khoảng 22% qua Extpose
Tệp nguồn
chrome_extension_ids.txt : danh sách ID tiện ích thô được trích xuất từ fingerprint.js của LinkedIn
fingerprint.js : script phát hiện tiện ích (bản rút gọn) được nhúng trong trang LinkedIn
fetch_extension_names.js : script phụ trợ để tự động thu thập tên tiện ích
Tóm tắt
- LinkedIn đang kiểm tra thông tin tiện ích mở rộng trình duyệt ở quy mô lớn,
và kho lưu trữ này công khai minh bạch toàn bộ danh sách cùng phương pháp thu thập
1 bình luận
Ý kiến trên Hacker News
Có vẻ Firefox miễn nhiễm với vấn đề lần này
Chrome phơi bày tài nguyên truy cập web của extension dưới dạng
chrome-extension://[PACKAGE ID]/[PATH],còn Firefox truy cập theo dạng
moz-extension://<extension-UUID>/myfile.png.Trong đó
<extension-UUID>được tạo ngẫu nhiên cho từng trình duyệt để ngăn website lấy dấu vân tay (fingerprinting) trình duyệt thông qua các extension đã càiTài liệu liên quan: tài liệu Chrome, tài liệu Firefox
Chẳng phải từ “trình duyệt này có extension X, Y, Z” sẽ thành “đây là trình duyệt của Jim Bob” à?
Nhìn danh sách extension thì phần lớn là extension liên quan đến cào dữ liệu LinkedIn hoặc tự động hóa
Hồi còn làm ở LinkedIn, kiểu lạm dụng này rất phổ biến, và dù nội bộ đã xây khá nhiều hệ thống phát hiện/phòng chống tinh vi, đó vẫn là một cuộc chiến không hồi kết
Việc này có thể là vi phạm TOS của Chrome Web Store
Giờ Chrome giống như IE6 mới
Google đã tự biến mình thành Microsoft tiếp theo, và đang đi theo hướng thân thiện với quảng cáo.
Cảm giác như họ đóng góp nhiều hơn cho việc vô hiệu hóa ad blocker và cho phép mã độc, thay vì cải thiện bảo mật
Tốc độ vá lỗi và kiểm thử bảo mật của họ cũng không tệ
Mở LinkedIn rồi nhấn F12 sẽ thấy số lượng lỗi cứ tăng liên tục
Có thể xem ảnh chụp màn hình tại đây
Gần đây tôi có tổng hợp trên blog về kỹ thuật phát hiện extension của LinkedIn và các cách khác có ít tác dụng phụ hơn
Bài blog của Castle
navigator.webdriverluôn là false thì có thể điều khiển từ xa.Khó phát hiện, nhưng vẫn có thể nhận ra qua mẫu tốc độ nhập liệu
Vài tháng trước tôi đã viết một bài báo liên quan.
Bài đó giải thích vì sao chuyện này có thể xảy ra, cũng như cách phòng tránh
Link bài viết
Gần đây LinkedIn dùng khá nhiều dark pattern kỳ lạ
Tôi tò mò không biết có ai hiểu lý do đằng sau các hành vi này không
Từ web crawling cho tới thuê người làm thủ công, họ đang triển khai nhiều chiến lược phòng thủ khác nhau
Cách này thực ra đã được biết đến từ năm 2019
Bài blog của Nymeria
Danh sách extension mà LinkedIn quét thì rõ ràng, nhưng thứ thú vị hơn lại là những extension không bị quét
Ví dụ “Contact Out” có thể bị quét, nhưng dường như LinkedIn lại phớt lờ nó.
Khiến người ta nghi có một thỏa thuận ngầm nào đó
Link extension Contact Out
Có đoạn viết rằng “kho lưu trữ này ghi lại mọi extension mà LinkedIn kiểm tra và cung cấp công cụ để nhận diện chúng”,
nhưng tôi muốn biết họ đã xác nhận bằng cách nào rằng LinkedIn thực sự kiểm tra các ID này.
Và tôi cũng muốn biết việc này có liên quan với người dùng không dùng Chrome hay không
rồi khoe rằng cách tiếp cận của họ “im lặng hơn, ít bị chú ý hơn và dễ chạy ở quy mô lớn hơn”
Bài blog của Castle