火星链 火星链
Ctrl+D收藏火星链
首页 > XRP > 正文

COM:Furucombo 究竟为何会遭受攻击?慢雾拆解攻击细节

作者:

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

Furucombo此次事故并不在安全漏洞的范畴内,主要的原因在于官方将未启用的AaveV2Proxy合约添加进了自己的白名单中,并且未对AaveV2Proxy合约进行初始化,导致攻击者有机可乘。与Furucombo交互过的用户应及时撤销相关授权,避免进一步损失。

原文标题:《可避天灾,难免人祸——Furucombo被黑分析》撰文:慢雾安全团队

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

攻击细节分析

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

SushiSwap推出DAO支付流DApp Furo:6月9日消息,SushiSwap 宣布推出 DAO 支付流 DApp Furo,该开源应用允许任何 DAO 自动化其贡献者支付和 Token 释放计划。Furo 以模块化方式构建,允许任何人修改 DApp 以插入现有的 DAO 工具。[2022/6/9 4:14:32]

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

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

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

日漫生成艺术NFT项目Karafuru交易总额突破1亿美元:金色财经报道,据最新数据显示,日漫生成艺术NFT项目Karafuru交易总额突破1亿美元,本文撰写时为 110,852,629 美元,市值达到 4054 万美元,交易总量为12,290 笔。当前 Karafuru 地板价为 2.8 ETH,24 小时上涨 22.53%。Karafuru 由印度尼西亚插画家 Wede (wd.willy)? 创作,该 NFT 项目基于日本动漫文化,拥有 5,555 种色彩至上的生成艺术,拥有超过 1000 种特征组合和 12 个角色库,使每个 NFT 看起来独一无二。[2022/3/6 13:40:33]

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

Bitfury将在日本设立基金用于投资比特币挖矿业务:比特币技术公司Bitfury将于7月成立日本首个基金,用于投资比特币的挖矿业务。此前,日本国内的机构投资者没有办法在加密货币基础设施领域投资,但是该基金将为他们提供投资机会。(日经新闻)[2020/6/9]

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

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

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

动态 | 加拿大挖矿公司Hut8从Bitfury购买9个数据中心,将使挖矿运营能力提升19%:加拿大挖矿公司Hut8以700万美元从挖矿巨头Bitfury购买9个数据中心,这笔交易将使Hut8挖矿运营能力提升19%。随着今年比特币价格不断上涨,Hut8公司业绩也开始恢复,第二季度收益净收入达到3368万加元。(investingnews)[2019/9/13]

我们直接分析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合约。如有授权,应及时撤销相关授权,避免进一步损失。

来源链接:mp.weixin.qq.com

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

FURUCOMBO

FURUCOMBO

FURUCOMBO旨在节省操作步骤与手续费,无限DeFi组合。在不知道如何编程的情况下,将自己的DeFi投资组合进行集成。将所有策略整合到一个交易中,拖动多维数据集以重新排列操作顺序。Furucombo查看更多

标签:FURCOMCOMBOCOMBFURYX价格BIDCOM价格combo币置换前的价格combo币发行价

XRP热门资讯
GAT:Gate.io 直播:预测后市、币圈商学院等14个节目即将开播

Gate.io直播间作为行业内首个交易所内置直播功能,通过多样性的直播形式为平台用户带来具有深度、有趣、开放的信息内容.

1900/1/1 0:00:00
COIN:币虎已暂停NULS、NVT充提币业务

尊敬的用户:因NULS、NVT节点维护升级,币虎即刻起暂停NULS、NVT充提币服务,升级期间不影响正常交易。恢复时间另行通知.

1900/1/1 0:00:00
以太坊:在这一轮大洗牌中,波卡生态值得期待,它将会是3月热点

在这一轮大洗牌中,波卡系表现不错2021年2月22日和23号,对于币圈的人来讲真是心惊肉跳,即使到今天,整个大盘依旧很不稳,很多喊单的大V在这种的行情下也都闭嘴了,半夏木直接宣布合约暂停营业了.

1900/1/1 0:00:00
POLK:Gavin Wood:我们暂定目标是在本季度末完成平行链的发布

上个月底,波卡创始人GavinWood博士与区块链投资媒体RealVision副主编SebastianMoonjava进行了一个多小时的深度对谈,深入简出地聊了聊关于波卡的各种话题.

1900/1/1 0:00:00
SOL:AEX安银暂停TRB充提币公告

亲爱的AEX小伙伴:由于TRB(TellorTributes)合约升级,自公告发布之时起,AEX已暂停TRB充提币服务。待升级维护结束后,恢复充提币,届时另行公告通知.

1900/1/1 0:00:00
OTB:Hotbit 定于2021年3月4日上线 UME (UMEfinance)

尊敬的用户:Hotbit即将在开启UME(UMEfinance)数字资产服务。具体安排如下:充值时间:2021年03月04日15:00??(香港时间)交易时间:2021年03月04日17:00?.

1900/1/1 0:00:00