点击阅读:2022年上半年Web3安全态势深度研报
在我们发布的《2022年上半年Web3安全态势深度研报》中,我们已经从各个维度展示和分析了区块链安全领域的总体态势。今天,我们将针对NFT合约安全展开分析,看看在NFT合约在审计过程中都会出现哪些常见问题呢?
上半年NFT领域安全事件的总损失有多少?
据成都链安鹰眼区块链安全态势感知平台监控显示,2022年上半年,共监测到NFT领域主要安全事件10起,统计到的损失约为6490万美元,主要攻击方式为合约漏洞利用、私钥泄露、钓鱼等。而上半年Discord钓鱼事件频发,几乎每天都有Discord服务器受到攻击,个人用户因点击钓鱼链接而遭受损失的情况频繁发生。
安全团队:ProjectX项目代币价格下跌为黑客攻击并非Rug Pull:7月7日消息,安全团队CertiK刚刚对ProjectX项目PXT代币价格下跌发布更新,称该项目的Discord服务器仍在运行,官方称价格下降是由于黑客攻击(漏洞利用)造成的。CertiK对其技术问题表示歉意。
此前消息,CertiK称ProjectX项目发生Rug Pull,合约部署者抛售代币后获利1.9万美元。[2022/7/7 1:57:33]
上半年NFT典型安全事件?
TreasureDAO事件
2022年3月3日,TreasureDAO交易平台遭到黑客攻击,造成100多个NFT被盗。
Neko Network攻击报告发布:损失400万美元,黑客已归还180万美元:8月13日消息,MazeProtocol发布NekoNetwork被攻击的报告。攻击者利用MainPool合约中的漏洞,直接向自己的地址借入资金。在检测到攻击后,NekoNetwork资产池被冻结以阻止损害。由于时间锁,资金在接下来的24小时内无法开放。一旦池开放,NekoNetwork将允许用户偿还债务并取回资金。本次攻击中储备池和LP池没有损失。neko-core-protocol的智能合约从未开源,在部署前由Certik和Samrtstate两家安全公司审计。本次攻击共有17名受害者,造成400万美元的损失,主要集中在一位鲸鱼用户身上(大约380万美元),其他账户损失29.6万美元。攻击者在事件发生后向团队的部署者地址返还大约180万美元的资金。黑客返还的资金将转入受害者账户,用于偿还债务。[2021/8/13 1:53:27]
扩展阅读:怪事?盗了又归还?TreasureDAO安全事件分析
漏洞原因:逻辑漏洞
此前遭到黑客攻击的BSC收益聚合器Merlin Lab停止运营:据官方消息,BSC收益聚合器Merlin Lab宣布停止运营。官方提醒用户从网站上提取资金,并不要购买代币。此前消息,PeckShield派盾预警显示,Merlin Lab遭到黑客攻击,此次攻击源于MerlinStrategyAlpacaBNB中存在的逻辑漏洞,合约误将收益者转账的WBNB作为挖矿收益,使得合约增发更多的$MERL作为奖励。[2021/6/30 0:15:40]
该漏洞存在于TreasureMarketplaceBuyer合约中,该合约的buyItem函数在传入_quantity参数后,并没有做代币类型判断,直接将_quantity与_pricePerItem相乘计算出了totalPrice,因此safeTransferFrom函数可以在ERC-20代币支付数额只有0的情况下,调用TreasureMarketplace合约的buyItem函数来进行代币购买。
本次安全事件主要原因是ERC-1155代币和ERC-721代币混用导致的逻辑混乱,ERC-721代币并没有数量的概念,但是合约却使用了数量来计算代币购买价格,且最后在代币转账的实现中也未进行逻辑分离。
分析 | 3月共发生20起黑客攻击事件,总损失超1.3亿元:据PeckShield态势感知平台04月01日数据显示,过去一个月,共计发生20起黑客攻击事件,涉及竞猜类DApp、交易所等,包含EOS、BTC、ETH、USDT等数十种数字资产,累计总价值131,645,989 元。其中较为重大的为两起黑客攻击交易所事件:DragonEX龙网交易所被盗损失超4,000万元;韩国Bithumb交易所被盗损失近9,000万元。其余DApp类安全事件共计发生18起,损失70,384个EOS。PeckShield安全人员提醒,近期黑客攻击事件有逐渐从DApp转移至交易所的迹象,黑客团伙攻击也更加猖獗,攻击所致损失的资金额度和带来的社会危害都较为重大。同时在此希望广大区块链生态伙伴,尤其是交易所和DApp开发者应注意加强数字资产保护,做好相应的安全风控举措,避免给用户带来数字资产损失。[2019/4/1]
APECoin空投事件
2022年3月17日,黑客通过闪电贷拿到了超过6万的APECoin空投。
声音 | Bitfinex’ed:Bitfinex操纵比特币价格 编造黑客盗币事件:据华尔街见闻消息,一位网名为Bitfinex’ed的匿名博主表示,Bitfinex声称他们被盗了12万个比特币,并表示会给出一个安全性的审计和报告,但是这两样东西后来他们都没有提供出来,黑客事件就是编造出来的。Bitfinex发行了“欠条”币,让人们去购买Bitfinex的股权币BFX,强行抢夺用户资产来掩盖交易所的资金困境,这种事情就是庞氏局。发行USDT是为了操纵市场,USDT不能兑现,他们只能用USDT去换成比特币。这样人为造成比特币价格上涨。[2018/10/22]
漏洞原因:逻辑漏洞
该漏洞存在于AirdropGrapesToken空投合约中,由于其使用alpha.balanceOf()和beta.balanceOf()判定调用者对BAYC/MAYCNFT的所有权。而这种方式仅能获取到用户对该NFT所有权的瞬时状态,但该瞬时状态可以通过闪电贷借入进行操控。攻击者利用该漏洞,以闪电贷借出BAYCNFT并获取对应的空投。
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合约进行审计也是非常有必要的。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。