Cookie 很重要~要小心被盜? 網站出現安全漏洞的情況下遠比 Cookie 被盜這點小事大很多


這兩天由於中國央視 315 大會的原因,Cookie 這東西突然特別火,據說很多網友都忙著刪掉自己瀏覽器中的 Cookie。

一開始我還覺得挺無聊的,央視不懂亂說什麼啊。直到前兩天,家裡一個親戚跟我說:「原來我們上網幹什麼你們都知道啊,還看我們的郵件,這不一點隱私都沒有了嘛。太可怕了。」我才意識到這個問題誤導得太嚴重了。 做為一個從事多年互聯網 Web 開發工作的工程師,我覺得我應該說點什麼;下面我來給大家介紹一下 Cookie,看看你的 Cookie 安全嗎?

  • Cookie 是什麼?

央視這一點解釋的還算可以,它是一個數據包,每次訪問網站的時候,瀏覽器都會將該網站的 Cookie 發回給網站服務器,同時網站也可以隨意更改你機器上對應的 Cookie。但有一個很重要的信息沒有提到:Cookie 不是只有一個,而是一個網站一個。

所以把它比喻成網絡身份證的說法是不准確的;它不是你在網絡中的唯一標識,只是你在某個網站的唯一標識。

  • Cookie 中都有什麼東西?

這個取決於網站自身,央視說網站會存儲一些重要​​的用戶信息,包括用戶名、密碼、瀏覽紀錄、IP 位址等到 Cookie 裡。事實上:

普通網站都不會存重要的信息,它們僅僅存一個你的登入狀態,也就是你拿用戶名密碼換取的令牌,另外就是網站針對你的判定(比如你在這個網站上的唯一標識是什麼、你訪問的是我們的哪台服務器、你使用的是我們的哪個版本的產品);這些信息你都不需要關心,它和你的隱私一點關係都沒有。

文藝一點的網站會將這些信息進行加密,目的是防止別人偽造這些信息欺騙網站。

央視描述的網站(在 Cookie 裡存用戶名、密碼的,也許是央視網)的做法,在互聯網上是極其極其少見的,可能只有外行或者剛學網絡開發的學生會這麼做。這種網站是極其不安全的,你的信息很容易就洩漏了,所以還是少去。

  • Cookie 會被人竊取嗎?

央視說,Cookie 只能被放置它的網站讀取,這一點是瀏覽器保證的,這也是瀏覽器的一個重要的安全機制。

如果你覺得你的瀏覽器不能保證這一點,那就換個靠譜的,比如 IE9、Chrome、Firefox 等,都是相當不錯的。

這麼說 Cookie 是安全的了?也不一定,Cookie 在傳輸過程中和網站方都有可能被竊取;我舉個不太恰當的例子:

我們可以把用戶訪問網站的過程比做你給網站寫一封信,信的內容可以比做你提交給網站的一些信息(比如你的性別、年齡等個資),Cookie 可以比做信封中的寄信人,標識你是誰;在整個寄信過程中,郵電局是完全有機會竊取你的信封的,而網站也可以將你的信封賣給別人。但是,這兩方其實已經擁有了你這封信的內容,你覺得他們有必要偷你的信封嗎?

事實上,Cookie 的盜用,一般發生在你使用了不安全的網絡,比如公共場所的 WiFi,或者網站出現安全漏洞的情況下;前者發生的概率比較低,而後者對網站造成的影響遠比 Cookie 被盜這點小事大很多,在互聯網公司是嚴重的故障,一經發現很快就會堵上的。

  • 他們說的「掌握幾億 Cookie」 ,聽起來好厲害,這又是怎麼回事?

從上面我們已經知道,Cookie 被竊取是一個比較小概率的事件,不可能達到幾億這個級別。

央視所說的各種「華麗的」數據,其實是銷售人員在忽悠廣告主,將一個很簡單的實用技術術語說得很牛逼的樣子。

真相是這樣的,每次訪問網站的時候,瀏覽器都會將該網站的 Cookie 發回給網站服務器;那麼如果我網站裡有一張圖片,瀏覽器訪問這張圖片的時候會發哪個 Cookie 呢?

答案是提供圖片服務網站的Cookie。

比如某網站 S 的頁面上有一張來自某營銷網站 B 的圖片,那麼它們的關係如下:

你在訪問網站 S 的時候,你同時也以 B 用戶的身份訪問了 B 網站。你說,「我沒在 B 網站註冊啊,怎麼會是 B 網站用戶?」嘿嘿,不用你註冊,因為也不需要你知道,他是自動分配一個帳戶給你的,如果像 S 這類的網站多了,B 網站想在不同網站之間都能定位到你,怎麼辦?把分配給你的帳戶存在 B 的 Cookie 裡就行了啊。這就是它們所謂的幾億的 Cookie。

至於布碼,其實就是訪問那張圖片的代碼,甚至可能就是你在頁面中看到的廣告圖。

你可能注意到 B 網站在拿到 Cookie 的同時,還獲取到了一些信息,這些信息是否涉及到隱私就看網站 S 的節操。一般大網站只會把一些簡單的頁面信息給 B,比如看了什麼視頻啊,新聞啊等等,其目的也是讓廣告主投放的廣告更精準。

至於還有說得到用戶名密碼什麼的,我只能說,兄弟你被釣魚了,網站是不可能販賣自已用戶的密碼的!

這麼做沒有意義,估計你是訪問了什麼亂七八糟的網站,騙你填了什麼用戶名密碼,然後被信息賣掉了,這和 Cookie 一點關係都沒​​有。

  • 網站這麼做算侵犯隱私嗎?

這個不好說,比如你覺得你關注什麼新聞、買了什麼玩具、看了什麼視頻(愛情動作片略過)可能不算隱私,但你可能不希望別人知道你買過什麼藥,看過介紹治療某些病的網頁,這些對於很多人來說是算做隱私的;這是訪問跟蹤技術最有爭議的一點。

  • 我有潔癖,就不想被跟蹤,那怎麼辦?

瀏覽器都有一個禁止第三方 Cookie 的功能,你只要打開它就可以不被跟蹤了。

但是,你也可能因此無法使用某些網站功能,所以請慎重。

  • 那麼我如何保護自己的隱私不洩漏呢?

這個話題太大了,我說一點原則吧。不要在你不清楚來源的網頁上填寫任何個人信息。市面上還飄著一些沒節操的公司,專門販賣個人信息,他們只要對比數據就可以跟你對上號。

若是敏感信息,那麼不管是什麼網站都不要填寫。大網站雖然不會主動販賣你的信息,但系統可能會存在漏洞。

(原文作者:楊永林