木星链 木星链
Ctrl+D收藏木星链

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

作者:

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

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

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

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

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

安全团队:元宇宙项目Quint近日遭黑客攻击,损失13万美元:7月1日消息,据成都链安安全舆情监控数据显示,元宇宙项目Quint在6月29日遭黑客攻击,损失13万美元。黑客地址如下:0x82f42c1172ff2dab3129045de05cde0ca8c87fca、0xcBd00C9A86f3BfD4441693E0D23F5026A648117F、0xa59D3d8911DbC3Ba7c56A2Bc35c22Cbef759992d。[2022/7/1 1:44:16]

上半年NFT典型安全事件?

TreasureDAO事件

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

白帽黑客帮助MetaMask网络钓鱼攻击受害者收回11.7万美元加密货币:一位MetaMask用户遭遇网络钓鱼攻击,无意中将其私钥交给了子。一名白帽黑客成功挽救该用户钱包(持有24万美元资金)的一半资金。

Reddit用户“007happyguy”被引导填写Whitehat热线表格,并发布其详细信息。表格的另一端是一些白帽黑客。这是一项临时服务,如果有空的话,开发者可以选择回应请求。前ZenGo区块链研究员Alex Manuskin回应了请求。Manuskin做的第一件事是核实该Reddit用户拥有的钱包,并且确认其没有试图获取其他人的资金。此时他必须通过索要私钥来访问钱包。然后他确保子不能再从钱包转移走资金。为了在以太坊进行交易,用户需要一些ETH来支付交易费用。因此,他确保任何发送至该钱包的ETH都会被自动发送出去。

为了拯救剩余资金,Manuskin使用了Flashbots,这是一种支持开发人员和矿工之间通信的服务。简而言之,开发人员可以使用Flashbots向矿工发送一个交易“包”,直接包含在一个区块中,而不是向网络广播交易。

之所以有效是有两个原因。这种情况的主要原因是,如果钱包里没有任何ETH,任何零交易费用的交易都不会被任何矿工打包。使用Flashbots的情况是,进行了一项复杂的交易,将资金转移到另一个钱包,并一次性使用其他资金支付给矿工。第二个原因是它更隐蔽。如果任何交易被广播到公共网络上,者就有机会抢先交易。

Manuskin解释说,编写定制脚本和执行交易大约需要5-6个小时。时间的长短取决于交易的复杂性以及他以前是否经历过类似的情况。在子开始转移钱包资金后,Manuskin设法从钱包剩下的12万美元代币中挽救了大约11.7万美元。(The Block)[2021/7/18 0:59:49]

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

深夜脱口秀节目主持人嘲讽黑客要求受害者支付BTC是愚蠢的想法:近日,美国CBS深夜脱口秀节目The Late Show主持人Stephen Colbert引用Vice最近的报道,报道称黑客要求受害者支付BTC解锁其与互联网相连的贞操带。Colbert嘲讽道,“用比特币付钱?这是我听到的第二个愚蠢的想法。”他暗示第一个愚蠢的想法是有人将贞操带联网并且被黑了。

早在2013年4月,当比特币价格在50-300美元之间波动时,他就曾在脱口秀中提及加密货币。当时这位Colbert Report主持人似乎同意华尔街分析师Nick Colas对加密货币的评价,称之为“书呆子的黄金”。Colbert称,“比特币加入了Camel Cash和欧元等虚构货币的丰富传统。比特币之所以有价值,仅仅是因为互联网上的一帮人都认为它有价值。如果你不知道比特币是什么……想买点比特币吗?不?你确定?”(Cointelegraph)[2021/1/15 16:14:53]

漏洞原因:逻辑漏洞

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

黑客利用虚假的新型冠状病地图传播恶意软件:在线安全研究人员警告,黑客发现了另一种利用新型冠状病爆发的方法——通过恶意新型冠状病地图感染人们。许多组织已经创建新型冠状病地图来跟踪病及其传播,许多人依靠它们来跟踪最新的感染数字。来自Reason Labs的Shai Alfasi最近报告称,黑客正在制作此类地图和仪表盘的假版本,以窃取信息。他们需要的数据包括密码和用户名、信用卡号码以及他们可以收集的任何其他敏感数据。虽然真正的地图在用户进入网站时就能提供信息,但这些假地图需要用户下载一个应用程序,帮助他们跟踪新的进展。但是,即使用户不安装应用程序,也可能受到感染。据目前所知,这些恶意软件似乎只会影响Windows设备,不过专家认为,其他系统也会受到感染只是时间问题。同时,Alfasi表示,假的新型冠状病地图使用恶意软件AZORult感染用户的设备。他补充说,该恶意软件激活了其他恶意软件。它就像一个信息窃贼,从2016年就开始存在了。除了窃取敏感数据外,它还可以在受感染的设备上安装其他恶意软件。他还指出,这些恶意软件在俄罗斯地下网络论坛中最为常见。(Beincrypto)[2020/3/18]

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

动态 | 黑客冒充加密货币聊天小组成员,窃取用户密码:据英国SC媒体报道称,安全研究人员发现了MacOS恶意软件攻击,目标是谈论加密货币的Slack和Discord用户。这些攻击通过模仿加密货币相关聊天工具中的管理员或“关键人物”,然后分享给用户下载并执行恶意二进制文件的“小片段”。英国SC媒体公司指出,这些恶意软件可以窃取用户的密码。[2018/7/3]

APECoin空投事件

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

漏洞原因:逻辑漏洞

该漏洞存在于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合约进行审计也是非常有必要的。

标签:NFTNCEFNFANCzkNFTexNew Chance TokenFNF币Dogepad Finance

币赢交易所热门资讯
区块链:金色晚报 | 9月1日晚间重要动态一览

12:00-21:00关键词:币安、赵长鹏、Solid、印尼、Celsius1.美国联邦检察官曾在2020年要求币安提供有关其反检查的内部记录;2.

1900/1/1 0:00:00
ROO:金色观察|Moonbirds母公司发布未来规划 a16z解释为何领投5000万

2022年8月30日,蓝筹NFTMoonbirds和PROOFCollective背后母公司PROOF举办了FuturePROOF社区直播活动.

1900/1/1 0:00:00
EFI:探究 DeFi 在现代金融体系中的位置

我们永远要先知道自己当下的位置,才能知道与理想的距离。原文标题:《DeFi在现代金融体系中的位置--2022》撰文:KoiDeFi是我入圈的最大原因,作为一个自由主义者,看到像AMM这种创新,能.

1900/1/1 0:00:00
区块链:如何领取你的第一枚灵魂绑定代币BAB?

今日币安发布公告称,已于北京时间9月8日17:00正式推出灵魂绑定代币BAB,BAB将作为已完成KYC用户的身份证明,用户可以在?BNBChain上铸造BAB代币作为身份凭证.

1900/1/1 0:00:00
DIE:一览 a16z 投资失败的项目:OpenBazaar、Diem、Basis 和 BitClout

a16z已为加密空间分配了数十亿美元,但并非该基金的所有投资都取得了成功。原文标题:《a16z投资的那些失败项目》撰文:TimothyCraig编译:老雅痞 JoePugliese和ArtitW.

1900/1/1 0:00:00
加密货币:加密原生消费产品的未来:Web3 数字身份如何发挥实际作用

如果你有一个朋友通过Bumble,马上要进行第一次约会。她通常会说,"我已经在网上查过了,他们在大学时是足球校队的成员,在一家初创公司工作,有一只非常可爱的拉布拉多犬,名叫Dusty,7个月前在.

1900/1/1 0:00:00