区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > MANA > 正文

首发|空手套以太:Balancer攻击解析

作者:

时间:

6月29日北京时间凌晨2点03分,CertiK天网系统 (Skynet) 检查到在区块10355807处Balancer DeFi合约异常,安全研究员迅速介入调查,攻击过程浮出水面。

6月29日凌晨2点03分,攻击者利用从dYdX闪电贷中借到的WETH,大量买进STA代币,使得STA与其他代币的兑换价格急剧上升。然后使用最小量的STA(数值为1e-18)不断回购WETH,并在每次回购后,利用Balancer的合约漏洞重置其内部STA的数量(数值为1e-18),以此稳住STA的高价位。

攻击者不断利用漏洞,用高价的STA将某一种代币完全买空(WETH,WBTC, LINK和SNX),最终用WETH偿还闪电贷,并剩余大量STA,WETH,WBTC, LINK和SNX,并通过uniswap将非法所得转移到自己账户中。此次攻击约获利90万人民币。

CertiK分析的此次事件攻击者心理画像:

攻击者在调取STA余额后,快速调用swapExactAmountIn函数购买STA,并在第24次交易使用了另一个函数swapExactAmountOut精准的将STA的数目买到了最小值(1e-18),从而最大化后续攻击的效率。最开始的6笔交易,在没有必要的情况下,3次买入后卖出,损失了4个WETH,故布疑云。并且能够做到隐匿自己的闪电贷阶段痕迹来看,有黑客特性。

比特币全网未确认交易数量为6389笔:金色财经消息,BTC.com数据显示,目前比特币全网未确认交易数量为6389笔,全网算力为207.42 EH/s,24小时交易速率为3.26交易/s,目前全网难度为28.17 T,预测下次难度上调0.33%至28.27 T,距离调整还剩7天7小时。[2022/8/11 12:16:42]

CertiK判断攻击者是有经验的黑客团队在充分准备后的一次攻击尝试,有很大可能还会继续攻击其他DeFi合约。

阶段0:攻击者从dYdX闪电贷处借款,获得初始WETH资金。

阶段1:攻击者使用WETH将Balancer中的STA尽可能买空,最大程度提高STA价格。

阶段2:攻击者用获得的STA多次买回WETH。每一次都用最小量的STA(数值为1e-18)进行购买,并利用Balancer内部漏洞函数gulp(),锁定STA的数目,控制STA对WETH的价格。重复多次该种买回操作,直到将Balancer中的WETH取空。

阶段3:换一种代币,用STA重复阶段2直到取空该种代币。阶段三重复了三次,一共有4种代币受到了损失WETH,WBTC, LINK和SNX。

阶段4:偿还dYdX闪电贷,离场。

阶段1: 从Balancer中取光所有的STA

加密合规平台Sardine完成1950万美元A轮融资,a16z等参投:2月11日消息,金融科技行业加密合规平台 Sardine 宣布在 A 轮融资中筹集了 1950 万美元,参投方包括 Andreessen Horowitz (a16z)、NYCA 和 Experian Ventures等。作为投资的一部分,a16z 的普通合伙人 Angela Strange 将加入 Sardine 董事会。

据了解,总部位于旧金山的 Sardine 于2021年推出,使用人工智能根据用户在账户创建和账户资金时的身份、设备和行为模式提供实时欺诈评分,该平台会在每次登录、存款和取款期间检查欺诈行为。

此前3月份,数字防欺诈解决方案Sardine曾完成460万美元种子轮融资。[2022/2/11 9:43:50]

前24笔交易将从闪电贷中借到的WETH交易为STA,尽可能降低Balancer中的STA数目,从而提升STA对其他代币的价格。 

阶段2:将STA交易为WETH,利用gulp函数漏洞控制价格

在阶段2开始时候,STA的总数目始终被gulp函数重置为之前的1e-18。在第一次通过swapExactAmountIn函数将STA交易为WETH时,攻击者故意将STA交易的数目设为1e-18,由于在交易模型中,STA的数目极小,因此STA的价格相对其他代币会极高。在完成第一次交易后,在Balancer中STA的数目应为2e-18。

在第二次通过swapExactAmountIn将STA交易为WETH之前,攻击者通过调用gulp函数,将在Balancer中的STA数目使用内部记录的1e-18来覆盖当前STA的真实数目(2e-18)。因此在购买WETH时,STA依然可以保持高价。但是因为购买WETH后,WETH的数量减少,每次攻击的非法所得逐渐减小,18次攻击后,Balancer中的WETH被完全盗取。

阶段3:转移目标

当Balancer中的WETH被完全盗取后,攻击者利用相同漏洞,对Balacner的其他代币(WBTC, LINK和SNX)重演攻击,盗光了4种代币后隐遁。

攻击者获利

攻击者攻击地址:

0x81D73c55458f024CDC82BbF27468A2dEAA631407

攻击者最终收款地址:

0xbf675c80540111a310b06e1482f9127ef4e7469a

攻击者最终获利:565.5326240837032 ETH, 约合90万人民币(北京时间20200630早9点30分价格)

Balancer合约的gulp()函数作用为将某一种代币的内部记录数值覆盖到当前该种代币的真实数目,但是错误的把他设置成没有限制的external函数。gulp()函数不应该为external,或者应该加入对于特定使用者或者智能合约拥有者的验证或者防护限制条件。

参考资料:

1. Balancer Github:

https://github.com/balancer-labs/balancer-core/blob/140df49361a58e6c79b395964be98387702a7c0d/contracts/BPool.sol#L334

https://github.com/balancer-labs/balancer-core/blob/140df49361a58e6c79b395964be98387702a7c0d/contracts/BMath.sol#L28

https://github.com/balancer-labs/balancer-core/blob/140df49361a58e6c79b395964be98387702a7c0d/contracts/BPool.sol#L423

2. 攻击交易历史记录:

https://ethtx.info/mainnet/0x013be97768b702fe8eccef1a40544d5ecb3c1961ad5f87fee4d16fdc08c78106

3. 官方攻击报告:

https://medium.com/balancer-protocol/incident-with-non-standard-erc20-deflationary-tokens-95a0f6d46dea

了解更多

General Information: info@certik.org

Audit & Partnerships: bd@certik.org

Website: certik.org

Twitter: @certik.org

Telegram: t.me/certik.org

Medium:medium.com/certik

币乎:bihu.com/people/1093109

标签:STACERBALAALAbitstamp有外平台吗CERT立方根DollarBalance BondSAFEGALAXY 价格

MANA热门资讯
金色观察丨担心中心化问题?解读以太坊推迟柏林硬分叉

金色财经 区块链7月1日讯   以太坊开发人员再一次推迟硬分叉升级,这次是“柏林”(Berlin)。那么,为什么以太坊又双叒叕推迟升级了呢?下面就让金色财经和大家一起来解读一下。 目前,依赖以太坊客户端Geth的用户数量非常多,以至于只要该客户端出现漏洞,就有可能暂时冻结以太坊网络——而这,似乎与区块链去中心化的核心思想有所冲突。

研报:一文读懂全球衍生品监管现状

本文将简述全球衍生品监管现状,以便明晰和呼吁「市场监管是繁荣的必要条件」这一理念。 全球衍生品市场发展现状 衍生品合约的爆炸性增长发生在 1999 年《格拉斯-斯蒂格尔法案》(Glass-Steagall Act)被废除之后。该法案允许银行作为经纪公司开展业务。

一文了解CBDC(央行数字货币)总体框架

区块链技术的提出对降低社会信用成本、改善社会信用环境有重要意义。当前,区块链技术在国内商业银行中的应用仍然处于应用探索阶段,但随着国内商业银行对此技术认识的深入,必然会有更多商业银行陆续使用区块链技术。

重磅 | FATF发布稳定币、虚拟资产的重要指引

刚刚(6月30日晚间),金融行动特别工作组(Financial Action Task Force on Money Laundering,以下简称FATF)发布第31届第3次视频全体会议的系列成果。本次会议由FATF轮值主席、中国人民银行条法司司长刘向民主持,200多个国家或地区参与。

专利解读:DCEP如何利用多重身份认证机制提高用户使用体验

中国央行设计的法定数字货币技术,设计了一套独特的身份认证串联机制,方便DCEP在各类商家电子系统中流通。在保障安全性的前提下,使得用户的身份认证过程更加便捷。

从主力资金的角度思考 站到大部分人的对面操作

一、市场解读 最近一直将美股作为判断比特币走势的指标来用,可能会给大家造成误解,以为平时都可以拿标普500、道指来做参考。答案当然是否定的,在市场内有句话永远适用:此一时彼一时。参照下面两张图,我们一起复盘一下最近BTC和标普500的走势,也许能帮助你进一步理解这句话。