再發現新安全漏洞,向 SSLv3 說不!

安全專家再次發現 SSLv3 的漏洞,作為用家,我們應該主動告訴網站,不使用 TLS 通訊協定我們便不再來訪。

什麼是 SSL?

我們使用瀏覽器到訪網站,不論從網站下載網頁,還是把表單中的資料傳送回網站,都是使用 HTTP 通訊協定,SSL 就是用來把 HTTP 的通訊內容加密,有時我們見到網址開頭是 HTTPS 而非 HTTP,表示通訊的內容已經透過 SSL 加密。嚴格來說 SSL 應該寫成 SSL/TLS,因為 HTTPS 協定包含了兩個加密機制:SSL (Secure Socket Layer) 和 TLS (Transport Layer Security),TLS 是 SSL 的改良版本,在 1999 年加進 HTTPS。

自從 1996 年 SSL 發展到第三版 SSLv3 後便沒有更新,從加密學的歷史看,SSLv3 應該是一套被放入博物館讓人憑弔的通訊協定,可惜基於歷史緣故,幾乎所有瀏覽器仍然支援 SSLv3,當然亦支援各版本的 TLS,伺服器方面,很多網站也支援 SSLv3。

這個漏洞很嚴重嗎?

這個被稱為 POODLE 的漏洞足以讓黑客平均只需要向伺服器發送 256 次 SSLv3 訊息,便可以破解 1 個位元組 (byte)。例如黑客要知道你現在使用的 cookie,該 cookie 的長度是 32 個字符,平均他只需要向伺服器發送 256 x 32 = 8192 次訊息。這簡直是密碼學上的大災難,以現今電腦和網絡的速度,整個過程可說是快得不可能讓人發現。

這是 SSLv3 設計上的漏洞,不可能有補救的方法。

用家如何自保?

最簡單而正確的自保方法就是不要再使用 SSLv3。這說來容易,但是正如前面說過,幾乎所有瀏覽器都支援 SSLv3,即使瀏覽器和網站伺服器同時支援更先進的 TLS 協定,黑客也可透過 Man-in-the-Middle 攻擊,逼使雙方使用 SSLv3。

幸好部分瀏覽器讓我們修改設定,停止使用 SSLv3 協定,例如在 Firefox 瀏覽器把 security.tls.version.min 的值設定為 1:

  1. 在網址欄輸入 about:config
  2. 在彈出來的視窗上按「I’ll be careful, I promise」
  3. 搜尋設定名稱 security.tls.version.min
  4. 把數值從 0 改為 1

希望 POODLE 是把 SSLv3 送進博物館的最後一根稻草,網絡上再沒有支援 SSLv3 的瀏覽器、伺服器、Proxy、Load Balancer 等等。