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。
Travis Ormandy 发现到这个内存泄漏限向导致许多被加密的资料显示出来,像是酒店的客户预定资讯,系统管理者的密码,甚至看得到约会网站上完整信件的快取资料。他认为这个漏洞让他知道 CloudFlare管理的网站数量有多么庞大,也存着许多一旦泄漏就会引起问题的资料。
CloudFlare随后表示,该公司以前用于编译的解析器Ragel所生成的程式码产生错误。并提到这个bug已经存在于来自 Ragel 生成的程式码相当长的时间,但一直以来却没有被发现,直到后来切换到 cf-html 解析器,解析器虽然没有什么问题,但问题在不同的解析器在快取上也有不同方式,使内存泄漏问题产生。
CloudFlare 作为一个CDN 供应商,自然有责任保护客户的数据,但实际上 CloudFlare 自己也树大招风,比方说2014年香港占中事件中用来作为全民投票的网站 popvote.hk ,曾使用 CloudFlare 提供CDN服务与加密内容,而就有来自不明来源的DDNS 攻击在针对 popvote.hk 的同时,也波及 CloudFlare 的主机。
目前针对资料泄漏的问题,CloudFlare工程师已经即时着手处理,花了七个小时,禁用了三项功能的程式码来防堵问题再次发生,并与各家搜索引擎厂商一起联手清理快取讯息。这一连串由自己人捅出来的状况算是告一段落。但这件事多少也冲击到用户对 CloudFlare的信心,需要更多的智慧去弥补。