如何保護(hù)隱私之瀏覽器如何導(dǎo)致隱私泄漏
在文章《如何保護(hù)隱私之關(guān)于軟件和服務(wù)的選擇》主要介紹了選擇"軟件"和"服務(wù)"的一般性原則。下面本文將為大家介紹具體的軟件和服務(wù)有哪些需要注意的細(xì)節(jié)。先從"個(gè)人軟件"說起,說完"個(gè)人軟件"再來說"互聯(lián)網(wǎng)服務(wù)"。在個(gè)人軟件中,跟隱私關(guān)系最密切的軟件有很多。其中"瀏覽器"的篇幅最大,那么瀏覽器是如何導(dǎo)致隱私泄露問題的呢?
★瀏覽器本身導(dǎo)致的隱私問題
◇瀏覽器自身如何泄漏隱私?
先來談瀏覽器自身是如何泄漏隱私的。這里強(qiáng)調(diào)的是"自身",也就是說,跟瀏覽器外圍的插件、擴(kuò)展、cookie 等等無關(guān),是瀏覽器軟件自己把用戶隱私給泄漏了。
很多國(guó)產(chǎn)的瀏覽器(至少包括:奇虎的"360瀏覽器"和騰訊的"QQ瀏覽器")自身都存在嚴(yán)重的隱私問題。它們會(huì)收集用戶的上網(wǎng)行為(比如:你在啥時(shí)候訪問了啥網(wǎng)站),并且把你的上網(wǎng)行為保存到它們自家的服務(wù)器上。
一旦你用了有危險(xiǎn)的瀏覽器,即使你在其它方面的防范做得再好,也是白搭。因?yàn)闉g覽器是上網(wǎng)沖浪的關(guān)鍵,瀏覽器出問題會(huì)導(dǎo)致你的隱私防御全線崩潰。
稍微跑題,說一下當(dāng)年轟動(dòng)武林的"3Q大戰(zhàn)"。(因?yàn)榍皟商煊凶x者在博客留言中爭(zhēng)論此事)
這件事說白了就是"狗咬狗 一嘴毛",奇虎和騰訊都不是好東西,它倆不但充當(dāng)朝廷的走狗,而且不擇手段收集用戶隱私。但是"3Q大戰(zhàn)"的積極意義在于:兩只癩皮狗互咬,把兩邊的家丑都曝光了。咱們普通網(wǎng)民作為旁觀者,可以更清楚這些國(guó)產(chǎn)軟件廠商的嘴臉。
再強(qiáng)調(diào)一下,有問題的國(guó)產(chǎn)瀏覽器,絕不止這兩家。
◇應(yīng)該如何選擇?
剛才說了,國(guó)產(chǎn)瀏覽器貓膩很多。那么國(guó)外的瀏覽器,是不是就很安全捏?也未必。
大伙兒不妨復(fù)習(xí)一下前一篇博文。在那篇博文中,有兩個(gè)原則可以參考:
原則1:開源 好過 閉源
(開源軟件,即使有后門或流氓行為,也比較容易被發(fā)現(xiàn))
原則2:非營(yíng)利組織 好過 商業(yè)公司
(對(duì)于大型商業(yè)公司,收集用戶信息會(huì)帶來商業(yè)利益,所以商業(yè)公司有收集隱私的熱情)
國(guó)外的瀏覽器,名氣大且使用廣泛的,主要有三款:Firefox、Chrome(Chromium)、IE。其中,F(xiàn)irefox 和 Chromium 是開源的,Chrome 和 IE 是閉源的。
很多人都誤以為 Chrome 是開源的。雖然 Chrome 是基于開源的 Chromium,但是 Chrome 包含閉源的模塊。所以嚴(yán)格來講,Chrome 只能算部分開源。
根據(jù)原則1(開源角度):這幾款瀏覽器的隱私安全性如下
Firefox = Chromium > Chrome > IE
再來看這幾個(gè)瀏覽器的后臺(tái)。IE 的 后臺(tái)是微軟公司、Chrome/Chromium 的后臺(tái)是 Google 公司,F(xiàn)irefox 的后臺(tái)是 Mozilla 組織。
根據(jù)原則2(商業(yè)角度):這幾款瀏覽器的隱私安全性如下
Firefox > Chromium = Chrome = IE
◇Firefox VS Chrome 的補(bǔ)充說明
先聲明,本小節(jié)介紹的是兩款瀏覽器在"隱私保護(hù)"方面的對(duì)比;至于安全性(防范駭客)方面的對(duì)比,請(qǐng)看俺的另一個(gè)系列《如何防止黑客入侵》。
俺博客的讀者中,有相當(dāng)數(shù)量的 Chrome 用戶。估計(jì)很多人會(huì)為 Chrome/Chromium 打抱不平。所以,再從商業(yè)模式的角度分析一下,為啥 Chrome/Chromium 的隱私保護(hù)不如 Firefox。
稍微熟悉 Google 的同學(xué)應(yīng)該知道,Google 的大部分收入(90% 以上)是依靠"在線廣告"。要想做好"廣告"這門生意,其中一個(gè)關(guān)鍵點(diǎn)是:做到"精準(zhǔn)投放廣告"。而要實(shí)現(xiàn)精準(zhǔn)投放,自然要收集用戶信息(只有當(dāng) Google 對(duì)某網(wǎng)民足夠了解,才能知道該網(wǎng)民會(huì)對(duì)哪些廣告感興趣)。而這就涉及到隱私問題。
反之,Mozilla 是非營(yíng)利組織,不像 Google 那么依賴廣告客戶。所以 Firefox 就可以放開手腳去防范隱私泄露。
舉例——瀏覽器對(duì) Do Not Track 的支持
Do Not Track(簡(jiǎn)稱 DNT,中文叫"請(qǐng)勿追蹤"),維基百科的詞條在"這里"。是一項(xiàng)瀏覽器功能,用來告知網(wǎng)站,用戶不希望被追蹤。
以下是各個(gè)知名瀏覽器加入 DNT 功能的時(shí)間表。
Firefox 2011年1月(第一個(gè)支持 DNT 的瀏覽器)
IE 2011年3月
Safari 2011年4月
Opera 2012年2月
Chrome 2012年11月(在主流瀏覽器中,是最晚支持 DNT 的,比 Firefox 晚了將近2年)
用 Chrome 的同學(xué)都知道,Chrome 是頻繁發(fā)布新版本的,而且 Google 的研發(fā)力量是很強(qiáng)大滴。那么,為啥 Chrome 拖了這么長(zhǎng)時(shí)間才支持 DNT 功能,顯然不是因?yàn)榧夹g(shù)原因,而是因?yàn)樯虡I(yè)原因——Google 不愿意得罪廣告客戶。
◇小結(jié)
綜上所述,在隱私保護(hù)方面,F(xiàn)irefox 是首選。#p#
★"瀏覽歷史"導(dǎo)致的隱私問題
本章節(jié)提及的"瀏覽歷史",至少包括如下幾個(gè)方面的信息:
網(wǎng)址的歷史
下載的歷史
頁面緩存
各種Cookies
◇"瀏覽歷史"如何泄漏隱私?
舉例:
假如你是一個(gè)年輕男網(wǎng)民,喜歡訪問成人色情網(wǎng)站。然后捏,你又不注意清除瀏覽器的歷史緩存。或許有一天,你的女朋友或者你的父母無意中打開你的瀏覽器,就會(huì)發(fā)現(xiàn)你的癖好。那你就尷尬了。
◇"隱私瀏覽模式"的用處
如今,幾款主流的瀏覽器(Firefox、Chrome、IE)都已經(jīng)支持"隱私瀏覽"功能。
你在"隱私瀏覽模式"下進(jìn)行的上網(wǎng)行為,瀏覽器不會(huì)保存相應(yīng)的"瀏覽歷史"。當(dāng)你退出"隱私瀏覽模式"或者關(guān)閉了瀏覽器之后,這些信息就不見了。
◇"隱私瀏覽模式"的局限性
插件導(dǎo)致的問題
但是,"隱私瀏覽模式"并不是足夠安全的。如果你的瀏覽器安裝了插件(比如 Flash),可能會(huì)導(dǎo)致"隱私模式"部分失效。
因?yàn)闉g覽器插件不受瀏覽器的控制。所以,即使在"隱私模式"下,某些插件還是可能會(huì)留下上網(wǎng)痕跡。
下一章節(jié)會(huì)介紹,插件如何導(dǎo)致"隱私模式"部分失效。
書簽導(dǎo)致的問題
另一個(gè)局限性是:對(duì)于大部分瀏覽器(比如 Firefox、Chrome),隱私瀏覽期間對(duì)書簽的修改,會(huì)被保留下來??赡苡行┩瑢W(xué)沒有意識(shí)到這里面的風(fēng)險(xiǎn)。俺舉個(gè)例子。
舉例:
你在隱私瀏覽模式下,訪問某個(gè)敏感的網(wǎng)站。瀏覽網(wǎng)頁的時(shí)候,你不下心點(diǎn)了"Ctrl + D"組合快捷鍵,然后瀏覽器就把當(dāng)前頁面加入書簽。退出"隱私瀏覽模式"之后,這個(gè)書簽還在哦。然后,假如你周圍的人一不留神看了你的書簽,就看到你曾經(jīng)上過某敏感網(wǎng)站。
◇更徹底地解決瀏覽歷史——使用虛擬機(jī)
假如你對(duì)"隱私瀏覽模式"的局限性,很在意。解決方法之一就是:使用操作系統(tǒng)虛擬機(jī)。
如果你不熟悉操作系統(tǒng)虛擬機(jī),請(qǐng)先看俺寫的《掃盲操作系統(tǒng)虛擬機(jī)》系列博文。
使用虛擬機(jī),大致的操作步驟如下:
1. 先安裝虛擬機(jī)軟件,然后裝一個(gè)虛擬操作系統(tǒng)(Guest OS)
2. 在 Guest OS 中安裝好上網(wǎng)相關(guān)的軟件(比如瀏覽器、插件、等)
3. 在沒有訪問任何網(wǎng)站之前,先做一個(gè) Guest OS 的快照(這是一個(gè)干凈的快照)
4. 在這個(gè) Guest OS 里面上網(wǎng)
5. 上網(wǎng)結(jié)束后,回退到這個(gè)干凈的快照
通過上述步驟,就可以避免在電腦中留下任何上網(wǎng)的痕跡。由于虛擬機(jī)是操作系統(tǒng)級(jí)別的,即使是瀏覽器插件,也不會(huì)留下痕跡。#p#
★瀏覽器插件導(dǎo)致的隱私問題
◇"插件"和"擴(kuò)展"的區(qū)別
先來掃盲一下插件和擴(kuò)展的區(qū)別(連很多 IT 技術(shù)人員都把這兩者混為一談)。所謂的插件,洋文叫"plugin";所謂的擴(kuò)展,洋文叫"extension"。兩者的區(qū)別如下:
插件
在功能上,插件通常是用來渲染頁面里的 <object> 或 <embed> 標(biāo)簽;不會(huì)增加瀏覽器自身的功能。
插件通常實(shí)現(xiàn)比較底層的功能,一般以操作系統(tǒng)的本地代碼(也叫"原生代碼")編寫,可以調(diào)用操作系統(tǒng)的 API。形式上,插件以動(dòng)態(tài)庫(Windows 上就是 DLL 文件)的方式,加載到瀏覽器的進(jìn)程內(nèi)。由于使用本地代碼編寫,插件通常依賴于特定的操作系統(tǒng)(不同系統(tǒng)的插件不能混用)。
舉例:
Flash 插件
媒體播放器插件
PDF 插件
Java 插件
各種網(wǎng)銀控件
擴(kuò)展
擴(kuò)展,顧名思義,是用來擴(kuò)展瀏覽器自身的功能。所以,擴(kuò)展可以調(diào)用瀏覽器自身的 API,但是擴(kuò)展通常不能調(diào)用操作系統(tǒng)的 API。
一般來說,擴(kuò)展是跟操作系統(tǒng)無關(guān)的。比如 Firefox 的大部分?jǐn)U展,既可以用于 Windows 平臺(tái)的 Firefox,也可以用于 Linux 和 Mac OS X 的 Firefox。
舉例:
俺推薦的 GreaseMonkey,就屬于擴(kuò)展。
◇插件的隱私問題
剛才說了,插件是用本地代碼編寫的,調(diào)用的是操作系統(tǒng)的 API。所以,插件的行為瀏覽器是無法控制的。相對(duì)而言,擴(kuò)展調(diào)用的是瀏覽器的 API,所以擴(kuò)展的行為,瀏覽器是比較可控的。
下面,俺就拿 Flash 的 cookie 來舉例,讓大伙兒看看插件導(dǎo)致的隱私問題。
舉例——Flash 的 cookie
平時(shí)大伙兒提到 cookie,說的都是瀏覽器的 HTTP Cookies;但是除了瀏覽器,插件也可能有自己的 cookie——比如最流行的插件 Flash 就有自己的 cookie 功能。
Flash Cookies,專業(yè)術(shù)語叫做"Local shared object"。網(wǎng)頁里的 Flash 文件可以利用這個(gè)功能,在你的操作系統(tǒng)中保存一些信息。所以,F(xiàn)lash Cookies 跟"HTTP Cookie"一樣,都可能帶來某些隱私問題。
從上述例子可以看出,插件也可以在操作系統(tǒng)中留下自己的一些痕跡(不妨稱之為"插件的 Cookie")。而且"插件的Cookies"比"HTTP Cookies"更討厭的地方在于——它是獨(dú)立于瀏覽器 cookie 的。這就導(dǎo)致如下兩個(gè)隱私問題:
1. 當(dāng)你在瀏覽器中清空 HTTP Cookies 的時(shí)候,插件的 cookie 不會(huì)受影響;
2. 瀏覽器的"隱私模式"會(huì)限制 HTTP Cookies 的永久保存,但是瀏覽器無法限制插件的 cookie(這就是俺剛才提到的"隱私瀏覽模式"局限性)
注:從 Flash 10.3 開始,Adobe 已經(jīng)通過技術(shù)手段,解決了 Flash Cookie 與瀏覽器的整合問題。也就是說,瀏覽器在清除 HTTP Cookies 的同時(shí),也可以清除 Flash Cookies 了。
但是,其它的插件可能依然存在上述問題。
◇如何防范插件留下的痕跡?
辦法由兩個(gè):
辦法1
最直接的辦法就是:你的瀏覽器不要裝任何插件。
辦法2
如果你不得不裝一些插件,那么還有一招——利用虛擬機(jī)的快照功能。這個(gè)方法剛剛講過,就不再啰嗦了。