最近一段时间,Web3.0不断“刷屏”,NFT疯狂“出圈”,有人撸空投,有人搞收藏,有人说,NFT的爆炸性增长正在推动Web3.0的发展。
Web1.0到Web2.0实现了内容的消费者向内容生产者的转变,其本质是进行了一次从物理世界向网络世界的平行时空的大迁徙,当我们畅谈Web3.0的发展时,不得不进一步提到关于区块链,因为区块链的去中心化、去信任和防篡改的特性很好的对标了Web3.0的目标——创造新一代互联网,让每个用户掌握自己的数据、身份和命运。
Web3.0基于区块链而存在,承诺将隐私和数字身份还给用户,同时由于NFT等的应用,实现了新的互动水平。但我们更需要的是Web3.0热潮下NFT的诸多“危险”与“隐患”,最近NFT领域随处可见的“黑客事件”也证明了我们需要将“安全”放在第一位。
咨询公司CyberMedia:元宇宙可能会带来新的网络风险:金色财经报道,咨询公司CyberMedia Research的行业情报小组负责人Prabhu Ram表示,由于元宇宙的轮廓和潜力尚未完全实现,对元宇宙隐私和安全问题的公开担忧仍然仅限于少数‘技术意识的公司。随着新的攻击向量的出现,它们将需要对当今的安全范式进行根本性的调整,以识别、验证和保护元宇宙。(CNBC)[2022/3/23 14:12:24]
近期发生了哪些NFT合约安全事件?
4月21日,NBA的NFT项目合约遭受攻击,攻击者利用了签名未验证,在合约代码中,vDatamemory参数info在传入函数中未进行验证导致签名可复用,攻击者可以通过使用其他人的签名来进行Mint,导致项目方被疯狂“薅羊毛”。
元宇宙相关加密资产总市值为264.76亿美元:金色财经报道,据coinmarketcap数据显示,元宇宙相关加密资产总市值为264.76亿美元,24小时涨幅为5.18%,24小时交易额约44.24亿美元。当前市值排名前五的元宇宙通证分别是:Decentraland(50.56亿美元)、TheSandbox(37.02亿美元)、AxieInfinity(32.31亿美元)、THETA(29.28亿美元)和EnjinCoin(15.81亿美元)。[2022/2/1 9:26:34]
而在4月23日,NFT项目Akutar惊现低级漏洞,它的AkuAuction合约由于智能合约本身漏洞,导致11539ETH被锁死在合约中。经成都链安技术团队分析,发现Akutar项目的智能合约包含2个漏洞:
基金人士:元宇宙目前仍处于主题投资阶段 “追新”需要谨慎:11月20日消息,多位基金人士表示,目前事件端持续催化等因素导致“元宇宙”在A股表现较好,各种事件持续为板块加温,而目前这一领域或处于“主题投资”阶段,但中长期具有较高前景,元宇宙符合未来技术进步的大趋势,是一个值得布局的大机遇,其中芯片产业链、云计算、VR/AR、游戏等相关板块被看好,不过,普通投资者“追新”要注意风险,不能盲目。 (中国基金报)[2021/11/21 7:01:46]
第一个合约漏洞在processRefunds中,设计者根据refundProgress计数器进行循环退款,而如果有攻击者此时在fallback中进行revert则会导致后面的人都无法进行退款,这个漏洞被人在链上证明但没有进行攻击利用。
周小川:一个竞争性、多方案的央行数字货币体系更适合中国:11月27日,在北大数字金融研究中心举办的“数字金融创新与经济发展新格局”活动上,周小川进一步厘清了中国央行数字货币(DC/EP)、数字人民币(e-CNY)以及全球央行数字货币(CBDC)之间的关系。周小川表示,DC/EP是一个双层的研发与试点项目计划,并非一个支付产品。DC/EP项目计划里可能包含着若干种可以尝试并推广的支付产品,这些产品最后被命名为e-CNY,即数字人民币。此外,DC/EP与CBDC的开发思路并不相同。比如,在CBDC的设想中,货币所有权和负债责任都归央行,而在DC/EP中,第二层商业机构实际上拥有e-CNY的所有权以及可支付的保证。[2020/12/1 22:46:46]
第二个漏洞在claimProjectFunds中,require语句的totalBids变量应该是bidIndex,这个漏洞使得该判断条件永远失败,导致无法执行后续的提款操作。最终,导致项目方11539ETH(价值约3400万美元)被锁定无法提取。
声音 | 周小川:人民银行目前正在推进的区块链在两个低TPS交易市场的应用:中国人民银行前行长周小川5月份在清华大学五道口金融学院专题讲座中表示,人民银行目前正在推进的区块链在两个低TPS交易市场的应用:一是票据交易,二是信用证融资的交易。信用证融资是相对较小的市场,且交易对手应自行相互了解,没有太大的监管必要性。如果不充分重视并考验新技术的稳定性和可靠性,也会伤及投资者或消费者。比如,虽然比特币自称技术上很牢靠,但还是出了技术缺陷和失误,导致日本的比特币信息被窃取,有些客户的比特币就失踪了。[2019/7/31]
可见关注NFT合约风险,变得越来越紧迫。
NFT合约问题包括哪些?
根据NFTSCAN数据显示,目前全球NFT项目已接近七万个,而且数据还在持续增长中。
数据来源:NFTSCAN
NFT作为Web3.0的底座,它的安全问题对行业发展同样重要,为了护航Web3.0的安全生态,成都链安通过智能合约形式化验证工具链必验对上千个NFT项目进行漏洞扫描,发现NFT常见的合约问题还包括以下几类:
业务逻辑相关问题:
此类问题可能直接导致合约的业务逻辑出错。
漏洞描述:chapterAuctionMinted的值永远为初始值,但是在此处使用的判断条件中,使用了该值进行条件检查。如果在开发期间使用扫描后,开发者可根据扫描结果判断是否是相关逻辑缺失,亦或是冗余代码。
漏洞描述:未检测返回值。在NFT项目中,经常存在有偿铸币的功能,调用者需要将作为铸币手续费的ERC20代币发送到NFT铸币合约中,然后NFT铸币合约为其铸造对应数量的NFT代币。但是部分ERC20合约存在假充值的问题,即转账失败不抛出异常而是返回false,这样就会导致一个问题,攻击者可以利用这点,在未支付手续费的情况下,铸造任意数量的NFT。开发者应根据VaaS扫描结果的建议,检查transferFrom操作的返回值或者使用safeTransferFrom函数进行ERC20代币转账。
代码规范相关问题
此类问题可能不会直接造成业务逻辑出错,但是会影响代码的可读性,造成合约调用时有多余的gas消耗等。同时不规范的代码也容易导致编写时逻辑混乱,有隐藏的逻辑错误的概率更高。
漏洞描述:此处循环的结束条件为curr>=0,而curr为uint导致curr>=0恒满足。此处会导致循环无法正常结束。在扫描中会对这类结果为定值的条件进行告警,用户可以通过提示确认此处逻辑,对条件进行删除或修改。
漏洞描述:此处event中将string类型的数据标记了indexed,该写法会导致在事件结果中无法直接获得对应的string结果。建议用户参考的提示,仅使用indexed修饰固定长度的变量。
研究发现,大多数的NFT合约都没有进行过专业的安全审计,这就存在很大的安全隐患,容易导致攻击事件的发生,造成资产的损失。所以NFT智能合约开发者应具备基本的安全开发意识,了解智能合约开发应注意的安全问题;此外,在合约设计和实现时,注意代码实现的正确性。我们建议开发完成后,可使用对项目进行安全检测。项目上线前,可选择安全审计,规避安全风险。
安全,是区块链技术能够得以长足发展的重要保证,守护Web3.0的安全也变得愈发重要。今天我们所讲的业务逻辑相关问题和代码规范性相关问题,也是智能合约里面常见的问题类型?,后续我们将继续推出NFT相关安全文章,请大家持续关注我们
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。