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

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

#1事件概览

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

IRC与Stellar发展基金会合作,试行数字现金支付系统:金色财经报道,国际救援委员会 (IRC) 与Stellar发展基金会合作,试行由Stellar网络、Circle的USDC、Vibrant和MoneyGram International提供支持的数字现金支付系统,以加密货币快速、敏捷、链上可追溯性和问责制的特性,帮助乌克兰难民和其他受战争影响的人。[2022/12/16 21:47:55]

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

道富银行高管:计划将在2023年对资金和私人资产进行代币化:金色财经报道,道富银行(State Street)负责数字产品开发和创新的副总裁Nicole Olson表示,随着机构继续对加密领域表现出兴趣,代币化仍然是银行业务未来的重中之重。例如,使用分布式账本技术对资金和私人资产进行代币化以提高效率和可访问性是该公司在 2023 年的工作。Olson表示,State Street Digital 打算在今年年底之前提供托管一些“蓝筹”加密资产的能力,例如比特币和以太币,然后再推出其他资产。

Nicole Olson称.,代币化对我来说很令人兴奋,因为道富和客户都有很大的机会参与其中,它广泛地将数字技术添加到那些更传统的资产中,并将它们带入未来”。

截至 6 月 30 日,道富银行托管和管理的资产规模为 42.6 万亿美元,其资产管理部门的资产管理规模约为 3.9 万亿美元。[2022/8/30 12:56:34]

#2事件具体分析

Block、Paxful和Chivo集成比特币闪电网络后使闪电网络用户从10万增至超8000万潜在用户:金色财经消息,据Arcane Research报告,今年早些时候,当Block将闪电网络集成到其流行的Cash App中时,闪电网络的用户群激增,该App拥有超过7000万用户。就在这之前的几个月,2021年9月,比特币市场Paxful将闪电网络集成到其钱包中,萨尔瓦多政府推出了兼容闪电网络的Chivo比特币钱包。Paxful有大约700万用户,Chivo有300万到400万萨尔瓦多人使用(尽管Chivo的使用率在钱包推出后明显下降)。

Arcane Research认为,这三个事件使闪电网络的用户群在短短几个月内从10万用户跃升至8000多万潜在用户。值得注意的是,这些潜在用户中的许多人只能接触到闪电网络,但不一定使用它。尽管如此,支付量随后在2021年第一季度和2022年第一季度之间增加了410%。[2022/8/8 12:08:31]

攻击交易为:

分析师:萨尔瓦多的比特币持仓价值已下跌53%:6月27日消息,加密货币分析师Miles Deutscher发推称,萨尔瓦多的比特币持仓价值已经下跌53%,平均购买价格为45908美元。[2022/6/27 1:33:44]

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

攻击手法大致如下:

1.部署攻击合约

0x10c509aa9ab291c76c45414e7cdbd375e1d5ace8;

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

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合约。

来源:金色财经

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

金星链

[0:15ms0-1:8ms