什么是Supercookies,僵尸Cookies和Evercookies,它們是安全威脅嗎?
譯文【51CTO.com快譯】容易被第三者發(fā)現(xiàn)你瀏覽器中的秘密信息曾經(jīng)是圍繞cookie的最大隱私問(wèn)題,不過(guò),隨著互聯(lián)網(wǎng)的發(fā)展,這種情況已經(jīng)好多了。雖然普通的瀏覽器cookie通常很有用,也很容易清除,但也有一些其他的cookie變體可能被留下來(lái)監(jiān)視你。其中有兩種類(lèi)型,supercookies和僵尸cookies(通常也被稱(chēng)為“Evercookies”),特別難以清除。幸運(yùn)的是,它們并沒(méi)有被忽視,瀏覽器正在不斷進(jìn)化以對(duì)抗這些偷偷摸摸的跟蹤技術(shù)。
Supercookies
這個(gè)術(shù)語(yǔ)可能會(huì)讓人有點(diǎn)困惑,因?yàn)樗挥脕?lái)描述幾種不同的技術(shù),而其中只有小部分才是實(shí)際意義上的cookies。一般來(lái)說(shuō),它指的是那些為了給你一個(gè)唯一的可識(shí)別ID而用來(lái)改變你瀏覽器配置文件的任何東西。通過(guò)這種方式,它們提供了與cookie相同的功能,允許網(wǎng)站和廣告商對(duì)您進(jìn)行跟蹤,但與cookie不同的是,它們不能被真正刪除。
你經(jīng)常聽(tīng)到的“supercookie”一詞,通常用于指代唯一標(biāo)識(shí)標(biāo)頭(UIDH)以及HTTP嚴(yán)格傳輸安全機(jī)制(HSTS)中的一些漏洞,盡管原始術(shù)語(yǔ)源自于頂級(jí)域名中的Cookie。你可以為“.com”或“.co.uk”這樣的域設(shè)置一些特殊的cookie,這些cookie允許任何具有該域后綴的網(wǎng)站查看它。
比如,如果Google.com設(shè)置了一個(gè)這樣的超級(jí)cookie,那么這個(gè)cookie將會(huì)出現(xiàn)在任何其他的“.com”網(wǎng)站上。這是一個(gè)明顯的隱私問(wèn)題,但由于它是一個(gè)傳統(tǒng)的cookie,所以幾乎所有的現(xiàn)代瀏覽器默認(rèn)都會(huì)阻止它們。目前已經(jīng)很少有人再會(huì)來(lái)談?wù)撨@種supercookie了,所以你通常會(huì)聽(tīng)到更多的關(guān)于另外兩種cookie的信息。
唯一標(biāo)識(shí)符頭(UIDH)
事實(shí)上,唯一標(biāo)識(shí)符頭根本不在您的計(jì)算機(jī)上——它發(fā)生在您的ISP和一個(gè)網(wǎng)站的服務(wù)器之間。以下是它的發(fā)生過(guò)程:
- 你向你的ISP發(fā)送了一個(gè)網(wǎng)站請(qǐng)求。
- 在ISP將請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)器之前,它會(huì)向請(qǐng)求的頭部添加一個(gè)唯一的標(biāo)識(shí)符字符串。
- 這個(gè)字符串允許網(wǎng)站在你每次訪(fǎng)問(wèn)時(shí)將你識(shí)別為同一用戶(hù),即使你已經(jīng)刪除了他們的cookies。一旦他們知道你是誰(shuí),他們就可以直接把同樣的cookie放回你的瀏覽器。
簡(jiǎn)單來(lái)說(shuō),如果ISP使用UIDH跟蹤,它會(huì)將您的個(gè)人簽名發(fā)送到您訪(fǎng)問(wèn)的每個(gè)網(wǎng)站(或?yàn)槠涓顿M(fèi)的網(wǎng)站)。這對(duì)于優(yōu)化廣告收入非常有用,但它的侵入性已經(jīng)夠大了,以至于美國(guó)聯(lián)邦通訊委員會(huì)對(duì)Verizon處以了135萬(wàn)美元的罰款,原因是Verizon沒(méi)有通知他們的客戶(hù),或者沒(méi)有給他們選擇退出的權(quán)利。
除了Verizon之外,關(guān)于還有哪些公司正在使用UIDH信息的數(shù)據(jù)并不多,但消費(fèi)者的強(qiáng)烈反對(duì)使它成為了一個(gè)相當(dāng)不受歡迎的技術(shù)策略。好消息是,它只適用于未加密的HTTP連接,并且由于大多數(shù)網(wǎng)站現(xiàn)在都默認(rèn)使用HTTPS,加上您可以輕松下載像HTTPS Everywhere這樣的擴(kuò)展程序,這個(gè)supercookie實(shí)際上已經(jīng)不再是一個(gè)問(wèn)題了,并且它也可能沒(méi)有被廣泛使用。如果你想要額外的保護(hù),就使用VPN吧。這能夠保證你的請(qǐng)求會(huì)被安全的轉(zhuǎn)發(fā)到網(wǎng)站上,而不會(huì)附上你的UIDH。
HTTPS嚴(yán)格傳輸安全機(jī)制(HSTS)
這是另外一種罕見(jiàn)的supercookie,雖然在任何特定網(wǎng)站上都沒(méi)有被明確識(shí)別,但顯然它也正在被利用,因?yàn)樘O(píng)果公司在Safari瀏覽器上對(duì)它進(jìn)行了修補(bǔ),并引用了已證實(shí)的攻擊實(shí)例。
HSTS實(shí)際上是一件好事。它允許瀏覽器安全地重定向到網(wǎng)站的HTTPS版本,而不是不安全的HTTP版本。不幸的是,它也可以用來(lái)創(chuàng)建一個(gè)supercookie,其過(guò)程如下:
- 創(chuàng)建許多子域名(如“domain.com”、“subdomain2.domain.com”等)。
- 給主頁(yè)的每個(gè)訪(fǎng)問(wèn)者分配一個(gè)隨機(jī)數(shù)。
- 強(qiáng)制用戶(hù)加載所有子域,方法是將它們添加到頁(yè)面上不可見(jiàn)的像素中,或者是在加載頁(yè)面時(shí)重定向用戶(hù)通過(guò)每個(gè)子域。
- 對(duì)于某些子域,告訴用戶(hù)的瀏覽器使用HSTS切換到安全版本。而對(duì)于其他的子域,則保留使用不安全的HTTP。
- 如果子域的HSTS策略被打開(kāi),計(jì)為“1”,如果關(guān)閉,計(jì)為“0”。使用這種策略,網(wǎng)站可以在瀏覽器的HSTS設(shè)置中以二進(jìn)制形式寫(xiě)入用戶(hù)的隨機(jī)ID號(hào)。
- 當(dāng)訪(fǎng)問(wèn)者重新訪(fǎng)問(wèn)網(wǎng)站時(shí),網(wǎng)站將檢查用戶(hù)瀏覽器的HSTS策略,該策略將返回與最初生成的相同的二進(jìn)制數(shù),用以識(shí)別用戶(hù)。
這聽(tīng)起來(lái)很復(fù)雜,簡(jiǎn)單來(lái)說(shuō)就是,網(wǎng)站可以讓你的瀏覽器生成并記住多個(gè)頁(yè)面的安全設(shè)置,下次你訪(fǎng)問(wèn)時(shí),它就可以告訴你你是誰(shuí)了,因?yàn)闆](méi)有其他人也有這種設(shè)置的精確組合。
蘋(píng)果已經(jīng)想出了解決這個(gè)問(wèn)題的辦法了,比如只允許為每個(gè)網(wǎng)站設(shè)置一兩個(gè)主要域名的HSTS設(shè)置,并限制網(wǎng)站允許使用的鏈接重定向數(shù)量。其他瀏覽器可能會(huì)遵循這些安全措施(Firefox的隱身模式似乎也能起到作用),但由于沒(méi)有任何確認(rèn)的情況發(fā)生,所以這并不是當(dāng)下大多數(shù)瀏覽器的首要任務(wù)。您可以通過(guò)深入了解一些設(shè)置并手動(dòng)清除HSTS策略來(lái)親自處理這些問(wèn)題,但能做的也僅此而已。
僵尸cookies/Evercookies
僵尸cookies就如它的名字所表達(dá)的那樣——它會(huì)在你以為它們消失了之后又重新復(fù)活。你可能已經(jīng)見(jiàn)過(guò)被稱(chēng)為“evercookie”的cookies了,但不幸的是,它們有各種各樣的變種。“Evercookie”實(shí)際上是一個(gè)JavaScript API,用于演示cookie可以通過(guò)多少種不同的方式來(lái)繞過(guò)cookie的刪除工作。
僵尸cookies之所以不會(huì)被清除,是因?yàn)樗鼈冸[藏在你常規(guī)的cookies存儲(chǔ)區(qū)之外。實(shí)現(xiàn)本地存儲(chǔ)是這些僵尸cookie的一個(gè)主要目標(biāo)(Adobe Flash和Microsoft Silverlight也經(jīng)常使用這一點(diǎn)),一些HTML5存儲(chǔ)也可能是一個(gè)問(wèn)題。這些死而復(fù)活的cookie甚至可以存在于您的web歷史記錄中,或者存在于瀏覽器允許進(jìn)入其緩存的RGB顏色代碼中。一個(gè)網(wǎng)站所要做的就是找到一個(gè)隱藏的cookie,然后它就能復(fù)活其他cookies了。
但是,其中的許多安全漏洞正在消失。 因?yàn)镕lash和Silverlight并不是現(xiàn)代web設(shè)計(jì)的重要組成部分,現(xiàn)在的許多瀏覽器已經(jīng)不再那么容易受到其他隱藏Evercookie位置的攻擊了。但是,由于這些cookie有許多不同的方式來(lái)狡猾地進(jìn)入您的系統(tǒng),因此沒(méi)有一種固定的方法可以保護(hù)您自己。然而,一套像樣的隱私擴(kuò)展和良好的瀏覽器清理習(xí)慣從來(lái)都不是一個(gè)壞主意!
等等,那我們現(xiàn)在究竟是不是安全的呢?
在線(xiàn)追蹤技術(shù)是一項(xiàng)不斷升級(jí)的技術(shù),因此,如果你擔(dān)心隱私問(wèn)題,你可能需要習(xí)慣這樣一種想法:我們可能永遠(yuǎn)無(wú)法保證100%的在線(xiàn)匿名。
不過(guò),你也不需要太過(guò)擔(dān)心supercookies,因?yàn)樗鼈儾⒉怀R?jiàn),而且正越來(lái)越多的受到屏蔽。但是,僵尸cookies/Evercookies一旦出現(xiàn),通常就很難去除。雖然很多的實(shí)現(xiàn)途徑已經(jīng)被關(guān)閉,但是他們可能仍然發(fā)揮著潛在作用,直到每個(gè)漏洞都被修復(fù),遺憾的是,他們總能想出新的技術(shù)。
原文標(biāo)題:What Are Supercookies, Zombie Cookies, and Evercookies, and Are They a Threat?,作者: Andrew Braun
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】