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。
报告:2022年Q3区块链领域主要攻击事件超37起,总损失约4亿504万美元:金色财经报道,据Beosin的2022年Q3全球区块链生态安全报告,2022年第三季度共监测到区块链生态领域主要攻击事件超37起,总损失约4亿504万美元,较今年第二季度的7亿1834万美元下降约43.6%。较去年第三季度同期损失(10亿零258万美元)下降约59.6%。2022年1-9月,区块链生态领域因攻击事件损失的总金额已达约23亿1791万美元。
从时间上来看,7月攻击事件大幅减少,为2022年以来攻击损失金额最少的一个月。8、9月黑客活跃程度大幅增加。
从被攻击项目类型来看,92%的损失金额来自跨链桥和DeFi项目。37起攻击里,DeFi项目占了22次。
从链平台来看,Q3季度Ethereum上损失金额达3亿7428万美元,占到总损失的92%。被攻击频率最高的链为BNB Chain,达到了16次。
从攻击手法来看,92%的损失金额源于合约漏洞利用和私钥泄露。
从资金流向来看,约2亿420万美元的被盗资金流入了Tornado Cash,占该季度被盗资金的约50.4%。本季度仅有约4%的被盗资金被追回。
从审计情况来看,被攻击的项目中,仅有40%的项目经过了审计。[2022/10/28 11:51:47]
#2事件具体分析
Celsius在与Tether资金清算时损失约1亿美金:金色财经消息,英国金融时报记者kadhim发推文称,根据Celsius自愿重组申请文件,Tether向Celsius提供了8.41亿美金的贷款。而在清算时,Celsius产生约1亿美元(9700万美元)的损失。[2022/7/15 2:14:47]
攻击交易为:
https://etherscan.io/tx/0x69272d8c84d67d1da2f6425b339192fa472898dce936f24818fda415c1c1ff3f
安全团队:MEV bot以太坊上地址遭到恶意利用,损失约1.6万美元:金色财经消息,据CertiK安全团队监测,北京时间2022年5月25日9:58:59,MEV bot以太坊上0x85e5c6cffd260a7f153b1f34b36f6dbeba3e279e地址遭到恶意利用,导致了价值约1.6万美元的资产损失。[2022/5/25 3:40:35]
攻击手法大致如下:
1.部署攻击合约
0x10c509aa9ab291c76c45414e7cdbd375e1d5ace8;
跨链协议Wormhole遭攻击被盗12万枚wETH,损失约合3.2亿美元:2月3日消息,跨链协议Wormhole遭到黑客攻击,损失达12万枚wETH(约合3.2亿美元)。黑客攻击发生在UTC时间2月2日下午6点24分,攻击者在Solana上铸造了12万枚wETH(WETH),然后在UTC时间下午6点28分将93750枚wETH兑换为价值2.54亿美元的ETH到以太坊网络。
此后,黑客用一些资金购买了SportX(SX)、Meta Capital(MCAP)、Finally Usable Crypto Karma(FUCK)和Bored Ape Yacht Club Token(APE)。其余的WETH在Solana上被兑换为SOL和USDC。黑客的Solana钱包目前持有432662枚SOL(价值4400万美元)。
目前还没有由Wormhole提供服务的其他资产或区块链报告称受到影响,但智能合约审计公司Certik在今天的一份报告中说,“有可能Wormhole到Terra区块链的桥接也有相同的漏洞。”Wormhole已因紧急维护停止服务,目前正在通过以太坊网络联系黑客,提出如果归还其余被盗资金,黑客可以保留其中价值1000万美元的资金。
此外,据官方最新消息,目前该漏洞已经修复,团队正在努力尽快恢复网络。Wormhole团队已经向社区保证,其ETH的供应将得到补充,以“确保wETH得到1:1的支持”,但目前还未公布有关资金来源以及补充时间的进一步信息。(BTC Debate)[2022/2/3 9:28:45]
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合约。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。