链资讯 链资讯
Ctrl+D收藏链资讯

STA:成都链安:Balancer项目漏洞分析-ODAILY_NCE

作者:

时间:

一、事件背景

Balancer官网上对于其具体功能的描述为『EasilyswapERC20tokens.Exchangetokenswithoutdeposits,bids/asks,andordermanagement.Allon-chain.』。简单来说Balancer就是提供在链上进行tokens交换的区块链智能合约应用。

2020年6月29日凌晨,Balancer项目的两个资金池遭受攻击。攻击者在此次事件中获利约46万美元,资金池市商损失约50万美元。

根据此次安全事件的具体过程,可以将此次事件比喻为攻击者『偷梁换柱』。

二、抽丝剥茧还原攻击者『偷梁换柱』经过

2.1、安全事件概述

?根据链上交易数据显示:

1、攻击者利用自建合约

对存在通缩货币STA的资产池

进行了攻击;

2、攻击者利用自建合约

对存在通缩货币STONK的资产池

成都链安:Feminist Metaverse项目遭受攻击,攻击者已将1838BNB转入tornado.cash:据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,BNB Chain上Feminist Metaverse(FM_Token)项目遭受攻击。

攻击者地址:

0xaaA1634D669dd8aa275BAD6FdF19c7E3B2f1eF50

攻击交易bsc:0xfdc90e060004dd902204673831dce466dcf7e8519a79ccf76b90cd6c1c8b320d

目前攻击者已将1838BNB转入tornado.cash,约54万美元。[2022/5/19 3:26:26]

进行了攻击。

2.2、攻击步骤简介

攻击者首先通过闪电贷借款大量WETH,而后使用借得的WETH将被攻击资金池中的通缩货币兑换出来,仅留下1e-18个通缩货币。完成上述准备工作后,攻击者开始发动攻击,不断使用1e-18个通缩货币兑换资金池内的其他代币,以达到『偷梁换柱』的目的。直到池内资金基本被转移完后,攻击者将获利存入如下地址:

成都链安:WienerDogeToken遭遇闪电贷攻击事件分析:据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,WienerDogeToken遭受闪电贷攻击。成都链安安全团队对此事件进行了简要分析,分析结果如下:攻击者通过闪电贷借贷了2900个BNB,从WDOGE和BNB的交易对交换了5,974,259,851,654个WDOGE代币,然后将4,979,446,261,701个代币重新转入了交易对。这时攻击者再调用skim函数,将交易对中多余的WDOGE代币重新提取出来,由于代币的通缩性质,在交易对向攻击地址转账的过程中同时burn掉了199,177,850,468个代币。这时交易对的k值已经被破坏,攻击者利用剩下WDOGE代币将交易对内的2,978个BNB成功swap出来,并且将获利的78个BNB转到了获利地址。

这次攻击事件中,攻击者利用了代币的通缩性质,让交易对在skim的过程中burn掉了一部分交易对代币,破坏了k值的计算。成都链安安全团队建议项目上线前最好进行安全审计,通缩代币在与交易对的交互时尽量将交易对加入手续费例外。[2022/4/26 5:11:33]

0xBF675C80540111A310B06e1482f9127eF4E7469A

成都链安:2022年第1季度区块链安全生态造成的损失达到12亿美元:4月20日消息,成都链安统计数据显示,加密行业2022年第1季度安全事件造成的损失达到12亿美元。[2022/4/20 14:36:00]

攻击过程如下图所示:

△图1

此次事件发生后,Balancer团队表示已对资产池进行审计,正在进行第三次审计,并将在UI界面启用通缩货币黑名单,禁止用户建立存在通缩货币的资产池。

2.3、漏洞原理详细分析

在分析漏洞具体信息之前我们需要知道以下两点:

1、Balancer项目允许个人建立资金池。资金池本质上是一个智能合约,用户可以调用资金池的函数进行代币兑换。资金池中可以存在多种货币,用户可以使用资金池中存在的货币进行兑换,兑换的比例按照一种固定的算法,如图所示:

LLE智能合约已通过Beosin(成都链安)的安全审计:据官方消息,Beosin(成都链安)今日已完成LLE智能合约项目的安全审计服务。

猎豹金融生态系统(Leopard lending ecology)是在以太坊区块链上的智能协议,以该协议为中心建立货币服务市场,服务市场是基于资产借贷需求,以计算得出利率。资产的供应商直接与协议进行交互,从而赚取浮动利率,而无需等待协商利率或抵押品等条款。

创始人Willians表示:我们LLE智能合约的整体设计清晰,逻辑缜密,代码安全可靠,具备了区块链上顶级去中心化金融项目条件之一。

合约地址:0xa1521aA6FE752195418ddbADB5A0c331608416B1;

审计报告编号:202009222010。[2020/9/24]

△图2

我们以用STA兑换WETH为例:

?TokenAmountOut表示可以兑换出的WETH的值

?TokenBalanceOut表示当前池内的WETH的值

?TokenBalanceIn表示当前池子内的STA的值

声音 | 成都链安:使用链上合约轮询开奖机制可能具有安全风险:今日早晨7点半,成都链安态势感知系统鹰眼对某游戏合约交易发出预警,我们的安全人员对该预警进行分析发现,攻击者正在使用一种新的途径获得随机数种子,并通过合约不断发起延时交易,尝试预先计算或者得到游戏合约的开奖参数,安全团队已通知项目方进行确认,建议具有类似基于线上合约定时开奖模式的项目方及时自查,避免遭到损失。望项目方看到本预警消息能够及时联系我们。[2019/6/12]

?TokenAmountIn表示用户输入的STA的值

?TokenweightIn表示STA的权重,为一个固定值,只能由资金池的管理者更改

?TokenweightOut表示WETH的权重,为一个固定值,只能由资金池的管理者更改

?SwapFee表示手续费,为一个固定值,只能由资金池的管理者更改

综上所述,当一种货币STA在一个资金池中的存量较少时,也就是bI较小时,就可以使用STA兑换更多的WETH。

2、STA代币是一种通缩货币,当进行转账操作时,会自动销毁一定量的STA。如下图所示:

△图3

tokensToBurn即为每次交易销毁的值,其销毁数额是转账数额的1/100,如当数值为1e-18时,其销毁值也是1e-18。销毁值的计算源码如下图所示:

△图4

△图5

接下来我们对本次攻击事件进行分析,以存在STA的被攻击资金池为例。攻击者向自建合约

发起了一笔交易

。在此笔交易中,攻击者首先从闪电贷借出了104331个WETH,如下图所示:

△图6

而后使用借来的WETH兑换被攻击资产池中的STA,因为STA是通缩货币,每次transfer都会使得STA销毁转账金额的1/100。如下图为一次兑换:

△图7

这笔交易共进行了20余次兑换,使得被攻击资金池中的STA余量为一个极小值后开始使用STA兑换其他代币,如下图所示:

△图8

我们可以发现,在此笔交易中,攻击者转给被攻击合约的STA个数是『0』,但却扣除了1e-18个STA,这不符合正常兑换情况。于是我们对此进行深入分析,通过事件日志确定攻击者发送了1e-18个STA。如下图所示:

△图9

由此可得出结论,在发送过程中,因为STA的通缩机制,发送给资金池的STA会被销毁,导致被攻击资金池无法收到STA,但资金池合约仍然会认为收到了1e-18个STA,并更新STA的存量。如下图所示:

△图10

如果STA的存量增加,就会使得STA能够兑换其他代币的比例下降,因此攻击者又调用了gulp()方法来更新STA的余额,使得资金池的STA余额等于实际余额。如图所示:

△图11

每进行一次兑换,攻击者就会调用一次gulp()对STA的余额进行更新,这样使得STA的余额始终为1e-18个,因此每次攻击取出余额的比例都是不变的,如下图所示:

△图12

攻击者使用这种方式,将资金池中的所有代币以每次1/2的比例进行兑换,最终几乎将资金池中的所有代币全部提出。

2.4、攻击事件总结

根据我们日常智能合约安全审计经验来看,本次事件产生的原因,可能是资金池合约对流入资金的处理方式不够完善,并没有考虑到通缩性代币的情况,在计算应当输出的值tokenAmountOut和货币余额inRecord.balance的增减时,都是使用由用户控制的tokenAmountIn参数,而不是实际收到的代币数,导致实际池中的流入资金与记录资金不相符,如下图所示:

△图13

另外,用于更新代币余额的gulp函数的权限是external,这两点组合起来,导致了本次事件漏洞的产生,如下图所示:

△图14

标签:STAKENTOKENNCEbitstamp交易平台CmyTokenW12 TokenOuro Governance Share

中币交易所热门资讯
区块链:RChain创始人Greg做客币乎直播间访谈实录-ODAILY_solana币什么意思

编者按:本文来自币乎直播。Greg:很高兴有机会和大家一起在币乎做AMA!我先自我介绍一下:我在RChain已经工作了很长时间了,哈哈哈哈.

AVE:比特币经历上涨回落以后,多空后市何去何从?-ODAILY_AAVE

行业资讯 据官方消息,币赢CoinW将于7月8日10点(UTC+8)在潜力区上线LEND/USDT交易对.

STA:BTC下一步踩稳9300,后续上涨空间很大-ODAILY_Star Shib

行情回顾及行情走势 BTC行情回顾 比特币流通速度处于三年来的最低点:金色财经报道,cryptoquant联创Ki Young Ju发布推文称,比特币流通速度处于三年来的最低点.

数字资产:Gate.io & TokenInsight首届全球数字资产做市商大赛-ODAILY_GAT

Gate.io一直致力于为用户提供更专业的产品,为忠实用户提供更优质的服务。为了进一步\n提高平台深度及流动性,满足更多投资者的需求,Gate.io联合TokenInsight举办“首届\n全球.

FILE:IPFS生态开局前隐秘的角落-ODAILY_WinPlay Token

灵动:任何一个行业都存在良莠现象,正是因为这样才会出现比较和竞争以及进化,在市场上进入相对净化稳定之前,必定要经历一次或多次隐秘的黑暗.

比特币:比特币以太坊低迷震荡惹人忧,牛市战车从未休-ODAILY_ETH

比特币行情回顾: 前面在那波暴跌之后就说过要休息两天,所以这两天也是没怎么更新文章和分析,那么这里就来说一下接下来行情方面的走势回顾,行情前面两天整体上从11500-10900一线区间震荡.