本文为社区投稿。作者为整体区块链安全公司Salus Security的智能合约审计师Zhangchi Qin。
本文的观点是投稿人/作者的观点,未必反应币安学院的观点。
摘要:
GameFi项目面临的安全挑战大致可以归类为链上和链下问题。
链上安全挑战主要涉及ERC-20代币和NFT的管理、跨链桥的安全以及去中心化自治组织(DAO)的治理。
而链下挑战则通常与网络接口和服务器有关。
GameFi项目应优先考虑安全防护措施,例如严格审计、漏洞扫描和渗透测试,并实施最佳运营实践和业务控制。
GameFi将区块链技术与游戏相结合,创建出以游戏内资产和数字货币为特色的去中心化平台。它通常采用边玩边赚(P2E)模式,让玩家可以获得加密货币奖励。GameFi还能赋予游戏玩家真正的所有权和对游戏内资产的完全控制权。
尽管GameFi越来越受欢迎,但它在整个生命周期中都会面临来自黑客的持续而严重的威胁。有些项目可能更看重速度(而不是质量),因此缺乏健全的安全预防措施,这往往会使社区和创作者都面临重大损失的风险。
GameFi在2021年经历了可观的增长,其P2E模式为玩家提供了新的游戏内增收机会。2022年,边动边赚(move-to-earn)进一步凸显了GameFi的增长潜力。GameFi是2022年加密货币的头部行业,约占行业总资金的9.5%,同比增长超过118%。
GameFi与传统游戏不同,因为用户面临的风险更大,任何黑客攻击都可能会带来重大损失。在极端情况下,安全漏洞可能会导致项目终止。
例如,2022年,攻击者利用远程过程调用(RPC)节点中的后门,获取GameFi项目Axie Infinity的签名,从而可以进行未经授权的提款,盗走了总额近6亿美元的ETH。GameFi项目中的任何漏洞都可能给投资者和玩家造成巨大损失,这更凸显了GameFi安全的至关重要。
在GameFi项目中,ERC-20代币经常用作游戏内购买的虚拟货币、玩家奖励机制和交换手段。
ERC-20代币的铸造和管理不当可能会带来安全风险。在铸造过程中可能会出现一种称为“可重入性”的常见漏洞。攻击者可以利用合约中的逻辑漏洞,重复执行特定功能,从而无限铸造代币。
作为通用的游戏内货币,ERC-20代币的稳定性和数量决定了游戏的可玩性和可持续性。因此,项目应保证代码逻辑并严格控制ERC-20代币的总供应量。
P2E GameFi项目DeFi Kingdoms就在2022年遭到了恶意ERC-20铸币的攻击。一些玩家利用逻辑漏洞铸造了游戏的锁定原生代币,导致代币价格随后暴跌。
NFT主要用作GameFi项目中的游戏内虚拟资产,包括装备、道具和纪念品。它们可为玩家提供明确的所有权,并可以通过控制通货膨胀和稀缺来维持稳定的价值。但是,不当使用NFT可能会引入安全漏洞。
装备或道具的稀有度会反映在NFT的价值上,玩家通常会寻找最稀有的NFT。在NFT铸造过程中,诸如时间戳之类的区块相关信息可能被用作生成不同稀有度级别的NFT的弱随机来源。矿工可以在某种程度上操纵区块时间戳,从而恶意铸造更罕见的NFT。
即使是可靠的随机性来源,例如Chainlink VRF(可验证随机函数),也不能消除所有风险。恶意用户可以在铸造出不需要的NFT代币ID时撤消操作,然后一直重复该过程,直到铸造出稀有的NFT。
当玩家交易和转移NFT时,可能会出现潜在的智能合约漏洞。例如,函数safeTransfrom ()是用于转移ERC-721 NFT。当接收方是合约地址时,将触发函数onerc721Reaceived ()进行回调。还有重入攻击的潜在风险,攻击者可以在erc721Reaceived ()上决定函数中的逻辑。
ERC-1155 NFT中也有这种风险,即函数safeTransform ()触发函数onerc1155Received ()并允许攻击者进行重入攻击。
GameFi中会使用跨链桥来允许用户通过不同的网络交换游戏内资产。它们对于增强GameFi的体验和流动性也至关重要。
GameFi中跨链桥的一个主要风险来自游戏内资产之间的不一致。跨链桥两边的合约应保证接受和销毁的资产数量相同。但是,由于合约的验证和结账存在漏洞,攻击者就可以入侵合约,凭空创建大量资产。
许多GameFi项目都由DAO管理,如果大多数治理代币归少数大型参与者所有,这可能会带来中心化风险。定义DAO治理规则的智能合约为潜在的风险开辟了另一个豁口,因为攻击者可以找到访问DAO库的方法。
大多数GameFi项目的的后端运维、网络接口或移动应用仍然依赖链下中心化服务器。这些服务器会存储关键信息,包括游戏数据和所有者账户,它们容易受到渗透和木马恶意软件等恶意攻击。
NFT的元数据包含重要的描述性信息,并作为JSON文件存储在链外。但是,许多GameFi项目将其NFT元数据存储在自己的中心化服务器上,而不是使用IPFS等去中心化基础设施。这增加了相关方或攻击者篡改元数据的可能性,从而可能会侵犯玩家的权利。
在使用跨链桥的情况下,攻击者可以通过渗透或网络钓鱼攻击获取验证者的签名或私钥。他们可以破坏基础架构并利用漏洞来控制游戏内资产。
在数据传输过程中,攻击者可能会劫持网络数据包并注入恶意代码。通过修改数据包,攻击者可以实现虚假充值,并篡改单位购买金额获得更多游戏道具。
前端接口也为攻击者提供了另一种恶意渗透系统的途径。如果某款游戏的排行榜出现信息泄露,攻击者可以将泄露的地址相关信息发送到服务器,以获取相应的敏感信息。
要保护GameFi项目,一定要在每个阶段都要谨慎行事。确保完美无缺的智能合约代码是GameFi项目成功的基础——这涉及编写高质量的代码、进行定期审计以及使用正式的智能合约验证。
维护服务器和其他基础架构组件的安全性也至关重要;应该进行渗透测试,及时检测可能的漏洞。使用DApp和基于区块链的系统进行渗透测试时,可以利用Web3功能。因此,必须对数字钱包和去中心化协议采取特定的预防措施。
GameFi项目还应遵循其他最佳实践,包括安全的运行时流程和完整的应急响应。前者涉及监控触发的安全事件、强化环境安全以及发布漏洞赏金计划。
同时,项目必须制定完整的应急响应流程,包括止损处置、攻击跟踪和问题分析等方面。
GameFi的安全漏洞其实不局限于本文中提到的漏洞,许多事件表明,很多项目都忽略或淡化了安全风险。GameFi是未来游戏业态的重要组成部分。因此,各个项目应始终关注安全问题,将社区的利益放在首位。
GameFi的概念及其运作原理
NFT游戏概念及其运行原理简介
什么是智能合约安全审计?
免责声明与风险提示:本文内容按“原样”提供,仅作一般资讯及教育用途,不构成任何陈述或保证。本文不应被理解为财务、法律或其他专业建议,且未推荐您购买任何特定产品或服务。如需投资咨询,请寻求专业意见。如果文章是由第三方贡献者提供的,请注意:这些观点属于第三方贡献者,不一定反映币安学院的观点。欲知详情,请点击此处参阅我们的《免责声明》全文。数字资产价格可能会发生波动。您的投资价值可能会下跌或上涨,且您可能无法收回投资本金。您对自己的投资决策全权负责,币安对您可能遭受的任何损失概不负责。本文所有内容均不构成财务、法律或其他专业建议。如需其他信息,请参阅我们的《使用条款》和《风险提示》。