宇宙链 宇宙链
Ctrl+D收藏宇宙链

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

作者:

时间:1900/1/1 0:00:00

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

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

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

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

美国司法部对FTX黑客攻击事件展开刑事调查:金色财经报道,据消息人士透露,美国司法部(DOJ)已对FTX黑客攻击事件展开刑事调查。据悉该调查与前FTX首席执行官SBF的欺诈案是分开的,当局已经冻结了部分被盗资金。区块链专家认为,多条线索表明这是内部作案,包括黑客同时入侵FTX和FTX US网站、访问多个冷钱包以及使用个人Kraken账户提取至少一笔交易的gas费用。

金色财经此前报道,在FTX申请破产的当天晚上,该交易所遭遇黑客攻击,黑客从FTX热钱包里窃取超过4.5亿美元资产。(彭博社)[2022/12/28 22:11:41]

上半年NFT典型安全事件?

TreasureDAO事件

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

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

漏洞原因:逻辑漏洞

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

BitKeep Swap遭黑客攻击损失达100万美元,官方承诺赔偿用户损失:10月18日消息,据Web3多链钱包BitKeep官方消息,BitKeep Swap被黑客入侵,黑客的攻击行为目前已经停止,攻击发生在BNB Chain上,造成约100万美元的损失。

BitKeep表示目前钱包用户的资产一切安全,且正在采取以下措施:1.已暂停BitKeep Swap交易,用户不会有进一步的资产安全问题;2.将上线针对此次事件的钱包安全检查页面,并支持一键修复功能;3.已与各大安全机构进行沟通合作,对黑客进行追踪和锁定,尽全力挽回被盗资产;3.对于遭受损失的用户,BitKeep将进行全额赔付,赔付方式随后将进行披露;4.鼓励可以协助锁定黑客身份并追回被盗资产的合作方与团队联系,将提供丰厚报酬。[2022/10/18 17:30:26]

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

SBF:Mango黑客事件表明预言机规范的重要性:金色财经报道,FTX创始人SBF在社交媒体分析了Mango Markets黑客时间的教训,他表示:“真正的问题取决于预言机的规范是什么,预言机准确地报告了 MNGO 的当前价格,只是'当前价格'与'公平价格'并不接近。一些头寸,如 MNGO,规模庞大且流动性不足,以至于风险引擎(提供市场风险测量和投资分析的软件)迫使头寸被完全抵押。” 完全抵押意味着在整个贷款过程中,借款人提供抵押品。在这种情况下,抵押品是加密货币。Mango Markets 要求初始抵押品比率为 120%,维持抵押品比率为 110%。如果用户的抵押率低于 110%,账户将被清算,而Mango Market 攻击者利用漏洞来模拟拥有足够的抵押品。

SBF补充称:“如果一个预言机报告‘MNGO:0.40 美元’,是不是错了?如果它只是承诺告诉你 MNGO 目前的交易价格,而且,在短时间内,在某些交易所,MNGO 实际上的交易价格为 0.40 美元。问题在于使用原始预言机价格。预言机有时能告诉你一切,有时也无法代表任何信息,它们只是反映市场的历史和现状,风险引擎的工作就是利用这些信息,并决定哪些头寸是安全的,有时风险引擎不能只是反刍预言机所说的话,而是要自己去认真分析。”[2022/10/13 10:33:16]

APE Coin空投事件

Filecoin公布“虚拟黑客马拉松”获奖者名单:据Filecoin官方发布,在宣布SpaceRace(Filecoin矿工的全球竞赛)之后,Filecoin公布“虚拟黑客马拉松”获奖名单,第一名获得者是DeepVerse团队;第二名获得者是Filecoin定价机制;第三名获奖者是Filecoin Research Repository背后的团队;

此前报道,Filecoin将于7月6日至8月6日开设为期30天的“虚拟黑客马拉松”。据介绍,HackFS旨在为分散式网络奠定基础。开发人员将构建dapp、游戏开发工具,DeFi集成以及其他利用分散存储的技巧。[2020/9/9]

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

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

分析 | Nuls团队账户200万代币被盗是由于交易签名验证漏洞遭黑客攻击:本月20日公链Nuls遭遇黑客攻击,团队账户200万代币被盗。慢雾安全团队分析发现,此次攻击的原因是Nuls的交易签名验证算法存在漏洞,黑客利用精心构造的交易绕过了签名验证,转移了团队账户的代币,随后部分代币被抛向市场,目前各大交易所已暂停Nuls充提币。攻击发生后官方紧急排查问题,进行问题修复和代码测试,随后发布新版程序,并定于高度878000(大约北京时间12月25日中午)进行硬分叉,冻结其它未流入市场的代币。慢雾提醒Nuls节点相关运营方,及时升级节点,避免攻击事件进一步扩大。[2019/12/23]

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地址是否为项目方白名单中的地址;并且在借贷时,并未对抵押记录的状态进行检测,导致攻击者反复使用无效的抵押记录进行借贷。

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合约进行审计也是非常有必要的。

Beosin

企业专栏

阅读更多

金色早8点

财经法学

PANews

Bress

链捕手

Odaily星球日报

标签:NFTCOINCOIOINNFTGamingStarsCoin Guardianchatcoin币最新消息Zynecoin

欧易交易所app官网下载热门资讯
数字资产行业的内驱力探讨与演进逻辑分析

撰文:Frank Fan,Arcane 基金合伙人、Arcane Labs 创始人 数字资产行业经历十多年的发展,从一个少部分极客和理想主义人群的社会实践,经历几轮的跌宕起伏.

1900/1/1 0:00:00
过于超前引发不适 音乐类NFT怎么玩儿?

转自:老雅痞 NFT市场仍然低迷,主要原因还是场内资金太少了。PFP和艺术类的项目我们讲过很多,但很少会讲到音乐类的NFT项目,甚至现在还没有一个音乐类的NFT项目能成发展起来,这到底是什么原因?首先,这有一定的幸存者偏差成分在里面.

1900/1/1 0:00:00
DeFi 聚合池如何扩展现有 L1 项目?

DeFi 的初始价值观是关于金融包容性和开放性。但随着 Gas 价格上涨,DeFi 慢慢变成了巨鲸的游戏。L1 池(比如 YFI 的机池)因便宜、简单而有效扩展 DeFi。尽管如此,在 L1 的池子上存款、取款和调整资金仍然很昂贵.

1900/1/1 0:00:00
“相信真主 也得拴牢骆驼”:借贷的第一性原理

本篇内容是根据AMA10中对NFT借贷的讨论衍生出来的一篇小总结。 Camel by Elle Sun (2020)?一位虔诚的信徒来听先知讲道。他全情投入,牢记先知的每一句道,直到众信徒都散去,才最后一个离开.

1900/1/1 0:00:00
除了以太坊合并 现在还有什么令人兴奋的加密叙事?

以下是当前加密货币领域中所有令人兴奋事情的快速备忘单。原文:《Top Narratives & Catalysts to Watch》by Onchain Wizard 编辑:Kyle 如果你没有时间花一整天的时间研究加密推特.

1900/1/1 0:00:00
应用 VS 基础设施 Web3 的下一个 Alpha 在哪儿

投 Web3 应用还是投基础设施,一级市场还有余粮的老板们有此般烦恼。不同的认知与选择分叉出一条十字路口.

1900/1/1 0:00:00