著名DeFi项目Furucombo被黑,损失超1500万美元。慢雾安全团队第一时间介入分析,并将攻击细节分享给大家。
攻击细节分析
本次发生问题的合约在Furucombo本身的代理合约当中。整个攻击流程很简单。攻击者通过设置了Furucombo的AaveV2Proxy的逻辑地址导致后续通过Furucombo代理合约调用的逻辑全部转发到攻击者自己的恶意合约上,导致任意资金被盗。
慢雾:ERC721R示例合约存在缺陷,本质上是由于owner权限过大问题:4月12日消息,据/img/20230515210726357232/2.jpg "/>
以上是FurucomboProxy合约的batchExec函数的具体实现,其中_preProcess和_postProcess合约分别是对调用前后做一些数据上的处理,不涉及具体的调用逻辑,这边可以先忽略。我们主要观察核心的_execs函数:
分析 | 慢雾:攻击者拿下了DragonEx尽可能多的权限 攻击持续至少1天:据慢雾安全团队的链上情报分析,从DragonEx公布的“攻击者地址”的分析来看,20 个币种都被盗取(但还有一些DragonEx可交易的知名币种并没被公布),从链上行为来看攻击这些币种的攻击手法并不完全相同,攻击持续的时间至少有1天,但能造成这种大面积盗取结果的,至少可以推论出:攻击者拿下了DragonEx尽可能多的权限,更多细节请留意后续披露。[2019/3/26]
通过对execs代码的分析不难发现,函数的主要逻辑是对configs数组的数据做检查,并根据configs数组的数据对data进行一些处理。但是回顾上文中攻击者的调用数据,不难发现攻击者的调用数据中,configs的数据是一个0地址:
声音 | 慢雾:Ghostscript存在多个漏洞:据慢雾区消息,Google Project Zero发布Ghostscript多个漏洞预警,远端攻击者可利用漏洞在目标系统执行任意代码及绕过安全限制。Ghostscript 9.26及更早版本都受影响。软件供应商已提供补丁程序。[2019/1/24]
这里有一个trick,由于?0地址是一个EOA地址,所有对EOA地址的函数调用都会成功,但是不会返回任何结果。结合这个trick,execs函数中的关于configs数据的部分可以先暂时忽略。直接看到最后的核心_exec函数:
_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合约。如有授权,应及时撤销相关授权,避免进一步损失。
3月4日,据中国证券报消息,火币资管将会发行三只虚拟货币基金,分别为比特币追踪基金,以太坊追踪基金和多策略虚拟货币基金.
1900/1/1 0:00:00金色财经区块链3月3日讯?2021年刚开篇,加密货币行业就迎来了一个好消息:美国货币监理署代理署长布莱恩·布鲁克斯发布了一封解释信函,其中特别澄清美国本土的银行机构、以及联邦储蓄协会可使用公链和稳定币进行结算.
1900/1/1 0:00:00比特币在过去的一个月里价格波动很大,在2021年初创下了历史新高,同时也出现了强劲的回调。仅在过去的24小时内比特币就再一次突破了5万美元大关,随后又屈服于抛售压力交易价格回落.
1900/1/1 0:00:00要闻速览: 纽约禁止Bitfinex和Tether在该州开展业务 比尔·盖茨谈论比特币 Ripple和美国证券交易委员会继续进行法律对峙英伟达保护玩家免受加密货币矿工的伤害中国、阿联酋、香港和泰国联合开发CBDC桥中国的一些非区块链公.
1900/1/1 0:00:00加拿大全数字银行VersaBank在周三的公告中表示,其计划推出一种名为VCAD的数字货币。据报道,该数字货币将由存入该银行的加元支持。这家加拿大银行声称,VCAD实际上将是由一家北美银行发行和支持的“代表法定货币的第一种数字货币”.
1900/1/1 0:00:00作者:林泽玲?蒋照生,来源:01区块链 报告摘要: 1、发展区块链业务的211家上市公司整体资质较高,中大型企业占比超9成;上市时间3年以上的企业共195家,占比92.42%.
1900/1/1 0:00:00