还没有和我们在一起吗?
注册以访问所有网站功能。
注册26.08.26
直到最近,以今天的标准来看,浏览器匿名性似乎还显得有些天真。在2010年代初期,更改IP地址、运行Tor浏览器以及对浏览器进行一些简单的设置就足以让许多系统将你变成一个新用户。随后出现了Canvas、WebGL、AudioContext、WebRTC、客户端提示、WebAssembly、WebGPU以及其他数十种信号源,反欺诈软件不再仅仅关注单一参数,而是开始综合考虑多种参数。
BrowserFM 更进一步。它不仅收集用户指纹,还试图构建用户浏览器环境的模型,收集多达 16,000 个不同的属性。而这正是真正有趣的地方——对于联盟营销人员、多账户用户、广告商、奖励猎人,或者任何认为“新的 IP 地址加上新的浏览器配置文件就等于新的用户”的人来说,游戏规则正在悄然改变。
这里的 FM 与广播无关:BrowserFM 代表的是 Browser Future Model(浏览器未来模型)。该项目的理念相当激进:既然可以收集浏览器能够提供的几乎所有设备信息,为什么还要只挑选几十个“好的”浏览器特性呢?它基于所谓的 BOM 枚举,即浏览器对象模型枚举:该系统遍历浏览器可用的对象,并从各种来源提取特性——窗口、导航器、屏幕、性能、CSS、GPU、窗口大小、显示参数、DPI、分辨率、可用 API、软件环境特性等等。总共可以收集到大约 16,000 个属性。
许多传统解决方案只寻找数量相对较少但信息量最大的特征。BrowserFM 的理念则恰恰相反:如果浏览器提供了某个参数,为什么不利用它呢?因此,将 BrowserFM 视为“另一种指纹”并不完全准确。它更像是一个构建工具包,可以用来组装大量独立的指纹。
想象一下,一个反欺诈系统接收 16,000 个值,然后简单地将它们压缩成一个 SHA-256 哈希值。DPI 变化——生成一个新的哈希值。窗口大小变化——生成另一个新的哈希值。Chrome 更新——又生成一个新的哈希值。这样的系统极其敏感,实际上无法用于长期识别。BrowserFM 的做法更智能:所有参数都分布在不同的分支中——窗口、导航器、屏幕、CSS、GPU、性能等等——每个分支描述其自身的环境部分。
这是一个根本性的转变。现在,反欺诈系统不仅可以比较“指纹 A 是否等于指纹 B?”,还可以提出一个更微妙的问题:“指纹 A 的哪些部分与 B 相似,这种相似性在统计学上有多显著?” 这会带来直接的影响。假设用户升级了显卡,而与 WebGL 和 WebGPU 密切相关的传统指纹发生了显著变化。为什么要丢弃其他数据呢?BrowserFM 允许我们说:“GPU 分支不同——好的,我们暂时忽略它,比较其他所有内容。” 如果窗口、导航器、性能、CSS 以及其他许多特征仍然匹配,系统就有理由相信这是同一用户升级了硬件。无需寻找完全匹配——匹配模型中的各个部分就足够了。
主要问题甚至不在于特征的数量。你知道系统会分析屏幕分辨率吗?修改它。你知道硬件并发性吗?修改它。用户代理更是如此。如果指纹只是一组参数的简单哈希值,那么改变输入数据就足以得到完全不同的输出值。但 BrowserFM 依赖于模糊哈希——一种模糊比较——的思想。系统并不要求完全匹配,而是寻找相似的指纹。
换句话说,指纹并非密码:它无需逐位匹配。系统需要了解两个环境的相似程度,而该模型允许某些特征存在显著差异。因此,更改一些显而易见的参数并不一定意味着会断开与旧环境的连接。BrowserFM 声称在适当的测试条件下,其识别准确率约为 99.7%——这远比“16,000”这个数字本身更令人印象深刻。
一个清晰的例子。第一次运行:1920x1080分辨率,96 DPI,Chrome浏览器,NVIDIA显卡,8个CPU线程,一组特定的字体,以及特定的性能指标。第二次运行:1366x768分辨率,120 DPI,同样的Chrome浏览器,同样的NVIDIA显卡,同样的8个线程,几乎相同的字体,以及类似的性能指标。仅从屏幕截图来看,我们看到的是不同的用户。但从整个模型来看,这一点远非确定。此外,各个分支的权重也不同:一个容易更改的参数不应该像一个难以持续伪造的特性那样被赋予如此高的权重。而这或许正是BrowserFM最有趣的部分。
你可以替换字符串,可以修改 JavaScript API 值,还可以设置网站不同的分辨率。但要让一台电脑像其他硬件一样稳定可靠地运行,难度却远超这些操作。BrowserFM 特别关注“性能”部分:在演示检查器中,仅此一项就包含了数十种不同的性能指标。其逻辑很简单:如果两台设备声称拥有相同的规格,但执行相同操作的方式却截然不同,就会生成一个额外的信号。这在虚拟化和人工构建的浏览器环境中尤为明显。
你可以说:“我是一台典型的家用电脑。”但性能指纹识别提出的问题却截然不同:“你的工作方式真的像一台典型的家用电脑吗?”因此,性能分支可能比易于修改的窗口或导航器分支更受重视。这是指纹识别技术的一个关键转变:反欺诈的重点逐渐从“浏览器报告了哪些关于自身的信息?”转移到“浏览器和设备的实际行为如何?”
如果你的匿名化方案仍然严重依赖“伪造用户代理”,那我们得告诉你一个坏消息。用户代理只是众多信号之一,浏览器引擎还会通过完全不同的 API 暴露自身。一个经典的例子是 AudioContext 指纹识别:音频协议栈和引擎实现上的差异会产生一些特征,而这些特征无法通过单个用户代理字符串进行统一更改。
现在,再加上 Canvas、WebGL、WebGPU、WebAssembly、CSS、性能、字体、导航器、屏幕——以及成千上万个不太明显的特征。结果发现其实很简单:你可以告诉网站你正在使用不同的浏览器,但其他 15,999 个参数也必须与你一致。一致性是现代指纹识别的核心问题之一。
有一个细节常常被低估。假设你确实设置了一台全新的电脑:全新的Windows系统、全新的浏览器、全新的IP地址,而且没有任何cookie。这看起来像是一个完美的全新用户。但一个意想不到的问题出现了:普通人几乎从来不会使用完全干净的电脑。几个月甚至几年下来,电脑上会积累各种数字垃圾——程序、字体、扩展程序、办公软件、图形编辑器、实用工具等等——所有这些都会逐渐改变浏览器所看到的环境。因此,一个完全干净的Windows系统本身就可以成为一个有趣的防欺诈信号。
字体指纹识别技术由来已久,但在像 BrowserFM 这样的大型系统中尤为重要。可用字体集间接揭示了系统的本地化信息、已安装的软件、环境的年代以及计算机的使用习惯。微软 Office 自带字体,Adobe 应用程序会留下不同的字体痕迹,语言包也会留下一部分。所有这些共同构成了系统独特的历史记录。
想象一下,一位用户声称:“我只是个普通的美国人,用这台Windows电脑很久了。”但他的电脑环境看起来像是二十分钟前才安装的——没有安装用户的签名软件,字体也完全不同。每个单独的特征都说明不了什么,但这正是21世纪指纹识别技术的运作方式:微弱的信号累积起来就能得出强有力的结论。
在某些情况下,使用虚拟专用服务器 (VPS) 或远程服务器,安装浏览器并通过它进行操作非常方便——从网络角度来看,一切似乎都完美无瑕。但网络只是其中一层。像 BrowserFM 这样的系统会分析环境本身的特征:服务器版本的 Windows 与典型的家庭版本有所不同,全新安装的系统具有独特的配置文件,而虚拟化环境还会添加另一组信号。一个高质量的住宅 IP 地址本身并不能将服务器变成一台家用笔记本电脑。简单来说:IP 地址告诉网站你来自哪里,而指纹信息则试图了解你是如何访问的——反欺诈系统对这两个答案都感兴趣。
虚拟机的情况则有所不同。虚拟机曾经是隔离环境的通用工具;如今,虚拟化本身也成为了风险评分的一部分。BrowserFM 的独特之处在于,它并不试图寻找像“isVirtualMachine = true”这样的单一“神奇”标志,而是收集大量间接指标:GPU、性能、字体、屏幕、可用 API、软件环境、浏览器行为和系统特性。单独来看,每个信号都完全合理,但它们的组合却能构成独特的虚拟机特征——而这很难通过单一设置来解决。
从历史上看,反检测浏览器的任务大致如下:获取指纹,修改指纹,创建独立配置文件。但是,浏览器集成的独立信息源越多,维护它们之间的一致性就越困难。假设反检测程序更换了GPU——这很好。但是,新GPU的性能匹配吗?WebGPU的性能匹配吗?CPU核心数与性能相关吗?屏幕与宣传的设备匹配吗?字体集与操作系统和语言环境兼容吗?指定的浏览器版本支持特定的API集吗?仅仅生成看似合理的数值已经不够了——我们需要生成一个看似合理的相互关联的数值系统。而这其中的差别是巨大的。
护照就是一个很好的例子。姓名:约翰·史密斯。国籍:美国。出生年份:1990。一切看起来都很正常。但随后发现,这本护照是在法国签发的,护照号码是德式格式,照片是三十年前拍的,签发日期是明天。每个参数单独来看都说得通,但组合在一起就显得荒谬了。浏览器指纹也是如此。现代反欺诈软件越来越少地关注“这个参数是否可以被伪造?”这个问题,而是更关注“能否伪造成千上万个参数,同时保持一致性?”BrowserFM 将这个问题转化为一个架构原则。
智能手机似乎一切都更简单:型号有限,数以百万计的人使用着相同的iPhone和三星手机,硬件也趋于统一,这意味着指纹识别的独特性应该降低。但事实并非如此。Android系统尤其值得关注:尽管硬件统一,浏览器仍然会从软硬件环境中获取大量特征。将这些特征整合到一个更大的模型中,并加入性能指标,潜在的组合数量将大幅增加。因此,像BrowserFM这样的技术可以弥合浏览器指纹识别和身份识别之间的鸿沟,而此前身份识别需要安装应用程序。这对于移动反欺诈而言是一个极具前景的方向。
用户通常不会考虑到技术的一面:数据存储需要成本。尤其是在每天处理数亿条事件数据,而非每月仅有几千名访客的情况下,这一点更为重要。谷歌、亚马逊、广告网络、银行、电商平台以及各大反欺诈平台都在处理海量数据。根据其架构,BrowserFM 的数据表示比标准 JSON 格式更加紧凑——数据来源声称最多可节省九倍的空间。
对单个用户而言,这只是小事一桩。但对于数亿个指纹来说,这却是基础设施上的优势。而且,一项技术的命运往往不仅取决于“它的性能如何?”,还取决于“在5亿次查询中部署它的成本是多少?”。如果一个指纹既更准确又更便宜,那么部署它的动力就会大幅提升。
这个概念还有另一个不足之处:它与现有的 API 并不兼容。新的浏览器界面已经出现——它正在被添加到相应的分支中。获取 GPU 信息的新方法也出现了——这是另一个信号。新的性能 API 又带来了一些新的特性。正因如此,“未来模型”这个名字才显得恰如其分:它并非一个固定不变的标识,而是一个可以不断添加新信息源的架构。如今,它包含 16,000 个参数。未来,参数数量可能会更多。
结论虽然令人不快,但却很有意义:通过替换几个常用参数来对抗指纹识别的时代即将结束。现代系统可以同时分析网络环境、浏览器、硬件、性能、软件环境、变更历史、特征一致性以及用户行为。BrowserFM 主要覆盖浏览器和软硬件层面的很大一部分。因此,问题也在逐渐改变。以前是“我的指纹是否发生了变化?”,现在更准确的问题是“新的环境是否像一个独立的、真实的设备?”。这完全是两个不同的问题。
在使用指纹识别器时,这一点尤其重要。用户更改参数后刷新页面,看到“指纹 ID 已更改”,便欣喜地认为网站现在将其识别为另一个人。但这可能只是一种虚假的安全感。即使对输入数据进行微小的修改,完整的哈希值也会发生变化,但反欺诈解决方案并不一定需要将其作为唯一的标识符。它可以分别存储和比较 GPU、性能、浏览器、屏幕和 CSS 配置文件,并评估新旧配置文件之间的相似度。关键不在于哈希值是否发生了变化,而在于特征空间本身发生了多大的变化。
这就引出了 BrowserFM 最根本的理念,它比任何数字都更有意思。几年后,“16,000”或许会显得平淡无奇——真正重要的是另一件事:浏览器指纹不再仅仅是一个标识符,而变成了一种设备型号。而型号的本质决定了它会发生变化。用户可能会更换显卡、更新浏览器、更改分辨率、更换显示器或安装 Office 办公软件。真实的计算机也在不断变化——一个优秀的防欺诈解决方案不应该在每次此类变化后都流失用户。它必须理解变化的本质:区分一个生命系统的自然演化和一种仓促搭建、徒有其表的虚假环境。
对于任何构建独立配置文件的人来说,这都引出了一个全新的、更具挑战性的问题。以前是“如何获取新的指纹?”,现在是“如何构建一个能够像真正的设备一样运行,并保持内部一致性,随着时间推移像真正的计算机一样不断演进的环境?”。这不仅仅是界面上的一个切换,而是一个全面的工程挑战。
点击 "接受",即表示您同意专家可以使用 cookie 来帮助个性化内容。
您可以根据我们的 Cookie 政策.