宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 比特币 > 正文

慢雾:Furucombo被黑分析

作者:

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

著名DeFi项目Furucombo被黑,损失超1500万美元。慢雾安全团队第一时间介入分析,并将攻击细节分享给大家。

攻击细节分析

本次发生问题的合约在Furucombo本身的代理合约当中。整个攻击流程很简单。攻击者通过设置了Furucombo的AaveV2Proxy的逻辑地址导致后续通过Furucombo代理合约调用的逻辑全部转发到攻击者自己的恶意合约上,导致任意资金被盗。

但是如果事情那么简单,那么本次分析不值一提。问题远比想象的复杂得多。

如上图所示攻击者的入口在Furucombo的batchExec函数,我们先对batchExec函数进行分析:

6,568,255 MATIC从Kraken转移到Bitfinex:金色财经报道,据Whale Alert监测数据显示,北京时间2023年2月26日06:29,6,568,255 MATIC(价值约8,043,921 美元)从Kraken转移到Bitfinex。[2023/2/26 12:29:59]

以上是FurucomboProxy合约的batchExec函数的具体实现,其中_preProcess和_postProcess合约分别是对调用前后做一些数据上的处理,不涉及具体的调用逻辑,这边可以先忽略。我们主要观察核心的_execs函数:

通过对execs代码的分析不难发现,函数的主要逻辑是对configs数组的数据做检查,并根据configs数组的数据对data进行一些处理。但是回顾上文中攻击者的调用数据,不难发现攻击者的调用数据中,configs的数据是一个0地址:

铃木旗下Maruti Suzuki推出元宇宙平台ArenaVerse:金色财经报道,汽车制造商铃木旗下Maruti Suzuki India Limited(MSIL)宣布推出元宇宙平台ArenaVerse,用户将能够通过 ArenaVerse 选择 Maruti Suzuki 车辆,沉浸在交互式虚拟体验中。该平台还可以加强为潜在客户提供更具互动性和身临其境的零售体验,消费者还可以与汽车销售代表进行数字互动并在 ArenaVerse 中配置汽车,据悉ArenaVerse 网络版将通过网络浏览器提供。(carwale)[2023/1/2 22:20:17]

这里有一个trick,由于?0地址是一个EOA地址,所有对EOA地址的函数调用都会成功,但是不会返回任何结果。结合这个trick,execs函数中的关于configs数据的部分可以先暂时忽略。直接看到最后的核心_exec函数:

Hop Protocol启动100万枚OP返利计划:9月23日消息,跨链协议Hop Protocol宣布启动100万枚OP返利计划,每次转入Optimism都将获得以OP代币支付的80%的费用折扣,单次跨链的返利上限为20OP。目前Hop Protocol还未设置奖励结束日期,至少会持续几个月。[2022/9/23 7:16:10]

_exec函数的逻辑也很简单,在校验了_to地址后,直接就将data转发到指定的_to地址上了。而通过对攻击交易的分析,我们能发现这个_to地址确实是官方指定的合法地址。

最后一步,便是调用_to地址,也就是官方指定的AaveV2Proxy合约的initialize函数,将攻击者自己的恶意地址设置成AaveV2Proxy合约的逻辑地址。通过对Furucombo合约的分析,可以发现整个调用流程上没有出现严重的安全点,对调用的地址也进行了白名单的检查。那么问题只能是出在了对应要调用的代理逻辑上,也就是AaveV2Proxy合约。

Okay Bear成为Solana链上美元交易额第一大NFT系列:7月10日消息,据 CryptoSlam 数据显示,Okay Bear NFT 交易总额已突破 2 亿美元,超越 Solana Monkey Business 成为 Solana 链上美元交易额第一大 NFT 系列,当前 Okay Bear 交易额为 219,599,745 美元,交易量为 34,221 笔;Solana Monkey Business 交易额为 198,739,108 美元,交易量为 11,027 笔。[2022/7/10 2:03:02]

我们直接分析AaveV2Proxy合约的initialize函数的逻辑:

可以看到initialize函数是一个public函数,并在开头就检查了_implementation是否是0地址,如果是0地址,则抛出错误。这个检查的目的其实就是检查了_implementation是否被设置了,如果被设置了,就无法再次设置。根据这个设置,不难想出initialize这个函数只能调用一次。除非AaveV2Proxy从来没有设置过_implementation,否则这个调用是不会成功的。难道Furucombo真的没有设置过对应的_implementation吗?带着这样的疑问,我们检查了交易内的状态变化。如下:

可以看到,交易中改变了存储位置为0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc的内容,而写入的内容正是攻击者自己的恶意合约地址?0x86765dde9304bea32f65330d266155c4fa0c4f04。

而?0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc这个位置,正是_implementation数据的存储地址。

也就是说,官方从来没有设置过?AaveV2Proxy合约的_implementation地址,导致攻击者钻了这个空子,造成了Furucombo资产损失。

总结

通过对整个事件的分析来看,Furucombo此次事故并不在安全漏洞的范畴内,主要的原因在于官方将未启用的?AaveV2Proxy合约添加进了自己的白名单中,并且未对AaveV2Proxy合约进行初始化,导致攻击者有机可乘。

建议

目前,由于Furucombo遭受攻击,导致任何将代币授权过给Furucombo合约(0x17e8ca1b4798b97602895f63206afcd1fc90ca5f)的用户都将面临资金损失的风险。

慢雾安全团队建议与Furucombo交互过的用户检查是否有将相关代币授权给Furucombo合约。如有授权,应及时撤销相关授权,避免进一步损失。

来源:金色财经

标签:PROFURCOMBOUCOMaverick ProtocolCenfura Tokencombo币暴跌kucoin交易平台靠谱吗

比特币热门资讯
币圈量化机器人背后的秘密

很多小伙伴可能都听说过量化交易,一般都会与财富翻倍、高深莫测、人生巅峰都词汇挂钩。还有什么“把期货的量化技术拿过来,在币圈躺赚”,总的来说,各种牛叉.

1900/1/1 0:00:00
ETH早间短期行情分析

???对于趋势投资者来说:市场都是正确的,就看你能否把握。对于价值投资者来说:市场都是错误的,就看你能否发现。?????从1小时行情趋势来看,K线上涨到布林带上轨,无法突破压力位后,一路反弹,下跌尝试突破布林带下轨,反复震荡.

1900/1/1 0:00:00
李币胜:比特币震荡走低支撑摇摇欲坠反弹做空

比特币,早盘试探45000关口受到支撑小幅回暖,反弹46600一带震荡承压难以上冲,后续盘面保持回落,午间币价还是未能守住45000关口,目前币价跌破支撑小幅回暖,整体盘面来看,整体形态还是偏向于空头,后续思路上我们顺势做空即可.

1900/1/1 0:00:00
状元论币:2月27日比特币行情分析 BTC宽幅震荡,或将有变

当你感到悲哀痛苦时,最好是去学些什么东西。学习会使你永远立于不败之地。穷不一定思变,应该是思富思变。 行情回顾: 昨日BTC在跌破4700-48000的支撑区间后持续下跌,最低跌至44111点后才开始反弹.

1900/1/1 0:00:00
Gas超标 矿池抵制 以太坊困局何时破?

近两个月来,新一轮DeFi热潮涌起,以太坊链上拥堵加剧,在Uniswap做一笔交易消耗的Gas费达到20~200多美元.

1900/1/1 0:00:00
海大叔:比特币价格弱势下行 以太坊低位整理

很现实的一段话:别喊穷,没人给你钱;别喊累,没人会帮你做;别想哭,大家不在乎;别认输,没人希望你赢;别靠人,只有自己最可靠;别乞求,别人等着看笑话;别落魄,一堆人等着落井下石;别低头,地上没有黄金只有石头!越努力,越幸运.

1900/1/1 0:00:00