一、OpenSea事件描述
近日,OpenSea首席执行官Devin Finzer在一条推文表示:"到目前为止,有32个用户签署了来自攻击者的入侵,他们的一些NFT被盗。"并暗示可能是一个欺诈性网站造成的。
"我们正在积极调查与OpenSea相关的智能合约的漏洞传闻,这似乎是源于OpenSea网站之外的钓鱼攻击。请不要点击opensea.io以外的链接。"
SharkTeam第一时间对此事件进行了攻击技术分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。
富达进军元宇宙:商标申请涵盖NFT、投资服务等:金色财经报道,在成功地将加密货币投资世界引入其客户群之后,富达现在正在元宇宙中探索更多可能性。据商标代理人Mike Kondoudis称,该公司刚刚提交了一系列商标申请,涵盖NFT、NFT市场、元宇宙投资服务、虚拟房地产投资,甚至加密货币交易。[2022/12/27 22:09:14]
二、OpenSea事件攻击原理分析
攻击者账户(Fake_Phishing5169):0x3e0defb880cd8e163bad68abe66437f99a7a8a74
攻击合约(Fake_Phishing5176):0xa2c0946ad444dccf990394c5cbe019a858a945bd
1. 创建攻击合约
交易:0x2b8bcaa9dc90cf0a174daf0e9f4fd4cbc5fa1a3b32e2213238feb186559e8779
Phantom:某些NFT图像由于Meson Network的临时问题未能加载,但仍是安全的:金色财经消息,Solana生态钱包Phantom发推称,由于Web3带宽交易市场Meson Network的临时问题,某些NFT图像可能未加载到收藏品选项卡中,所有的NFT都是安全的,并且仍然可以在DApps和市场上运行。团对正在制定解决方案,并将跟进更新。[2022/8/13 12:22:12]
2. 发起攻击
以交易0x9ce04d64310e40091c49c53bac83e5c781b3046e53c256f76daf0e8a73458dad为例,
DeFi协议Alpaca Finance的NFT Avatar系列上半年销售收入达360万美元:11月2日消息,DeFi协议Alpaca Finance宣布其NFT Avatar系列上半年销售收入达360万美元。Alpies是以太坊和 BSC上的跨链NFT集合,由总共10,000个NFT Avatars组成,该系列由两套5,000 alpies组成,分为两部分出售,首先在币安智能链 (BSC) 上,然后在以太坊上,并且可以在两个区块链之间进行桥接。
Alpaca通过荷兰式拍卖在BSC上进行了上半年的Alpies销售,平均售价为1.42枚BNB ,拍卖共产生了价值360 万美元的BNB。Alpaca已经宣布剩余的5,000个以太坊上的Alpies将于11月2日(星期二)UTC 时间下午2:00在网站上发售。(Cointelegraph)[2021/11/2 6:26:43]
推特正开发添加“收藏品”标签,以展示用户的NFT藏品:10月26日消息,推特正在开发一个与区块链相关的“收藏品”标签,以展示用户的NFT收藏。该平台于9月首次开始开发该功能,推特的软件工程师Mada Aflak曾在9月下旬发布了一条推文首次展示了其项目开发的早期阶段。(Businessinsider)[2021/10/26 20:58:18]
执行过程如下:
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. 项目参与者在涉足区块链项目时请提高警惕,尽可能选择更稳定、更安全,且经过完备多轮审计的公链和项目,在发起交易、签名授权时要谨慎,尽可能地只通过官方指定的网站参与投资。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。