VISR:损失约820万美元,Visor Finance遭黑客攻击事件全解析

12月21日,链必应-区块链安全态势感知平台舆情监测显示,UniswapV3流动性管理协议VisorFinance于北京时间12月21日晚上10点18分遭受攻击,总损失约为820万美元。关于本次攻击,成都链安技术团队第一时间进行了事件分析。

#1事件概览

2021年12月21日晚VisorFinance官方Twiiter发布通告称vVISR质押合约存在漏洞,发文前已有攻击交易上链。

经过成都链安技术团队分析,攻击者通过恶意合约利用VisorFinance项目的漏洞,伪造了向VisorFinance的抵押挖矿合约(0xc9f27a50f82571c1c8423a42970613b8dbda14ef)存入2亿代币的交易,从而获取了195,249,950vVISR抵押凭证代币。然后再利用抵押凭证,从抵押挖矿合约中取出了8,812,958VISR。

数据:1190万枚CRV转入Aave:7月31日消息,据Whale Alert监测,1190万枚CRV从未知地址转入Aave,价值763万美元。[2023/7/31 16:09:26]

#2事件具体分析

攻击交易为:

https://etherscan.io/tx/0x69272d8c84d67d1da2f6425b339192fa472898dce936f24818fda415c1c1ff3f

攻击手法大致如下:

1.部署攻击合约

滚石乐队将发售40张照片相关数字收藏品:4月8日消息,滚石乐队(Rolling Stones)将于下周向粉丝发售与40张独特复古照片及与这些照片相关的NFT,照片集将展示20世纪60年代至90年代各种巡回演出中捕捉到的历史时刻。

但管理该NFT发售的公司OneOf和Globe Entertainment遵循最近的趋势,即在推出针对主流消费者的数字收藏品系列时避免使用NFT术语,其使用真实性数字证书(DCOA)作为首选术语。(The Block)[2023/4/8 13:51:49]

0x10c509aa9ab291c76c45414e7cdbd375e1d5ace8;

SBF将会参与美众议院的相关听证会,但未承诺具体日期:12月5日消息,FTX前首席执行官Sam Bankman-Fried(SBF)发推表示,“一旦我完成学习和回顾发生的事情,我会觉得我有责任出现在众议员金融委员会面前并解释。我不确定这会在13日发生,但当它发生时,我会参与作证。”

此前报道,美国众议院金融服务委员会将于12月13日举办名为“调查FTX的崩溃,第一部分”(Investigating the Collapse of FTX,PartI)的听证会,预计将包括FTX崩溃如何影响更广泛的数字资产行业的具体细节。[2022/12/5 21:23:03]

2.通过攻击合约调用VisorFinance项目的抵押挖矿合约deposit函数,并指定存入代币数量visrDeposit为1亿枚,from为攻击合约,to为攻击者地址

Gnosis联创:编写软件是言论自由的体现,技术是中立的:8月13日消息,Gnosis 联合创始人 Stefan George 在社交媒体上发文表示,Tornado Cash 开发者被捕一事让其想到了 PGP(优良保密协议)的发明者菲尔·齐默尔曼,齐默尔曼曾在美国被指控违反相关法律而被调查三年,但最终并为被起诉。Tornado Cash 团队为以太坊带来了急需的隐私。希望每个人都能再次认识到,编写软件是言论自由的一种体现形式,而技术是中立的。在去中心化的领域中的某些地方仍然过于中心化且容易受到审查,我们必须让监管机构和公众相信我们正在建设的东西是有益的。[2022/8/13 12:23:04]

0x8efab89b497b887cdaa2fb08ff71e4b3827774b2;

3.在第53行,计算出抵押凭证shares的数量为97,624,975vVISR.

4.由于from是攻击合约,deposit函数执行第56-59行的if分支,并调用攻击合约的指定函数;

第57行,调用攻击合约的owner函数,攻击合约只要设置返回值为攻击合约地址,就能够通过第57行的检查;

第58行,调用攻击合约的delegatedTransferERC20函数,这里攻击合约进行了重入,再次调用抵押挖矿合约的deposit函数,参数不变,因此抵押挖矿合约再次执行第3步的过程;

第二次执行到第58行时,攻击合约直接不做任何操作;

5.由于重入,抵押挖矿合约向攻击者发放了两次数量为97,624,975vVISR的抵押凭证,总共的抵押凭据数量为195,249,950vVISR。

6.提现

攻击者通过一笔withdraw交易

,将195,249,950vVISR兑换为8,812,958VISR,当时抵押挖矿合约中共有9,219,200VISR。

7.通过UniswapV2,攻击者将5,200,000VISR兑换为了WETH,兑换操作将UniswapV2中ETH/VISR交易对的ETH流动性几乎全部兑空,随后攻击者将获得的133ETH发送到Tornado。

#3事件复盘

本次攻击利用了VisorFinance项目抵押挖矿合约RewardsHypervisor的两个漏洞:

1.call调用未对目标合约进行限制,攻击者可以调用任意合约,并接管了抵押挖矿合约的执行流程;<-主要漏洞,造成本次攻击的根本原因。

2.函数未做防重入攻击;<-次要漏洞,导致了抵押凭证数量计算错误,不是本次攻击的主要利用点,不过也可凭此漏洞单独发起攻击。

针对这两个问题,成都链安在此建议开发者应做好下面两方面防护措施:

1.进行外部合约调用时,建议增加白名单,禁止任意的合约调用,特别是能够控制合约执行流程的关键合约调用;

2.函数做好防重入,推荐使用openzeppelin的ReentrancyGuard合约。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

币赢IVO:吴说每周矿业资讯 1220-1226

1、12月23日北美矿企Marathon宣布与比特大陆签订合同,购买创纪录数量的ANTMINERS19XP比特币矿机,预计所有新购买的矿机将在2022年7月至2022年12月期间发货.

[0:0ms0-0:980ms