前几天,我遇到了Panopticlick实验EFF,它在浏览器指纹上运行。
当然,我立即想到了隐私权的影响以及如何将其用于邪恶。但是另一方面,这可能会很有用,至少,这是一个很诱人的问题。
在研究该主题时,我发现一些公司使用浏览器指纹进行攻击舞弊。在发送了几封电子邮件之后,我可以确认至少一个主要的约会网站正在使用浏览器指纹识别作为检测假账户的一种机制。 (注意:他们发现,当扩展到数百万个用户时,充当身份的作用还不够独特。但是,我的程序员的大脑不想相信他们。)
这里有一家公司正在使用用于欺诈检测和预防的浏览器指纹:http://www.bluecava.com/
以下是您可以用作浏览器中唯一标识符的内容的非常全面的列表:http:// browserspy。 dk /
#1 楼
首先,我认为期望用户在现代网络上禁用JavaScript是不现实的。因此,让我们看一下Panopticlick可以单独通过JavaScript收集的内容以及我特定浏览器的唯一性得分:用户代理(4184个中的1个)
HTTP_ACCEPT标头(1 in 14)
浏览器插件详细信息(180万中的1)
时区(24中的1)
屏幕尺寸和色深(1,700中的1)
系统字体(11合1)
启用了Cookie吗? (1.3合1)
有限的SuperCookie测试(2合1)
独特性的突出之处显然是用户代理和浏览器插件。请记住,这些项目一起使用会形成浏览器指纹,因此它们的强度不亚于单个分数。这里的累积唯一性是:
4,184 x 14 x 1.8 million x 24 x 1,700 x 11 x 1.3 x 2
又名“真大数”。真是太独特了。我暂时禁用Flash,点击“激活”。启用Flash会添加:
系统字体(374k中的1个)
Flash提供了第二个最独特的可检测元素,但即使是默认的JavaScript检测,它也提供了巨大的数量在Panopticlick生成的文件中,我不确定要使这种浏览器指纹起作用就必须使用Flash。仅启用JavaScript就足够了。
浏览器指纹识别只是故事的一部分。考虑一下我们可以从匿名用户那里检测到的所有信息的总和,因为它们可以一起使用以对匿名用户进行指纹识别。收集和使用检测到的数据有多困难?
浏览器详细信息嗅探,如上图所示(简单)
IP地址,具有专业人士已知的可靠性和缺点(简单)
用户行为模式,例如用法(一天中的时间),打字,鼠标或手指的移动,单词的使用(硬,服务器端,客户端)
我仅担心浏览器嗅探的一件事就是用户切换浏览器非常容易。大多数平台上至少有四种出色的免费浏览器替代品:Chrome,Opera,Firefox,Safari。因此,要中断浏览器嗅探或至少中断它,您可以经常切换浏览器。
这里值得一提的是所谓的SuperCookies,因为在某些情况下,即使您切换了浏览器,甚至禁用了JavaScript,HTML 5 Local Storage和Flash,它们也可以正常工作。
一位隐私研究人员揭示了一项盈利性网络分析服务背后的邪恶天才,该服务能够跟踪500多个网站中的用户,即使所有cookie存储都被禁用并且使用浏览器的隐私模式。
(如果您很好奇,TL; DR版本是他们通过利用模糊的ETag头原理来做到这一点的。)
无论如何,回到浏览器嗅探-用户可以采取两种不便的方法来克服此问题:
不断切换浏览器。已禁用。
但是,如果用户不知道自己的浏览器设置正在被嗅探并将其用作指纹识别方法的一部分,我高度怀疑它们是否一定会带来麻烦两件事情。
基于上述数据,我认为浏览器嗅探可以帮助识别典型的匿名互联网用户-但这仅与我们通常从匿名互联网用户(例如, IP地址。
评论
+1骇客。您的父母知道您如何度过时光吗?
–P.Brian.Mackey
11年11月29日在20:13
“首先,我认为期望用户在现代Web上禁用JavaScript是不现实的。”我很高兴一个简单的NoScript解决方案完全可以阻止我的跟踪。
– Arda Xi
11年11月29日在20:20
“又是一个非常大的数字。那是……非常独特。”仅当这些功能在用户之间随机分布时,它才是唯一的。大多数用户可能会运行较小的代理和插件配置子集吗?是否存在一些高度相关的代理或插件配置?如果您要依靠这种独特性,则应查看这些功能在用户之间的分布,而不仅仅是最好的情况。
–Charles E. Grant
11年11月29日在20:27
@Arda Xi:虽然仍然会带来麻烦的浏览体验...;)
– BoltClock
2011年11月29日20:57
“首先,我认为期望用户在现代Web上禁用JavaScript是不现实的。”真诚的,你错了。使用noscript插件,可以轻松地为未知网站禁用脚本,同时在已知网站上享受现代网络。
– Arkh
2011年11月30日15:40
#2 楼
浏览器指纹识别依赖于非常异构的浏览器/设备生态系统。需要考虑的一件事是,随着越来越多的智能手机和平板电脑/平板电脑上进行冲浪,我们正朝着越来越统一的生态系统迈进,从这个意义上讲,它们的碎片化程度越来越小。例如,iPhone / iPad的外观基本上相同。评论
一个很好的观点,有点可悲。但这是很可能的现实。
–杰夫·阿特伍德
2012年3月30日0:16在
iPhone和iPad的型号差异很大。
– JoJo
13年2月18日在20:11
#3 楼
浏览器指纹识别是唯一识别匿名用户的足够方法吗?
不,充其量它可以唯一地识别计算机。它无法在没有cookie \会话的情况下区分同一网络(相同IP)上的2台新(和类似)计算机。
如果您合并了像鼠标一样的生物识别数据怎么办手势或键入
模式?
这似乎不现实。这几乎必须全部用JavaScript进行编码,因为“生物识别数据”是所有客户端。用户可以将其关闭。另外,对于
Perl Script
,您的“生物识别数据”会是什么样?话虽如此,使用这种策略打击欺诈是一个好主意,做到100%..即使欺诈行为减少了5%,欺诈行为的减少也是有好处的。
打击欺诈行为是一种递增的行为,没有单一的解决方案可以打击欺诈行为,
编辑:
要回复下面的评论(并且因为它非常相关),指纹处理不同特征的事实是,我认为净负值*。这是恶意用户用来欺骗指纹机制的一种东西,即用户可以控制指纹中使用的所有变量,这本身就是一个严重的缺陷。
*这就是为什么我说的充其量是可以识别一台计算机,因为那样可以更好地识别一台计算机上的单个帐户。如果两者都能做,那就太好了。
评论
“生物识别数据”也可能是人们访问网站时的URL,频率,单词和语言模式。
–杰夫·阿特伍德
11年11月29日在20:40
指纹识别实际上甚至可以识别同一台计算机上的不同帐户。我知道英语,瑞典语和一些西班牙语。我已经相应地配置了Mac。当Firefox请求页面时,它会发送“接受语言:en-us,en; q = 0.8,sv; q = 0.5,es; q = 0.3”。我的妻子不会西班牙语。她在同一台计算机上使用的帐户中的Firefox不包含“ es”一词。显然,这是您所说的不可能的事情。
–安德鲁·达尔克(Andrew Dalke)
11年11月29日在21:16
Andy,仅仅因为它是您的用户个人资料,并不意味着您坐在计算机前。
–白痴
11年11月29日在21:32
莫,您的陈述“充其量它可以唯一地标识一台计算机”是不正确的。最好是,它可以区分同一台计算机上的不同帐户。如果是网络帐户,则可以区分同一网络上的两个不同帐户。多个人可以使用该帐户是另一回事。
–安德鲁·达尔克(Andrew Dalke)
11-11-30在11:52
#4 楼
我会同意@vincentcr,但会考虑另外一个环境:公司网络。在这里您可能会发现数十个或数百个(潜在的)用户使用完全相同的浏览器,插件,字体等。@vincentcr提示的其他因素在这里也失败-如果用户位于公司防火墙后面,则IP地址也可能是相同的,用户的报告位置也是如此。
即使使用鼠标考虑到手势和键入模式,我怀疑这些技术是否可以用于以任何形式的安全性来识别唯一用户,并且如果您希望用户帐户能够在使用浏览器的用户中生存下来,则必须使用仍然是更传统的身份验证系统。
尽管其他人已经说过,它在检测垃圾邮件之类的东西时可能还是有用的。例如,WordPress插件“不良行为”会分析HTTP标头(以及其他因素),以尝试检测垃圾邮件。
评论
很好的一点。尽管您可以检测到诸如时钟偏斜之类的东西,但由于计算机而异,并且显然您可以通过闪存获取实际的IP。还有监视器分辨率,这将是值得的,但在公司环境中则没什么用。
– SMrF
11年11月29日在22:56
#5 楼
即使有大量的组合,它们也不是均匀分布的。想一想,例如一台Macbook,会有多少人只使用标准配置。或从未安装过任何插件的用户:我怀疑这些用户是大多数用户。
在极端情况下,您拥有增长最快的设备:手机和平板电脑用户,特别是iPhone和iPad,其中只有两个变量:品牌和版本号。 br />
因此,当与其他因素(例如ip地址或可用的位置)结合使用时,这可能是一个很好的启发法,但仅此而已。
#6 楼
使用浏览器指纹识别功能,您可以识别网络上的单个用户,唯一的缺点是您需要使每个用户都必须使用javascript。它基于两个原则工作:
基于8个参数检测浏览器指纹
检测是否有人通过更改任何参数更改了指纹。
指纹的成功取决于第二个原理;以检测是否有人更改了指纹。
有关更多信息,请尝试提供的代码。您需要开发自己的算法来检测回访用户,因为https://panopticlick.eff.org/所使用的算法目前效率不是100%。
评论
是“不是100%有效”还是“不是100%有效”?您能详细说明这一点吗?
–马丁·彼得斯(Martijn Pieters)
2012年11月6日9:49
#7 楼
某些浏览器也可以通过HSTS Supercookies进行识别。您可以在其中嵌入一个页面,其中包含对每个访问者随机的安全和非安全资源集的请求,然后在回访。如果以相同的方式请求每个资源,则可以使用该信息来识别用户。
这些信息对于识别iPhone / iPad尤其有用,否则它们将具有更多的通用浏览器指纹。对于不支持HSTS的Internet Explorer,这种方法不太有用。
本文介绍了该方法; br />
本文提供了一个很好的示例,说明了如何利用HSTS Supercookies识别用户;
https://nakedsecurity.sophos.com/2015/02/02/anatomy-of-a-browser困境如何让超级饼干使您在隐私还是安全之间进行选择/
#8 楼
Javascript不是强制性的,还有很多其他参数需要PHP嗅探。我相信是这样。www.visitor-intelligence.com也以其连续的筛选原理说。
考虑一下。
您的私人私人星系并不像我们整个星球那么大。
您的街道上走着多少个法国风格的高个子,棕色头发,蓝眼睛的女孩?
在地球上,数百万。但我敢打赌,她在您的街上(或逛您的商店)会很独特。
除非您住在香榭丽舍大街。然后仔细看。她苗条,走路像模特吗?她戴着一个昂贵的手提包吗?好吧,她现在完全是唯一的了:-)
只看标题是错误的,因为它包括浏览器的版本号和更多可变参数。
我们现在在Chrome 27和Firefox 21上。我们甚至没有注意到就在更新浏览器版本。
现在,查看完整的插件列表也是完全错误的。尝试:安装Firefox,安装acrobat Reader,然后安装Chrome。我打赌acrobat reader不会显示在您的Chrome插件列表中:-)
所以...最重要的是:如果您正在寻找标准尺寸商店的不错的识别系统,那么指纹足够的方式,甚至比cookie更加稳定(我几乎每天都会删除自己的所有cookie)。
我只有2美分
评论
为您喜欢的浏览器编写一个插件来更改浏览器指纹有多容易?我想如果可以做到的话,有人可以分发这样的插件,让您随意更改指纹。它甚至可以包含预加载的“配置文件”,因此整个用户组都可以使用相同的指纹...有关在Stack Exchange上执行此操作的相关Meta Stack Overflow讨论:实现某种形式的浏览器指纹识别以帮助解决袜子问题
关于使用插件更改浏览器指纹。 IEEE的这篇文章(spectrum.ieee.org/computing/software/…)论述了为什么这样做会适得其反