宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 火必下载 > 正文

慢雾:Furucombo被黑分析

作者:

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

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

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

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

慢雾:7月3日至7月7日期间?Web3生态因安全问题损失近1.3亿美元:7月10日消息,慢雾发推称,自7月3日至7月7日,Web3生态因安全问题遭遇攻击损失128,419,000美元,包括Encryption AI、AzukiDao、NFT Trader、MIKE&SID、Bryan Pellegrino、Aptos Foundation、Multichain、CivFund。其中,Multichain被攻击损失1.26亿美元。[2023/7/10 10:12:36]

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

慢雾:有用户遭钓鱼攻击,在OpenSea上架的NFT以极低匹配价格售出:据慢雾消息,有用户在 OpenSea 挂单售卖的 NFT 被恶意的以远低于挂单价匹配买。经慢雾安全团队分析,此是由于该受害用户遭受钓鱼攻击,错误的对攻击者精心构造的恶意订单进行签名,恶意订单中指定了极低的出售价格、买方地址为攻击者以及出售 NFT 为受害用户在 OpenSea 上架的待出售 NFT。攻击者使用受害用户已签名的出售订单以及攻击者自己的购买订单在 OpenSea 中进行匹配,并以攻击者指定的极低价格成交,导致受害用户的 NFT 以非预期的价格售出。[2021/12/11 7:31:47]

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

慢雾: 警惕比特币RBF风险:据BitMEX消息,比特币于区块高度666833出现陈腐区块,并产生了一笔 0.00062063 BTC 的双花交易。根据 BitMEX提供的交易内容来看,双花的两笔交易的nSequence字段的值都小于0xffffffff -1。慢雾安全团队初步认为此次双花交易有可能是比特币中的RBF交易。[2021/1/20 16:38:01]

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

动态 | 慢雾:9 月共发生 12 起较典型的安全事件,供应链攻击趋势愈发明显:过去的 9 月区块链生态共发生 12 起较典型的安全事件,包括:EOSPlay 遭受新型随机数攻击、资金盘项目 FairWin 智能合约权限管理缺陷、EOS 黑名单账号 craigspys211 利用新晋 BP 黑名单缺陷转移走 19.999 万枚 EOS 等典型安全事件。此外,慢雾区块链威胁情报(BTI)系统监测发现,针对区块链生态的供应链攻击越来越多,形如:去年 11 月慢雾披露的污染 NPM 模块 EventStream、今年 7 月披露的对数字货币钱包 Agama 构建链的攻击、今年 8 月披露的针对数字货币行情/导航站的 URL 劫持攻击,还有 9 月慢雾披露的针对交易所使用的第三方统计、客服 js 的恶意代码植入,进行实施盗币攻击。[2019/10/1]

声音 | 慢雾:EOS假充值红色预警后续:慢雾安全团队今早发布了 EOS 假充值红色预警后,联合 EOSPark 的大数据分析系统持续跟踪和分析发现:从昨日开始,存在十几个帐号利用这类攻击技巧对数字货币交易所、钱包等平台进行持续性攻击,并有被真实攻击情况。慢雾安全团队在此建议各大交易所、钱包、DApp 做好相关防御措施,严格校验发送给自己的转账交易在不可逆的状态下确认交易的执行状态是否为 executed。除此之外,确保以下几点防止其他类型的“假充值”攻击: 1. 判断 action 是否为 transfer 2. 判断合约账号是否为 eosio.token 或其它 token 的官方合约 3. 判断代币名称及精度 4. 判断金额 5. 判断 to 是否是自己平台的充币账号。[2019/3/12]

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

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

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

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

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

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

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

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

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

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

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

标签:FURCOMBCOMCOMBOFURYX价格combo币暴跌ethnographyofcommunicationcombo币公司

火必下载热门资讯
以太七日谈:以太坊 2.0 验证者节点数量破 10 万

以太坊 2.0 验证者节点数量破 10 万根据浏览器 beaconscan.com 显示,Eth2 存款合约的质押存款已收到 3,330,370 ETH;当前活跃验证者为 101,789;等待验证者有 1.

1900/1/1 0:00:00
从Filecoin应用EIP-1559的经验 看以太坊的未来走势

从Filecoin的经验来看,以太坊EIP-1559升级后:(1)整体由通胀转向通缩,价格会受到刺激;(2)网络拥堵不会因此缓解,短期还是要看Layer2的进展;(3)矿工收入会因此大幅降低,测算大约在20%-35%.

1900/1/1 0:00:00
宇宙自然协议与区块链协议

引言:从比特币诞生到如今区块链行业的发展,其天然自带的科技属性和金融属性,成为了目前最为重要的研究方向,金融科技这一领域也随之蓬勃,我们抛开市场起伏,从宇宙观的角度来探究区块链协议.

1900/1/1 0:00:00
一周必读十篇 | Vitalik:为什么我不担心EIP-1559中的松弛区块容量

1.Vitalik:为什么我不担心EIP-1559中的松弛区块容量对 EIP-1559 的一种批评是:区块大小是可变的,在 [0,25M] 的范围内浮动而不再是固定的 12.5M gas limit,这使得客户端需要处理加倍的负载.

1900/1/1 0:00:00
案例:BTC矿机失窃 中国法律保护么?

矿机是用于产出比特币的电脑,大多通过烧显卡的方式投入算力,进行工作,耗电量极大。因此特性,我国的四川、新疆等电力较为便宜的地区成为了境内外主体矿机托管的首选.

1900/1/1 0:00:00
除了这些支付巨头 2021年还会有谁将采用加密货币?

原文标题:《2021年 更多支付巨头将采用加密货币》不久前,比特币用于日常支付的想法似乎遥不可及。然而,近几个月来,加密支付提供商和比特币支付网关服务的数量猛增。在过去,寻找使商家和消费者都受益的加密支付方法一直很困难.

1900/1/1 0:00:00