栏目导航

最新资讯

联系我们

联系我们

当前位置:佰润彩票 > 联系我们 >

MEGA云存储服务加密可被攻破

2022-07-04 19:18

研究人员发现攻破 MEGA 云存储服务加密的新方法。

ETH Zurich 安全研究人员发现 MEGA 云存储服务中的关键安全问题,可被攻击者利用来打破用户数据的机密性和完整性。

背景

MEGA 是 top 级的云存储服务平台,有超过 2.5 亿用户、1000 万日活用户和 1000 PB 的数据存储量,旨在为用户提供用户控制的端到端加密。与 DropBox、Google Drive、iCloud 和微软 OneDrive 等竞争平台不同的是,MEGA 称其可以为用户提供的安全保证:MEGA 称其是一家隐私公司,可以为用户提供用户控制的端到端加密(User-Controlled end-to-end Encryption,UCE)。

MEGA 分层密钥

MEGA 客户端的分层密钥如上图所示,分层密钥的根本是用户选择的密码。基于该密码,MEGA 客户端可以派生出认证密钥和加密密钥。认证密钥用于识别用户,加密密钥用于加密随机生成的 master key,然后 master key 用于加密用户的其他密钥材料。

对每个账户来说,密钥材料包括一系列非对称密钥,包括 RSA 密钥对、Curve25519 密钥对、Ed25519 密钥对。此外,对于用户上传的每个文件或文件夹,会生成一个名为 node key 的新对称加密密钥。客户端用户给 AES-ECB 模式和 master key 对私有的非对称密钥和 node key 进行加密,保存在 MEGA 服务器上以支持多设备的访问。新设备上的用户可以输入密码,进行认证,并取回加密密钥材料,并用通过密码派生出的加密密钥解密。

5 种攻击

研究人员一共发现了 5 种针对 MEGA 云存储服务加密的攻击,分别是 RSA 密钥恢复攻击、明文攻击、framing 攻击、完整性攻击和 GaP-Bleichenbacher 攻击。其中后 4 类攻击是 RSA 密钥恢复攻击的扩展。

RSA 密钥恢复攻击

MEGA 使用 RSA 加密用于在用户之间共享 node key,交换用户登录时的 session ID。每个用户都有一个公开的 RSA key pkshare 和 skshare,MEGA 或其他用户使用 pkshare 来加密数据,使用 skshare 来解密数据。RSA 私钥以加密的形式保存在 MEGA 服务器上。

由于 MEGA 服务器上保存的用户加密密钥缺乏完整性保护,因此任何控制 MAGA 核心基础设施的实体都可以篡改加密 RSA 使用,并使客户端泄露 session ID 交换时使用的 RSA 模的大素数。具体来说,客户端使用使用解密并发送给服务器过程中的 session ID 会泄露大素数大于或小于攻击者选择的值。因此,攻击者可以在 1023 次客户端登录尝试后恢复出 RSA 私钥。如果使用格密码分析,所需的登录次数可以减少到 512 次。

明文恢复攻击

MEGA 加密用于分享的私钥、会话密钥转移等都使用 AES-ECB 模式。此外,文件和文件夹密钥也使用相同的加密方式。对于给定密文,MEGA 可以使用用户的 master key 计算明文。因此,攻击者可以访问加密的敏感密钥材料,并解密受害者的数据。

使用 RSA 公钥加密的加密后的 RSA 私钥、session ID 从 MEGA 服务器发送给用户时,认证过程中解密 oracle 会增加。MEGA 就可以覆写 2 个目标密文区块的 session ID 交换过程中的部分 RSA 私钥密文。然后使用客户端返回的 session ID 来恢复 2 个目标区块的明文。由于 master key 没有进行密钥隔离,且所有的密钥材料都使用 AES-ECB 模式保护,因此攻击者在恢复 RSA 私钥后,就可以利用这一论点解密 node key,受害者的 ed25519 签名密钥和 curve25519 会话密钥等。

Framing 攻击

Framing 攻击允许 MEGA 以受害者的名义伪造数据,并保存在目标的云存储中。前几种攻击允许攻击者使用被黑的密钥修改现有文件,而本攻击允许敌手在保留现有文件的同时新增文件。

为创建新的文件密钥,攻击者使用 MEGA 用作 node key 的特殊格式。在加密之前,node key 会编码为混淆的密钥对象,其中包含 node key 和用于文件或文件夹加密的信息。攻击者首先通过密文恢复攻击解密随机的样本密钥密文,解密过程一定会成功,因为用于加密密钥材料的 AES-ECB 加密模式不需要提供检密文完整性保护。最终生成的字符串是在攻击者控制下的,但是可以用作混淆的密钥对象,因为文件密钥和完整性信息都可以是任意字符串。因此,攻击者可以分解解密的字符串为文件密钥、随机数、MAC 标签。然后修改要插入到受害者云的目标文件,以绕过完整性保护。攻击者可以插入单个 AES 区块到选定位置的文件中,最后,使用已知的文件密钥来加密文件,并将结果上传到受害者云存储中。

PoC 参见:https://mega-awry.io/videos/framing_attack_poc.mp4

完整性攻击

攻击利用 MEGA 的混淆密钥对象结构来操纵加密的 node key 使得解密的密钥变成全 0。攻击者知道密钥,因此密钥操纵攻击可以用于伪造文件。与 framing 攻击不同的是,攻击者只需要访问单个明文块和对应的密文即可。比如,攻击者使用 MEGA 协议作为公共文件分析来获取对:用户公共分享文件或文件夹时,会创建一个对应 node key 密文的链接。获得该链接的恶意云服务提供商知道明文和对应的密文,因此文件创建时后者被上传到 MEGA。这可以用作密钥操纵的开始点,允许伪造的文件密文被上传到受害者云。

GaP-Bleichenbacher 攻击

GaP-Bleichenbacher 攻击是 PKCS#1 v1.5 padding Bleichenbacher 攻击的一个变种,研究人员将其命名为 Guess-and-Purge ( GaP ) Bleichenbacher 攻击。MEGA 使用该攻击利用 MEGA 会话功能中会话密钥交换过程中的 padding oracle 可以解密 RSA 密文。

补丁

MEGA 决定在 RSA 私钥格式中引入额外的客户端检查以应对 RSA 密钥恢复攻击。该检查可以直接预防 RSA 密钥恢复攻击,因此也可以应对其他 4 类攻击。 

论文下载地址:https://mega-awry.io/pdf/mega-malleable-encryption-goes-awry.pdf

PoC 代码参见:https://github.com/MEGA-Awry/attacks-poc

佰润彩票平台,佰润彩票官网,佰润彩票网址,佰润彩票下载,佰润彩票app,佰润彩票开户,佰润彩票投注,佰润彩票购彩,佰润彩票注册,佰润彩票登录,佰润彩票邀请码,佰润彩票技巧,佰润彩票手机版,佰润彩票靠谱吗,佰润彩票走势图,佰润彩票开奖结果


Powered by 佰润彩票 @2018 RSS地图 HTML地图