Furucombo此次事故并不在安全漏洞的范畴内,主要的原因在于官方将未启用的AaveV2Proxy合约添加进了自己的白名单中,并且未对AaveV2Proxy合约进行初始化,导致攻击者有机可乘。与Furucombo交互过的用户应及时撤销相关授权,避免进一步损失。
原文标题:《可避天灾,难免人祸——Furucombo被黑分析》撰文:慢雾安全团队
据链闻消息,著名DeFi项目Furucombo被黑,损失约1500万美元。慢雾安全团队第一时间介入分析,并将攻击细节分享给大家。
攻击细节分析
本次发生问题的合约在Furucombo本身的代理合约当中。整个攻击流程很简单。攻击者通过设置了Furucombo的AaveV2Proxy的逻辑地址导致后续通过Furucombo代理合约调用的逻辑全部转发到攻击者自己的恶意合约上,导致任意资金被盗。
比特币矿业硬件制造商Bitfury以1200万美元投资Axelera AI:9月15日消息,荷兰人工智能半导体初创公司Axelera AI宣布完成1200万美元的种子轮融资,比特币矿业硬件制造商Bitfury领投,Innovation Industries Fund参投。该公司表示:将支持边缘人工智能应用程序的开发,边缘人工智能市场还处于起步阶段,目前的市场领导者是英伟达,最近,Hailo、Mythic和Blaize等新创业公司纷纷推出新产品。(venturebeat)[2021/9/15 23:27:32]
但是如果事情那么简单,那么本次分析不值一提。问题远比想象的复杂得多。
如上图所示攻击者的入口在Furucombo的batchExec函数,我们先对batchExec函数进行分析:
Furucombo更新黑客攻击进展:迁移计划即将就绪,将在本周发布:据官方消息,DeFi聚合平台Furucombo官方更新遭攻击后的进展:
1. 攻击已报告给执法部门;
2. 安全公司Certora已开始进行全面审计,正寻求再进行一次审计(希望至少由两家不同的公司进行审核);
3. 与Reviews DAO进行了一次会议,Furucombo将加入该DAO,以方便让其他各方不断对Furucombo的系统进行同行评审。Furucombo还可以帮助其他人审查他们的系统,从而为DeFi生态系统做出贡献;
4. 迁移计划即将就绪,将在本周发布。
此前2月28日消息,DeFi聚合平台Furucombo遭遇攻击,官方称价值约1500万美元资金受到影响。[2021/3/9 18:28:11]
以上是FurucomboProxy合约的batchExec函数的具体实现,其中_preProcess和_postProcess合约分别是对调用前后做一些数据上的处理,不涉及具体的调用逻辑,这边可以先忽略。我们主要观察核心的_execs函数:
动态 | Consensys拥有的以太坊基础设施解决方案提供商Infura推出3项新服务:ConsenSys拥有的以太坊基础设施提供商Infura推出三种具有“增强”功能的新服务。该公司周四宣布,其“Infura+”套餐包括三项基于订阅的服务:开发者、团队和增长,供区块链开发者在以太坊网络上构建“各种规模”的DApp。该公司表示,Infura+适用于需要增加请求量、以太坊存档数据等功能以及团队直接提供高级支持的应用。[2019/7/18]
通过对execs代码的分析不难发现,函数的主要逻辑是对configs数组的数据做检查,并根据configs数组的数据对data进行一些处理。但是回顾上文中攻击者的调用数据,不难发现攻击者的调用数据中,configs的数据是一个0地址:
这里有一个trick,由于0地址是一个EOA地址,所有对EOA地址的函数调用都会成功,但是不会返回任何结果。结合这个trick,execs函数中的关于configs数据的部分可以先暂时忽略。直接看到最后的核心_exec函数:
声音 | Bitfury营收官:采矿业正进入整合阶段:据CoinDesk报道,本周四在CoinDesk新加坡共识大会上,比特币矿商Bitfury的首席营收官Henry Monzon认为,随着挖矿业的不断成熟,加密货币行业正进入整合阶段。挖矿业不应该“过分担心”英特尔和英伟达等传统芯片制造商已经进入这一领域。他表示,传统芯片的设计要求与加密芯片有很大不同,这实际上为加密技术行业提供了特殊的优势。[2018/9/21]
_exec函数的逻辑也很简单,在校验了_to地址后,直接就将data转发到指定的_to地址上了。而通过对攻击交易的分析,我们能发现这个_to地址确实是官方指定的合法地址。
最后一步,便是调用_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合约。如有授权,应及时撤销相关授权,避免进一步损失。
来源链接:mp.weixin.qq.com
免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。
FURUCOMBO
FURUCOMBO
FURUCOMBO旨在节省操作步骤与手续费,无限DeFi组合。在不知道如何编程的情况下,将自己的DeFi投资组合进行集成。将所有策略整合到一个交易中,拖动多维数据集以重新排列操作顺序。Furucombo查看更多
成长的路上不太平,看护成才,恣生成柴。学会了止损,就是懂得了敬畏,这是交易者最基本的素质。成长是价格观的摧毁,而礼貌是基本的素养,不要妄图别人对你的热忱,一定学会对他人的相迎,太多的人总想着为什.
1900/1/1 0:00:00尊敬的用户:币虎创新区将于2021年3月1日18:00上线TIGER/USDT交易对,具体时间如下:1.开放充币:2021年3月1日14:00;2.开放交易:2021年3月1日18:00;3.开.
1900/1/1 0:00:00在英国上市的ArgoBlockchain表示已安装了CelsiusNetwork的4,500台加密货币采矿机.
1900/1/1 0:00:00因为互联网的开放性及区块链技术的不断升级更新,币圈的变化非常之快,币圈每走过一段时间,总有新的概念火爆市场。每一次的火爆概念都是一次机会.
1900/1/1 0:00:002021年以来,央行数字货币(CBDC)正加速落地,试点范围从深圳、成都、苏州、雄安新区四地及未来冬奥场景逐步推进到京津冀、长三角、粤港澳大湾区及中西部具备条件的试点地区.
1900/1/1 0:00:00尊敬的中币用户:????中币将在香港时间2021年2月27日16:00隐藏以下交易对:TRUE/USDT、QUN/QC.
1900/1/1 0:00:00