據慢霧區消息,2021 年 6 月 29 日,去中心化跨鏈交易協議 THORChain 發推稱發現一個針對 THORChain 的惡意攻擊,THORChain 節點已作出反應并進行隔離和防御。慢霧安全團隊第一時間介入分析,經分析發現,這是一起針對跨鏈系統的“假充值”攻擊,結果分享如下:
什么是“假充值”?
當我們在談論“假充值”攻擊時,我們通常談的是攻擊者利用公鏈的某些特性,繞過交易所的充值入賬程序,進行虛假充值,并真實入賬。
隨著 RenVM、THORChain 等跨鏈服務的興起,跨鏈節點充當起了交易所的角色,通過掃描另一條公鏈的資產轉移情況,在本地公鏈上生成資產映射。THORChain 正是通過這種機制,將以太坊上的代幣轉移到其它公鏈。
JustSwap白名單上SSK假幣已移除流動性池:數據顯示,此前披露的SSK假幣(地址:TYbtUJpoAos99Kt3ih81s6P8TZ1ATTv6Cj)已經移除流動性池。[2020/9/23]
漏洞分析
我們從業務邏輯入口去追蹤分析此漏洞的成因。
首先看到在處理跨鏈充值事件時,調用了 getAssetFromTokenAddress 方法去獲取代幣信息,并傳入了資產合約地址作為參數:
- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go?
波卡生態項目Acala:此前ACA假幣騙局是網站Bug目前已被修正:9月23日,波卡生態項目Acala官方再次發推,對此前Uniswap上的ACA假幣騙局作出聲明。官方表示,現已被告知ACA假幣是網站網站Bug,目前已被修正。官方再次提醒稱,用戶需保持警惕。此前9月7日及15日,Acala官方兩次發推提醒稱,官方還沒有發行ACA代幣,用戶需警惕Uniswap上的ACA假幣。[2020/9/23]
在 getAssetFromTokenAddress 方法里,我們看到它調用了 getTokenMeta 去獲取代幣元數據,此時也傳入了資產合約地址作為參數,但在此處有一個定義引起我們的警覺,在初始化代幣時,默認賦予了代幣符號為 ETH,這就是漏洞的關鍵點之一:asset := common.ETHAsset,如果傳入合約地址對應的代幣符號為 ETH,那么此處關于 symbol 的驗證將被繞過。
孫宇晨就Justswap上線致幣圈的公開信:關于解決假幣問題:據最新消息顯示,波場TRON創始人兼BitTorrent CEO孫宇晨發布了Justswap上線致幣圈的公開信,孫宇晨表示:“解決假幣問題。Justswap團隊將重拳出擊整改假幣問題,我們將會把下拉列表欄的代幣全部審查一遍,確保列表中的代幣為真幣,與此同時,官方開啟假幣審核,推出假幣舉報通道(report@justswap.org),一經審核發現為假幣的,將做下架處理。”[2020/8/19]
- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go
動態 | 賬號創建10億個EOS假幣,項目方應提高警惕:Beosin成都鏈安態勢感知安全預警:今日下午14:20:11?根據成都鏈安區塊鏈安全態勢感知系統Beosin-Eagle Eye檢測發現,賬戶larry5555555 發布了10億 EOS假幣并分發到了數個小號(pandoras1111,pandoras.e等),鷹眼將持續追蹤這些假幣的流向,請各項目方持續關注事件走勢,做好及時應急措施預警準備和自查,檢查自己的合約是否正確判斷接收代幣的發行方,必要時可以找區塊鏈安全公司進行代碼審計,并可加入成都鏈安鷹眼態勢感知系統,我們將第一時間為大家免費提供預警報警服務,避免用戶資產受損。[2019/6/21]
繼續驗證我們的猜測,我們看到當代幣地址在系統中不存在時,會從以太坊主鏈上去獲取合約信息,并以獲取到的 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:ETHAINETHETHEethereum和erc20的地址一樣嗎Glass ChainEthereum Gas LimitThe Basis
以太坊網絡自推出以來,由于其安全和卓越的功能以及潛在的增長潛力,同樣吸引了投資者和開發者的興趣。就市值而言,該網絡的原生貨幣ETH是第二大加密貨幣,僅次于比特幣.
1900/1/1 0:00:00金色財經 區塊鏈7月4日訊 Chainlink和MakerDAO是目前去中心化金融協議預言機市場里的兩個主要競爭對手,但最近.
1900/1/1 0:00:00概要 1.Donut就像是普通銀行服務應用,但其收益率卻能達到DeFi水平。2.Donut操作簡單,有知名企業提供支持,但很大程度上不受監管.
1900/1/1 0:00:00如今人人熟知的「DeFi Summer」,源頭誕生于 2020 年的夏天,DeFi 爆炸式增長的開啟了加密貨幣的新一輪牛市,在 DeFi 世界中流動性挖礦被眾人所追捧.
1900/1/1 0:00:002021年6月16日,《人民法院在線訴訟規則》發布,該《規則》將在8月1日正式施行。《規則》在第十六條到第十九條首次確定了區塊鏈存證效力范圍和審查標準.
1900/1/1 0:00:00各位幣友下午好,您正在收看的是bbtv新聞頻道和娛樂頻道并期直播的午間節目《幣點訪談》,今天是跌年跌月星期跌.
1900/1/1 0:00:00