用户在OpenSea接收NFT空投后钱包被盗网友在推特上倾诉的加密资产被盗事件引起了区块链安全公司Check Point Research(以下简称CPR)的注意。这些加密资产被盗事件有个共同的引子——用户接收了免费的NFT空投后,钱包被洗劫。「当我们在网上看到有关被盗加密钱包的传闻时,我们对 OpenSea 产生了兴趣。我们推测, OpenSea 周围存在一种攻击方法,因此我们对它进行了彻底调查。」CPR的产品漏洞研究主管 Oded Vanunu 回忆了一个月前的研究经历。在与受害用户取得联系并详细询问后,CPR识别出OpenSea上存在的关键漏洞,证明恶意NFT投放者可利用漏洞劫持用户的OpenSea账户并窃取用户的加密钱包。
用户在查看恶意NFT 时可能会看到的确认选择
CPR推导出利用漏洞的步骤——黑客创建恶意NFT并将其赠送给目标受害者;受害者查看恶意NFT后,OpenSea的存储域会触发弹出窗口(此类弹窗在该平台的各种活动中很常见),请求连接到受害者的加密资产钱包上;受害者如果为了获得这些「免费的NFT」与之交互,就要点击「连接钱包」,一旦此操作执行,黑客就获得了访问受害者钱包的权限;利用触发其他弹窗这一方式,黑客就可以不断窃取用户钱包中的资产。由于这些弹窗是从OpenSea的存储域发出的,因此CPR也就锁定了该平台的漏洞源头。如果用户没有注意到描述交易的弹窗中的注释,他们很可能点击弹窗,最终导致整个加密钱包被盗。CPR识别并推导出了漏洞及利用路径,但OpenSea在后续针对此漏洞的声明中称,无法确定任何利用此漏洞的实例。CPR表示,9月26日,他们向OpenSea披露了调查结果,对方响应迅速并共享了包含来自其存储域的 iframe 对象的 svg 文件,因此CPR 可以一起审查并确保关闭所有攻击媒介。在不到1个小时时间里,OpenSea修复了该漏洞并验证了修复。OpenSea的声明显示,这些攻击依赖于用户通过第三方钱包为恶意交易提供签名来批准恶意活动,修复漏洞后,他们已经与和平台集成的第三方钱包直接协调,以帮助用户更好地识别恶意签名请求,以及帮助用户阻止诈骗和网络钓鱼的举措攻击。「我们还围绕安全最佳实践加倍进行社区教育,并启动了一个关于如何在去中心化网络上保持安全的博客系列。我们鼓励新用户和经验丰富的老手阅读该系列。我们的目标是让社区能够检测、减轻和报告区块链生态系统中的攻击,例如 CPR 所展示的攻击。」
