在“无法解密用户存储数据”的承诺下,由传奇人物 Kim Dotcom 在十年前推出的 Mega 云存储服务,已经吸引了 2.5 亿注册用户。同时平台上托管的文件数量达到了 1200 亿,并占用了超过 1000 PB 的存储空间。在官网上,Mega 更是直接搬出了与 Dropbox 和 Google Drive 等竞品的对比 —— 尤其强调自家服务采用了端到端的加密措施。
(via ARS Technica)
尴尬的是,周二公布的一项研究表明,Mega 掌管的基础设施实体,其实并不能充分保障用户存储数据的安全。
作者指出,Mega 采用的文件加密机制充满了低级的密码学缺陷,使得别有用心的人可以在用户登录足够多的次数后、轻松执行完整的密钥恢复攻击。
得逞后,攻击者便可破译用户存储的文件、甚至将其它恶意文件上传到用户的存储库 —— 即便表面上看起来与此前真实上传的数据没有区别。
研究人员写道 —— 我们已证明 Mega 的系统无法保护其用户免受恶意服务器的侵害,并提出了五种不同的 攻击手段,它们都会对用户文件的机密性造成极大的破坏。
我们构建了所有攻击的概念验证,并展示了实际可利用性。此外用户数据的完整性也陷入了风险,攻击者可随意植入其指定的恶意软件,且可绕过客户端的所有真实性检查。
即使三月私下收到了研究人员的报告,Mega 周二开始推送的一项更新,依然只能算是一个让攻击执行变得更加困难的临时解决方案。
研究人员警告称,该补丁并未解决密钥重用、缺乏完整性检查、以及之前发现的其它系统性问题。他们在一封电子邮件中写道:
这意味着,如果其它攻击的先决条件以某种不同的方式得到满足,这些漏洞仍可被利用。
正因如此,即使系统不再受到此前提出的确切攻击链的影响,我们对该补丁还是并不认可。
RSA Key Recovery Attack(via)
问题在于 Mega 的安全层次结构缺乏确保密钥完整性的任何手段,导致服务器不会拒绝一个无效的密钥、而是继续与一个无效的密钥进行交互,这使得平台很容易遭受密钥恢复攻击。
如果使用暴力手段,攻击者可在 1023 次客户端登录后恢复 RSA 私钥。但若使用二分法 + 格密码分析,攻击所需的尝试次数就可减少到 512 次 —— 正如 mega-awry.io 的概念验证所示。
遗憾的是,Mega 董事长 Stephen Hall 否认其失掉了十年前向用户作出的承诺。理由是该漏洞只能在处于活动状态的用户登录超过 512 次时才会让恶意行为者得逞,但这种情况是相当罕见的。
至于后续 Mega 是否会参考研究人员给出的中长期修复方案,仍有待时间去检验。