據慢霧區消息,2021 年 6 月 29 日,去中心化跨鏈交易協議 THORChain 發推稱發現一個針對 THORChain 的惡意攻擊,THORChain 節點已作出反應并進行隔離和防御。慢霧安全團隊第一時間介入分析,經分析發現,這是一起針對跨鏈系統的“假充值”攻擊,結果分享如下:
什么是“假充值”?
當我們在談論“假充值”攻擊時,我們通常談的是攻擊者利用公鏈的某些特性,繞過交易所的充值入賬程序,進行虛假充值,并真實入賬。
隨著 RenVM、THORChain 等跨鏈服務的興起,跨鏈節點充當起了交易所的角色,通過掃描另一條公鏈的資產轉移情況,在本地公鏈上生成資產映射。THORChain 正是通過這種機制,將以太坊上的代幣轉移到其它公鏈。
波卡生態項目Acala:此前ACA假幣騙局是網站Bug目前已被修正:9月23日,波卡生態項目Acala官方再次發推,對此前Uniswap上的ACA假幣騙局作出聲明。官方表示,現已被告知ACA假幣是網站網站Bug,目前已被修正。官方再次提醒稱,用戶需保持警惕。此前9月7日及15日,Acala官方兩次發推提醒稱,官方還沒有發行ACA代幣,用戶需警惕Uniswap上的ACA假幣。[2020/9/23]
漏洞分析
我們從業務邏輯入口去追蹤分析此漏洞的成因。
首先看到在處理跨鏈充值事件時,調用了 getAssetFromTokenAddress 方法去獲取代幣信息,并傳入了資產合約地址作為參數:
Farmland Protocol提醒用戶注意假幣風險:Farmland Protocol提醒用戶注意假幣風險,目前上線的Farmland通證均為假幣。據官方公告,跨鏈Defi聚合平臺將于近期登陸交易平臺,具體時間另行通知,并且表示在此之前不會開放交易,一切在官方通知之前上線的均為假幣,上線詳情留意官方公告,特別請用戶注意鑒別,Uniswap上的farm非Farmland的通證。[2020/9/4]
- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go?
警惕 Omni 假幣導致USDT假充值風險:近日,根據慢霧區情報,有黑客采取新型 USDT 假充值手法,黑客采取在 Omni 上發行其他類型的代幣偽造成 USDT 對交易所或錢包進行 USDT 假充值,當交易所或錢包在檢測 USDT 充值時如果沒有校驗交易中的 propertyid,就會導致假充值情況的發生。經慢霧安全團隊驗證,已有交易所因此問題導致損失。由于 USDT 在 Omni 協議上的廣泛使用,大多數人認為 Omni 協議上只有 USDT,導致忽略 Omni 協議上的其他類型的不知名幣種,容易造成假充值問題。
慢霧安全團隊建議交易所或錢包自查 USDT 入賬邏輯,必要時聯系慢霧安全團隊進行驗證。[2020/3/7]
在 getAssetFromTokenAddress 方法里,我們看到它調用了 getTokenMeta 去獲取代幣元數據,此時也傳入了資產合約地址作為參數,但在此處有一個定義引起我們的警覺,在初始化代幣時,默認賦予了代幣符號為 ETH,這就是漏洞的關鍵點之一:asset := common.ETHAsset,如果傳入合約地址對應的代幣符號為 ETH,那么此處關于 symbol 的驗證將被繞過。
動態 | 歐洲刑警組織緝拿假幣團隊 涉及價值144萬美元比特幣獲利:據Cointelegraph 9月10日消息,歐洲刑警組織查獲一批假幣。犯罪團伙自2017年以來售出130萬歐元假鈔,在黑網上出售假鈔以換取比特幣(BTC),獲得比特幣總價值144萬美元。據稱,這些筆記是他們遇到過的最優質的偽造品,帶有水印和全息圖等特征。[2019/9/10]
- 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() 進行判斷,過濾了沒有進行賦值的假充值代幣。
總結
幸運的是項目方及時發現了本次攻擊,未造成巨額財產損失,但作為跨鏈系統,未來可能聚集巨額的多鏈資金,安全性不容忽視,因此慢霧安全團隊建議在進行跨鏈系統設計時應充分考慮不同公鏈不同代幣的特性,充分進行“假充值”測試,做好狀態監控和預警,必要時可聯系專業安全公司進行安全審計。
會議紀要 時間:2021年7月7日(周三)國盛證券2021年中期資本市場峰會——分論壇6:元宇宙:虛實之間主持人:宋嘉吉 所長助理、國盛區塊鏈研究院 院長主講嘉賓:Navigator.
1900/1/1 0:00:00短期內,穩定幣會使人們能夠以實際的方式進行交易,而長期穩定則使其他重要的金融功能如貸款和信貸得以實現.
1900/1/1 0:00:00談到ETH的倫敦硬分叉,就不得不提EIP-1559提案,然后我們再來詳解倫敦硬分叉和其帶來的影響.
1900/1/1 0:00:001.從DeFi到游戲:最熱門的幾個去中心化應用程序本文精選最受歡迎的dapp?。點擊閱讀2.比特幣難度暴跌 但礦工收入為何能4天漲50%?數據顯示,在網絡出現有史以來最大難度下調之后,比特幣礦工.
1900/1/1 0:00:00二季度,加密市場完成了風格切換,整體從加速上漲至短期高點轉為橫盤寬幅調整。根據CoinMarketCap的統計,加密貨幣總市值從季度初的約1.89萬億美元上漲至峰值約2.55萬億美元后就開始下降.
1900/1/1 0:00:00區塊鏈電子票據擁有防篡改、可追溯等優勢,能實現票據從開具到報銷的全流程可信。目前,海南、深圳、北京、昆明等省市均在積極探索當中,在多個場景均有試點及落地應用.
1900/1/1 0:00:00