链资讯 链资讯
Ctrl+D收藏链资讯
首页 > AVAX > 正文

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

作者:

时间:

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

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

攻击细节分析

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

Bitfury CEO:美联储紧缩政策对比特币价格不利:金色财经报道,Bitfury首席执行官Brian Brooks认为,美联储的财政紧缩政策不利于比特币的价格。

Brian Brooks表示,交易员并不认为BTC在极端财政紧缩时期是抵御通胀的有效工具。因此,HODLer可能预期BTC价格至少在短期内保持相对较低的水平。

在8月29日接受CNBC采访时表示,Brian Brooks还批评美国SEC以诉讼的方式处理加密行业,称监管机构需要“认真对待”并提供适当的指导,而不是诉诸法庭。(Beincrypto)[2022/8/30 12:57:45]

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

Bitfury Group CEO:比特币挖矿在创造同等财富的情况下消耗更少能源:金色财经报道,Bitfury Group 的首席执行官 Brian Brooks 在 FTX 巴拿马会议上发表观点说:“比特币挖矿相比很多其他大型先进企业在同等单位的能源消耗下能够创造更多的价值创造,通过比特币挖矿来创造10亿美元的财富所消耗的能源远比一家飞机制造商或是化学制药厂创造10亿美元要低。”[2022/4/30 2:41:02]

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

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

动态 | PrimeXBT将使用Bitfury的区块链分析和加密合规软件Crystal:比特币保证金交易平台PrimeXBT宣布将使用Bitfury的区块链分析和加密合规软件Crystal,以进行有效的反、反恐融资监控,进而增强客户安全。(美通社)[2019/9/9]

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

动态 | 普华永道与BitFury在俄罗斯创建区块链加速器:据cointelegraph报道,根据普华永道12月13日发布的新闻稿,普华永道已与挖矿和区块链软件公司Bitfury Group合作,为俄罗斯企业创建区块链加速器。[2018/12/14]

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

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

动态 | Bitfury助力乌克兰国营拍卖机构 增加被扣押财产拍卖收益:据cryptonews报道,比特币矿业巨头、区块链技术公司Bitfury与乌克兰国营公司SETAM合作部署区块链技术平台,该平台可以增加乌克兰被扣押财产和土地租赁拍卖的收益。[2018/11/28]

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

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

标签:EFILOCSWAPBLOCKDeFi OmegaYoloCash币圈swapBlockium

AVAX热门资讯
FLX:又一个看涨信号?高盛将于3月中旬恢复比特币期货交易服务_MNFLX价格

摘要: 高盛正重新启动加密交易柜台,这是比特币的又一个看涨信号。该公司没有透露该交易柜台是否也将交易以太坊.

FLX:对比11个DeFi协议收入机制 代币持有人主要有三类收入_Reflector Finance

TheBlock对去中心化金融市场上的头部协议收入状况进行了分析,总体而言,许多DeFi协议都成功获得了可观收入.

THE:详解V神新提案:为什么EIP-3298能降低Gas费?_blockchain公司介绍

详解V神新提案:为什么EIP-3298能降低Gas费?区块律动BlockBeats 刚刚 22 据GitHub显示,2月28日Vitalik已更新EIP3298提案.

比特币:持续买入!MicroStrategy再度买入价值1500万美元的比特币_MIC

刚进入三月,MicroStrategy的首席执行官MichaelSaylor便发布推文宣布MicroStrategy已再度以约1500万美元的现金购买了约328个比特币.

比特币:以太坊Layer2的通俗化解析_波卡生态ASTR币

本文由尺度区块链原创,授权金色财经首发。鉴于网络媒体上很多人从技术角度具体讲解了Layer2技术的实践与区别。本文将会以通俗的话语讲解layer2.

HER:觅新|Mask Network:一个帮助用户从Web 2.0无缝过渡到Web 3.0的门户_ORK

觅新|MaskNetwork:一个帮助用户从Web2.0无缝过渡到Web3.0的门户 金色财经meio 刚刚 26 《觅新》是金色财经推出的一档区块链项目观察类项目,覆盖行业各领域项目发展情况.