黑客「钓鱼攻击」闪袭OpenSea用户

  • 全球最大NFT交易平台OpenSea在2月19日智能合约升级期间遭遇钓鱼攻击,32名用户签署恶意授权后,共315个NFT被盗,包括Bored Ape Yacht Club等知名项目,黑客通过出售赃物获利约170万美元ETH。

  • 攻击时间集中在合约迁移首日(美东时间19日17:00-20:00),黑客利用Wyvern协议漏洞,通过诱导用户签署"半空订单"后自行补全内容,无需付款即可转移NFT所有权。

  • OpenSea CEO Devin Finzer澄清攻击与平台官网、邮件系统、新合约迁移工具无关,但尚未确定具体钓鱼途径。安全机构PeckShield监测到黑客已通过Tornado Cash清洗约286万美元赃款。

  • 技术分析显示,黑客可能利用旧版合约授权漏洞,通过伪造的"空头支票式"签名实施攻击。平台建议用户通过以太坊浏览器撤销不必要的NFT授权。

  • 事件引发对NFT平台安全责任的讨论,OpenSea仍在调查攻击源头,尚未公布赔偿方案。此次事件暴露了智能合约升级过程中的安全风险。

总结

2月19日,全球最大的NFT交易平台OpenSea刚开始支持用户使用新合约,一些用户的NFT资产就被盗了。

次日,OpenSea的CEO Devin Finzer在推特上披露,「这是一种网络钓鱼攻击。我们不相信它与 OpenSea 网站相关联。到目前为止,似乎有 32 个用户签署了来自攻击者的恶意有效载体,他们的一些 NFT 被盗。」Finzer称,攻击者钱包一度通过出售被盗NFT获得了价值170万美元的ETH。

用户NFT被盗后,不少人在推特上猜测,钓鱼攻击的链接可能隐藏在假冒的「OpenSea致用户」邮件中。因为19日当日,该交易平台正在进行一项智能合约升级,用户需要将列表迁移到新的智能合约中。攻击者很可能利用了这次的升级消息,将钓鱼链接伪装成通知邮件。

2月21日,OpenSea的官方推特更新回应称,攻击似乎不是基于电子邮件。截至目前,钓鱼攻击的来源仍在调查中。

OpenSea用户遭「钓鱼」丢失NFT

2月18日,OpenSea开始了一项智能合约的升级,以解决平台上的非活跃列表问题。作为合约升级的一部分,所有用户都需要将他们在以太坊上的NFT列表迁移至新的智能合约中,迁移期将持续7天,到美东时间的2月25日下午2点完成,迁移期间,用户NFT在OpenSea上的旧报价将过期失效。

2月19日,用户需要配合完成的操作开始了。人们没有想到,在忙乱的迁移过程中,黑客的「黑手」伸向了OpenSea用户的钱包里。从用户们在社交平台的反馈看,大部分攻击发生在美东时间下午5点到晚上8点。

从后来在以太坊浏览器上被标记为「网络钓鱼/黑客」的地址上看,19日晚18时56分,被盗的资产开始从黑客地址转移,并在2月20日10时30分出现了通过混币工具Tornado Cash「洗币」的操作。

黑客链上地址的部分动向

用户NFT被盗后,「OpenSea被黑客攻击,价值2亿美元资产被盗」的说法开始在网络上蔓延,人们无从得知失窃案的准确原因,也无法确认到底殃及了多少用户。

直到2月20日,OpenSea的CEO Devin Finzer才在推特上披露,「据我们所知,这是一种网络钓鱼攻击。我们不相信它与 OpenSea 网站相关联。到目前为止,似乎有 32 个用户签署了来自攻击者的恶意有效载体,他们的一些 NFT 被盗。」Finzer 驳斥了「价值2 亿美元的黑客攻击的传言」,并表示攻击者钱包通过出售被盗NFT 获得了价值170万美元的ETH。

区块链安全审计机构 PeckShield 列出了失窃NFT的数量,共计315个NFT资产被盗,其中有254个属于ERC-721标准的NFT,61个为ERC-1155标准的NFT,涉及的NFT品牌包括知名元宇宙项目Decentraland 的资产和NFT头像「无聊猿」Bored Ape Yacht Club等。该机构还披露,黑客利用Tornado Cash清洗了1100 ETH,按照ETH当时2600美元的价格计算,清洗价值为286万美元。

攻击者如何拿到用户「签单」授权?

用户NFT失窃事件发生后,有网友猜测,黑客利用了OpenSea升级的消息,将钓鱼链接伪造成通知用户的邮件,致使用户上当受骗而点击了危险链接。

对此,Devin Finzer表示,他们确信这是一次网络钓鱼攻击,但不知道钓鱼发生在哪里。根据与32名受影响用户的对话,他们排除了一些可能性:攻击并非源自OpenSea官网链接;与OpenSea电子邮件交互也不是攻击的载体;使用OpenSea 铸造、购买、出售或列出NFT不是攻击的载体;签署新的智能合约(Wyvern 2.3 合约)不是攻击的载体;使用 OpenSea 上的列表迁移工具将列表迁移到新合约上不是攻击的载体;点击官网banner页也不是攻击的载体。

简而言之,Finzer试图说明钓鱼攻击并非来自OpenSea网站的内部。2月21日凌晨,OpenSea官方推特明确表示,攻击似乎不是基于电子邮件。

截至目前,钓鱼攻击到底是从什么链接上传导至用户端的,尚无准确信息。但获得Finzer认同的说法是,攻击者通过钓鱼攻击拿到了用户转移NFT的授权。

推特用户Neso的说法得到了Finzer的转发,该用户称,攻击者让人们签署授权了一个「半有效的 Wyvern 订单」,因为除了攻击者合约和调用数据(calldata)之外,订单基本上是空的,攻击者签署了另一半订单。

该攻击似乎利用了Wyvern 协议的灵活性,这个协议是大多数 NFT 智能合约(包括在 OpenSea上制定合约)的基础开源标准,OpenSea 会在其前端/API上验证订单,以确保用户签署的内容将按预期运行,但这个合约也可以被其他更复杂的订单使用。

按照Neso的说法,首先,用户在Wyvern上授权了部分合约,这是个一般授权,大部分的订单内容都留着空白;然后,攻击者通过调用他们自己的合约来完成订单的剩余部分,如此一来,他们无需付款即可转移 NFT 的所有权。

简单打个比方就是,黑客拿到了用户签名过的「空头支票」后,填上支票的其他内容就搞走了用户的资产。

也有网友认为,在钓鱼攻击的源头上,OpenSea排除了升级过的、新的Wyvern 2.3合约,那么,不排除升级前的、被用户授权过的旧版本合约被黑客利用了。对此说法,OpenSea还未给出回应。

截至目前,OpenSea仍在排查钓鱼攻击的源头。Finzer也提醒不放心的用户,可以在以太坊浏览器的令牌批准检查程序(Ethereum Token Approval)上取消自己的NFT授权。

(声明:请读者严格遵守所在地法律法规,本文不代表任何投资建议)

你认为OpenSea是否应该对受损用户负责?

分享至:

作者:元宇宙日爆

本文为PANews入驻专栏作者的观点,不代表PANews立场,不承担法律责任。

文章及观点也不构成投资意见

图片来源:元宇宙日爆如有侵权,请联系作者删除。

关注PANews官方账号,一起穿越牛熊
推荐阅读
6分钟前
22分钟前
1小时前
3小时前
4小时前
8小时前

热门文章

行业要闻
市场热点
精选读物

精选专题

App内阅读