CloudFlare 公司在一般人眼中不太會有印象,但對於接觸過買網路空間架站的人就多少有點印象了。這家公司是許多預算不高的小網站們會選擇的免費 CDN 供應商之一,在 CDN 服務中有著不低的知名度。最近這家公司有個壞消息,有位安全專家發現他們的 程式碼會引起記憶體洩漏問題,進而導致需多私密資訊,像是個人密碼、API數值、cookies都被曝光在許多行家面前。重要的是這個漏洞還延續了很長一段時間,引起相當大的話題。

CloudFlare 除了是初學 WordPress 的 CDN 好朋友,也具備著基礎的 SSL 功能幫大家的網站做個加密,雖然台灣連 CloudFlare 只有2016年4月到8月這段時間因為有台灣機房而有不錯的品質,後來因為 CloudFlare 與 Hinet 中間價格談不攏,又回到過去品質不太好的連線狀態,但免費的 CDN 服務很少見, CloudFlare 還是有許多使用者用,也累積不少用戶。除了免費以外,CloudFlare 也有商務方案,提供大公司完善的加密與資料快取服務,也提供了一定程度的保護。

最近一位任職於 Google Project Zero 安全小組的 Travis Ormandy 大大發現這個問題,注意到 CloudFlare的程式碼某個bug,會在每秒 3,300,300 次的 Http Requests 中產生潛在的記憶體洩漏,因此這個 bug 後來也被Travis Ormandy稱作 Cloudbleed。

CloudFlare 被發現程式碼問題造成大量客戶網站快取資料洩漏

Travis Ormandy 發現到這個記憶體洩漏限向導致許多被加密的資料顯示出來,像是酒店的客戶預定資訊,系統管理者的密碼,甚至看得到約會網站上完整信件的快取資料。他認為這個漏洞讓他知道 CloudFlare管理的網站數量有多麼龐大,也存著許多一旦洩漏就會引起問題的資料。

CloudFlare隨後表示,該公司以前用於編譯的解析器Ragel所生成的程式碼產生錯誤。並提到這個bug已經存在於來自 Ragel 生成的程式碼相當長的時間,但一直以來卻沒有被發現,直到後來切換到 cf-html 解析器,解析器雖然沒有什麼問題,但問題在不同的解析器在快取上也有不同方式,使記憶體洩漏問題產生。

CloudFlare 被發現程式碼問題造成大量客戶網站快取資料洩漏

CloudFlare 作為一個CDN 供應商,自然有責任保護客戶的數據,但實際上 CloudFlare 自己也樹大招風,比方說2014年香港佔中事件中用來作為全民投票的網站 popvote.hk ,曾使用 CloudFlare 提供CDN服務與加密內容,而就有來自不明來源的DDNS 攻擊在針對 popvote.hk 的同時,也波及 CloudFlare 的主機。

目前針對資料洩漏的問題,CloudFlare工程師已經即時著手處理,花了七個小時,禁用了三項功能的程式碼來防堵問題再次發生,並與各家搜尋引擎廠商一起聯手清理快取訊息。這一連串由自己人捅出來的狀況算是告一段落。但這件事多少也衝擊到用戶對 CloudFlare的信心,需要更多的智慧去彌補。

閱讀全文