Tính xác thực của trình duyệt đã được cải thiện đáng kể, các yếu tố fingerprint mới đã được thêm vào.
Thông tin trong chủ đề này đã được cố ý rút gọn, một số thay đổi được đề cập rất ngắn gọn, không có chi tiết kỹ thuật.
Thông tin IP.
Ban đầu, dự định tạo một dịch vụ cho mục đích này, nhưng không thể tìm thấy một cơ sở dữ liệu hoàn hảo, vì các kết quả cho các cơ sở dữ liệu khác nhau thường khác nhau, không phải lúc nào cũng rõ cái nào trong số chúng là đúng.
Do đó, các thay đổi sau đã được thực hiện:
Thay đổi múi giờ.
Cài đặt màn hình.
Webgl.
FingerprintSwitcher thay đổi nhiều thuộc tính webgl 1.0 và webgl 2.0 bổ sung và chức năng của một số phương thức.
Bố cục bàn phím.
Yếu tố fingerprint mới - bố cục bàn phím.
Font.
Số lượng font được hỗ trợ đã được tăng đáng kể, giờ đây có hơn 4 nghìn font. Để đạt được điều này, chúng tôi đã phải cải thiện cơ chế để lấy danh sách font.
Yếu tố fingerprint mới - MediaDevices.
Các id thiết bị media được tạo mỗi khi một hồ sơ mới được tạo, vì vậy yếu tố này không thể dẫn đến việc bị phát hiện. Tuy nhiên, trong phiên bản mới, tất cả thông tin thiết bị khả dụng và một số thuộc tính bổ sung được thay đổi bằng FingerprintSwitcher.
Điều này có nghĩa là bây giờ, để thay đổi id thiết bị, bạn cần thay đổi fingerprint, chuyển hồ sơ là không đủ.
Yếu tố fingerprint mới - performance fingerprint.
Bằng cách đo tốc độ thực thi của một số phương thức javascript, site có thể cấu tạo một định danh thiết bị độc nhất:
Để giải quyết vấn đề này, một action "Performance fingerprint" mới đã được thêm vào. Nó làm cho site nghĩ rằng benchmark đang chạy nhanh hơn hoặc chậm hơn thực tế. Đồng thời, các phép đo được thực hiện cho các mục đích khác không nên bị thay đổi. Chức năng mới cố gắng tránh các mâu thuẫn liên quan đến biến dạng thời gian, nhưng công nghệ này là thử nghiệm và có thể gây ra lỗi. Ví dụ: một cuộc trò chuyện với một lượng lớn tin nhắn sẽ có sự chênh lệch thời gian trên máy chủ và client.
Thông tin thêm có thể được lấy từ tài liệu của action.
Permission API.
API này tạo ra các kết quả như trong một trình duyệt Chrome thật. Việc nhận các quyền cho thông báo và vị trí địa lý nhất quán với các cài đặt do người dùng chọn.
Thay thế fingerprint ở phía trình duyệt.
Bắt đầu với phiên bản mới, việc thay thế tất cả các thuộc tính xảy ra trong mã C++, mã javascript chỉ được chèn khi tuyệt đối cần thiết, ví dụ, để mô phỏng phương thức firefox không có trong chrome.
Chỉ còn 1 thuộc tính, thay đổi qua js, nhưng nó không phải lúc nào cũng được dùng, tôi hy vọng cuối cùng nó sẽ được chuyển sang C++.
Các thay thế cho Notification, navigator.connection, screen.orientation và nhiều thuộc tính khác đã được viết lại.
Tất cả dữ liệu ngoại trừ Permission API được lấy từ các thiết bị thật. Cơ sở dữ liệu fingerprint chưa được cập nhật đầy đủ, do đó khuyến nghị sử dụng bộ lọc theo ngày tối thiểu của fingerprint đặt ở 15 ngày.
Nghiên cứu các phương pháp mới.
Bảo vệ chống bot аd scоre cоm đã được nghiên cứu, các patch tương ứng đã được thực hiện cho trình duyệt.
Module mới Archive.
Một module mới đã được thêm vào để làm việc với các archive zip, 7z và rar (chỉ giải nén). Nó được tạo bởi @GhostZ. Module này được viết bằng node.js, bạn phải bật nó trước qua trình quản lý module.