Evercookie 小結

決戰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支持的存儲機制包括:

  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內容和用戶數據:網頁緩存文件(高速緩存)或網站爲離線使用而存儲的文件都不會被保存。

注意

  • 如果您在隱私瀏覽模式下創建了一個新的書籤,在退出隱私瀏覽之後書籤不會被刪除。
  • 如果使用隱私瀏覽模式期間您在您的計算機上保存了文件,當您停止隱私瀏覽時,文件不會被刪除。然而,您在外部應用程序中打開的任何文件都會從系統的臨時文件夾中被清除,您下載的任何文件都不會顯示在 下載管理器     的列表中
警告:隱私瀏覽模式並不會讓您匿名地瀏覽網絡。您的網絡提供商,僱主或瀏覽過的網站本身依然可以追蹤到您訪問的頁面。此外,隱私瀏覽不能保護您免遭在您計算機上安裝的鍵盤記錄間諜軟件的侵害。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章