HTTP必死:Google是怎么考慮安全的?

2015-08-28 21:29:00 來源:雷鋒網(wǎng) 作者:佚名 人氣: 次閱讀 402 條評論

公開的內容就不需要加密?不,業(yè)界并不這么認為。其實,Chromium安全組很早就開始全面推進HTTPS,目的是給這些公開的數(shù)據(jù)加密。國外網(wǎng)站大部分已經開始使用HTTPS,包括Fa...

01300000291746139375342807828

編者按:公開的內容就不需要加密?不,業(yè)界并不這么認為。其實,Chromium安全組很早就開始全面推進HTTPS ,目的是給這些公開的數(shù)據(jù)加密。國外網(wǎng)站大部分已經開始使用 HTTPS,包括Facebook、白宮,而國內除百度之外還未普及。本文作者@羅志宇,混跡Opera 十年的CTO,Opera是Chromium安全組成員,他將講述安全鏈接 (https) 背后的故事。

HTTP HTTPS協(xié)議 HTTPS站點

HTTPS 是什么?

如果你其實連 HTTPS 是啥都不知道,你可以先看看這篇文章。

簡單地講, HTTPS 是加過密的 HTTP。 這樣,由于網(wǎng)路上傳輸?shù)臄?shù)據(jù)是加密的,在瀏覽網(wǎng)頁時,除了你自己可以看到你在看什么網(wǎng)頁,第三方是無法得知你在干什么的。

保護私密數(shù)據(jù)其實是 HTTPS 過去十幾年中起到的最大作用了。

比如你登入了你的郵箱,或者是你的網(wǎng)上銀行,一旦使用 HTTPS,那么數(shù)據(jù)在網(wǎng)上就不再是明文,于是第三方就看不到你的密碼和你的郵件。這個就是為什么 HTTPS 過去十幾年,都是用在郵箱、金融等特別需要隱私的領域。

HTTPS 怎么來的?

幾年前, 一位挪威同事剛從谷歌開會回來,我在走廊上面遇到他,看他一副垂頭喪氣的樣子,隨便問了一句 “你和谷歌會開得怎么樣啊”。

挪威同事嘆了口氣 :“谷歌的人尼瑪都活在 5 年以后啊”。

那個時候我年幼無知,還不能了解這句話的真實含義,直到最近加入 Chromium 安全討論組,才真正了解到這句話背后的氣勢。

基本上 Chromium 安全討論組里面充斥著的都是這種話題:

我們要馬上淘汰SHA-1! 因為 SHA-1 強度太低了。雖然預計再過幾年就可能會被破解, 我們今天就淘汰它吧。

SSL 狀態(tài)放到 HTTP cache 可能會受到攻擊,需要馬上改!

TLS DH group size 最少應該提高到1024 bit, 因為 INRIA, Microsoft Research, John’s Hopkin 大學已經證明低強度的 TLS DH group 不安全了。

人家證明的是 512 bit 不安全, 768 bit 估計可能會被大學級別的資源破解, 你上來就最低 1024 bit,還給不給活路了啊——

We carried out this computation against the most common 512-bit prime used for TLS and demonstrate that the Logjam attack can be used to downgrade connections to 80% of TLS servers supporting DHE_EXPORT. We further estimate that an academic team can break a 768-bit prime and that a nation-state can break a 1024-bit prime.

(我們按照這個計算方法可以破解使用 512 位質數(shù)加密的 TLS 鏈接。 同時也展示了 Logjam 攻擊可以用來對 80% 的支持 DHE_EXPORT 的 TLS 服務器的鏈接進行降級。我們進一步估計一個學術團隊,以其掌握的資源的知識,有可能破解一個 768 位的質數(shù), 而一個國家的力量可能破解一個 1024 位的質數(shù)。)

好吧, 谷歌兄們都是想得很遠的。

有一個每天“杞人憂天”的安全組其實也不是壞事,最近 Flash 爆出 0 day 漏洞的時候其實 Chromium 安全組兩年前就警告過像 Flash 這種 NPAPI 插件是有安全問題的,說明安全組的同學們還是很有先見之明的,關于NPAPI 插件問題之前我在雷鋒網(wǎng)專欄文章里面提到過:谷歌瀏覽器禁止Flash?少年,你不是當真了吧?

神經質一樣地活在未來的安全組最近發(fā)布了一個二季度總結:TOC-Q2-2015

今天就講講里面一個很有意思的東西:

安全組的同學說,我們認為(全面) 轉向使用 HTTPS 是保證安全唯一途徑。號召大家都轉向 HTTPS:

We see migration to HTTPS as foundational to any security whatsoever, so we’re actively working to drive# MOARTLS across Google and the Internet at large.

這個說法其實一季度的時候就已經碎碎念了一次, 二季度報告里面,居然又放進去了。

實際上,如果你稍微留意一下,你會發(fā)現(xiàn)很多國外的網(wǎng)站已經開始這樣做了。

比如在瀏覽器里面鍵入 www.google.com, 你會看到:

HTTP HTTPS協(xié)議 HTTPS站點

或者是 facebook.com:

HTTP HTTPS協(xié)議 HTTPS站點

就連白宮,也會是:

HTTP HTTPS協(xié)議 HTTPS站點

注意到那個綠色的 https 沒,因為就算你沒有寫 https, 目標網(wǎng)站也會自動跳轉到 https 上面去。

對比一下國內的網(wǎng)站,比如 qq.com, 并不會有這個行為:

HTTP HTTPS協(xié)議 HTTPS站點

我觀察了下,國內強制使用 https 的看起來百度應該算是一個:

HTTP HTTPS協(xié)議 HTTPS站點

為了安全,轉向HTTPS?

What!發(fā)生了什么?為什么大家突然紛紛摒棄 HTTP 全面投入 HTTPS 的懷抱呢?而且谷歌還在大力推行,建議每一個網(wǎng)站,都換為 HTTPS!

要知道,HTTP 已經存在快 20 年了。 而從 HTTP 遷移到 HTTPS 對大部分網(wǎng)站來說,是一個不小的決定:

HTTPS 對硬件的要求要比 HTTP 高, 這個意味著更大的開銷, 而更大的開銷也就意味著需要花費更多的資金購買服務器。其他架構上面帶來的成本可能就跟不用說了。

一定是發(fā)生了什么?!

可是看個白宮網(wǎng)站應該不算是隱私吧,為何這個也需要 HTTPS 來傳輸呢?

原因其實是: HTTP 這個在天真無邪時期誕生的協(xié)議,這幾年徹底被一幫黑客玩殘了。

1、黑客們發(fā)現(xiàn) HTTP 明文傳輸不僅會泄露數(shù)據(jù),也會很容易被注入數(shù)據(jù)。

萬維網(wǎng)在誕生的時候怎么也沒有想到, 一個以查資料為目的的網(wǎng)絡,最后會變成一個無所不能的平臺。越來越多的商業(yè)行為從線下遷移到了線上。很多公司們開始在線上賣東西、賣內容、賣服務、打廣告。

而一幫黑客們突然發(fā)現(xiàn),有些東西雖然是明文在網(wǎng)上傳輸?shù)模粗鴽]有什么意思,但是我可以修改內容或者添加里面的內容啊。 這個有點像一個郵遞員每天都在投遞明信片,雖然明信片上的內容看起來并沒有什么卵用。突然有一天,這個郵遞員想,其實我還可以修改明信片的內容啊, 比如加上一句 “請立即向 XX 賬戶匯款 5000 元” 等等。

下面是個很典型的截圖:

HTTP HTTPS協(xié)議 HTTPS站點

圖中某運營商的套餐售賣其實完全不是原網(wǎng)頁的內容,而是網(wǎng)頁數(shù)據(jù)經過運營商服務器時被強行注入的數(shù)據(jù)。

這個情況,業(yè)內叫“流量劫持”。

作為白宮網(wǎng)站,他們肯定不希望網(wǎng)頁中的奧巴馬頭像過了某個網(wǎng)絡節(jié)點,被人換成本拉登吧。

那就 HTTPS 吧。

2、HTTP 不僅內容不加密,協(xié)議本身的(原語,頭部數(shù)據(jù))也是不加密的,于是協(xié)議指令本身也可能被修改

黑客:協(xié)議也不加密是吧, 就不要怪我來花式破解了。

事實上, HTTP 協(xié)議已經被黑客們各種匪夷所思的破解得不成樣子了。比如傳說中的“Cache poisoning”

一系列的花式技巧讓你的瀏覽器緩存永遠不更新。什么!服務器那邊股票價格已經跌停了?不過你看不到哦,因為,你的緩存沒法更新......

3、如果上面的資料不夠生猛,最后給你來個更生猛的:HTTP 傳輸?shù)?Web 網(wǎng)頁中對于系統(tǒng)設備的授權是統(tǒng)一的。

想象一下這樣的場景: 用戶去訪問一個視頻聊天的網(wǎng)站,網(wǎng)頁需要訪問你手機上面的攝像頭,然后瀏覽器會詢問用戶是否同意授權,用戶選擇了同意。 但是萬萬沒想到, 這個頁面在通過某個網(wǎng)絡節(jié)點的時候,被黑客注入了一段腳本 (因為是明文傳輸?shù)?,注入就是分分鐘的事情)。那么這個時候,這個注入的腳本在瀏覽器看來,由于已經是原網(wǎng)頁的一部分,自動就有了對攝像頭的訪問權限。

于是,你在和別人視頻聊天的時候,剛剛注入的腳本就可以偷偷把你的英容笑貌上傳到黑客的服務器里面。

后果當然取決于聊天的內容, 不過我目測一大波陳老師會浮出水面。。

同樣的事情還可能發(fā)生在你的麥克風,當前的位置信息,甚至手機上的照片等等。比如,陳老師這樣:

HTTP HTTPS協(xié)議 HTTPS站點

在各種嘗試著修修補補以后,各大產業(yè)界大佬們終于醒悟,目前硬件的水平和價格,既然用 HTTPS 已經完全不是問題,那么全面轉向 HTTPS 才是唯一的出路。

相信很快大家就看到越來越多的網(wǎng)站會使用 HTTPS。 同時,國內的站長們,如果你也有遇到上面的問題的話, HTTPS 可能是一個很好的選擇。而作為一個用戶,如果有的選擇,盡量選支持 HTTPS 的網(wǎng)站。

這里可能有人就要問了, 如果都用 HTTPS, 那豈不是就沒法做網(wǎng)絡監(jiān)視了,那我們的萬里長城的敏感詞部分豈不是.......(呃,這段當我沒有寫過)

PS:HTTP 的下一個版本 HTTP/2 已經可以自帶加密,只是這個協(xié)議本身推廣還需要一段時間,于是網(wǎng)頁傳輸加密還是以 HTTPS 為主。

延伸閱讀:

  • Android 網(wǎng)絡--我是怎么做的: Volley+OkHttp+Https
  • 維基百科將全面采用HTTPS:保護用戶敏感信息
  • HTTPS-Only標準:美國所有政府網(wǎng)站將使用HTTPS加密
  • 百度https化、取消referer關鍵詞顯示有何影響?
  • 百度將優(yōu)先收錄https站點 哪些網(wǎng)站該用https?
  • 百度站長平臺:https站點也可以正常收錄啦