首页 > 编程知识 正文

浏览器指纹实现什么功能,浏览器硬件指纹

时间:2023-05-05 18:06:46 阅读:185886 作者:418

一.什么是浏览器指纹? 、浏览器指纹是指只需要系统字体、屏幕分辨率、浏览器插件等浏览器各种信息,不需要cookie等技术,几乎绝对可以定位一个用户。 使用浏览器的隐私窗口模式也不能是匿名的。 这是被动的识别方法。 也就是说,理论上只要访问某个网站,该网站就能识别你。 我不知道你是谁,但你有唯一的指纹,将来刊登广告、准确推送、其他隐私方面的事情都非常方便。 另外,不要迷信隐藏模式。 那不行。 Chrome和Firefox的扩展功能可以持续记录浏览器的指纹,并观察变化。

二、浏览器指纹的实现技术有哪些?0)一般指纹

、饼干

、会话

、Evercookie

、Flash Cookies

1) 基本指纹

基本指纹包括硬件类型(Apple )、操作系统(MAC OS )、用户代理(agent )、系统字体、语言、屏幕分辨率、浏览器插件)、Flash、Silverlight etc )、浏览器扩展、浏览器设置等,是每个浏览器都有的特色标识,有etc )、时区差(Browser GMT Offset )等多种信息,这些指纹信息与人的身高和年龄等“相似”,存在冲突本网站提供https://www.whatismybrowser.com/

2) 高级指纹

基本指纹就像一个人的外表特征,可以通过男女、身高、体重来区分外表,但这些特征无法唯一识别某个人,也无法仅凭基本指纹来唯一判定客户端。 许多基于HTML5的高级指纹为这提供了新思路。

、Canvas指纹

说到高级指纹,不得不说是Canvas指纹。 Canvas (画布)是HTML5动态绘制的标签,您可以使用它来生成和处理高级图像。

Canvas指纹的原理大致如下。

同一HTML5 Canvas元素的绘制操作在不同的操作系统和浏览器中生成的图像内容完全不同。 图像格式为每个浏览器使用不同的图像处理引擎、不同的图像导出选项、不同的默认压缩级别等。 在像素级别,操作系统对抗锯齿和子像素渲染操作使用了不同的设置和算法。 即使是同一绘制操作,生成的图像数据的CRC检查也不同。

在线测试地址: https://www.browser leaks.com/canvas,可以看到浏览器的canvas特定的字符串。

Canvas兼容性:几乎所有主要浏览器都支持,几乎所有PC、平板电脑和智能手机都可以访问!

、audio上下文指纹

通过HTML5为JavaScript编程提供的Audio API,开发者可以在代码中直接操作原始音频流的数据,提高音色、改变音调、分割音频等,进行任意的生成、加工、播放也称为网络版的Adobe Audition。

AudioContext指纹的原理大致如下。

psdlr :生成声音信息流(三角波),将其进行FFT变换,作为指纹计算SHA值,在声音输出到音频设备之前清除。 用户不会注意到。

方法2 )生成声音信息流(正弦波),进行动态压缩处理,计算MD5值。

AudioContext指纹的基本原理:

由于主机和浏览器硬件和软件的细微差异,音频信号的处理会产生差异,可以在同一设备上的同一浏览器中获得相同的音频输出,也可以在不同的设备和浏览器中获得不同的音频输出。

从上面可以看到,AudioContext和Canvas指纹的原理非常相似。 它们都利用软硬件的不同,前者产生音频,后者产生图像,计算不同的哈希值作为标识。 音频指纹检测地址: https://audio fingerprint.open wpm.com /

3) 硬件指纹

硬件指纹主要是通过检测硬件模块获取信息,作为基于软件的指纹的补充,主要硬件模块有GPU、摄像头、扬声器/麦克风、运动传感器、GPS、电池、CPU、麦克风。 详情请参阅https://arxiv.org/pdf/1503.01408 v3.pdf

4) 综合指纹

、网络世界的指纹冲突是不可避免的。 综合利用上述所有基本指纹和多种高级指纹,以分析、哈希值计算为综合指纹,可以大大降低冲突率,大大提高客户端唯一性识别的准确性。 测试地址: https://panopticlick.eff.org/

、浏览器之间的指纹,上述指纹均基于浏览器进行,同一台电脑上不同的浏览器具有不同的指纹信息。 结果,当同一用户使用同一台电脑的不同浏览器时,服务器收集到的浏览器指纹信息不同,无法唯一识别该用户,无法有效分析用户行为。 最近,有学者研究了浏览器之间的浏览器指纹。 它依赖浏览器进行操作系统与硬件基础的交互,分析后计算出指纹。 这个指纹对同一台计算机的不同浏览器也是一样的。 详情请参照以下内容。

http://yinzhicao.org/T

rackingFree/crossbrowsertracking_NDSS17.pdf

③、WebRTC(网页实时通信,Web Real Time Communication),是一个开源项目,旨在使得浏览器能为实时通信(RTC)提供简单的JavaScript接口,说的简单明了一点就是让浏览器提供JS的即时通信接口,让浏览器实时获取和交换视频、音频和数据。WebRTC实现了三个API,分别是:MediaStream:通过MediaStream的API能够通过设备的摄像头及麦克风获得视频、音频的同步流。RTCPeerConnection:RTCPeerConnection是WebRTC用于构建点对点之间稳定、高效的流传输的组件。RTCDataChannel:RTCDataChannel使得浏览器之间(点对点)建立一个高吞吐量、低延时的信道,用于传输任意数据。基于WebRTC的实时通讯功能,可以获取客户端的IP地址,包括本地内网地址和公网地址。其原理是利用到RTCPeerConnection 的API,大致函数如下:利用WebRTC能做的事情还远不止这些,比如使用其探测扫描内网信息,进行语音、视频交流,更多技术细节请参考:
http://net.ipcalf.com
https://diafygi.github.io/webrtc-ips/

三、手机或者APP指纹实现技术有哪些?

①、采用手机的MAC地址与手机号绑定
②、获取硬件参数生成秘钥与手机号、或者身份证号绑定
③、Token、定位
④、NFC
⑤、指纹识别
⑥、声纹识别
⑦、人脸识别
⑧、视网膜识别
⑨、DNA识别(基因识别)

四、浏览器指纹有什么作用?

①、类似人的外貌和指纹,Web客户端(这里主要指浏览器)也有多种“外貌”信息和“指纹”信息,将这些信息综合分析计算后,可对客户端进行唯一性识别,进而锁定、追踪、了解网民行为和隐私数据。用于广告投递、用户兴趣分析等,进而作为决策的依据,利用Web客户端对用户行为进行收集和追踪是重要手段之一。

五、怎么实现浏览器指纹?

①、FingerprintJS 是一个快速的浏览器指纹库,纯 JavaScript 实现,没有依赖关系。默认情况下,使用 Murmur Hash 算法返回一个32位整数。Hash 函数可以很容易地更换。
https://github.com/Valve/fingerprintjs
②、Fingerprintjs2是FingerprintJS的升级版
https://github.com/Valve/fingerprintjs2

六、检测浏览器指纹工具

①、AmIUnique – 侦测你的「浏览器指纹」,并显示Web/Chrome/Firefox历史记录、网址:
https://amiunique.org/
②、 Browserprint 检测可能唯一的「浏览器指纹」、网址:
https://browserprint.info/
③、Panopticlick工具可以查看浏览器的指纹、网址:
https://panopticlick.eff.org/

七、防止浏览器指纹检测方法

①、Ghostery,个人使用推荐,官网地址:
https://www.ghostery.com/try-us/download-browser-extension
②、Privacy Badger,官网地址:
https://www.eff.org/privacybadger/
③、uMatrix(仅Chrome和FireFox):
https://addons.mozilla.org/en-us/firefox/addon/umatrix/
④、NoScript(仅FireFox):
https://addons.mozilla.org/en-US/firefox/addon/noscript/#
⑤、Chameleon(仅Chrome):
https://github.com/ghostwords/chameleon

八、 防客户端追踪措施

①、使用隐身模式,目前主流的浏览器都支持该模式。
②、禁用Cookie和JavaScript(此项可能导致页面显示不正常,慎用)
③、禁用WebRTC,如Firefox浏览器:打开about:config,找到media.peerconnection.enabled的项,设置成 false
④、禁用Geolocation,Firefox浏览器:打开about:config,找到geo.enabled 的值,设置其值为 false。Chrome 点击设置(Settings),从显示高级设置(Show advanced settings)上,找到隐私(Privacy)并且点击内容设置(Content settings), 在窗口里找到定位(Location)并设置选项不允许任何网站追踪你的物理位置(Do not allow any site to track your physical location)
⑤、限制API访问文件资源时序信息,恶意网站会通过检测浏览器缓存的时序信息,包括访问和忽略第三方网站的资源,来判断使用者是否访问过第三方网站。
⑥、Firefox浏览器:打开about:config,将dom.enable_resource_timing, dom.enable_user_timing 和dom.performance.enable_user_timing_logging 设置为 false,来阻止这些 API 运行。

参考:https://paper.seebug.org/229/

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。