月亮链 月亮链
Ctrl+D收藏月亮链

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

作者:

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

一、事件背景

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

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

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

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

2.1、安全事件概述

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

1、攻击者利用自建合约

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

进行了攻击;

2、攻击者利用自建合约

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

BSN开放联盟链成都链已上线:金色财经报道,近日,区块链服务网络BSN表示,开放联盟链成都链已在BSN环境内上线,这是基于BSN环境上线的第9条开放联盟链。BSN开放联盟链(简称OPB)包括多条基于公有链框架和联盟链框架搭建的公用链,此次上线的成都链是基于公链Casper框架进行合规化改造而来。[2022/12/15 21:46:38]

进行了攻击。

2.2、攻击步骤简介

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

0xBF675C80540111A310B06e1482f9127eF4E7469A

攻击过程如下图所示:

成都链安:Visor Finance遭受攻击事件分析:据成都链安监测显示,Visor Finance于北京时间2021年12月21日晚上10点18分遭受攻击。经成都链安技术团队分析,本次攻击利用了Visor Finance项目抵押挖矿合约RewardsHypervisor的两个漏洞:

1.call调用未对目标合约进行限制,攻击者可以调用任意合约,并接管了抵押挖矿合约的执行流程;<- 主要漏洞,造成本次攻击的根本原因。2.函数未做防重入攻击;<- 次要漏洞,导致了抵押凭证数量计算错误,不是本次攻击的主要利用点,不过也可凭此漏洞单独发起攻击。针对这两个问题,成都链安在此建议项目方应做好下面两方面:1.进行外部合约调用时,建议增加白名单,禁止任意的合约调用,特别是能够控制合约执行流程的关键合约调用;2.函数做好防重入,推荐使用openzeppelin的ReentrancyGuard合约。[2021/12/22 7:55:18]

△图1

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

成都链安:8ight Finance项目疑似私钥泄露,资金总损失接近100万美元:据成都链安链必应-区块链安全态势感知平台舆情监测显示,8ight Finance项目方疑似私钥泄露导致被攻击,资金已从tornado转移出去,资金总损失:868587 DAI,123621 1USDT,10843 EIGHT,80 ONE.[2021/12/8 12:58:37]

2.3、漏洞原理详细分析

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

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

△图2

我们以用STA兑换WETH为例:

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

REV智能合约已通过Beosin(成都链安)的安全审计:据官方消息,Justswap上的明星项目,REV团队释放出REV智能合约审计报告,由Beosin(成都链安)安全审计完成。

据了解,REV(Revolution Token)是基于区块链的新型社会实验型代币。其独特之处在于内嵌了交易燃烧、尾单博弈、持币分红三种独特的创新机制。

REV技术介绍:智能合约的整体设计清晰,逻辑缜密,代码安全靠谱,从性能和功能上完全具备了区块链顶级去中心化金融项目的一切条件。合约地址(认准唯一)

TSngG7y4RDSVG6QwoWM4MvVWJb3k8VLZJk。详情点击原文链接。[2020/9/16]

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

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

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

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

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

分析 | 成都链安:钱包Safuwallet服务器是否存储了用户的私钥是关键:针对“网页加密货币钱包Safuwallet被黑与币安服务器出现问题是否存在关联”一事,成都链安在接受金色财经采访时指出:“safuwallet是第三方extension插件钱包,用户资产被盗,主要原因还是私钥被盗,发生了这样的问题,对于钱包服务器而言只要不存储用户的私钥,只做相关交易数据的处理的话,两者之间就没有关系,如果服务器存储了用户的私钥,那黑客就有可能通过攻击服务器获取到用户的私钥。推特消息称是safuwallet被注入了恶意代码,黑客可能先将恶意代码注入到safuwallet中,然后引诱受害者安装钱包,再获取到受害者的私钥后,进行相关代币的转移。事实上,对于非官方钱包,安全性确实不太好保障。对于此类钱包,私钥被盗的时间时有发生。对于这个事件,后续的影响主要是用户的损失、钱包和交易所的声誉。”[2019/10/12]

?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

标签:STATOKKENTOKEstader币怎么样最新imtoken下载网址Power TokenMars Ecosystem Token

比特币最新价格热门资讯
区块链:央视报道欧科云链集团,聚焦新业态下的区块链新兴职业-ODAILY_point币最新消息

7月28日,CCTV-4《中国新闻》栏目围绕新增设的两个区块链职业进行深入报道。央视记者实地到访欧科云链集团,结合新兴职业如何吸纳就业等话题,与欧科云链区块链工程师及人力资源总监展开深入交流.

1900/1/1 0:00:00
BTC:BTC窄幅区间如何做突破布局-ODAILY_cointiger下载

BNB现价16.83美元,24h上涨2.92%,24h成交额9602.44万美元;OKB现价4.98美元,24h下跌2.48%,24h成交额1.25亿美元;HT现价4.11美元.

1900/1/1 0:00:00
比特币:消息面过后的比特币,多空搏杀决出最终胜利者-ODAILY_淘宝1元买了1000个比特币

消息面过后的比特币多空搏杀决出最终胜利者2020年7月8日,一周的时间又过去一半了,昨日易天文章已经指出:消息面的刺激只是一时的,终究会回归技术面.

1900/1/1 0:00:00
比特币:面对目前震荡横盘的比特币,后市如何去应对?-ODAILY_Ratscoin

由于比特币网络的挖矿能力主要位于中国,因此季风期间廉价水电的影响使许多矿工运营保持可持续性。此外,该报告还发现,促使矿工升级设备的资本积累也与价格上涨和4-6个月后哈希率的上升存在相关性.

1900/1/1 0:00:00
以太坊:全新的金融体系,以太坊会占据主导地位吗?-ODAILY_DAN

通过智能合约平台,用户可以构建去中心化的应用程序–如今这个概念已经广为应用。但是,以太坊仍然是开拓者,与比特币相比,甚至更加重要.

1900/1/1 0:00:00
BTC:行情分析:10000美元的BTC还没来,股市就有人唱一万点了-ODAILY_usdt币怎么获得

市场要闻区块链的世界已经没有什么大的新闻了,今天我们来说说传统金融行情的新闻,自上周证监会爆出于7月修改指数纳入规则之后,传统资本市场一片载歌载舞.

1900/1/1 0:00:00