據慢霧區消息,2021年6月29日,去中心化跨鏈交易協議THORChain發推稱發現一個針對THORChain的惡意攻擊,THORChain節點已作出反應并進行隔離和防御。慢霧安全團隊第一時間介入分析,經分析發現,這是一起針對跨鏈系統的“假充值”攻擊,結果分享如下:
什么是“假充值”?
當我們在談論“假充值”攻擊時,我們通常談的是攻擊者利用公鏈的某些特性,繞過交易所的充值入賬程序,進行虛假充值,并真實入賬。
隨著RenVM、THORChain等跨鏈服務的興起,跨鏈節點充當起了交易所的角色,通過掃描另一條公鏈的資產轉移情況,在本地公鏈上生成資產映射。THORChain正是通過這種機制,將以太坊上的代幣轉移到其它公鏈。
公鏈項目Taraxa:官方并未釋放代幣,警惕假幣風險:據官方消息,公鏈項目Taraxa表示,目前并沒有釋放任何TARA代幣,在市場上流通的“TARA”代幣均為虛假代幣。Taraxa官方目前尚未公布上線計劃合作交易所以及其TARA代幣合約地址。Taraxa基金會在此提醒廣大投資者,謹防被騙。
此前報道,Taraxa已于今日上午在Tokensoft平臺成功完成其本次公開發行,同時在線申購人數約13000人。此外Taraxa計劃于近期啟動上所計劃。[2021/3/12 18:40:13]
漏洞分析
我們從業務邏輯入口去追蹤分析此漏洞的成因。
首先看到在處理跨鏈充值事件時,調用了getAssetFromTokenAddress?方法去獲取代幣信息,并傳入了資產合約地址作為參數:
緊跟熱點 ERC20標準FIL假幣騙局再現:北京鏈安Chainsmap監測系統發現,隨著Filecoin主網上線成為近期投資熱點,以ERC20合約偽造“FIL”代幣的騙局也已經再度出現。這些所謂的FIL代幣甚至剛剛在兩天前創建,即開始以空投的方式向一些地址轉賬,同時已經以此代幣在Uniswap建立交易對池子,并有人參與交易。在此,我們提醒各位投資者在投資前,首先學習了解Filecoin技術和投資的常識,注意提防此類假幣騙局。[2020/10/16]
-?bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
?
動態 | 警惕市場上各種假幣騙局 避免真幣兌換假幣:據CoinHunter.io監測,在過去一周內,仿冒知名代幣進行詐騙的行為依舊活躍。其中,僅火幣token(HT)的仿冒代幣就多達10個。CoinHunter在此提醒廣大交易者,切勿輕易相信陌生人提供的代幣地址,轉帳前應對代幣合約的名字(name)、縮寫(symbol)、交易活躍度、持有人數量等信息進行核對,以免受騙上當。
以下是部分仿冒火幣token的假幣地址:
0xf797472…;0x66eda29…;0xc50f43d…;0xb4a3d3b…;
0x34bc412…;0x223fe58…;0xb0bf377…;0xaae0d7d…;
0x31e02d2…;0xC671D15…;[2019/7/15]
在getAssetFromTokenAddress方法里,我們看到它調用了getTokenMeta?去獲取代幣元數據,此時也傳入了資產合約地址作為參數,但在此處有一個定義引起我們的警覺,在初始化代幣時,默認賦予了代幣符號為ETH,這就是漏洞的關鍵點之一:asset:=common.ETHAsset,如果傳入合約地址對應的代幣符號為ETH,那么此處關于symbol的驗證將被繞過。
動態 | TronBank遭假幣攻擊 1小時內被盜約1.7億枚BTT:據DappReview監測,TronBank于凌晨1點遭到假幣攻擊,1小時內被盜走約1.7億枚BTT(價值約85萬元)。監測顯示,黑客創建了名為BTTx的假幣向合約發起“invest”函數,而合約并沒有判定發送者的代幣id是否與BTT真幣的id1002000一致。因此黑客拿到真幣BTT的投資回報和推薦獎勵,以此方式迅速掏空資金池。TronBank的BTT投資產品于4月10日晚10點正式開放,僅三小時內總投資額超過2億枚BTT,此前該項目的TRX投資產品最高資金池余額超過2.6億枚TRX。目前TronBank開發者尚未對此事做出回應,網站也并沒有及時關閉,仍有不明真相的群眾進入投資,但他們投入的BTT會被黑客提走。[2019/4/11]
-?bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
繼續驗證我們的猜測,我們看到當代幣地址在系統中不存在時,會從以太坊主鏈上去獲取合約信息,并以獲取到的symbol構建出新的代幣,此時所有的漏洞成因都已經顯現:
-?bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
-?bifrost/pkg/chainclients/ethereum/tokens_db.go
-?bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
總結一下,首先是由于錯誤的定義,如果跨鏈充值的ERC20代幣符號為ETH,那么將會出現邏輯錯誤,導致充值的代幣被識別為真正的以太幣ETH。
還原攻擊真相
我們來看一筆攻擊交易的執行過程,可以提取出充值的代幣合約地址:
我們在Etherscan上查看這個代幣合約地址:
發現這個地址對應的合約的代幣符號正是ETH,攻擊者正是通過部署了假幣合約,完成了這次跨鏈假充值。
漏洞修復
漏洞補丁:
項目方在發現攻擊后快速對代碼進行了修復,刪除了默認的代幣類型,使用common.EmptyAsset進行空代幣定義,并在后續邏輯中使用asset.IsEmpty()進行判斷,過濾了沒有進行賦值的假充值代幣。
總結
幸運的是項目方及時發現了本次攻擊,未造成巨額財產損失,但作為跨鏈系統,未來可能聚集巨額的多鏈資金,安全性不容忽視,因此慢霧安全團隊建議在進行跨鏈系統設計時應充分考慮不同公鏈不同代幣的特性,充分進行“假充值”測試,做好狀態監控和預警,必要時可聯系專業安全公司進行安全審計。
Tags:ETHChainCHAHAIethics翻譯TFchain最新版blockchain錢包mediumchain
頭條 ▌薩爾瓦多將購買價值1.35億美元的比特幣薩爾瓦多總統曾表示,政府將向每位公民提供30美元比特幣。并于今年9月7日正式采用比特幣作為法定貨幣,那時估計有450萬成年公民.
1900/1/1 0:00:002021年北京時間3月11日,在世界著名藝術品拍賣行——佳士得拍賣行上,數字藝術家Beeple的NFT藝術作品《每一天:最初的5000天》,拿下了高達6934萬美元的成交價.
1900/1/1 0:00:006月25日,由PORiot共識聯盟,PORiot共識聯盟主辦,森和天下承辦,由海南數米科技作為本次會議的指導單位.
1900/1/1 0:00:00自新冠疫情席卷全球以來,利用現代科技,以數字化工具武裝自身成為不少行業及企業在疫情期間的“生存之道”.
1900/1/1 0:00:00彭博社今日發表的一篇文章指出,蓬勃發展的加密貨幣公司正在努力尋找合適的候選人來填補數百個職位,對數字貨幣和其他資產的狂熱讓他們與全球一些最大的金融機構展開了競爭.
1900/1/1 0:00:006月29日凌晨,美聯儲監管副主席RandalK.Quarles發表了一篇主題為「降落傘褲和央行數字貨幣」的演講.
1900/1/1 0:00:00