NFT:黑客不会“隐入尘烟” 你的NFT合约安全如何保证?

点击阅读:2022年上半年Web3安全态势深度研报

在我们发布的《2022年上半年Web3安全态势深度研报》中,我们已经从各个维度展示和分析了区块链安全领域的总体态势。今天,我们将针对NFT合约安全展开分析,看看在NFT合约在审计过程中都会出现哪些常见问题呢?

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

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

首届Substrate开发者黑客马拉松创业大赛结束:3月20日-21日,Polkadot Hackathon在上海长宁举办。这是首届Substrate开发者黑客马拉松创业大赛,33个战队、50天的充足线上备赛、36小时现场Hacking,基于Substrate框架进行开发和创造产品原型。来自北京、深圳、上海、杭州、南京、成都、香港、西雅图等地开发者组成的21个队伍晋级线下DemoDay决赛。Apron Network获得一等奖,奖金80000元。InkBridge、Deeper Network获得二等奖,奖金40000元。Parallel、SkyePass获得三等奖,奖金20000元。Web3Games获得最受开发者欢迎奖,Deeper Network获得最受社区欢迎奖。

此外,IOSG创始人Jocy宣布正式开启开发者资助计划,欢迎各位早期个人开发者和团队给IOSG Post代码和opensource的创业想法,IOSG将提供10万美元以内的资助和支持。(一块Plus社区)[2021/3/23 19:09:43]

Value DeFi攻击事件一名受害者获得黑客发送的5万美元稳定币:Value DeFi团队就“遭闪电贷攻击损失540万美元”一事发布事后分析报告称,将制定一项针对受害者的补偿计划,该计划由“开发基金、保险基金和协议产生的部分费用”共同出资。一名自称是护士的用户试图联系攻击者称,其已把毕生的积蓄(近10万美元)投入到该项目中,并请求攻击者归还这笔钱。推特上的许多观察人士立即质疑这名用户的真实性。令人惊讶的是,攻击者确实“捐赠”了价值5万美元的稳定币给该名用户。据悉,Value的开发者也曾试图联系攻击者,就进一步返还资金进行谈判。截止发稿时,这些尝试是否成功还未可知。(BeInCrypto)[2020/11/16 20:58:48]

上半年NFT典型安全事件?

TreasureDAO事件

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

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

动态 | 瑞穗银行结算服务测试系统遭非法访问 黑客要求比特币赎金:据日经新闻消息,瑞穗银行的二维码结算服务J Coin Pay加盟店管理测试系统遭非法访问。据悉,系统内的加盟店信息遭入侵者删除,取而代之的是要求比特币(BTC)的留言。[2019/9/5]

漏洞原因:逻辑漏洞

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

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

动态 | 黑客陆续将搬砖套利获取的以太坊转移至新地址,共涉及约12000枚以太坊:据CoinHunter监测,昨日开始,黑客陆续将其从火币Global官方套利电报中文群的Telegram获取的资金进行转移,细节如下:1、0x9076开头的ETH地址将1860枚ETH经过多次转移至0xd014地址;2、0x5E01开头的ETH地址将3098枚ETH经过多次转移至0x5c10地址;3、0x14bd开头的ETH地址将2694枚ETH经过多次转移至0xcaA5地址2694枚ETH。以上交易均在北京时间19:34:50同一时间进行。4、0x0386及0x7167开头地址将3347枚ETH转移至0xf7c3地址。CoinHunter提示,这是黑客开始大批转移资金的开始,接下来可能会分批洗入交易所进行套现。[2019/6/5]

APECoin空投事件

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

漏洞原因:逻辑漏洞

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

加密货币XVG被黑客攻击:在过去的24小时里,关注隐私的加密货币XVG在新闻中出现了负面消息。值得注意的是,XVG昨天遭到了攻击,据报道,黑客偷走了价值100万美元的XVG。这个问题最早是在比特币论坛上被一个名叫“ocminer”的用户提起的。The verge团队在周三下午通过Twitter承认了这一攻击,而其主要开发人员“DogeDarkDev”试图安抚市场紧张情绪,称该团队已经推出了“快速修复”,团队正致力于“一个全新的区块验证过程”。[2018/4/6]

RevestFinance事件

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

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

漏洞原因:ERC-1155重入

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

NBA薅羊毛事件

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

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

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

Akutar事件

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

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

漏洞原因:逻辑漏洞

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

XCarnival事件

2022年6月24日,NFT借贷协议XCarnival遭到攻击,黑客获利3087枚以太坊。

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

漏洞原因:逻辑漏洞

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

NFT合约在审计过程中都会出现哪些常见问题呢

上半年发生了多起NFT合约相关的安全事件,主要原因还是没有进行全面的安全审计,那么NFT合约在审计过程中都会出现哪些常见问题呢?

成都链安审计团队在审计NFT系列合约时,发现NFT合约主要的问题包括以下几类:

(1)签名冒用和复用:

签名数据缺少重复执行验证(例如:缺少用户nonce),导致可以重复使用签名数据铸造NFT;

签名检查不合理(例如:未检查签名者为零地址的情况),导致任意用户均可通过检查进行铸币;

(2)逻辑漏洞:

合约管理员可以通过私募等特殊方式铸币而不受总量的限制,导致NFT的实际量超过预期;

拍卖NFT时,获胜者可在领取交易顺序依赖攻击,修改竞拍价格,导致竞拍获胜者可以低价获取NFT;

(3)ERC721&ERC1155重入攻击

当合约使用转账通知功能时(onERC721Received函数),NFT合约会主动向转账的目标合约发送一次调用,那么这就可能导致重入攻击;

(4)授权范围过大

用户在进行质押或者拍卖时,仅需要对单个代币授权,但合约要求_operatorApprovals授权,一旦用户授权成功,那么就存在NFT被盗的风险。

(5)价格操控

NFT的价格依赖于某合约的代币持有量,导致攻击者利用闪电贷拉高代币价格,使得质押的NFT被异常清算。

从上半年发生的NFT合约安全事件来看,审计过程中经常出现的漏洞在实际中也会被黑客利用。因此寻求专业的安全公司对NFT合约进行审计也是非常有必要的。

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

地球链

瑞波币区块链:盘点互联网大厂的Web3布局

2021年以来,元宇宙、NFT、数字藏品等新概念、新技术的不断破圈,让Web3得到了前所未有的关注,即使是相对保守的国内市场,也有不少互联网大厂和传统品牌相继入局.

[0:0ms0-0:979ms