EFI:"单一价值"——Indexed Finance闪电贷安全事件分析

安全实验室监测到以太坊上的DeFi协议IndexedFinance遭遇闪电贷袭击,损失超1600万美元。知道创宇区块链安全实验室第一时间跟踪本次事件并分析。攻击过程简述

分析攻击交易:

0x44aad3b853866468161735496a5d9cc961ce5aa872924c5d78673076b1cd95aa

首先使用闪电贷通过Uniswap和ShushiSwap获取启动资金

2.通过借贷的AAVE/COMP/CRV/MKR/SNX代币兑换矿池DEFI5中的UNI代币(合约规定不允许转账超过矿池一半的代币存量以及兑换超过三分之一的代币存量,所以黑客进行了多次兑换)

BKEX Global将于今日16:30上线OGN:据BKEX Global公告,BKEX Global将于2020年8月13日16:30(UTC+8)上线OGN(Origin Protocol),开放交易对:OGN/USDT。

OGN是起源协议的一个重要组成部分,作为一种激励机制保证网络的健康和发展,让每一个使用者,贡献者成为利益的分享者。

Origin的目标是实现真正的点对点商务。买卖双方可以直接交易,无需中介。[2020/8/13]

3.通过将UNI代币用于添加流动性铸造DEFI5LP代币

BKEX Global上线AZP,开盘5分钟涨幅即超1200%:BKEX数据显示,2020年4月20日21:00(UTC+8)开放AZP/USDT交易后,5分钟内涨幅最高超1200%,现报价1.05USDT。

AZP 是由顶尖技术开发团队设计的“顶级安防生态”的核心通证,其生态包括交易所、DAPP、冷钱包硬件、全智能合约与实体产业应用。AZP 发行的数字资产为 AZP Token。[2020/4/20]

4.向DEFI5矿池添加SUSHI代币

BKEX Global 即将上线LTC和TRX三倍做多和做空代币:据 BKEX Global 公告,BKEX Global LT(杠杆代币)专区将于4月10日20:30(UTC+8)上线LTC和TRX三倍做多和做空代币,开放交易对:LTCBULL/USDT,LTCBEAR/USDT,TRXBULL/USDT,TRXBEAR/USDT。

杠杆代币本质是拥有杠杆功能的ERC20代币,和传统杠杆交易不同的是,用户在交易杠杆代币的时候不需要支付任何保证金,仅通过简单的买币卖币,即可达到交易杠杆的目的。[2020/4/9]

5.燃烧DEFI5LP代币获得AAVE/COMP/CRV/MKR/SNX/SUSHI代币

6.通过将SUSHI代币用于添加流动性铸造DEFI5LP代币

7.燃烧DEFI5LP代币获得AAVE/COMP/CRV/MKR/SNX/SUSHI代币

8.归还闪电贷并将获利转移

漏洞成因分析

通过攻击简述获取有效信息

1.黑客有意控制矿池中UNI代币总量

2.黑客向矿池中添加了新代币SHSHI

3.黑客通过铸造、燃烧LP代币获利

通过源码分析漏洞成因

1.检查源码发现函数extrapolatePoolValueFromToken被用于寻找矿池中第一个初始化且具有权重的代币,据官方解释该函数作用于以该代币描述整个矿池的价值——即如果矿池中有10个UNI,权重为10%,那么该矿池总价值为100UNI。

由此黑客控制矿池中UNI代币总量得到解释,该行为是为了控制矿池总价值。

2.检查源码发现函数setMinimumBalance和函数gulp可以添加新代币并获得极大的权重。?由此黑客向矿池添加新代币SUSHI得到解释,该行为是为了获得可控且具有极大权重的代币。

综合分析

合约设计中矿池的总价值被矿池中第一个初始化且具有权重的代币用来描述,该代币总量可被攻击者控制

合约中可添加新代币,新代币可占据极大权重,添加新代币方式可被攻击者控制

合约中的资产可通过铸造、燃烧LP代币控制,铸造LP代币方式可被攻击者控制

综述该漏洞成因就是用一种代币来描述整个矿池的价值,官方也给出了修改方案:取消该模式替换为用矿池中所有代币余额的组合值来描述。

总结

此次攻击属于对矿池价值的单一描述,很容易被他人操控,开发人员应避免此类事件。

知道创宇区块链安全实验室?提醒各项目方,合约安全作为直接保障资金的防线需要得到最高的重视,合约审计、风控措施、应急计划等都有必要切实落实。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-3:862ms