Evercookie 小结

来源:互联网 发布:淘宝千纸鹤什么档次 编辑:程序博客网 时间:2024/06/01 08:20

决战Cookie僵尸:恶性追踪API意在“提高警惕” 

对抗目前僵尸Cookie——好像永远不会丢失你数据的cookie——的战争硝烟四起,因为越来越多的用户知道了其技术内幕。尽管广泛传播的Flash cookie和最近最新的HTML5存储技术内幕让用户提高了警惕,但要我们避免Internet用户被顽固跟踪,仍然任重而道远。

Evercookie是一个用于向网站标识用户行为的Java Script。Evercookie故名思义可以让Cookie存储在非Cookie目录,例如Flash Cookies和HTML5 Storage。它的意义在于可以让网站能跟踪用户的上网习惯,即使用户清空了个人目录,它仍旧不会消失。


一个很好的例子:evercookie,一个由Samy Kamkar开发的开源JavaScript API。当被网站使用时,evercookie保存user ID和cookie data至不只是两个或三个地方,而是八个不同的地方——以后还会更多!其中就有你的standard HTTP cookies,Flash cookies,你强制缓存的PNG的RGB值,你的Web history以及一些HTML5存储特性。此外,Silverlight Storage 和 Java显然也在跟近。

因此当你删掉一处、三处或五处的cookie时,evercookie可以从其他cookie源获取你的user ID,并恢复数据跟踪cookie。它还跨浏览器——如果Local Shared Object cookie(本地共享对象cookie)完整,evercookie可以传播到任何你在本机上使用的浏览器。由于在、大多数用户对这些cookie保存技术不甚了解,他们不大可能彻底清除某一cookie。

“简单把它想象成不会摆脱的cookie(Cookie僵尸)吧,”evercookie FAQ这样写着。 

听起来很邪恶吧?是。但是Kamkar——他的座右铭是“think bad, do good”(“防小人,为君子”)——看起来就不那么邪恶了。事实上,Kamkar告诉Ars(本网站站名)说,他写evercookie是为了向用户展示公司可以跟踪他们的方法。

“我希望evercookie只是向人们演示跟踪他们的是何种方法,由他们决定他们是否应该阻止这些方法,”他说。“我作为一个安全业余爱好者,写evercookie也才用了不到一天的时间,因此我很容易想像那些受雇的开发者可以做出什么来。”

Kamkar说他并无意去用evercookie来跟踪人们——它主要为上述概念而存在,他没有使用开发者世界里的极端技术。 

“这些全都不是什么新技术,”他告诉Ars,“但有这样的一个API就足以引起警惕。” 

当然,只要evercookie存在(并以一个开源项目的形式存在,每个人都可以使用),就一定会有邪恶的网络开发者利用它。但这正中本技术的意旨——我们应该被敲醒警钟。

Kamkar 视他的项目为一种立见分晓的检验办法,用以研究人们会否起身保护自己免受任何人都可以利用的顽固cookie之扰。他同时出了解,普通Internet用户对传统cookie都不甚知晓,更不用说Flash cookies 和后面的了。从所有的八个(或更多)存储机制里删除数据连对于一个有经验的上网者来说都是很怯人的。

“我希望开发允许人任一或所有的这些存储机制中删除数据的软件,供普通用户使用,”Kamkar说。“我希望evercookie能给再开发这样软件的人以警醒。 

Kamkar 的API仅仅晚于针对某一公司的诉讼的立案。该公司利用了Safari,Chrome,和 Opera支持的 HTML5 Web SQL数据库存储能力。最先被Ars Technica曝光的这家特殊的公司(Ringleader Digital,元凶数码——名字很形象,编者注)极力想保存一个顽固的ID至本地,即使用户将cookie和其HTML5数据库删除。这家公司告诉 Ars说,唯一摆脱这一跟踪的方法是使用该公司的退出链接(它在让用户退出时也不给提示)。

然后,之前还有一系列针对僵尸Flash cookie的诉讼;那些cookie在跟踪用户方面有着同样的野心。它们不想让你删除它们的信息,因此它们通过将数据存储在多个地方并在你删除后重置,以此和你周旋。

在Internet用户等待软件来帮他们摆脱此烦扰的同时,Kamkar指出很多浏览器的安全浏览模式很可能可以帮你一把。“我发现在Safari中使用‘隐私浏览’会阻挡所有evercookie的方法,”他说。

 

evercookie是一个用于尽量将Cookies持久化在浏览器中的JavaScript API。目的是为了当用户删除标准Cookies,Flash Cookies等之后还能识别客户端。evercookie采用在本地浏览器中可用的各种不同存储机制来存储cookie数据。当evercookie发现用某种机制存储的cookie被数据将删除之后,它将利用其它机制创建的cookie数据来重新创建,让用户几乎不可能删除cookie。当前evercookie支持的存储机制包括:

[plain] view plaincopyprint?
  1. - Standard HTTP Cookies  
  2.      - Local Shared Objects (Flash Cookies)  
  3.      - Storing cookies in RGB values of auto-generated, force-cached   
  4.         PNGs using HTML5 Canvas tag to read pixels (cookies) back out  
  5.      - Storing cookies in and reading out Web History  
  6.      - Storing cookies in HTTP ETags  
  7.      - Internet Explorer userData storage  
  8.      - HTML5 Session Storage  
  9.      - HTML5 Local Storage  
  10.      - HTML5 Global Storage  
  11.      - HTML5 Database Storage via SQLite  


主页:http://samy.pl/evercookie/

下载:http://samy.pl/evercookie/

示例:http://samy.pl/evercookie/

看过一篇文章说:Anonymizer推出了一个用于抵御Evercookie的Firefox扩展Nevercookie。我到火狐里搜了一下,没找到,但是到网上搜了一下,找到这个网站http://anoneng.com/ 这里面提供了Nevercookie 插件的下载,但是不知道怎么用。所以也没能证实是否真的可以


###########################################################################

五月初,Adobe推出了Flash Player 10.3版,对于Flash Player层出不穷的版本很多人都已经感到厌烦,从而这个新版本被很多人忽略。但是我们看到,在Flash Player 10.3中整合了删除浏览历史功能,所谓的浏览历史也就是Flash Cookie,也就是Flash本地共享对象(LSOs)。知道浏览器Cookie的人很多,至于Flash Cookie,这是什么玩意?           

  Flash Cookie有什么作用

  首先来做一个小测试,用IE浏览器(任意浏览器均可)进入百度MP3搜索,在不登录百度帐号的情况下打开百度音乐盒,随便试听几首歌曲,这时可以看到在百度音乐盒的试听历史中会出现之前试听的歌曲。接下来我们使用IE自带的删除功能来清除Cookie(也可以使用各种软件的清理Cookie功能),清理完之后再重新打开百度音乐盒,我们发现之前试听的歌曲信息居然还在,情况还不只如此,用任意一个浏览器打开百度音乐盒,都可以发现之前的试听历史,这就是Flash Cookie在起作用。

同Http Cookie一样,Flash Cookie也就是记录用户在访问Flash网页的时候保留的信息,鉴于目前Flash技术的普遍性,几乎所有的网站都采用,所以具有同Http Cookie一样的作用。但是相比起Http Cookie,Flash Cookie更加强大:1、容量更大,Flash Cookie可以容纳最多100千字节的数据,而一个标准的HTTP Cookie只有4千字节;2、FlashCookie没有默认的过期时间;3、FlashCookie将被存储在不同的地点,这使得它们很难被找到。而在10.3版本之前,几乎没有简单删除Flash Cookie的办法,所以想象一下,网站可以读取你在互联网上的使用信息,而你却连这个Cookie文件放在哪里都不知道,更别说删除,几乎可以被视为任人宰割了。

解决方法

  鉴于目前Flash Player漏洞众多的情况,最好的方法就是升级到10.3版本,在升级到Flash Player 10.3之后,我们可以在控制面板中发现新增了一个Flash Player的设置选项,进入之后在存储标签中,就可以对本地存储的Flash Cookie进行操作。点击“站点的本地存储设置...”按钮,就可以查看目前电脑中的Flash Cookie,果不其然,可以发现百度音乐盒“box.baidu.com”的信息,删除之后,就不会再出现之前的试听记录。假如比较看重个人隐私的话,建议选择“阻止所有站点在此计算机上存储信息”,不过之前保留的所有和Flash相关的信息就都没了。

更厉害的Evercookie

  前面了解了Http Cookie和Flash Cookie的,值得庆幸的是,目前都有办法来控制和删除这两种Cookie,不过还有一种更加厉害的Cookie技术,可以说是防不胜防。

  2010年10大黑客技术排行榜中,一种叫做Evercookie的技术排在了第二位,这有什么厉害之处呢?由Samy Kamkar发明的这个技术能够让Java脚本创建隐藏在浏览器中8个不同位置的Cookie,从而使人们很难消除这些Cookies,Evercookie能够让黑客识别机器,即使传统的Cookie已经被删除。当你删除了其中的一种或多种Cookie时,Evercookie会尝试使用每一种可能的机制来重新创建它。这也就意味着,你访问过了某个使用Evercookie的网站之后,就算你认为你已经清除了所有Cookie,那么你再次访问该网站时,它仍然可能会识别出你的身份。我们可以访问http://samy.pl/evercookie/这个网站来了解更多的内容,可以查看这8种Cookie都分别是什么,存放在什么位置。但是对于大部分用户来说,都不太可能具 备如此专业的知识来删除存放在8个位置中的Cookie,所以Evercookie可以在大多数情况下都保证对独特用户的追踪及识别,让你无处遁形。

  写在最后

  知道了这三种Cookie的作用,不过我们也不用太过于担心,毕竟通过Cookie泄露的只是我们的某些使用习惯或者是位置等信息,有针对性地向用户推送广告是大部分网站利用Cookie的主要目的,不会造成太大的危害。而且现在我们也有很好的方法来应对Http Cookie和Flash Cookie,至于Evercookie,使用它的网站还不是很多。


####################################################################################################

刚接触evercookie 感觉有点无从下手,虽然有例子。

首先:先熟悉evercookie.js 看了这个js 应该就可以知道个大概了

  简介

Evercookie是一个用于向网站标识用户行为的Java ScriptEvercookie故名思义可以让Cookie存储在非Cookie目录,例如FlashCookiesHTML5Storage。它的意义在于可以让网站能跟踪用户的上网习惯,即使用户清空了个人目录,它仍旧不会消失。
一个很好的例子:evercookie,一个由Samy Kamkar开发的开源JavaScriptAPI http://www.open-open.com/ajax/ajax20100930092911.htm。当被网站使用时,evercookie保存user IDcookiedata至不只是两个或三个地方,而是八个不同的地方——以后还会更多!其中就有你的standard HTTP cookiesFlash cookies,你强制缓存的PNGRGB值,你的Webhistory以及一些HTML5存储特性。此外,Silverlight Storage  Java显然也在跟近。
因此当你删掉一处、三处或五处的cookie时,evercookie可以从其他cookie源获取你的user ID,并恢复数据跟踪cookie。它还跨浏览器——如果Local Shared Object cookie(本地共享对象cookie)完整,evercookie可以传播到任何你在本机上使用的浏览器。由于在、大多数用户对这些cookie保存技术不甚了解,他们不大可能彻底清除某一cookie
简单把它想象成不会摆脱的cookieCookie僵尸)吧。

二、  特点

1.   尽量将Cookies持久化在浏览器中

2.      当用户删除标准Cookies,Flash Cookies等之后还能识别客户端。evercookie采用在本地浏览器中可用的各种不同存储机制来存储cookie数据。当evercookie发现用某种机制存储的cookie被数据将删除之后,它将利用其它机制创建的cookie数据来重新创建,让用户几乎不可能删除cookie

三、  当前evercookie支持的存储机制

1.      标准的http cookie

2.      本地共享对象(flash cookie)

3.      存储生成的rgb的值。使用html 5标签的png图像读取cookie

4.      网页记录

5.      利用 http Etag 存储cookie

6.      Internet Explorer userData storage(用户数据存储)

7.      Html 5 session storage(会话存储)

8.      Html 5 Local storage(本地存储)

9.      Html 5 global storage

10.  Html 5 Database storage via SQLite

四、  主流浏览器中的存储情况

(一)各主流浏览器中:

1. IE360 firefox google safariopera

userDatamechanism: 10(只有IE内核支持)
cookieData mechanism: 10
localData mechanism: 10
globalData mechanism: undefined
(其他浏览器也取不到值)
sessionData mechanism: 10
windowData mechanism: 10
historyData mechanism: 10
(只有opera浏览器取到值)
pngData mechanism: undefined
etagData mechanism: undefined
cacheData mechanism: undefined
(以上这三项pngdataetaDatacacheData需要php环境的支持)
lsoData mechanism: 10(需要有flash player 的支持)
slData mechanism10(需要silverlight 环境的支持)

2. googlesafariopera 还有一种dbData mechanism

(二)环境:

1.    Window

1.1         IE9 浏览器

支持的存储机制有:userDatacookieDatalocalDatasessionDatawindowDatalsoDataflash  cookie)、slData(silverlight  cookie)

说明:(1)、userData 只有IE内核的才支持

     2)、flashcookie silverlight cookie 如果客户端没有环境,则无法存储和读取

     3)、由于IE8IE9在清除历史记录的时候就可以把flash cookie清除。所以如果用户清除了历史记录的话,如果客户端有silverlight环境,则所剩的cookie还有两中:localDataslData

1.2         360 浏览器

支持的存储机制有:userDatacookieDatalocalDatasessionDatawindowDatalsoDataflash  cookie)、slData(silverlight  cookie) IE9一样

说明:(1)、userData 只有IE内核的才支持

     2)、flashcookie silverlight cookie 如果客户端没有环境,则无法存储和读取

3)、如果用户清除了历史记录的话,如果客户端有silverlight环境,则所剩的cookie还有:userDatacookieData localData lsoData slData

1.3         Firefox 15.1

支持的机制有:cookieData、localData、sessionData、windowData、lsoData、slData 和IE相比差了userData

说明:如果用户清除了历史记录的话,如果客户端有flashsilverlight环境,则所剩的cookie还有:lsoData slData

1.4         Google

支持的机制有:cookieData、localData、sessionData、windowData、dbData、lsoData、slData和IE相比差了userData;和IE、360、firefox比多了dbData

说明:由于google21在删除历史记录的时候可以把flashcookie 清除,如果用户清除了历史记录的话,如果客户端silverlight环境,则所剩的cookie还有:slData

1.5         Safari

支持的机制有:cookieData、localData、sessionData、windowData、dbData、lsoData、slData和google 支持的机制一致

说明:如果用户清除了历史记录的话,如果客户端有flashsilverlight环境,则所剩的cookie还有:cookieData localData dbData lsoData slData

1.6         Opera

支持的机制有:cookieData、localData、sessionData、windowData、dbData、lsoData、slData和safari 比多了historyData(但这个值是最初的值)

说明:如果用户清除了历史记录的话,如果客户端有flashsilverlight环境,则所剩的cookie还有:cookieData localData dbData historyDatalsoDataslData

PS:

                  在以上各浏览器的隐私模式下都不能存储cookie

2.    苹果系统

2.1              Google

支持的机制有:cookieData、localData、sessionData、windowData、dbData、lsoData、slData

说明:由于google21在删除历史记录的时候可以把flashcookie 清除,如果用户清除了历史记录的话,如果客户端silverlight环境,则所剩的cookie还有:slData(和window系统上的一致)

2.2              Safari

支持的机制有:cookieData 、localData、sessionData windowData 、dbData、lsoData 、slData

说明:如果用户清除了历史记录的话,如果客户端有flashsilverlight环境,则所剩的cookie还有:cookieData localData dbData lsoData slData

 

附:

一、关于flash cookie

   1.IE8IE9在删除历史记录的时候会清空flash cookie

 

2.谷歌21 删除历史记录的时候会清空flash cookie

 

3.    Flash Player 10.3之后,我们可以在控制面板中发现新增了一个Flash Player的设置选项,进入之后在存储标签中,就可以对本地存储的Flash Cookie进行操作。点击“站点的本地存储设置.. .”按钮,就可以查看目前电脑中的Flash Cookie

二、关于浏览器的隐私模式,下面以火狐的隐私模式作为例子说明。详见各浏览器中的说明

   隐私浏览不会记录的内容

  • 访问过的页面: 不会将任何您访问的页面添加到历史菜单的网站列表、Windows的历史列表或 智能地址栏     地址列表中。
  • 表单和搜索栏: 您在页面上的文本框或 什么是搜索栏     中输入的任何东西不会被记录到 表单自动完成
  • 密码: 不会有新密码被保存下来。
  • 下载列表: 当您打开隐私浏览后,您下载的文件不会在 下载管理器     中被列出。
  • CookiesCookie 储存了您访问过的网站的信息,包括网站的首选项、登录状态以及Adobe     Flash 所使用的数据。Cookies     可以被第三方使用,以跨站追踪您。想获取更多关于追踪的信息,请参考: 如何停止让网站追踪我?

注意:为了防止Flash 存储 Cookie,您必须使用最新版本的软件。参看更新 Flash

  • 缓存的Web内容 和 离线Web内容和用户数据:网页缓存文件(高速缓存)或网站为离线使用而存储的文件都不会被保存。

注意

  • 如果您在隐私浏览模式下创建了一个新的书签,在退出隐私浏览之后书签不会被删除。
  • 如果使用隐私浏览模式期间您在您的计算机上保存了文件,当您停止隐私浏览时,文件不会被删除。然而,您在外部应用程序中打开的任何文件都会从系统的临时文件夹中被清除,您下载的任何文件都不会显示在 下载管理器     的列表中
警告:隐私浏览模式并不会让您匿名地浏览网络。您的网络提供商,雇主或浏览过的网站本身依然可以追踪到您访问的页面。此外,隐私浏览不能保护您免遭在您计算机上安装的键盘记录间谍软件的侵害。
0 0
原创粉丝点击