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