在2月17日,谷歌研究员Tavis Ormandy在对公开的网页数据进行分析时,发现其中存在机器的内存数据,其内容包括秘钥、cookie等敏感信息。经过进一步调查,发现该数据来源为Cloudflare所提供的内容分发服务。Tavis马上就将该漏洞通过twitter通知了Cloudflare,同时Cloudflare也在第一时间分析了问题并关闭了产生泄露的服务,阻止了该泄露的进一步发展。
Cloudflare是知名的国际网络安全服务提供商。它为网站提供安全管理、性能优化方面的服务。根据Cloudflare官方博客解释,此次内存数据泄露的原因是,在引入新的HTML解析器与旧解析器同时运行时,由于判断文档结束的标志位的差异,暴露了一个旧解析器的漏洞,导致内存数据的泄露。该解析器被用于Cloudflare提供的混淆页面内邮箱地址、HTTPS重写以及服务端黑名单的功能。Cloudflare在接到谷歌的通知后第一时间找出问题并停止了这三个功能,之后组建了跨国团队对漏洞进行不间断的分析及修复,并在发现漏洞的三天后恢复了这三个服务的正常使用。
Cloudflare表示此次数据泄露最早可能开始于去年的9月,那时上线了HTTPS重写功能,但是由于该功能并没有被大规模使用,没有造成很大影响。在今年的2月13日,邮箱地址混淆功能发布,从发布到该问题被谷歌发现的5天内是问题的高发期。在这段时间内大约每3,300,000个连接存在一次潜在的内存数据泄露。虽然Cloudflare已经修复了该漏洞,但是其涉及的页面已经被各搜索引擎、爬虫给抓取并缓存,导致泄露的数据可能仍然能通过这些缓存被访问到,谷歌、雅虎、必应等搜索引擎已经积极进行合作,将涉及的网页缓存进行了清除。
这次的内存数据泄露事件难免让人回想起14年OpenSSL曝出的心脏出血(Heartbleed)漏洞,但此次的漏洞涉及的范围仅限于Cloudflare客户的信息。虽然影响面不如心脏出血,但鉴于Cloudflare的客户网站有五百多万之多,其规模也不容小觑。Cloudflare已发送邮件通知各客户内存数据泄露的发生。经过分析第三方缓存,Cloudflare发现有大约150个客户站点的数据发生泄露且存在风险,他们已经在积极进行处理,希望将损失减少到最小。同时他们也建议客户修改持久化的敏感信息如长session的令牌等,但客户的SSL私钥并不会在这次的漏洞中被泄露。
此次的泄露风波再次吸引了大家对网络信息安全的关注。敏感数据通过第三方服务,在享受其提供服务的同时,势必也会导致一定的信息安全风险。在这次泄露事件中1password就表示由于其数据使用了安全远程密码(SRP)及数据加密存储,所以不会受到此次泄露的波及,该方式值得那些使用了第三方服务且对数据安全较敏感的应用借鉴。