據慢霧區消息,2021 年 6 月 29 日,去中心化跨鏈交易協議 THORChain 發推稱發現一個針對 THORChain 的惡意攻擊,THORChain 節點已作出反應并進行隔離和防御。慢霧安全團隊第一時間介入分析,經分析發現,這是一起針對跨鏈系統的“假充值”攻擊,結果分享如下:
什么是“假充值”?
當我們在談論“假充值”攻擊時,我們通常談的是攻擊者利用公鏈的某些特性,繞過交易所的充值入賬程序,進行虛假充值,并真實入賬。
隨著 RenVM、THORChain 等跨鏈服務的興起,跨鏈節點充當起了交易所的角色,通過掃描另一條公鏈的資產轉移情況,在本地公鏈上生成資產映射。THORChain 正是通過這種機制,將以太坊上的代幣轉移到其它公鏈。
“邊玩邊賺”游戲Axie Infinity發布RON假幣風險警示:金色財經報道,1月7日,據“邊玩邊賺”游戲Axie Infinity官方推特發布警示消息,一些欺詐者正在以太坊上向AXS持有者發送所謂的RON代幣,這些代幣并非真正的RON代幣。Axie Infinity提醒,官方RON代幣尚未解鎖,AXS持有人如果與Uniswap上一些“隨機池”交互時,必須特別小心。[2022/1/7 8:32:43]
漏洞分析
我們從業務邏輯入口去追蹤分析此漏洞的成因。
首先看到在處理跨鏈充值事件時,調用了 getAssetFromTokenAddress 方法去獲取代幣信息,并傳入了資產合約地址作為參數:
慢霧xToken被黑事件分析:兩個合約分別遭受“假幣”攻擊和預言機操控攻擊:據慢霧區消息,以太坊 DeFi 項目 xToken 遭受攻擊,損失近 2500 萬美元,慢霧安全團隊第一時間介入分析,結合官方事后發布的事故分析,我們將以通俗易懂的簡訊形式分享給大家。
本次被黑的兩個模塊分別是 xToken 中的 xBNTa 合約和 xSNXa 合約。兩個合約分別遭受了“假幣”攻擊和預言機操控攻擊。
一)xBNTa 合約攻擊分析
1. xBNTa 合約存在一個 mint 函數,允許用戶使用 ETH 兌換 BNT,使用的是 Bancor Netowrk 進行兌換,并根據 Bancor Network 返回的兌換數量進行鑄幣。
2. 在 mint 函數中存在一個 path 變量,用于在 Bancor Network 中進行 ETH 到 BNT 的兌換,但是 path 這個值是用戶傳入并可以操控的
3. 攻擊者傳入一個偽造的 path,使 xBNTa 合約使用攻擊者傳入的 path 來進行代幣兌換,達到使用其他交易對來進行鑄幣的目的。繞過了合約本身必須使用 ETH/BNT 交易對進行兌換的限制,進而達到任意鑄幣的目的。
二)xSNXa 合約攻擊分析
1. xSNXa 合約存在一個 mint 函數,允許用戶使用 ETH 兌換 xSNX,使用的是 Kyber Network 的聚合器進行兌換。
2. 攻擊者可以通過閃電貸 Uniswap 中 ETH/SNX 交易對的價格進行操控,擾亂 SNX/ETH 交易對的報價,進而擾亂 Kyber Network 的報價。從而影響 xSNXa 合約的價格獲取
3. 攻擊者使用操控后的價格進行鑄幣,從而達到攻擊目的。
總結:本次 xToken 項目被攻擊充分展現了 DeFi 世界的復雜性,其中針對 xSNXa 的攻擊更是閃電貸操控價格的慣用手法。慢霧安全團隊建議 DeFi 項目開發團隊在進行 DeFi 項目開發的時候要做好參數校驗,同時在獲取價格的地方需要防止預言機操控攻擊,可使用 Uniswap 和 ChainLink 的預言機進行價格獲取,并經過專業的安全團隊進行審計, 保護財產安全。詳情見官網。[2021/5/13 21:57:48]
- bifrost/pkg/chainclients/ethereum/ethereum_block_scanner.go?
Bridge官方聲明:市場出現假幣 大家警惕交易:ZB Capital戰略投資項目Bridge(BGN)將于9月13、14日在ZBG、LBank正式發售,發售價格為380USDT,此前僅有少量節點代幣BGN在鏈上公開認籌,最后一輪價格為350USDT。因此低于300USDT以下場外出售的BGN很有可能是假幣,目前已有用戶投訴被騙,假幣假微信號已經出現在市場上,請大家注意風險,謹慎交易,認準官方渠道。
據悉,此前Bridge還獲得了維京基金會、BKEX Capital、LBank、ZBG等多家企業投資,并達成深度合作。[2020/9/12]
聲音 | 中央財經大學鄧健鵬:目前我國關于反假幣的相關規定難以適用于數字貨幣:金色財經報道,中央財經大學法學院教授鄧健鵬認為,目前,我國關于反假幣的相關規定難以適用于數字貨幣。由于對貨幣的定義僅停留在紙幣和硬幣層面,貨幣發行制度也僅針對紙幣和硬幣的特性而設計。根據中國人民銀行法和人民幣管理條例相關規定,首先,“偽造”“變造”的概念對數字貨幣不適用;其次,反假幣工作程序對數字貨幣不適用。[2019/12/4]
在 getAssetFromTokenAddress 方法里,我們看到它調用了 getTokenMeta 去獲取代幣元數據,此時也傳入了資產合約地址作為參數,但在此處有一個定義引起我們的警覺,在初始化代幣時,默認賦予了代幣符號為 ETH,這就是漏洞的關鍵點之一:asset := common.ETHAsset,如果傳入合約地址對應的代幣符號為 ETH,那么此處關于 symbol 的驗證將被繞過。
- 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:ETHAINHAICHABABYETHV2Cold ChainAerochainDopple Exchange Token
每天有成千上萬的人第一次使用去中心化交易所。然而,公鏈的特性通常會讓新手措手不及,即使是那些熟悉傳統市場的用戶。結果就是交易者的資金流向套利者和搶跑者,導致其操作受到預期之外的影響.
1900/1/1 0:00:002021年7月8日,由中礦實業集團主辦,中云礦信息科技深圳集團有限公司承辦,金色財經與幣世界跟蹤報道.
1900/1/1 0:00:00我們開始意識到我們的數據是如何在網上流通的。事實上,我們每個人可能都有這樣的經歷,在網店看到一條褲子以后,其他的網站開始推送相應的廣告,我們會感覺有人在監視我們.
1900/1/1 0:00:00Axie Infinity 在兩個月內,日活用戶從 3.8 萬人猛增至 25.2 萬人,其社區金庫從不到 100 萬美元增長到超過 1400 萬美元.
1900/1/1 0:00:00以太坊網絡自推出以來,由于其安全和卓越的功能以及潛在的增長潛力,同樣吸引了投資者和開發者的興趣。就市值而言,該網絡的原生貨幣ETH是第二大加密貨幣,僅次于比特幣.
1900/1/1 0:00:00金色財經 區塊鏈6月27日訊 從6月23日開始,比特幣算力連續四天出現上漲,一些業內人士認為.
1900/1/1 0:00:00