浏览器指纹识别是一种用于识别匿名用户的可行技术吗?


96

浏览器指纹识别是唯一识别匿名用户的足够方法吗?如果您合并了诸如鼠标手势或键入模式之类的生物特征数据,该怎么办?

前几天,我遇到了Panopticlick实验EFF在浏览器指纹上运行

当然,我立即想到了隐私权的影响以及如何将其用于邪恶。但另一方面,这可以用于极大的好处,至少,这是一个诱人的问题。

在研究该主题时,我发现一些公司使用浏览器指纹来攻击欺诈行为。发送完几封电子邮件后,我可以确认至少有一个主要的约会网站正在使用浏览器指纹作为一种检测假帐户的机制。(注意:他们发现,当扩展到数百万个用户时,它还不够独特,无法充当身份。但是,我的程序员的大脑不想相信他们。)

这是一家使用浏览器指纹进行欺诈检测和预防的公司:http :
//www.bluecava.com/

这是您可以在浏览器中用作唯一标识符的内容的非常全面的列表:http :
//browserspy.dk/


6
为您喜欢的浏览器编写一个插件来更改浏览器指纹有多容易?我想如果可以做到的话,有人可以分发这样的插件,让您随意更改指纹。它甚至可以包含预加载的“配置文件”,因此整个用户群都可以使用相同的指纹...
FrustratedWithFormsDesigner

1
有关在Stack Exchange上执行此操作的相关Meta Stack Overflow讨论:实现某种形式的浏览器指纹识别以帮助解决袜子问题

关于使用插件来更改浏览器指纹。IEEE的这篇文章(Spectrum.ieee.org/computing/software/…)争论了为什么这样做会适得其反
Pimin Konstantin Kefaloukos 2014年

Answers:


91

首先,我认为期望用户在现代网络上禁用JavaScript是不现实的。因此,让我们看一下Panopticlick可以通过JavaScript单独收集的内容以及我特定浏览器的唯一性得分:

  • 用户代理(4,184分之一)
  • HTTP_ACCEPT标头(14个中的1个)
  • 浏览器插件详细信息(180万中的1)
  • 时区(24分之一)
  • 屏幕尺寸和色彩深度(1,700中的1)
  • 系统字体(1合11)
  • Cookies已启用?(1.3分之一)
  • 有限的SuperCookie测试(1合2)

独特性的突出之处显然是用户代理和浏览器插件。请记住,这些物品被用于在一起,形成一个浏览器的指纹,因此他们更比强如个人得分。这里的累积唯一性是:4,184 x 14 x 1.8 million x 24 x 1,700 x 11 x 1.3 x 2又名REALLY BIG NUMBER。那是...非常独特。

目前,我已禁用Flash,并单击“激活”。启用Flash会增加:

  • 系统字体(374k中的1个)

Flash提供了第二个最独特的可检测元素,但是考虑到即使Panopticlick中的默认JavaScript检测产生的数量也很大,因此我不确定Flash对于这种浏览器指纹的工作是必需的。仅启用JavaScript就足够了。

但是,浏览器指纹识别只是故事的一部分。考虑一下我们可以从匿名用户那里检测到的所有信息的总和,因为它们可以一起使用以对匿名用户进行指纹识别。收集和使用检测到的数据有多困难?

  1. 浏览器详细信息嗅探,如上图所示(简单)
  2. IP地址,具有已知的正反可靠性级别(简单)
  3. 用户行为模式,例如用法(一天中的时间),打字,鼠标或手指的移动,单词的使用(硬性,某些服务器端,某些客户端)

我仅担心浏览器嗅探的一件事就是用户切换浏览器非常容易。大多数平台上至少有四种出色的免费浏览器替代品:Chrome,Opera,Firefox,Safari。因此,要中断浏览器嗅探或至少中断它,可以经常切换浏览器。

在这里值得一提的是所谓的SuperCookies,因为在某些情况下,即使您切换了浏览器并且即使禁用了JavaScript,HTML 5 Local Storage和Flash,它们也可以正常工作。

一位隐私研究人员揭示了一项营利性网络分析服务背后的邪恶天才,该服务能够跟踪500多个站点中的用户,即使禁用了所有cookie存储并且使用浏览器的隐私模式查看了站点也是如此。

(如果您很好奇,则TL; DR版本是他们通过利用ETag标头的晦涩原理来完成此操作的。)

无论如何,回到浏览器嗅探-用户可以采取两种不便的方法来克服这一点:

  1. 不断切换浏览器。
  2. 始终在禁用JavaScript和Flash的情况下浏览。

但是,如果用户不知道自己的浏览器设置正在被嗅探并将其用作对它们进行指纹识别的方法的一部分,我高度怀疑它们是否一定会麻烦做这两件事。是工作。

基于以上数据,我认为浏览器嗅探可以帮助识别典型的匿名互联网用户-但这仅与我们通常从匿名互联网用户(如IP地址)中检测到的其他信息结合使用才有效。


7
+1骇客。您的父母知道您如何度过时光吗?
P.Brian.Mackey

2
“首先,我认为期望用户在现代网络上禁用JavaScript是不现实的。” 我很高兴一个简单的NoScript解决方案完全可以阻止我的跟踪。
阿达·西

93
“又是一个非常大的数字。那是……非常独特。” 仅当这些功能在用户之间随机分布时,它才是唯一的。大多数用户可能会运行较小的代理和插件配置子集吗?是否存在一些高度相关的代理或插件配置?如果您要依靠这种独特性,则应查看这些功能在用户中的分布,而不仅仅是最好的情况。
查尔斯·格兰特

3
@Arda Xi:虽然仍然会带来麻烦的浏览体验...;)
BoltClock

1
“首先,我认为期望用户在现代Web上禁用JavaScript是不现实的。” 真诚的,你错了。使用noscript插件,可以轻松地为未知网站禁用脚本,同时在已知网站上享受现代网络。
2011年

11

浏览器指纹识别依赖于非常异构的浏览器/设备生态系统。需要考虑的一件事是,随着越来越多的智能手机和平板电脑/平板电脑上进行冲浪,我们正朝着越来越统一的生态系统迈进,从这个意义上讲,它们的碎片化程度要小得多。例如,iPhone / iPad的外观基本上相同。


3
一个很好的观点,有点可悲。但这是很可能的现实。
杰夫·阿特伍德

iPhone和iPad的型号差异很大。
JoJo

10

浏览器指纹识别是唯一识别匿名用户的足够方法吗?

不,充其量它可以唯一地标识一台计算机。它无法在没有cookie \会话的情况下区分同一网络(相同IP)上的2台新(和类似)计算机。

如果您合并了诸如鼠标手势或键入模式之类的生物特征数据,该怎么办?

这似乎不现实。这几乎必须全部用JavaScript进行编码,因为“生物识别数据”是所有客户端。用户可以将其关闭。另外,您的“生物特征数据”看起来像Perl Script什么?


话虽这么说,使用这种策略打击欺诈是一个好主意,不一定非要100%。欺诈的任何减少都是好的,即使仅提高了5%。

与欺诈的斗争是一种渐进的斗争,没有单一的解决方案可以与欺诈作斗争,甚至不必费心寻找一个。


编辑:为了回复下面的评论(并且因为它非常相关),以我的看法,指纹处理不同的配置文件是一个净负*。这是恶意用户用来愚弄指纹机制的事情,用户拥有对指纹中使用的所有变量的控制权这一事实本身就是一个严重的缺陷

*这就是为什么我最多说它可以识别一台计算机的原因,因为那样可以更好地识别计算机上的单个帐户。如果两者都能做,那就太好了。


3
“生物计量数据”也可以人们访问网站,其网址,多久,他们的字和语言模式..这一切都不需要JavaScript
杰夫·阿特伍德

2
指纹识别实际上甚至可以识别同一台计算机上的不同帐户。我知道英语,瑞典语和一些西班牙语。我已经相应地配置了Mac。当Firefox请求页面时,它会发送“接受语言:en-us,en; q = 0.8,sv; q = 0.5,es; q = 0.3”。我的妻子不会西班牙语。她在同一台计算机上使用的帐户中的Firefox不包含“ es”一词。显然,您所说的这是不可能的。
Andrew Dalke

Andy,因为它是您的用户个人资料,并不意味着您坐在计算机前。
Morons

4
莫,您的陈述“充其量它可以唯一地标识一台计算机”是不正确的。最好是,它可以区分同一台计算机上的不同帐户。如果是网络帐户,则可以区分同一网络上的两个不同帐户。多个人可以使用该帐户是另一回事。
Andrew Dalke

6

我会同意@vincentcr,但会增加一个要考虑的环境:公司网络。

在这里,您可能会发现数十个或数百个(潜在的)用户具有完全相同的浏览器,插件,字体等。@vincentcr提示的其他因素在这里也将失败-如果用户位于IP地址后面,则IP地址可能相同。公司防火墙,以及用户报告的位置。

即使考虑到了鼠标手势和键入模式,我仍然怀疑这些技术是否可以用于以任何形式的安全性来识别唯一用户,并且如果您希望用户帐户能够在使用浏览器的用户中生存下来,那么您将不得不予以支持。无论如何都可以使用更传统的身份验证系统。

尽管正如其他人所说,它在检测水龙头和类似物时可能会有所帮助。例如,WordPress插件“不良行为”会分析HTTP标头(以及其他因素),以尝试检测垃圾邮件。


很好的一点。尽管您可以检测到诸如时钟偏斜之类的东西,但由于计算机而异,并且显然您可以通过闪存获取实际IP。还有监视器分辨率,这将是值得的,但在公司环境中则没什么用。
SMrF

4

即使存在大量的组合,它们也不都是均匀分布的。

想一想,例如一台Macbook,有多少人会只使用股票配置。或从未安装过任何插件的用户:我怀疑这些用户是大多数用户。

在极端情况下,您拥有增长最快的设备部分:手机和平板电脑用户,尤其是iPhone和iPad,其中只有两个变量:品牌和版本号。

因此,当与其他因素(例如ip地址或可用的位置)结合使用时,这可能是一个很好的启发法,但仅此而已。


3

使用浏览器指纹识别功能,您可以识别网络上的单个用户,唯一的缺点是您需要使每个用户都必须使用JavaScript。

它遵循两个原则:

  1. 根据8个参数检测浏览器指纹
  2. 通过更改任何参数来检测是否有人更改了指纹。

指纹识别的成功取决于第二个原则。检测是否有人更改了指纹。

有关更多信息,请尝试可用的代码。您需要开发自己的算法来检测回访用户,因为https://panopticlick.eff.org/所使用的算法目前效率不是100%。


1
是“不是100%有效”还是“不是100%有效”?您能详细说明这一点吗?
马丁·彼得

2

也可以通过HSTS Supercookies识别某些浏览器。

在这里,您可以为每个访问者嵌入一个页面,其中包含对随机访问的安全和不安全资源的随机请求集,然后在回访时监视其请求的模式。如果以相同的模式请求每个资源,则可以使用该信息来标识用户。

这些对于识别iPhone / iPad尤其有用,否则它们将具有更多的通用浏览器指纹。这种方法对于不支持HSTS的Internet Explorer不太有用。

本文介绍了该方法; http://www.radicalresearch.co.uk/lab/hstssupercookies/

本文提供了一个很好的示例,说明了如何利用HSTS Supercookies来识别用户。 https://nakedsecurity.sophos.com/2015/02/02/anatomy-of-a-browser-dilemma-how-hsts-supercookies-make-you-choose-between-privacy-or-security/


0

JavaScript不是强制性的,还有许多其他参数需要PHP嗅探。就是说,99%的用户都有JS,所以为什么要打扰

指纹可以提供唯一的身份识别吗?我相信是这样。如此一来,www.visitor-intelligence.com及其连续的筛选原理也是如此。想一想。

您的私人私人星系不像我们整个星球那么大。

在您的街道上走着多少个法国人口音的棕发蓝眼睛的高个子女孩?在地球上,数百万。但是我敢打赌,她在您的街上(或逛您的商店)会很独特。

除非您住在香榭丽舍大街。然后仔细看。她苗条,走路像模特吗?她戴着一个昂贵的手提包吗?好吧,她现在完全独一无二了:-)

只看标题是错误的,因为它包括浏览器的版本号和更多可变的参数。

我们现在使用的是Chrome 27和Firefox21。我们甚至没有注意到就在更新浏览器版本。

现在,查看完整的插件列表也是完全错误的。尝试:安装Firefox,安装acrobat阅读器,然后安装Chrome。我打赌acrobat reader不会显示在您的Chrome插件列表中:-)

所以...最重要的是:如果您希望为标准规模的商店寻找一个体面的识别系统,那么指纹识别就足够了,甚至比cookie更稳定(我几乎每天都会删除我的所有cookie)。

就是我的2美分

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.