NFT交易平台安全风险频发 OpenSea、X2Y2安全事件分析_NFT:IGG

一、OpenSea事件描述

近日,OpenSea首席执行官Devin Finzer在一条推文表示:"到目前为止,有32个用户签署了来自攻击者的入侵,他们的一些NFT被盗。"并暗示可能是一个欺诈性网站造成的。

"我们正在积极调查与OpenSea相关的智能合约的漏洞传闻,这似乎是源于OpenSea网站之外的钓鱼攻击。请不要点击opensea.io以外的链接。"

SharkTeam第一时间对此事件进行了攻击技术分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。

10枚Art Blocks创始人的创始项目Squiggles NFT通过拍卖以186.3ETH成交:金色财经报道,10枚未铸造的“Squiggles”NFT已经VerticalCrypto Art和Right Click Save合作举办的慈善拍卖会中以186.3 ETH价格成交,约合33.35万美元,这十枚未铸造的Squiggle ID分别是:9764、9765、9766、9767、9768、9769、9770、9771、9772和9773,其中最高出价者将获得Squiggle ID 9764,第二高出价者将获得Squiggle ID 9765,最低出价者将获得Squiggle ID 9773。

据悉,“Squiggles”是Art Blocks创始人兼首席执行官Snowfro(née Erick Calderon)于2020年10月推出的创始NFT项目,总计发行1万枚,初始铸造价格为0.0035 ETH,不过Snowfro并未完成所有NFT的铸造,根据Art Blocks网站上Chromie Squiggle页面显示,截至目前已铸造了9,764枚。(verticalcrypto)[2023/5/25 10:39:48]

二、OpenSea事件攻击原理分析

育碧将推出《刺客信条》NFT系列,5月16日开放铸造:5月15日消息,游戏巨头育碧(Ubisoft)与Integral Reality Labs合作在Polygon上推出《刺客信条》NFT系列Assassin’sCreed Smart Collectibles,将于5月16日正式开放铸造。

每个铸造的数字灵魂NFT都可以用于定制和兑换3D打印且支持NFC功能的实物藏品,每个NFT具有不同的稀有度级别,更高级别的NFT可以解锁更多定制元素。Integral Reality Labs还将发布1500张Pieceof Eden通行证,为持有者提供获得独家收藏品的空投与优先使用3D打印等。(Decrypt)[2023/5/15 15:03:15]

攻击者账户(Fake_Phishing5169):0x3e0defb880cd8e163bad68abe66437f99a7a8a74

香飘飘奶茶官宣发布“理想星球开拓者”NFT 数字藏品:1 月 11 日,香飘飘推出“香飘飘理想星球开拓者” 数字藏品,香飘飘以No.85奶茶星空探索队为主角,设置了真香密码、快乐起飞、反EMO、茶享自由等8个不同的理想星球场景。每个星球对应SSR、SR、R三个不同等级的数字藏品。

同时,香飘飘还结合时下备受追捧的盲盒玩法,一定程度上激发了年轻消费者的收藏欲:每款生椰菠菠椰乳茶“85度暖冬礼盒”中,都有一张“香飘飘理想星球开拓者”邀请卡,根据卡片提示,可随机获取一款数字藏品,开拓属于自己的“理想星球”。[2022/1/11 8:41:06]

攻击合约(Fake_Phishing5176):0xa2c0946ad444dccf990394c5cbe019a858a945bd

1. 创建攻击合约

交易:0x2b8bcaa9dc90cf0a174daf0e9f4fd4cbc5fa1a3b32e2213238feb186559e8779

推特将发布140件免费NFT作品:6月30日消息,推特官方账号将自己的推特简介更改为“整天发布NFT(droppingNFTsallday)”,并发推表示,为你们中的140人提供140个免费的NFT(140freeNFTsfor140ofyou)。[2021/6/30 0:18:04]

2. 发起攻击

以交易0x9ce04d64310e40091c49c53bac83e5c781b3046e53c256f76daf0e8a73458dad为例,

执行过程如下:

WyvernExchange合约atomicMatch函数如下:

其中,订单签名校验requireValidOrder函数如下:

函数中包含了挂单授权(签名)的校验,因此,攻击者发起攻击交易,将NFT从原来持有者账户(0xf2d29bbd9508cc58e2d7fe8427bd2bc0ad58e878, 记为0xf2d2)转账到攻击者账户,需要获取到账户0xf2d2的授权(签名)。

攻击者要想获取到其他账户的签名,可以通过以下方法:

(1)获得账户的私钥

(2)签名重放攻击

(3)通过网络钓鱼等方式获取用户的私钥或者签名。

这里,攻击者明显并没有获取到账户0xf2d2的私钥,而且函数中有防止签名重放的措施:

另外,也没有从交易中发现签名重放攻击。

因此,我们分析,被攻击的用户意外签署了来自攻击者的恶意交易,攻击者获得了用户的挂单授权,然后利用该授权签名窃取了用户的NFT。综上所述,我们认为此次攻击事件是由链下的网络钓鱼攻击引起的,而不是链上合约代码漏洞造成的。

三、X2Y2安全事件

无独有偶,2022年2月18日,大V账号(DiscusFish)在Twitter上面指出,NFT交易平台X2Y2上面NFT挂单挖矿存在风险。

此外,还指出X2Y2上挂单挖矿模式所采用的交易 Exchange 合约是可升级合约,升级权限(proxyAdmin的owner)是官方单地址,理论上存在官方通过升级合约,然后转走用户NFT的可能。

X2X2团队针对可升级合约的漏洞,采用多签钱包和时间锁对合约进行了修复:

四、安全建议

OpenSea被攻击事件属于网络钓鱼攻击,而X2Y2的问题在于合约漏洞。鉴于此,我们提出以下建议:

1.项目方在开发过程中,要保证业务逻辑以及合约代码的严谨性,选择多家知名负责的审计公司进行多伦审计。

2. 项目参与者在涉足区块链项目时请提高警惕,尽可能选择更稳定、更安全,且经过完备多轮审计的公链和项目,在发起交易、签名授权时要谨慎,尽可能地只通过官方指定的网站参与投资。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-6:853ms