以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > MEXC > Info

成都鏈安:Balancer項目漏洞分析-ODAILY_STA

Author:

Time: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的資產池

成都鏈安:bDollar項目遭受價格操控攻擊,目前攻擊者獲利2381BNB存放于攻擊合約中:據成都鏈安“鏈必應-區塊鏈安全態勢感知平臺”安全輿情監控數據顯示,bDollar項目遭受價格操控攻擊。攻擊者地址:0x9dadbd8c507c6acbf1c555ff270d8d6ea855178e

攻擊交易eth:0x9b16b1b3bf587db1257c06bebd810b4ae364aab42510d0d2eb560c2565bbe7b4

攻擊合約:0x6877f0d7815b0389396454c58b2118acd0abb79a

目前攻擊者獲利2381BNB,存放于攻擊合約中。[2022/5/21 3:32:53]

進行了攻擊。

2.2、攻擊步驟簡介

攻擊者首先通過閃電貸借款大量WETH,而后使用借得的WETH將被攻擊資金池中的通縮貨幣兌換出來,僅留下1e-18個通縮貨幣。完成上述準備工作后,攻擊者開始發動攻擊,不斷使用1e-18個通縮貨幣兌換資金池內的其他代幣,以達到『偷梁換柱』的目的。直到池內資金基本被轉移完后,攻擊者將獲利存入如下地址:

成都鏈安:2022年第1季度區塊鏈安全生態造成的損失達到12億美元:4月20日消息,成都鏈安統計數據顯示,加密行業2022年第1季度安全事件造成的損失達到12億美元。[2022/4/20 14:36:00]

0xBF675C80540111A310B06e1482f9127eF4E7469A

攻擊過程如下圖所示:

△圖1

此次事件發生后,Balancer團隊表示已對資產池進行審計,正在進行第三次審計,并將在UI界面啟用通縮貨幣黑名單,禁止用戶建立存在通縮貨幣的資產池。

2.3、漏洞原理詳細分析

在分析漏洞具體信息之前我們需要知道以下兩點:

1、Balancer項目允許個人建立資金池。資金池本質上是一個智能合約,用戶可以調用資金池的函數進行代幣兌換。資金池中可以存在多種貨幣,用戶可以使用資金池中存在的貨幣進行兌換,兌換的比例按照一種固定的算法,如圖所示:

成都鏈安:BaconProtocol遭受攻擊事件分析:據成都鏈安鏈必應-區塊鏈安全態勢感知平臺輿情監測顯示,BaconProtocol遭受黑客攻擊損失約958,166 美元,關于本次攻擊,成都鏈安團隊第一時間進行了分析:1. 本次攻擊利用重入漏洞,并憑借閃電貸擴大收益額。2:目前攻擊者地址還沒有被加入USDC的黑名單中。[2022/3/6 13:40:01]

△圖2

我們以用STA兌換WETH為例:

?TokenAmountOut表示可以兌換出的WETH的值

?TokenBalanceOut表示當前池內的WETH的值

?TokenBalanceIn表示當前池子內的STA的值

?TokenAmountIn表示用戶輸入的STA的值

?TokenweightIn表示STA的權重,為一個固定值,只能由資金池的管理者更改

聲音 | 成都鏈安:用戶安全意識不足、交易所安全體系不夠完善等因素造成交易所安全事件頻發:成都鏈安統計數據顯示,近期交易所安全問題時有發生。通過總結近期各種交易所安全事件和用戶丟幣事件,成都鏈安分析認為,交易所安全事件的問題來源主要有三點:1、用戶安全意識不足,導致誤入釣魚網站等進而私密信息被盜。2、交易所安全體系不夠完善,平臺自身存在安全漏洞。3.交易所外接數據服務或其他服務后,未針對不可控因素建立應急機制。[2019/8/26]

?TokenweightOut表示WETH的權重,為一個固定值,只能由資金池的管理者更改

?SwapFee表示手續費,為一個固定值,只能由資金池的管理者更改

綜上所述,當一種貨幣STA在一個資金池中的存量較少時,也就是bI較小時,就可以使用STA兌換更多的WETH。

2、STA代幣是一種通縮貨幣,當進行轉賬操作時,會自動銷毀一定量的STA。如下圖所示:

聲音 | Beosin(成都鏈安)預警:某EOS競猜類游戲遭受攻擊 損失超1200枚EOS:根據成都鏈安區塊鏈安全態勢感知系統Beosin-Eagle Eye檢測發現,今日上午 8:53:15開始,黑客yunmen****對EOS競猜類游戲th****sgames發起攻擊。截止到現在,該黑客已經獲利超過1200枚EOS。Beosin建議游戲項目方應該加強項目運維工作,在收到安全公司的安全提醒之后第一時間排查項目安全性,才能及時止損,同時也呼吁項目開發者應該重視游戲邏輯嚴謹性及代碼安全性。Beosin提醒類似項目方全方面做好合約安全審計并加強風控策略,必要時可聯系第三方專業審計團隊,在上鏈前進行完善的代碼安全審計,防患于未然。[2019/4/3]

△圖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

Tags:STAKENTOKTOKENWrapped Staked USDTKOF Tokenimtoken幣被盜找回imtoken錢包官方版下載安卓版

MEXC
迪拜政府啟動KYC區塊鏈聯盟平臺-ODAILY_區塊鏈

據U.Today消息,由迪拜政府建立的KYC區塊鏈聯盟平臺日前已經正式啟動。KYC區塊鏈聯盟是迪拜經濟發展部與阿聯酋航空NBD聯合發起的對區塊鏈的監管的一個平臺.

1900/1/1 0:00:00
按劇本走了,繼續空,第一目標8800,否定位置9250-ODAILY_LUNA

今日方向 觀點:看空 供需 8點收線留下增量PINBAR,收中位,價格觸碰前方日圖上漲波段的618回撤位,觸發投資大眾買盤,大量換手在此積聚,目前處于盈利80-100點的情況.

1900/1/1 0:00:00
如何給區塊鏈打上馬賽克?-ODAILY_PHA

Marvin: 我們團隊比較早期便加入波卡,在去年5月份經過姜老板介紹開始使用Substrate,所以我們和Acala、達爾文等波卡項目也都是好朋友,都是ala系列的.

1900/1/1 0:00:00
比特幣日線收取十字星,11000關口守不住了-ODAILY_比特幣

比特幣隨著前幾天的大漲,日線連續收陽,昨日日線收取十字星形態,幾乎沒有實體部分,那么此根K線很有可能形成上漲趨勢中的反轉十字星,今日日線一旦收陰成功,那么11000關口一定會失守.

1900/1/1 0:00:00
FATF對數字資產監管將有什么新動作?-ODAILY_FAT

近日,金融行動特別工作組在提交給20國集團財政部長和央行行長的關于穩定幣的報告中,提出了新的監管意向。此前,穩定幣被認為有可能刺激金融創新,提升效率并改善金融包容性.

1900/1/1 0:00:00
比特幣初現三陽開泰,萬元關口能否成功破位?-ODAILY_比特幣

易天丨比特幣初現三陽開泰,萬元關口能否成功破位?最近比特幣日線級別連續收陽,K線形態上呈現三陽開泰指標,那么是否標志著比特幣近期繼續看漲,突破萬元關口不在話下呢? 黃金加入全球市場拋售行列.

1900/1/1 0:00:00
ads