损失700万美元的Hundred Finance,为何再次成为黑客的“提款机”?

Beosin
Beosin 机构得得号

Apr 16, 2023 Beosin是总部位于新加坡的全球知名区块链安全公司,为区块链生态提供代码安全审计,安全风险监控、预警与阻断,虚拟资产被盗追回,KYT/AML等“一站式”安全产品+服务,已为全球2000多个区块链企业服务,保护客户资产5000多亿美元。

摘要: 跟着Beosin安全团队看看黑客是如何攻陷Hundred Finance的防线的。

2023年4月15日,据Beosin-Eagle Eye态势感知平台消息,Optimism链上的Hundred Finance项目遭受黑客闪电贷攻击,项目方损失超7百万美元。据了解,Hundred Finance 是一个去中心化应用程序 (dApp),支持加密货币的借贷,是一种多链协议,在攻击发生之后,其相关代币HND也下跌超过50%。

其实,这不是该项目第一次被攻击,在2022年也遭受黑客攻击,区别点是上次黑客是利用重入攻击,这一次黑客却换了另一种方式。跟着Beosin安全团队看看黑客是如何攻陷Hundred Finance的防线的。

攻击交易
Optimism:0x15096dc6a59cff26e0bd22eaf7e3a60125dcec687580383488b7b5dd2aceea930x6e9ebcdebbabda04fa9f2e3bc21ea8b2e4fb4bf4f4670cb8483e2f0b2604f451攻击者地址0x155da45d374a286d383839b1ef27567a15e67528攻击合约0x284abd14f54125064b7bcc3b9be84931fa5c9aac0x978d0ce23869ec666bfde9868a8514f3d2754982被攻击合约0x7100cbca885905f922a19006cf7fd5d0e1bbb26c

攻击流程


我们以其中一笔攻击交易进行分析:0x6e9ebcdebbabda04fa9f2e3bc21ea8b2e4fb4bf4f4670cb8483e2f0b2604f451
1.攻击者首先使用闪电贷借出500个WBTC,然后调用redeem函数赎回之前抵押的0.3个WBTC。
2.然后攻击合约1把500.3个WBTC发送给攻击合约2,攻击合约2使用其中的4个BTC铸造200个hWBTC,随后又调用redeem函数把这4个BTC赎回。
这里有个有趣的地方,攻击者可以通过小于200个的hWBTC赎回之前抵押的4个WBTC,这时候攻击者合约2上还剩余极少部分的hWBTC。
3.随后攻击合约2把500.3个WBTC发送给hWBTC合约,再通过之前剩下的2个hWBTC借出1021.91个ETH。
4.最后攻击合约2通过使用1个hWBTC,偿还了之前借出的债务,取出了合约中的500.3个WBTC。
5.后面攻击者也是采用同样攻击手法,来达到获利。

 

漏洞分析


Beosin安全团队分析发现本次攻击的主要原因是攻击者可以通过向hWBTC合约捐赠大量WBTC来操纵exchangeRate上涨。更进getAccountSnapshot函数,发现exchangeRateMantissa的值依靠合约中的WBTC的数量。  

资金追踪图

 

Beosin KYT反洗钱分析平台已对被盗资金进行相关追踪,资金流向图如下图所示。

 

总结


针对本次事件,Beosin安全团队建议:1. 避免合约的价值计算被外部操控。2. 项目上线前,强烈建议选择专业的安全审计公司进行全面的安全审计,规避安全风险。
Beosin作为一家全球领先的区块链安全公司,在全球10多个国家和地区设立了分部,业务涵盖项目上线前的代码安全审计、项目运行时的安全风险监控、预警与阻断、虚拟货币被盗资产追回、安全合规KYT/AML等“一站式”区块链安全产品+服务,目前已为全球3000多个区块链企业提供安全技术服务,审计智能合约超过3000份,保护客户资产高达5000多亿美元。欢迎点击公众号留言框,与我们联系。

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 Beosin 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信