浏览器指纹是用户设备的数字表示,它包含有关的操作系统、设置、活动浏览器、已安装插件等的信息。此类指纹以唯一代码或图像的形式生成。
如果在浏览器中使用代理来增加浏览匿名性,则需要将代理相关参数与当前指纹属性相匹配。
在本文中,将介绍一些最有用的做法,阐明浏览器在网络上留下的指纹类型以及成功提高匿名性的方法。
浏览器指纹类型
浏览器指纹识别的工作方式是通过收集系统上的信息来增加其唯一性,因此网站可以轻松识别它。
你的浏览器和计算机在浏览网站中留下的指纹揭示了大量有关用户的信息。它包括一系列参数,从浏览器用户代理、操作系统版本、浏览历史到屏幕分辨率、WebGL 渲染器、设备 ID、网络 IP、WebRTC,甚至电池信息。
浏览器指纹分类
浏览器指纹可分为基于浏览器的指纹和跨浏览器的指纹。现代指纹跟踪器将使用相同的硬件收集和分析来自不同浏览器的信息,并轻松识别最终用户。
基于浏览器的指纹主要信息包括:当前IP、浏览器标头(用户代理、HTTP、接受、不跟踪)、JavaScript 屏幕参数、有关在浏览器中启用或禁用的 cookie 和“超级”cookie 的信息、已安装的浏览器插件、它们的版本和更新。
跨浏览器的指纹(数据跟浏览器没关系的)包括:操作系统信息、 处理器中的内核数、字体和已安装语言的列表、 分析对浏览器执行的涉及操作系统和硬件组件的操作的响应(形状和图片的 2D 和 3D 渲染、创建阴影等)。
浏览器指纹识别
浏览器指纹信息可以从浏览器用户代理、Cookie、网络存储、画布 API 、WebGL、网络RTC等信息进行识别。
浏览器用户代理
用户代理是您系统的明显指纹。浏览器用户代理旨在促进最终用户与 Web 内容的交互,它是包含更多信息的请求标头的一部分,例如接受的语言和接受的文本/html。
HTTP 中的用户代理格式由产品名称和版本列表组成。
例如:Mozilla 5.0 和布局引擎和版本,例如 Geko 1.0
Cookie
Cookie 是浏览器中一种较旧的网络存储形式。它们最初的目的是将从服务器接收到的数据存储在一个请求中,并在后续请求中将其发送回服务器。但是在 JavaScript 中,可以使用 cookie 存储几乎任何类型的数据,每个 cookie 的大小限制为 4 KB。
Сookies 仅在同一域内相关。所有 cookie,包括 evercookies,都可以通过一组简单的操作轻松清除或阻止。从指纹识别的角度来看,一旦将浏览器设置为“隐身”模式,就可以轻松地从系统中删除标准 cookie。
网络存储
Web 存储是 JavaScript 在浏览器中存储数据的一种机制。与 cookie 一样,每个来源的 Web 存储都是独立的。Web 存储对服务器来说是完全不可见的,它提供的存储容量比 cookie 大得多。
Web 存储有两种类型:本地存储和会话存储。一项本地存储在所有窗口的所有选项卡中都可见,并且即使在浏览器关闭后仍然存在。它的行为有点像一个过期日期很远的cookie。另一方面,会话存储项仅在创建它的选项卡中可见,并且在关闭选项卡时消失。
画布API
当访问一个网站时,一个特殊的指纹脚本会绘制一个带有所选字体和大小的示例文本并添加背景。此文本可能包含 2D 对象和表情符号。然后,脚本读回渲染的图像数据以比较像素精度。
相同的形状或文本会在不同的计算机上以不同的方式呈现,具体取决于操作系统、字体库、显卡、显卡驱动程序和浏览器。
WebGL
WebGL 的工作方式与 Canvas 类似,但无需使用插件即可在浏览器中呈现交互式 3D 对象。
该网站可能会获得有关的显卡供应商和型号的信息。这间接地将操作系统泄漏为 Windows 或 Mac OS。
网络RTC
WebRTC(或网络实时通信)节点用于收集有关 IP 地址的信息,以便在网络中的两个对等点之间提供最佳路由。如果泄露,这些信息可以很容易地用于指纹识别。
如果使用 browserleaks.com 测试自己的系统,您将能够看到系统的网络 IP 和 webRTC 下方检测办公室中的以太网地址以及设备 ID。确保在通过浏览器使用代理时关闭 webRTC 以避免 IP 泄漏。
现在各种APP、网站、应用程序都在收集有关每个用户的大量信息。为避免成功对个人的系统进行指纹识别,建议设置和验证独特的系统配置或使用上述特殊工具。这样做后,将有更好的机会使用新代理进行安全匿名浏览,从而防止个人用户信息被收集。
VPN或代理是绕过浏览器中区域限制的最简单方法。它将IP 更改为服务上可用的 IP。但是,代理本身并不能防止多个跟踪器,也不会影响系统中已有的 cookie。因此可以基于浏览器进行做一些手动的设置更改系统的时区、为设备操作系统设置不同的语言、更改设备屏幕的分辨率、更改网页上的查看比例(放大/缩小)、安装或删除浏览器插件、禁用 Flash、Javascript 和 WebGL。