浏览器指纹追踪

现实世界可通过体貌特征、身份证件、生物特征(如指纹信息)等手段对用户进行唯一性识别。Web 世界主要通过 Cookies 技术、浏览器指纹、WebRTC 等技术进行识别。

典型追踪技术 —Cookie 追踪

Cookie 是什么

Cookie,有时也用复数形式 Cookies,在 Web 世界中其实际上是用户浏览网站时,网站存储在用户浏览器上的一段信息,并在服务器和浏览器之间传递,用户与辨别用户身份和维持状态。

当你在浏览器地址栏中键入了服务的 URL,浏览器会向服务器发送一个读取网页的请求,并将结果回显。在发送之前,该网页在你的电脑上寻找服务网站设置的 Cookie 文件,如果找到,浏览器会把 Cookie 文件中的数据连同前面输入的 URL 一同发送到服务器。

服务器收到 Cookie 数据,就会在他的数据库中检索你的 ID,你的购物记录、个人喜好等信息,并记录下新的内容,增加到数据库和 Cookie 文件中去。如果没有检测到 Cookie 或者你的 Cookie 信息与数据库中的信息不符合,则说明你是第一次浏览该网站,服务器的 CGI 程序将为你创建新的 ID 信息,并保存到数据库中。

我们日常工作中所能见到的购物网站如京东淘宝,第三方监测工具如 doubleclick、99click 等都需要利用 Cookie 技术,网站分析工具如 GA、百度统计、CNZZ 等也需要利用 Cookie。

用户首次访问购物网站时

第二次访问时

浏览器查看 Cookies

Cookie 同步

Cookie 同步一般是指用户访问某 A 网站时,该网站通过页面跳转等方式将用户的 Cookie 发送到 B 网站,使得 B 网站获取到用户在 A 网站的用户隐私信息,然后通过 RTB(Real Time Bidding)、AdNetwork 等一系列平台进行有效的广告推送服务 (此部分涉及 SSP、DSP、RTB、DMP 等一系列广告推送服务和平台)。

这也就是为什么浏览器的广告和购物网站会给你推送你百度搜索过的东西。

不少安全工具甚至是浏览器都允许或者引导关闭追踪 Cookie,Cookie 追踪越来越受限制,浏览器指纹追踪渐渐成为了 Web 追踪的重要技术手段。

浏览器指纹追踪

类似人的外貌和指纹,Web 客户端(这里主要指浏览器)也有多种 “外貌” 信息和 “指纹” 信息,将这些信息综合分析计算后,可对客户端进行唯一性识别,进而锁定、追踪、了解网民行为和隐私数据。

基本指纹

基本指纹是任何浏览器都具有的特征标识,比如硬件类型(Apple)、操作系统(Mac OS)、用户代理(User agent)、系统字体、语言、屏幕分辨率、浏览器插件 (Flash, Silverlight, Java, etc)、浏览器扩展、浏览器设置 (Do-Not-Track, etc)、时区差(Browser GMT Offset)等众多信息,这些指纹信息 “类似” 人类的身高、年龄等,有很大的冲突概率,只能作为辅助识别。

可以在该网址进行查看本地浏览器的基本特征:What is my browser

这里是由 Chris Hauk 写的一篇浏览器指纹指南,里面提供了更多关于 What is my browser 的信息和背景,以及用户在浏览网页时可能采取的步骤,从而更好地保护隐私。

上述博客中还包含了更多的如何保护你的在线隐私问题,有兴趣推荐拜读一下: https://pixelprivacy.com (网站是纯英文的,可以使用页面翻译更方便的浏览)

高级指纹

基本指纹就像是人的外貌特征,外貌可以用男女、身高、体重区分,然而这些特征不能对某个人进行唯一性标识,仅使用基本指纹也无法对客户端进行唯一性判定,基于 HTML5 的诸多高级指纹对此提供了新思路。

Canvas 指纹

Canvas(画布)是 HTML5 中一种动态绘图的标签,可以使用其生成甚至处理高级图片。2014 年 9 月,ProPublica 报道:新型的 Canvas 指纹追踪正在被用到 “上到白宫,下到 YouPorn” 等众多网站,事实上早在 2012 年已有研究报告分析称 canvas 指纹被用于跟踪用户。

Canvas 指纹的原理大致如下:

相同的 HTML5 Canvas 元素绘制操作,在不同操作系统、不同浏览器上,产生的图片内容不完全相同。在图片格式上,不同浏览器使用了不同的图形处理引擎、不同的图片导出选项、不同的默认压缩级别等。在像素级别来看,操作系统各自使用了不同的设置和算法来进行抗锯齿和子像素渲染操作。即使相同的绘图操作,产生的图片数据的 CRC 检验也不相同。

在线测试地址:Browserleaks,可查看浏览器的 Canvas 唯一性字符串。

Canvas 几乎已被所有主流浏览器支持,可以通过大部分的 PC、平板、智能手机访问.

硬件指纹

硬件指纹主要通过检测硬件模块获取信息,主要的硬件模块有:GPU’s clock frequency、Camera、Speakers/Microphone、Motion sensors、GPS、Battery 等。更多细节请参考:https://arxiv.org/pdf/1503.01408v3.pdf

综合指纹

将上述所有的基本指纹和多种高级指纹综合利用,进行分析、计算哈希值作为综合指纹,可以大大降低碰撞率,极大提高客户端唯一性识别的准确性。测试地址:https://panopticlick.eff.org/

跨浏览器指纹

上述指纹都是基于浏览器进行的,同一台电脑的不同浏览器具有不同的指纹信息。这样造成的结果是,当同一用户使用同一台电脑的不同浏览器时,服务方收集到的浏览器指纹信息不同,无法将该用户进行唯一性识别,进而无法有效分析改用户的的行为。

近期有学者研究了一种跨浏览器的浏览器指纹,其依赖于浏览器与操作系统和硬件底层进行交互进而分析计算出指纹,这种指纹对于同一台电脑的不同浏览器也是相同的。

WebRTC

WebRTC(网页实时通信,Web Real Time Communication),是一个开源项目,旨在使得浏览器能为实时通信(RTC)提供简单的 JavaScript 接口,说的简单明了一点就是让浏览器提供 JS 的即时通信接口,让浏览器实时获取和交换视频、音频和数据。WebRTC 实现了三个 API,分别是:

MediaStream:通过 MediaStream 的 API 能够通过设备的摄像头及麦克风获得视频、音频的同步流。

RTCPeerConnection:RTCPeerConnection 是 WebRTC 用于构建点对点之间稳定、高效的流传输的组件。

RTCDataChannel:RTCDataChannel 使得浏览器之间(点对点)建立一个高吞吐量、低延时的信道,用于传输任意数据。

基于 WebRTC 的实时通讯功能,可以获取客户端的 IP 地址,包括本地内网地址和公网地址。其原理是利用到 RTCPeerConnection 的 API,大致函数如下:

利用 WebRTC 能做的事情还远不止这些,比如使用其探测扫描内网信息,进行语音、视频交流等等。

防护措施

  1. 使用隐身模式浏览网页,缺点为无法保存历史记录。
  2. 禁用 Cookie 和 JavaScript,缺点为很有可能导致页面显示不正常,不建议。
  3. 禁用 WebRTC。Firefox 浏览器:打开 about:config,找到 media.peerconnection.enabled 的项,设置成 false。Chrome 浏览器需要使用插件禁用。
  4. 禁用 Geolocation。Firefox 浏览器:打开 about:config,找到 geo.enabled 的值,设置其值为 false。Chrome 点击设置(Settings),找到隐私和安全(Privacy and security)点击网站设置(Site Settings)在窗口里找到定位(Location)并设置不允许任何网站追踪你的物理位置(Do not allow any site to track your physical location)
  5. 使用 99% 安全的匿名浏览器,比如 Tor 洋葱浏览器,具体怎么使用可以参考这里
  6. 禁用 Cookies 追踪,可以看这篇文章
  7. 安装插件
    1. Ghostery 可以有效屏蔽网页追踪、广告,加速网页:https://chrome.google.com/webstore/detail/ghostery-%E2%80%93-privacy-ad-blo/mlomiejdfkolichcflejclcbmpeaniij?utm_source=chrome-ntp-icon
    2. Privacy Badger 同样可以有效屏蔽隐秘追踪:https://chrome.google.com/webstore/detail/privacy-badger/pkehgijcmpdhfbdbbnkijodmdjhbjlgp?utm_source=chrome-ntp-icon
      可以在插件设置中开启 Prevent WebRTC from leaking local IP address (防止 WebRTC 追踪泄露 IP 地址)

  1. uMatrix 十分强大的分类管理 cookie,css,image,media,script,XHR,frame 和其他:https://chrome.google.com/webstore/detail/umatrix/ogfcmafjalglgifnmanfmnieipoejdcf?utm_source=chrome-ntp-icon
    第一行和第一列的标题方块有上下两个可点击的地方,上面是开启和关闭此列 / 行全部,下面是仅开启和关闭这个主网页的,除主页面以外此网页上的其他网站等信息由上面的小方块控制。你也可以分别控制每个网页的具体单个选项。
    在软件使用的时候,除了基本上必须开启的 css 和 image 以外,大多数时候需要开启 Scrpit 选项来保证页面功能能正常运作。你也可以点击 ALL 直接允许所有都开启。

当然,最简单的还是安装候鸟反指纹防关联浏览器mbbrowser.com

候鸟指纹浏览器基于Chromium,除了设置代理 -IP,还可以修改基础的指纹信息UA、时区、语言、GEO、分辨率、字体等等。

最值得关注的是,它可以通过浏览器底层的调整,支持修改Canvas,WebGL,Audio等硬件指纹信息。

使用候鸟浏览器开启浏览器“环境”时,用户可以加载自己的user agent信息,也可以选择从几十万个预先配置的代理中选择用于伪装的user agent,适用于多种操作系统,如Windows和iOS。

设置好浏览会话的配置后,用户被引导到一个浏览器指纹服务,以验证他们的匿名性。此外,攻击者可以在单独的浏览器选项卡中为单个会话生成唯一的指纹,从而制造出活动是由多人执行的伪装。

什么是浏览器指纹追踪(浏览器指纹追踪修改,浏览器指纹追踪技术)相关推荐

  1. 浏览器指纹追踪技术,如何完整修改浏览器指纹?

    来源 | http://www.fly63.com/article/detial/10479 什么是浏览器指纹 "浏览器指纹"是一种通过浏览器对网站可见的配置和设置信息来跟踪Web ...

  2. 免费指纹浏览器怎么样,免费指纹浏览器版可以修改浏览器指纹吗

    随着商家们在亚马逊.ebay.shopee等大型跨境电商平台的账号大批量被封,许多跨境电商对账号多开的防关联越来越重视,同时对浏览器指纹也是习以为常,见惯不怪了.但是现在有不少指纹浏览器价格十分昂贵, ...

  3. 指纹浏览器是什么?有什么用?指纹浏览器有哪些?最具性价比的是哪个呢?

    随着跨境电商行业的崛起,越来越多的卖家开始使用指纹浏览器,那么指纹浏览器到底是干什么的?指纹浏览器好不好用?今天就来给大家分享指纹浏览器的知识. 指纹浏览器又名防关联浏览器.超级浏览器,跨境电商卖家可 ...

  4. 跨境电商账号关联指南:电商浏览器下载与使用,电商浏览器防关联

    在跨境电商运营中,账号多开可谓必不可少.但是随之而来的就是账号关联的风险,每年都有无数商家因为帐号关联而被封号.封铺.为了解决大家的烦恼,今天我带来一份账号关联指南,介绍一下在防关联问题上,电商浏览器 ...

  5. h5调用指纹识别_如何用Html5进行指纹跟踪?

    本文继<浅谈Web客户端追踪(上)>继续对主流的Web客户端追踪技术进行分析,主要介绍典型的指纹追踪技术和WebRTC技术,介绍一些简单的防跟踪的方法,并给出相关参考供感兴趣的朋友深入研究 ...

  6. brave浏览器_兼容Chrome 插件的Brave浏览器,带给你更快速的上网冲浪体验

    目前浏览器中用的比较多的还是Chrome,尽管后来Firefox 和360用的人都是很多,在其浏览器中加入了像是扩展等功能,但不讳言的是Firefox 在速度上有点差强人意,相容性也不够全面,整体来说 ...

  7. 获取浏览器窗口_全面认识区块链浏览器--看穿币圈的蒙蔽与欺骗!

    说起浏览器,想必我们都不陌生,可能立马想到IE.Chrome.360安全浏览器.极速.搜狗等,是的,这些都是我们熟知并经常使用的互联网浏览器,它们是我们浏览互联网信息的窗口. 区块链浏览器是什么?若和 ...

  8. 【浏览器】1022- 47 张图带你走进浏览器的世界!

    大家好,我是零一,每个开发者(尤其是前端工程师)或多或少会跟浏览器打交道,那么你们有没有想过去深入了解浏览器呢?无论是因为好奇还是为了面试,相信你们一定在网上搜过不少关于浏览器相关的知识和文章,或者也 ...

  9. php 指纹登录,window_win10系统中怎么设置指纹登陆?,现在很多电脑已经直接升级到 - phpStudy...

    win10系统中怎么设置指纹登陆? 现在很多电脑已经直接升级到了win10,Win10系统将支持指纹识别功能,这无疑大大提高了系统和用户隐私的安全性.这个功能的全称是"Windows Hel ...

最新文章

  1. react-native(五)生成App
  2. C语言中static详细分析
  3. fabrication的拦截器Interceptors简介
  4. mysql 查询分析器中使用if_查询分析器中开发代码测试检查_MySQL
  5. Cloud一分钟|茅台4.5亿入股云上贵州大数据,后者已接管苹果中国iCloud; 阿里云进入印度市场,增长速度远超当地平均水平...
  6. LeetCode 476. Number Complement
  7. python学习笔记 day20 常用模块(六)
  8. 运维真的被云革命掉了吗?
  9. TensorFlow书籍
  10. 精妙SQL语句集合(收集)
  11. python计算2的20次方_Python学习二运算符
  12. TMS320C55x的寄存器
  13. 经典卷积网络--ResNet残差网络
  14. Linux下使用clang-format格式化C++代码
  15. COOC2.0一键做邻接表(多元组)+共现矩阵+相异矩阵+频次统计
  16. java ibatis mybatis_Mybatis与Ibatis的区别
  17. Su+ELK实现网络监测(1)——Suricata安装与配置
  18. leetcode解题总览
  19. Win7任务栏右下角图标空白、点击无反应问题的解决
  20. html5手机不能自动播放音乐,解决 iPhone 微信 H5 无法自动播放音乐问题

热门文章

  1. Delivery item category determination
  2. linux CentOS 7 重启mysql
  3. Python调用微信截图工具
  4. MySQL创建函数报“ERROR 1418 ”错误,不能创建函数
  5. python | lackey库实践 |自动化exe程序,完成王者荣耀人机模式获取金币
  6. 鸿蒙内核代码 行,鸿蒙内核源码分析(CPU篇) | 内核是如何描述CPU的 ? | 祝新的一年牛气冲天 ! | v36.01...
  7. HBuilder安装SVN插件
  8. 什么是中断(STM32)
  9. 2015年计算机网络原理真题,2015年4月04741计算机网络原理试题及答案-20210413074741.docx-原创力文档...
  10. css换行显示省略号