基于Canvas的指纹识别:是什么以及它是如何工作的?
这些痕迹已经被抹去,IP已经被替换。即使我们用湿巾擦拭了鼠标,我的行动仍然被追踪到。但这怎么可能呢?毕竟,所有数字痕迹都被抹去了。那么Canvas呢?
在互联网上保护隐私并不那么简单...确切地说,根本没有隐私。即使用户尽力清除自己的痕迹,长鼻子的广告网络、分析平台和反欺诈系统仍然会追踪并确定他的兴趣、喜好和偏好。然后他们会知道你的性别、年龄...然后就是名字、姓氏和住址了。因此,我们应该好好保护自己的数据,将其替换为他人的数据。包括Canvas,这是许多反检测用户忽视的...因为他们不知道这是什么“画布”。
让我们来看看指纹的所有组成部分
使用匿名浏览器来隐藏自己既方便又有效。有时候,你可以伪装得连自己都认不出来。在实践中确实有这样的情况。但要达到如此高的效果,需要充分准备数字指纹。这些数字指纹是反检测用于隐藏用户真实特征的工具。
指纹是一组特征,包含在一个共同的术语中。其中的信号允许反检测绕过所有网站的封锁。并且可以在这些网站上进行任何规模的多账户活动。
数字指纹集合中的参数可以分为几个组:
- 基本参数 - 包括:操作系统、浏览器及其版本、屏幕分辨率、CPU时钟频率、内存容量。以及包含在User-Agent中的值。
User-Agent字符串是应用程序(在我们的情况下是浏览器)发送给服务器的HTTP标头的一部分。该字符串包含用户设备的特征值和本地设置。User-Agent中的某些参数与通过其他指纹部分传递的参数相匹配。因此,确保它们的兼容性非常重要。为此,在Undetectable的指纹设置中添加了一个工具来检查这些值的一致性。
- 网络参数 - 时区、地理位置、WebRTC。
WebRTC协议用于通过对等技术在互联网上传输数据包。它通常用于在Web应用程序之间传输多媒体数据(语音和音频)。所有流媒体服务都基于此协议。此外,该协议允许跟踪器和反欺诈系统绕过代理服务器来确定客户端的IP。
- 系统参数 - 应用程序窗口大小、字体集、WebGL和Canvas。
WebGL库用于在任何浏览器中添加创建三维图形的功能。该库还允许防护系统获取有关用户设备的视频处理器的信息。
现在,我们逐步接近我们今天的目标 - 指纹的系统参数Canvas。现在我们将全力以赴关注它,这是为什么...
什么是Canvas?
从其名称中很容易理解这个元素的本质和目的。Canvas允许浏览器在网页上自主绘制图形内容。它通常与网页上的JavaScript脚本一起使用。但用两句话来描述和解释Canvas的意义是不可能的。因为它是多面的。
首先,Canvas是超文本标记语言(HTML)的一个标签,它在HTML5发布后被纳入其中。使用此标签,不仅可以在网页上绘制二维图形原语,还可以将多媒体内容嵌入到画布中。包括视频和音频。
目前,Canvas是Web开发中的通用标准。它被所有移动和桌面浏览器版本支持。包括几乎不再使用的Internet Explorer,微软已经停止支持它。
这不是关于IE的悲惨命运的抒情插曲,而是一个不容置疑的事实,它让我们了解到Canvas对于使用反检测进行高质量多账户活动的重要性。
但是,匿名性、指纹和反检测浏览器有什么关系呢?毕竟,通过HTML标签无法追踪用户的行为和身份。因为Canvas是公认的、广泛使用的技术,这些标签存在于(使用)数百万个网站的标记中...
所有这些问题都源于我们对Canvas的另一面的无知。但广告和分析平台对此非常了解,他们插手每个用户在线生活的方方面面。
Canvas的其他才能
每个人都有自己的笔迹,只有他们才具备。因此,通过书法鉴定可以确定某个文本的作者。但事实证明,不仅人类具有笔迹,计算机也具有。
通过Canvas进行用户识别的主要条件是让设备绘制某种原语。然后将“笔迹”样本发送给书法专家,这在指纹的情况下是反欺诈系统和分析平台。
使用Canvas进行跟踪的机制基于每台计算机、智能手机或其他类型的用户设备对相同绘制的图形元素的处理方式的特点。
基于Canvas的身份识别机制如下:
- 当用户访问与跟踪器集成的网站时,浏览器收到指令绘制某个图形原语。
- 然后根据绘制分析的数据生成一个唯一的令牌,可以精确到90%确定设备的“身份”。
- 生成的令牌值不会保存在cookie中,而是记录在全局数据库中。
- 然后,在每次访问任何跟踪资源时,将进行类似的图形绘制,并将获得的标识符与数据库中的值进行比较。
在使用Canvas进行数字身份识别时,考虑以下设备技术特征:
- 中央处理器。
- 显卡。
- 操作系统。
- 处理机制的特点。
- 图像压缩级别。
- 导出参数。
此外,浏览器可以发送文本字符串作为识别样本,而不是图形原语。在这种情况下,平滑和亚像素渲染设置将添加到上述列表中。
需要注意的是,将Canvas作为单独的信息源来确定设备的有效性很低。因为用于生成令牌的聚合信息仅通过User-Agent字符串传递,这提供了较低的识别准确性。
此外,基于Canvas的指纹机制的整个工作完全依赖于浏览器对JavaScript的支持。正是在JavaScript上编写了加载和绘制图形原语所需的脚本。如果浏览器不支持JavaScript或已禁用脚本执行,则跟踪系统将无法获取生成令牌所需的数据。
此外,没有任何跟踪和网站安全系统仅依赖于通过Canvas获得的信息。我们已经提到过,使用Canvas进行身份识别的效果达到了90%的水平。但是,这种高度的匹配度只在实验室条件下实现。在实践中呢?
Canvas有多可靠?
实际上,如果所有反欺诈系统只使用“画布”进行身份识别,那么像Undetectable这样高质量的反检测工具就不再需要了。
要获得基于Canvas生成的无效令牌,用户只需更改浏览器,甚至将其升级到新版本。因此,该机制只是获取指纹的次要部分。
对数字身份识别方法进行的现场测试也证明了其低效性。在验证基于Canvas的指纹准确性时,实验的作者使用了一百多台计算机。其中大部分运行Windows 10。这使得测试条件更加苛刻。但是这些计算机、平板电脑和笔记本电脑在技术配置上有着明显的差异。特别是显卡的型号和规格,以及安装的驱动程序集。
以下是实验结果的简要摘要:
- 许多独立显卡的令牌与集成显卡计算机的Canvas令牌相匹配。
- 连续测试的十五台笔记本电脑具有相同的指纹。
- 不同制造商的计算机的数字指纹也相同。
例如,戴尔2018年型号的笔记本电脑与2012年型号的惠普笔记本电脑具有相同的基于Canvas的指纹。
- 在六年内(2012年至2018年)发布的所有MacBook Pro型号也具有相同的令牌。
- Windows平板电脑和笔记本电脑具有相似的指纹。
正如您所见,要实现基于Canvas的数字指纹的唯一性是困难的。因此,通过此类型的指纹进行验证非常容易。因为令牌的值与其他用户的令牌值匹配的概率非常高。这也包括由于越来越多的移动和桌面设备连接到互联网而不断增加的数量。
此外,还可以对保存基于Canvas的令牌的数据库的有效性提出质疑。很可能,这些数据库中约有10-15%的值是重复的。因此,仅使用这些数据库来识别用户而没有其他指纹参数是不太有效的。
那么,我们是否应该担心?
根据上述事实,可以理解Canvas对于反欺诈系统来说是一个弱信号,因为它提供的识别准确性很低。
然而,在某些情况下,该参数的值可能是决定性的。因此,在Undetectable的指纹设置中,它是存在的。用户可以选择关闭它或选择“噪音”模式,在该模式下,Canvas的值将以随机顺序生成。