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

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

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

一个很好的例子: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的方法,”他说。

原文链接:Zombie cookie wars: evil tracking API meant to "raise awareness"

译文链接:http://www.linux-ren.org/modules/newbb/viewtopic.php?topic_id=56675&forum=72

 

目录
相关文章
|
6月前
|
存储 API
14JavaWeb基础 - Cookie 与 Session API总结
14JavaWeb基础 - Cookie 与 Session API总结
23 0
|
存储 前端开发 API
Servlet API Cookie和Session
我们在前文【和面试官畅谈「HTTP协议」 3.3.6】中已经提及了Servlet在会话管理操作中的Cookie与Session,但在上篇文章中有些过于理论化,在这篇文章中,我们结合具体的API和综合案例来更深刻的理解Cookie和Session。
97 0
Servlet API Cookie和Session
|
Web App开发 存储 缓存
Cookie 和 Storage API 区别与详解
Cookie 和 Storage API 区别与详解
161 0
Cookie 和 Storage API 区别与详解
|
JavaScript API
cookie的api和封装
cookie的api和封装
125 0
|
存储 缓存 安全
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(七)
Session 是另一种记录浏览器状态的机制。不同的是Cookie保存在浏览器中,Session保存在服务器中。用户使用浏览器访问服务器的时候,服务器把用户的信息以某种的形式记录在服务器,这就是Session
127 0
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(七)
|
存储 JavaScript 前端开发
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(六)
Session 是另一种记录浏览器状态的机制。不同的是Cookie保存在浏览器中,Session保存在服务器中。用户使用浏览器访问服务器的时候,服务器把用户的信息以某种的形式记录在服务器,这就是Session
225 0
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(六)
|
Java API 数据库
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(五)
Session 是另一种记录浏览器状态的机制。不同的是Cookie保存在浏览器中,Session保存在服务器中。用户使用浏览器访问服务器的时候,服务器把用户的信息以某种的形式记录在服务器,这就是Session
105 0
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(五)
|
Java API
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(四)
Session 是另一种记录浏览器状态的机制。不同的是Cookie保存在浏览器中,Session保存在服务器中。用户使用浏览器访问服务器的时候,服务器把用户的信息以某种的形式记录在服务器,这就是Session
130 0
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(四)
|
API
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(三)
Session 是另一种记录浏览器状态的机制。不同的是Cookie保存在浏览器中,Session保存在服务器中。用户使用浏览器访问服务器的时候,服务器把用户的信息以某种的形式记录在服务器,这就是Session
106 0
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(三)
|
API 容器
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(二)
Session 是另一种记录浏览器状态的机制。不同的是Cookie保存在浏览器中,Session保存在服务器中。用户使用浏览器访问服务器的时候,服务器把用户的信息以某种的形式记录在服务器,这就是Session
130 0
Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】(二)