喜鹊

 找回密码
 立即注册
查看: 728|回复: 5

[虚拟货币] 黑客不会“隐入尘烟” 你的NFT合约安全如何保证?

[复制链接]

8700

主题

1万

帖子

14万

积分

Vip 陆

Rank: 10Rank: 10Rank: 10

     经验
140673
     喜币
27249
     竞拍币
5410
     吉祥币
0
     球速币
0
发表于 2022-9-8 13:41 | 显示全部楼层 |阅读模式
  在我们发布的《2022年上半年Web 3安全态势深度研报》中,我们已经从各个维度展示和分析了区块链安全领域的总体态势。今天,我们将针对NFT合约安全展开分析,看看在NFT合约在审计过程中都会出现哪些常见问题呢?

  上半年NFT领域安全事件的总损失有多少?

  据成都链安鹰眼区块链安全态势感知平台监控显示,2022年上半年,共监测到NFT领域主要安全事件10起,统计到的损失约为6490万美元,主要攻击方式为合约漏洞利用、私钥泄露、钓鱼等。而上半年Discord钓鱼事件频发,几乎每天都有Discord服务器受到攻击,个人用户因点击钓鱼链接而遭受损失的情况频繁发生。

  上半年NFT典型安全事件?

  TreasureDAO事件

  2022年3月3日,TreasureDAO交易平台遭到黑客攻击,造成100多个NFT 被盗。

  扩展阅读:怪事?盗了又归还?TreasureDAO安全事件分析

  漏洞原因:逻辑漏洞

  该漏洞存在于TreasureMarketplaceBuyer合约中,该合约的buyItem函数在传入_quantity参数后,并没有做代币类型判断,直接将_quantity与_pricePerItem相乘计算出了totalPrice,因此safeTransferFrom函数可以在ERC-20代币支付数额只有0的情况下,调用TreasureMarketplace合约的buyItem函数来进行代币购买。

  本次安全事件主要原因是ERC-1155代币和ERC-721代币混用导致的逻辑混乱,ERC-721代币并没有数量的概念,但是合约却使用了数量来计算代币购买价格,且最后在代币转账的实现中也未进行逻辑分离。

  APE Coin空投事件

  2022年3月17日,黑客通过闪电贷拿到了超过6万的APE Coin空投。

  漏洞原因:逻辑漏洞

  该漏洞存在于AirdropGrapesToken空投合约中,由于其使用 alpha.balanceOf()和beta.balanceOf()判定调用者对BAYC/MAYC NFT的所有权。而这种方式仅能获取到用户对该NFT所有权的瞬时状态,但该瞬时状态可以通过闪电贷借入进行操控。攻击者利用该漏洞,以闪电贷借出BAYC NFT并获取对应的空投。

  Revest Finance事件

  2022年3月27日,Revest Finance项目遭遇黑客攻击,损失余额12万美元。

  扩展阅读:老调重弹,ERC1155的重入攻击又“现身”,Revest Finance被攻击事件简析

  漏洞原因:ERC-1155重入

  该漏洞存在于Revest合约中,当用户采用depositAdditionalToFNFT()追加FNFT的抵押资产时,合约需要将先把之前的FNFT销毁,之后再铸造新的FNFT。但是在铸造时,由于min()函数中未判断需铸造的FNFT是否已经存在,并且状态变量fnftId自增在_mint()函数后。而_min()中存在ERC-1155中的隐藏外部调用_doSafeTransferAcceptanceCheck(),造成了重入漏洞。

  NBA薅羊毛事件

  2022年4月21日,NBA项目方遭遇黑客攻击。

  漏洞原因:签名冒用和复用

  该漏洞存在于The_Association_Sales合约中,项目当在采用签名校验的方式验证白名单时,主要存在两个安全问题:签名冒用和签名复用。其中签名复用问题是由于项目方并未在合约中存储已经使用过的签名,造成签名可以被攻击者重复多次使用;签名冒用的问题是由于vData memory参数info在传参时未进行msg.sender校验导致签名可冒用。

  Akutar事件

  2022年4月23日,NFT项目方Akutar的AkuAuction合约由于智能合约本身漏洞,导致11539ETH(价值约3400万美元)被锁死在合约中。

  扩展阅读:NFT项目惊现低级漏洞,合约未审计导致3400万美元资产被锁死 ——Akutar事件分析

  漏洞原因:逻辑漏洞

  该合约存在两个逻辑漏洞,第一是退款函数processRefunds使用call函数进行退款操作,并且把退款结果作为require判定条件,如果攻击者在fallback中进行恶意revert会导致整个合约的退款操作无法继续进行。第二个漏洞是造成此次事件的根本原因,即退款函数中存在的两个判断条件,由于没有考虑到一个用户可以投标多个NFT的情况,使得项目方后续的退款操作永远无法执行。

  XCarnival事件

  2022年6月24日,NFT 借贷协议 XCarnival 遭到攻击,黑客获利 3087 枚以太坊(约 380 万美元)。

  扩展阅读:NFT 借贷平台需警惕,XCarnival被攻击事件给我们哪些启示?

  漏洞原因:逻辑漏洞

  该漏洞存在于XNFT合约中,该合约中的pledgeAndBorrow 函数在质押NFT时并未未检查攻击者传入的xToken地址是否为项目方白名单中的地址;并且在借贷时,并未对抵押记录的状态进行检测,导致攻击者反复使用无效的抵押记录进行借贷。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

2431

主题

4万

帖子

28万

积分

Vip 陆

Rank: 10Rank: 10Rank: 10

     经验
285625
     喜币
23403
     竞拍币
16768
     吉祥币
0
     球速币
0
发表于 2022-9-8 15:04 | 显示全部楼层
谢谢老哥分享的呢!
回复

使用道具 举报

29

主题

2万

帖子

14万

积分

Vip 陆

Rank: 10Rank: 10Rank: 10

     经验
146236
     喜币
29206
     竞拍币
8503
     吉祥币
0
     球速币
0
发表于 2022-9-8 19:12 | 显示全部楼层
也是看看就可以的啊
回复

使用道具 举报

2

主题

1万

帖子

7万

积分

Vip 伍

Rank: 8Rank: 8

     经验
74449
     喜币
81018
     竞拍币
6030
     吉祥币
0
     球速币
0
发表于 2022-9-9 08:11 | 显示全部楼层
感觉黑客还是很厉害的
回复

使用道具 举报

2

主题

1万

帖子

7万

积分

Vip 伍

Rank: 8Rank: 8

     经验
74449
     喜币
81018
     竞拍币
6030
     吉祥币
0
     球速币
0
发表于 2022-9-9 08:12 | 显示全部楼层
yifa 发表于 2022-9-8 19:12
也是看看就可以的啊

他们应该不会伤害到这个NFT吧
回复

使用道具 举报

110

主题

8514

帖子

4万

积分

Vip 伍

Rank: 8Rank: 8

     经验
43428
     喜币
15194
     竞拍币
8910
     吉祥币
0
     球速币
0
发表于 2022-9-9 14:40 | 显示全部楼层
关注一下这个了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


Archiver|喜鹊

GMT+8, 2024-11-23 16:36 , Processed in 0.101860 second(s), 18 queries .

喜鹊社区 喜鹊 X3.4

喜鹊社区 © 2022-,

快速回复 返回顶部 返回列表