比較熟悉資訊安全防護的讀者應該知道,瀏覽器的cookie雖然可以讓我們上網更方便,但它和IP位址可說是追蹤使用者身份的兩大利器。因此,有些人上網的時候為了不留下任何紀錄,乾脆不用cookie,而且還要配合軟體工具(例如Tor)來隱藏IP位址,以保護自身的資訊安全。不過你知道嗎?其實光是瀏覽器本身,就可能提供足夠的訊息,讓有心人士可以辨識你的身份哦……
瀏覽器也會有指紋?
根據電子前線基金會(EFF,Electronic Frontier Foundation)所做的實驗顯示,當瀏覽器連上一個網站時,其實就有可能提供足夠的資訊,得以分辨出這是屬於哪個使用者的瀏覽器。EFF舉出了一個相當驚悚的可能性:假設有某個使用者刪除了瀏覽器中保留的cookie,也禁止瀏覽器保留新的cookie,當這個使用者連上某個曾經去過的網站時,有沒有可能利用瀏覽器所提供的基本資訊,跟過去的登入紀錄進行比對,從中找出這個使用者的舊cookie紀錄?
電子前線基金會針對各種常用的瀏覽器進行檢測及比對之後發現,撇開cookie等資訊不談,各種瀏覽器在登入網站時,其實都會提供5~15bits(平均10.5bits)的識別資料,顯示來自哪個作業系統和瀏覽器,這個資料通常是被包含在User Agent標頭(headder)中。理論上,平均來說只會有大約1500人(相當於2的10.5次方)跟你擁有同樣的User Agent標頭,以這個人數來說,單就這些資料其實並不足以判定使用者的身份。但問題是,如果加上時區資訊、語系編碼、外掛套件等相關訊息之後,這些資料就有可能變成獨一無二的識別訊息,能夠像指紋一樣用來分辨使用者的身份。
▲就算清掉所有cookie,瀏覽器本身也能夠提供很多資訊……
這點真是讓筆者毛骨悚然。
User Agent究竟說了什麼?
一般來說,當我們連上一個網站時,User Agent通常會提供一個像下面這樣的字串。
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.9.1.3) Gecko/20090824 Firefox/3.6.1 (.NET CLR 3.5.30729)
我們可以看到,這裡面包括了瀏覽器的名稱和版本、作業系統(及版本)、優先使用的語系等等,以上面的例子而言,我們可以知道這是在Windows XP上運作的Firefox 3.6.1,優先使用zh-TW(中文-台灣)語系。如果是在某些比較少見的國外網站上,譬如某俄羅斯新聞網站上,光是這樣應該就可以把目標縮小到一個很小的範圍了。在前面提到的實驗報告中,有詳細列出各種瀏覽器及作業系統會提供的User Agent資料,有興趣的讀者可以自己連過去看,筆者就不在這裡騙稿費了。
檢查瀏覽器的獨特程度
看到這裡,相信許多讀者應該都跟筆者一樣毛毛的,而且應該也會很想確定一下自己的瀏覽器究竟會提供多少資料給別人,會不會非常獨特。如果你有這樣的想法,不妨連到電子前線基金會所建立的Panopticlick網站上作個測試,只要連上這個網站,它就會對你的瀏覽器進行分析,並顯示從中得到的訊息資料,不過這裡要特別提醒大家的是,電子前線基金會同時也是在利用Panopticlick網站進行實驗與資料收集,我們所提供的訊息將會成為樣本之一,用來檢驗「瀏覽器所提供的訊息是否足以分辨使用者的身份」這個假設。
如果你不想參加這個實驗,又很好奇他們可以從中看出些什麼,不妨就來看看筆者「以身試法」的結果吧。從這個測試結果來看,Panopticlick網站所能收集到的訊息大致包括以下幾類:
- User Agent:前面說過了,這是最基本的使用者訊息。
- HTTP_ACCEPT Headers:基本上HTTP所有的標頭甚至META訊息都可以算在這裡,以筆者的例子來說,提供的訊息大致還是以常用語系為多,跟前面算是有點重複了。
- Browser Plugin Details:這個就有點厲害了,這裡列出來的是筆者瀏覽器上的套件明細,如果筆者裝了什麼很少見的套件的話,說不定光憑這一項就可以抓人了。
- Time Zone:簡單明瞭,就是「時區」,這下大致可以確定筆者在地球上的位置範圍了。
- Screen Size and Color Depth:哇喔~連筆者的螢幕解析度和彩度都看得到。
- System Fonts:系統上安裝的字型。基本上這是透過Flash及Java applet查到的,問題是……現在有多少人上網是不需要用到Flash的呢?如果有這種人的話,光是沒用Flash這點說不定就可以當作證據了。
- Are Cookies Enabled:cookie有沒有開?一般人應該都會開著,沒開的人應該也可以算是極少數吧。
- Limited supercookie test:supercookie指的應該是一些少見的、特殊的識別訊息,像前面Flash的設定,有時也會被視為supercookie的一種。
▲瀏覽器究竟會提供哪些訊息,答案就在這裡……(點選可看大圖)
喔,對了,筆者的瀏覽器究竟算不算特別呢?Panopticlick網站認為,在目前已收集到的58萬份資料中,筆者的資料還算是相當獨特的(Your browser fingerprint appears to be unique among the 578,402 tested so far.)。個人推測,這可能是因為目前還很少有中文使用者的樣本的關係,大家不妨也上去測試看看,等過一陣子樣本數更多時再來看看結果會不會有什麼變化囉~
ORZ
很多資訊都被SHOW出來 orz
ps我也被Panopticlick認為滿獨特的...
反正不再需要 Cookie 也可以辨識使用者了 ,
那 Cookie 可能以後就沒有用了,話是這樣講嗎?
最好定期清垃圾檔案,免的一些資料意外外流。
這樣是不是表示他可能會擷取其他我們不知到的訊息
防護方式為何 這些是我比較想了解的
Your browser fingerprint appears to be unique among the 598,649 tested so far.
我所了解的,前幾項有些欄位參數是可以特殊設計的,許多網頁判斷是經過檢查
User Agent來做條件判斷(網頁相容性?!)
browser client(end user端)和server端的參數傳遞有些都可以透露瀏覽者OS上的環境,統計網站應該就是這樣做確認的
cookie也是可以挾持或是遺失在要求的機制找漏洞來提升權限 ~"~
若是使用者的網站架設軟體有漏洞,稍厲害的黑客都可以對任意可假造的欄位作變數汙染,可說是防不勝防
只能向是wellss所講得那樣,有良好的使用習慣才能降低風險
話說好像用Chrome的DeveloperTools也可以看到這些耶
但還是頗恐怖><