你们大多数人都知道洋葱网络(ToR)是暗网的支柱。它最初由美国海军开发,用于隐藏他们的在线活动,现在是一个开源项目,所有人都可以通过 ToR 项目访问它。许多人认为他们通过 ToR 网络进行的在线活动是安全且匿名的。事实上,大多数人在使用 ToR 网络时都假设自己是匿名的,结果犯下了致命的错误。
9月,一份德国出版物报道称,德国执法部门已经找到了一种在 ToR 网络上对人员进行去匿名化的方法。这一信息得到了大量媒体的报道,但这确实是旧闻。十多年前,美国国家安全局 (NSA) 率先采用了这种去匿名化技术(我在 2018 年出版的《黑客的 Linux 基础知识》一书中对此进行了介绍)。这并不容易,而且成本高昂,但如果您穿越 ToR 网络,就有可能确定您的身份。如果您使用 ToR 访问常规 Internet 站点,则适用此规定,但如果您仍在 ToR 网络中,则不适用。去匿名化的关键是关联入口和出口节点之间的数据包数据。
多年来,网站和情报机构一直使用嵌入在浏览器中的 Cookie 来识别您、您的个人属性以及您访问的网站。了解这一点后,寻求匿名的用户将禁用浏览器的 Cookie 收集功能,并希望保持匿名。不幸的是,一种称为浏览器指纹识别的较新技术可能更加邪恶和准确。情报机构和其他机构可以使用浏览器指纹识别等方法来使您匿名化。
无论您使用哪种浏览器,它都会留下您的身份指纹。执法机构只需将您的流量指纹与离开 ToR 网络的流量相关联即可。如果它们相同,他们就识别出了您的唯一流量。下一步是将您的流量与您的身份联系起来。这是最简单的部分。
为了更好地理解这种去匿名化技术,让我们仔细看看浏览器指纹识别。我们可以将这些浏览器指纹分为七 (7) 个主要类别,每个类别又可以进一步细分为更细的子类别,从而产生50 多个变量来去匿名化您。有了 50 个变量和至少两个选项(开/关),唯一可能性的数量为 1,125,899,906,842,624。由于地球上只有 (?) 7,500,000,000 人,因此该系统每人有超过 150,000 个潜在的唯一可能性。足以去匿名化几乎所有人。
这是 Kali 默认浏览器的部分指纹元素。
什么是浏览器指纹?
什么是浏览器指纹识别?这是一种识别浏览器与网站通信的大量参数的做法,旨在帮助网站为您提供最佳的网络体验。浏览器通信的变量超过 50 个,可用于识别您。
这些参数包括:
1.Canvas
Canvas 指纹识别是一种复杂的网络跟踪技术,它利用 HTML5 Canvas 元素为用户创建唯一标识符,使网站无需依赖传统的 cookie 即可识别和跟踪访问者。
Canvas指纹识别的工作原理
-
渲染过程:当用户访问使用画布指纹识别的网页时,脚本会将文本或图形绘制到 HTML5 画布元素上。此过程涉及指定各种属性,例如字体大小和背景颜色。
-
数据提取:然后脚本使用 Canvas API 的 toDataURL 方法将绘制的内容转换为 Base64 编码的字符串,该字符串表示画布的像素数据。
-
散列:最后,对该字符串进行散列以创建一个唯一的指纹,该指纹可以存储并用于跨不同网站的跟踪目的。
指纹的独特性源于不同浏览器和操作系统呈现相同内容的方式不同。用户的图形硬件和软件配置等因素可能会导致生成的图像略有不同,从而为每个用户创建不同的标识符
2. WebGL 指纹识别
WebGL 指纹识别是一种通过 WebGL API 根据设备图形硬件的独特特征来识别和跟踪用户的技术。此方法利用用户 GPU(图形处理单元)的渲染功能来创建可在不同浏览会话和网站之间持久保留的唯一标识符。
-
WebGL 上下文创建:当用户访问使用 WebGL 的网站时,浏览器首先建立 WebGL 上下文,这使得它能够与 GPU 通信并执行图形渲染任务。
-
图形渲染:然后网站指示浏览器渲染特定图形,通常涉及复杂的 3D 形状或图案。渲染过程受各种因素影响,包括用户的显卡、驱动程序和浏览器实现。
-
数据捕获和哈希处理:渲染后,捕获输出,并分析图像的具体特征。然后对这些数据进行哈希处理,以创建代表设备图形渲染能力的唯一指纹。
-
存储和跟踪:生成的 WebGL 指纹可以存储在服务器上,允许网站通过将新指纹与之前存储的指纹进行比较来识别回访用户。
促成独特性的因素
WebGL 指纹的独特性源于以下几个因素:
-
显卡变化:由于硬件设计固有的差异,不同的 GPU 以略有不同的方式渲染图像。
-
驱动程序版本:图形驱动程序的更新和变化可能会改变图形的处理方式。
-
浏览器差异:每个浏览器可能以不同的方式实现 WebGL,从而导致渲染结果的变化。
-
操作系统的影响:底层操作系统也会影响图形的渲染和处理方式
3. 媒体设备指纹识别
媒体设备指纹识别是一种根据设备媒体功能的具体特征来唯一识别和跟踪设备的技术。此方法收集与设备的音频和视频硬件和软件配置相关的各种属性,即使在可能阻止或删除 Cookie 等传统跟踪方法的情况下也能实现持久识别。
媒体设备指纹识别的工作原理
1.数据收集:当用户与采用媒体设备指纹识别的网站或应用程序交互时,系统会收集有关设备媒体相关功能的信息。这些信息包括:
-
音频和视频功能:支持的编解码器、分辨率和格式。
-
设备规格:有关麦克风、摄像头和扬声器的信息。
-
浏览器和操作系统信息:有关正在使用的操作系统和网络浏览器的详细信息。
2.唯一标识符创建:对收集的数据进行处理以创建唯一标识符或“指纹”。此指纹是通过分析通常每个设备独有的属性组合生成的。
3.追踪机制:指纹一旦创建,即可存储在服务器上。当同一设备再次连接时,系统可以通过将新指纹与先前存储的标识符进行匹配来识别它。
4.TLS指纹识别
TLS 指纹识别是一种根据 TLS(传输层安全)握手期间交换的信息(特别是“客户端问候”消息)来识别和描述客户端的技术。此方法利用客户端 TLS 实现的独特属性,即使在 Cookie 等传统标识符被阻止或删除时也能有效识别。
TLS 指纹识别的工作原理
1.TLS 握手:该过程从 TLS 握手开始,客户端在此请求与服务器建立安全连接。此握手涉及几个步骤,包括交换加密参数。
2.客户端 Hello 消息:在此握手期间,客户端发送包含关键信息的“客户端 Hello”消息,例如:
-
支持的密码套件:客户端支持的加密算法列表,按优先顺序显示。
-
TLS 版本:客户端希望使用的 TLS 协议的版本。
-
扩展:可以增强或修改连接的可选参数,例如服务器名称指示(SNI)。
3.指纹生成:通过分析客户端 Hello 消息中的字段,可以创建唯一的指纹。此指纹不仅反映了客户端的软件和硬件配置,还反映了其特定的 TLS 库(例如 Firefox 的 NSS 或 Chrome 的 BoringSSL)及其支持的密码套件。
4.散列:可以对收集的数据进行散列以创建指纹的紧凑表示,通常使用 JA3 之类的格式,它从客户端 Hello 消息中的特定字段生成 MD5 散列。
5. 字体指纹识别
字体指纹识别是一种跟踪技术,可根据用户设备上安装的特定字体来识别和监控用户。此方法利用不同系统中字体组合的独特性来创建独特的标识符,可用于跟踪不同网站和会话中的用户。
字体指纹识别的工作原理
1.检测已安装的字体:当用户访问网站时,脚本会在后台运行以检测其设备上可用的字体。这可以通过几种方法实现:
-
JavaScript 和 CSS:网页可以通过测量各种字体呈现的文本的尺寸来动态测试字体。
-
Canvas API:HTML5 Canvas API 可以使用不同的字体渲染文本并测量生成的字体大小以确定字体是否可用。
-
字体枚举:这种简单的方法使用 JavaScript 从浏览器请求已安装字体的列表。
2.创建唯一标识符:收集到的有关已安装字体的信息经过分析和哈希处理,生成唯一指纹。此指纹反映了用户设备上存在的特定字体组合,通常足够独特,可以有效区分用户。
3.跟踪机制:一旦创建,该指纹就可以存储在服务器上,允许网站识别回访用户,而无需依赖 cookie 或其他传统跟踪方法。
6.移动设备指纹识别
移动设备指纹识别是一种特定类型的设备指纹识别,其重点是收集有关移动设备(例如智能手机和平板电脑)的数据,从而为每台设备创建唯一标识符。此过程涉及收集与设备硬件和软件配置相关的各种属性,即使在无法使用 Cookie 等传统方法的情况下也能进行持续跟踪和识别。
移动设备指纹识别的工作原理
1.数据收集:移动设备指纹识别收集广泛的数据点,包括:
-
操作系统:有关移动操作系统的信息(例如 iOS、Android)。
-
屏幕分辨率:设备显示屏的尺寸。
-
电池电量:当前电池状态,不同设备之间可能有所不同。
-
GPS 位置:如果启用了定位服务,则显示地理位置数据。
-
已安装的应用程序:设备上当前安装的应用程序列表。
-
硬件规格:处理器类型、RAM 和其他唯一标识符等详细信息。
2.创建唯一标识符:收集的数据点组合起来,形成移动设备的唯一标识符或“指纹”。由于属性的独特组合,从统计上讲,该指纹不太可能被其他设备复制。
3.跟踪机制:指纹生成后可存储在服务器上,让公司能够识别不同应用程序和网站上的返还设备。此功能可实现对用户行为的持续跟踪。
7. 音频指纹识别
音频指纹识别是一种可以识别和跟踪音频内容的技术。它的工作原理是根据音频录音的声学特性为其创建唯一的数字签名或“指纹”。然后可以使用这些指纹在各种应用程序中识别音频。音频指纹识别的过程包括:
-
从音频信号中提取感知特征 ,例如波形、频谱包络、音高、谐波和泛音。
-
将这些特征浓缩为紧凑的数字摘要, 称为声学指纹。
-
将此指纹与预先计算的指纹数据库进行比较 以识别音频。
音频指纹的一些关键属性:
-
它们能够有效抵御压缩、噪音和传输伪影等音频劣化。
-
它们可以容忍音频中不会影响人类感知的细微变化。
-
通过与大型数据库进行比较,它们可以快速识别音频。
概括
许多人使用 ToR 和 VPN 来隐藏自己的在线身份。虽然这些服务会隐藏您的 IP 地址,但情报和商业利益已经开发出一种更有效的浏览器指纹识别方法。即使在禁用 cookie 的情况下,这种方法仍然有效。
使用 VPN 或 ToR 时要小心,因为它们只会隐藏您的 IP 地址。您的浏览器中会有更多的数据在互联网上传输,这些数据可以而且会被用来使您匿名化。
原文始发于微信公众号(Ots安全):ToR 是否安全且匿名?
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论