一、事件背景
Balancer官網上對于其具體功能的描述為『EasilyswapERC20tokens.Exchangetokenswithoutdeposits,bids/asks,andordermanagement.Allon-chain.』。簡單來說Balancer就是提供在鏈上進行tokens交換的區塊鏈智能合約應用。
2020年6月29日凌晨,Balancer項目的兩個資金池遭受攻擊。攻擊者在此次事件中獲利約46萬美元,資金池市商損失約50萬美元。
根據此次安全事件的具體過程,可以將此次事件比喻為攻擊者『偷梁換柱』。
二、抽絲剝繭還原攻擊者『偷梁換柱』經過
2.1、安全事件概述
?根據鏈上交易數據顯示:
1、攻擊者利用自建合約
對存在通縮貨幣STA的資產池
進行了攻擊;
2、攻擊者利用自建合約
對存在通縮貨幣STONK的資產池
成都鏈安:ApolloX 項目方因簽名系統缺陷被攻擊,損失約160萬美元:金色財經消息,據成都鏈安“鏈必應-區塊鏈安全態勢感知平臺”安全輿情監控數據顯示,ApolloX 項目遭受攻擊,根據成都鏈安技術團隊分析,發現ApolloX簽名系統存在缺陷,攻擊者利用簽名系統缺陷生成了255個簽名,總共從合約中提取了53,946,802$APX,價值約160萬美元,目前被盜金額通過跨鏈已打入以太坊0x9e532b19abd155ae5ced76ca2a206a732c68f261地址。此前,ApolloX代幣APX在今日19:00左右從0.054美元快速跌至0.019美元,閃跌約60%。[2022/6/9 4:11:35]
進行了攻擊。
2.2、攻擊步驟簡介
攻擊者首先通過閃電貸借款大量WETH,而后使用借得的WETH將被攻擊資金池中的通縮貨幣兌換出來,僅留下1e-18個通縮貨幣。完成上述準備工作后,攻擊者開始發動攻擊,不斷使用1e-18個通縮貨幣兌換資金池內的其他代幣,以達到『偷梁換柱』的目的。直到池內資金基本被轉移完后,攻擊者將獲利存入如下地址:
成都鏈安:國內天穹數藏宣稱遭黑客攻擊,黑客利用虛假余額購買盜取用戶的藏品:5月17日消息,據成都鏈安“鏈必應-區塊鏈安全態勢感知平臺”安全輿情監控數據顯示,天穹數藏宣稱遭黑客攻擊,藏品售價異常高達近千萬元。根據平臺公告稱:平臺數據遭遇大量惡意攻擊,黑客利用虛假余額購買盜取用戶的藏品,導致數據異常,目前已恢復,平臺已第一時間報警處理。成都鏈安安全團隊初步分析,導致本次攻擊的原因猜測為:攻擊者通過傳統網絡安全攻破了平臺方數據庫,惡意篡改賬戶余額,導致大量用戶高價掛單仍可成交,最終導致數據異常。成都鏈安安全團隊建議:
1、 國內數字藏品平臺方在設計、實現和部署的過程中,要關注通信與網絡安全、主機安全、數據庫安全、移動安全等傳統安全領域,做好安全防護;
2、 國內數字藏品平臺方在運維的過程中,要做好金融風控的設計和實施,避免出現大規模資金異動而不自知的情況;
3、 數字藏品消費者在選擇交易平臺時,需要關注平臺合規風險,注意保障自身財產安全;
4、 數字藏品消費者警惕炒作風險和市場泡沫,避免泡沫破裂時造成財產損失。[2022/5/17 3:22:51]
0xBF675C80540111A310B06e1482f9127eF4E7469A
成都鏈安:Li.Finance遭受攻擊事件分析:金色財經消息,據成都鏈安鏈必應-區塊鏈安全態勢感知平臺輿情監測顯示,DEX聚合協議Li.Finance遭黑客攻擊損失約60萬美元,關于本次攻擊,成都鏈安團隊第一時間進行了分析發現:被攻擊合約中的swapAndStartBridgeTokensViaCBridge函數中存在call注入攻擊,可通過構造惡意的數據(_swapData)控制call調用的參數。在本次攻擊事件中,攻擊者惡意構建callTo地址為對應的代幣合約地址,并調用代幣合約的transferFrom函數轉走受害地址的代幣。[2022/3/21 14:08:55]
攻擊過程如下圖所示:
△圖1
此次事件發生后,Balancer團隊表示已對資產池進行審計,正在進行第三次審計,并將在UI界面啟用通縮貨幣黑名單,禁止用戶建立存在通縮貨幣的資產池。
動態 | 成都鏈安推出Beosin-AML虛擬資產調查取證和反洗錢合規系統:為幫助虛擬資產服務商(VASP)監測交易風險、執行反洗錢合規程序,幫助監管部門監督VASP合規流程執行情況,幫助執法部門快速收集虛擬資產犯罪案件證據,為受害者提供技術協助,成都鏈安科技推出可視化的虛擬資產合規監測和調查取證分析系統Beosin-AML。系統上線技術援助服務,受害者被盜幣或不慎參與了跑路盤、資金盤等非法項目后,可在網站提交相關信息,平臺開展調查、分析和追蹤等取證服務。成都鏈安Beosin-AML虛擬資產調查取證和反洗錢合規系統,采集鏈上交易數據,分析加密貨幣犯罪和安全事件,結合機器學習模型綜合分析鏈上交易的合規和安全風險。幫助區塊鏈行業建立合法、合規的應用生態。[2019/12/10]
2.3、漏洞原理詳細分析
在分析漏洞具體信息之前我們需要知道以下兩點:
1、Balancer項目允許個人建立資金池。資金池本質上是一個智能合約,用戶可以調用資金池的函數進行代幣兌換。資金池中可以存在多種貨幣,用戶可以使用資金池中存在的貨幣進行兌換,兌換的比例按照一種固定的算法,如圖所示:
聲音 | 成都鏈安:用戶安全意識不足、交易所安全體系不夠完善等因素造成交易所安全事件頻發:成都鏈安統計數據顯示,近期交易所安全問題時有發生。通過總結近期各種交易所安全事件和用戶丟幣事件,成都鏈安分析認為,交易所安全事件的問題來源主要有三點:1、用戶安全意識不足,導致誤入釣魚網站等進而私密信息被盜。2、交易所安全體系不夠完善,平臺自身存在安全漏洞。3.交易所外接數據服務或其他服務后,未針對不可控因素建立應急機制。[2019/8/26]
△圖2
我們以用STA兌換WETH為例:
?TokenAmountOut表示可以兌換出的WETH的值
?TokenBalanceOut表示當前池內的WETH的值
?TokenBalanceIn表示當前池子內的STA的值
?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
Tags:STATOKETOKENKENStabilize BSCWine TokenTBCC TokenUNCC Token
:大家好上午好,我是持幣者!行情就如同打噴嚏,雖然有時候你已經有所預感,卻措手不及。山高擋不住南來雁,墻高隔住北來風,再大的蛤蟆也擋不住車馬,浪再大擋不住魚穿水,山再高也遮住太陽紅,殺了公雞,也.
1900/1/1 0:00:00編者按:本文來自幣乎直播。Greg:很高興有機會和大家一起在幣乎做AMA!我先自我介紹一下:我在RChain已經工作了很長時間了,哈哈哈哈.
1900/1/1 0:00:00短線行情解讀及操作建議:行情在昨日早間打到最高點11798一線后受到壓制回落,最低打到11600一線,隨后震蕩上行,再次提振市場信心,那么對于今日的操作上其實思路其實已經很明顯了.
1900/1/1 0:00:00通過智能合約平臺,用戶可以構建去中心化的應用程序–如今這個概念已經廣為應用。但是,以太坊仍然是開拓者,與比特幣相比,甚至更加重要.
1900/1/1 0:00:00昨日以太坊開盤價在227.58美元,幣價最高達到228.03美元,最低價抵達216.32美元,收盤價在226.16美元,漲幅達到:-0.62%(-1.42),振幅達到:5.15%.
1900/1/1 0:00:00易天說 昨日以太坊開盤在238.82一線,最高抵達243.77一線,最低抵達234.44一線,收盤于238.84一線,漲幅達到:0.01%(0.02),振幅達到:3.91%.
1900/1/1 0:00:00