Loading... ### 亚马逊可能会记录的数据 * 注册资料 * 营业执照,手机号码,水电账单,注册地址,户口本,信用卡,邮箱,收款账号,身份证等一系列的注册资料 * 硬件信息 * IP,猫,路由器,网卡MAC地址,硬盘信息,主板,CPU等 * 浏览器指纹 * 下面着重讲 <div class="tip inlineBlock error"> 不想看原理的可以直接拉到最后看总结 </div> ### 浏览器指纹 > **什么是浏览器指纹** > > “浏览器指纹”是一种通过浏览器对网站可见的配置和设置信息来跟踪Web浏览器的方法,浏览器指纹就像我们人手上的指纹一样,具有个体辨识度,只不过现阶段浏览器指纹辨别的是浏览器。 > 人手上的指纹之所以具有唯一性,是因为每个指纹具有独特的纹路、这个纹路由凹凸的皮肤所形成。每个人指纹纹路的差异造就了其独一无二的特征。 > 那么浏览器指纹也是同理,获取浏览器具有辨识度的信息,进行一些计算得出一个值,那么这个值就是浏览器指纹。辨识度的信息可以是UA、时区、地理位置或者是你使用的语言等等,你所选取的信息决定了浏览器指纹的准确性。 > 对于网站而言,拿到浏览器指纹并没有实际价值,真正有价值的是这个浏览器指纹对应的用户信息。作为网站站长,收集用户浏览器指纹并记录用户的操作,是一个有价值的行为,特别是针对没有用户身份的场景。例如在一个内容分发网站上,用户A喜欢浏览二次元的内容,通过浏览器指纹记录这个兴趣,那么下次用户不需要登录即可向A用户推送二次元的信息。在个人PC如此普及的当下,这也是一种内容分发的方式。 > 对于用户而言,建立个人上网行为与浏览器指纹之间的联系或多或少都有侵犯用户隐私的意味,特别是将你的浏览器指纹和真实的用户信息相关联起来的时候。所幸的是这种方式对于用户的隐私侵犯比较有限、滥用用户行为也会透支用户对网站的好感。 > > 信息熵(entropy)是接收的每条消息中包含的信息的平均量,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少。 * 指纹采集 * 浏览器指纹是由许多浏览器的特征信息综合起来的,其中特征值的信息熵也是不尽相同。 可以在这里[链接](https://fingerprintjs.com/demo)查看自己的浏览器指纹ID和基本信息。 * 可以在这里[链接](https://httpbin.org/headers)查看你的http头部信息。 * 在上面我们可以看到浏览器的Accept-Language、User-Agent,通过前者可以拿到浏览器的语言信息,这个http头部实体信息可能是通过你当前的操作系统语言,或者浏览器设置的语言信息所生成的。这个头部也不一定准确,一些网站会直接忽略掉这个头部,通过用户的ip判断地区再决定呈现网页的语言。 User-Agent包含了浏览器和操作系统的信息,例如我当前使用的是MacOS,并且使用77版本的chrome。假如在头部刻意伪造了UA,网页也可以通过navigator.userAgent来拿到真实的UA。 其他的基本信息,例如ip,物理地址、地理位置等也可以拿到 * 可以在这里[链接](https://www.whatismybrowser.com/)可以查看自己浏览器的基本信息。 * 除开从http中拿到的指纹,也可以通过其他方式拿到浏览器的特性信息,在[链接](https://panopticlick.eff.org/about)这篇文档中就陈列了一些可行的特征值 * 每个浏览器的用户代理字符串 * 浏览器发送的HTTP ACCEPT标头 * 屏幕分辨率和色彩深度 * 系统设置为时区 * 浏览器中安装的浏览器扩展/插件,例如Quicktime,Flash,Java或Acrobat,以及这些插件的版本 * 计算机上安装的字体,由Flash或Java报告。 * 浏览器是否执行JavaScript脚本 * 浏览器是否能种下各种cookie和“超级cookie(super cookies)” * 通过Canvas指纹生成的图像的哈希 * WebGL指纹生成的图像的哈希 * 是否浏览器设置为“Do Not Track” * 系统平台(例如Win32,Linux x86) * 系统语言(例如,cn,en-US) * 浏览器是否支持触摸屏 * 拿到这些值后可以进行一些运算,得到浏览器指纹具体的信息熵以及浏览器的uuid。计算方式[链接](https://www.eff.org/deeplinks/2010/01/primer-information-theory-and-privacy)。 * 将上面的指纹信息综合起来,可以大大降低碰撞率,提高客户端uuid的准确性。指纹的也有权重之分,某些信息熵较大的特征值会有的更大的权重 ### 如何防范 > 如果你没有足够专业的知识或者非常频繁更换浏览器信息的话,几乎100%可以通过浏览器指纹定位到一个用户,当然这也不见得全是坏事。 > > * 泄露的隐私非常片面,只能说泄露了用户部分浏览网页时的行为。 > * 价值不够,用户行为并未将实际的账户或者具体的人对应起来,产生的价值有限。 > * 有益利用,利用浏览器指纹可以隔离部分黑产用户,防止刷票或者部分恶意行为。 > > 但是即便如此,浏览器指纹也有一些可以防止的措施。 * **Do Not Track** * 在http头部可以声明这样一个标志“DNT”意味“Do Not Track”,如果值为1表示为不要追踪我的网页行为,0则为可以追踪。即便没有cookie也可以通过这个标志符告诉服务器我不想被追踪到,不要记录我的行为。 不好的消息是大多数网站目前并没有遵守这个约定,完全忽略了“Do Not Track”这个信号。 EFF提供了这样一个工具Privacy Badger,它是一个浏览器插件形式的广告拦截器,对于那些遵守这个约定的公司会在这个广告拦截器的白名单上,允许显示广告,从而激励更多的公司遵守“Do Not Track”,以便完全展示广告。 个人觉得这一个方向很不错的做法,如果用户使用这个工具,网站在拿用户行为之前会抉择两边的利益,从而减轻用户对于隐私泄露的风险。 Privacy Badger的更多信息可以在这里[链接](https://www.eff.org/privacybadger)查看。 * **Tor Browser** * 通过上述我们对浏览器指纹的了解,不难发现,如果你浏览器的特征越多,越容易被追踪到。相反如果你想要刻意将某些浏览器特征隐藏或者进行魔改,那么恭喜你,你的浏览器可能就拥有了一个独一无二的浏览器指纹,都不需要刻意去计算,直接就可以将你和其他用户区分开。 所以有效的方法是尽量将特征值进行大众化,例如目前市面最广泛的搭配是Window 10 + Chrome,那么你将UA改为这个组合就是一个有效的方法,同时尽量避免网站获取信息熵非常高的特征值,例如canvas指纹。 Tor 浏览器在这上面做了很多工作,以防止它们被用来跟踪Tor用户,为了响应Panopticlick和其他指纹识别实验,Tor浏览器现在包含一些补丁程序,以防止字体指纹(通过限制网站可以使用的字体)和Canvas指纹(通过检测对HTML5 Canvas对象的读取并要求用户批准)来防止,例如上面获取Canvas指纹的代码,在Tor上会弹出如下警告 同时还可以将Tor浏览器配置为主动阻止JavaScript。 综上所述,这些措施使Tor浏览器成为抵抗指纹的强大防御工具。但是这样有安全感的浏览器牺牲的是它的速度,使用Tor浏览器访问页面会比市面的浏览器慢得多。感兴趣的同学可以尝试一下Tor Browser ### 总结 * 使用独一无二的注册资料(包括法人,手机号,身份证,营业执照,水电账单,户口本等) * 保证浏览器指纹的相似度不超过30%(越低越好) * 使用全新的电脑,路由,猫,网线,系统 * 如果你足够自信,换个主板,猫,重刷系统,理论上可以达到相似度不超30% * 使用特定的浏览器,比如比较出名的有颜色的鸟等 * VPS(不是特别推荐,因为现在很多热门的VPS由于薅羊毛等黑产用的人太多已经被污染) * 全虚拟化的虚拟机挂自己的代理(X宝上有卖),适合大批量铺货,账号死了不心疼的 * 杜绝异地登录,包括-开启代理、同一条宽带下的局域网、已经注册过亚马逊的电脑、相似度超过30%的设备等,如果非要异地登录建议申请子账号异地登录 * 不要抱侥幸心理,你所有的信息不过是数据库的一张表,写个算法一比对,几行代码检索的事情,亚马逊的工程师不是吃素的,所以不要等到秋后算账的时候捶胸顿足。 最后修改:2021 年 02 月 06 日 © 允许规范转载 打赏 赞赏作者 支付宝 赞 0 如果觉得我的文章对你有用,请随意赞赏