據慢霧區消息,幣安智能鏈(BSC)DeFi項目ImpossibleFinance遭遇閃電貸攻擊。慢霧安全團隊第一時間介入分析,并將結果分享如下:
攻擊細節分析
ImpossibleFinance的DEX架構參考了Uniswapv2,但在Pair的實現上有所不同。ImpossiblePair分別實現了cheapSwap與swap兩個接口。cheapSwap函數限制了只由Router合約可進行調用,swap函數則是任意用戶都可調用進行代幣兌換操作。本次攻擊事件的根本原因正是出在這種特殊的代幣兌換架構上,接下來我們對此次攻擊進行具體分析:
首先攻擊者利用閃電貸從PancakeSwap中借出大量WBNB,并最終將其兌換成IF(ImpossibleFinance代幣)?。
巴克萊私人銀行首席市場策略師:比特幣幾乎是“不可投資的”:金色財經報道,1月21日消息,巴克萊私人銀行首席市場策略師Gerald Moser表示,雖然預測比特幣的預期回報率幾乎是不可能的,但從投資組合的角度來看,它的波動性使得該資產幾乎是“不可投資”的。(The Block)[2021/1/21 16:39:09]
隨后攻擊者創建了一個由自己控制的代幣AAA(BBB),并與上一步驟中獲得的IF代幣添加流動性。
V神:關注預測市場的人對今天的大選進程“不太驚訝”:推特網友DCinvestor.eth稱,昨日,市場預測在幾個點上都大錯特錯,沒人知道誰還是對的。對此V神剛剛回復稱,我想說人類一般都錯得離譜。當人類大錯特錯的時候,沒有一種機制能把正確性從魔法帽子里拔出來。但我確實認為,關注預測市場的人對今天發生的一切“不太驚訝”。今日早前消息,V神再次發推表示看好市場預測類DeFi項目。[2020/11/4 11:39:22]
之后攻擊者通過Router傳入自定的兌換路徑(AAA->IF->BUSD)將AAA代幣兌換成BUSD代幣,而問題正是出現在此兌換過程中。通過鏈上記錄我們可以很容易的發現攻擊者在將AAA代幣兌換成IF代幣的過程中進行了兩次兌換操作:
動態 | 加密貨幣愛好者John McAfee總統競選口號:“不要為我投票”:據CCN消息,比特幣傳播者John McAfee已經加入了美國2020年總統選舉之中。與他的競爭對手不同,McAfee有一個大膽、意想不到的口號:“不要投票給McAfee。”[2019/1/30]
為什么在一次兌換過程中會進行兩次兌換操作呢?
通過分析具體的內部調用流程我們可以發現,攻擊者在Router合約調用AAA合約的transferFrom函數將AAA代幣轉入Pair合約的過程中,同時調用了一次Pair合約的swap函數(即在transferFrom函數實現了正常轉賬與swap調用的邏輯)。然后再通過項目設計預期的cheapSwap再進行一次正常的代幣兌換操作。
ETC交易量激增 官方轉發“不支持CLO”消息:行情顯示,ETC的24小時成交量達5.88億美元,占比3.58%,排名第五。此前Bitcoin.com報道,ETC在區塊高度5500000硬分叉,產生新的分叉幣CLO,ETC持有者將獲得1:1的CLO,目前ETC高度為5498455。關于分叉幣CLO的糖果分配,Bittrex表示無法在3月5日前完成審核,故不支持空投。除此之外,ETC官方賬號在3月2日轉發ETCDEV團隊的官方消息寫到:“回答所有關于CLO的問題:我們不知道,不要問我們。ETCDEV并沒有執行這個項目,我們不支持也不贊同它”。ETC現全球均價29.26美元,24小時跌幅3.52%。[2018/3/5]
通過以上分析我們可以知道攻擊者在一次代幣兌換過程中分別通過調用swap函數與cheapSwap函數進行兩次代幣兌換操作,最終收到了額外的BUSD代幣。那么既然是進行兌換操作,理論上每次兌換操作都將導致K值的變化,最終使得用戶無法獲得預期的代幣。
但通過分析ImpossiblePair的swap函數與cheapSwap函數的具體邏輯,我們發現一個驚人的情況:在swap函數中進行了K值檢查,而在cheapSwap函數卻未進行K值檢查而直接進行了update操作。這就導致了攻擊者進行了多次兌換操作獲得了額外的BUSD。
攻擊流程
1、攻擊者先通過PancakeSwap閃電貸借出WBNB,并將WBNB兌換成IF代幣。
2、創建惡意的代幣合約AAA(BBB),并在Impossible中添加了AAA代幣與IF代幣流動性。
3、通過AAA->IF->BUSD路徑進行AAA代幣到BUSD代幣的兌換,并在AAA代幣轉入Pair合約兌換成IF代幣的過程中進行了一次IF代幣與BUSD的兌換操作,隨后再進行正常的cheapSwap操作。最終獲得了額外的BUSD代幣。
4、之后重復以上操作進行獲利。
總結
本次攻擊的核心在于cheapSwap函數中未進行K值檢查,導致攻擊者可以通過在一次兌換過程中進行多次兌換操作以獲得額外的代幣。慢霧安全團隊建議DeFi協議在參考其他項目的基礎上進行創新的過程中應該充分的對其新的模型進行檢查驗證以避免此類安全事故的發生。
參考交易:
https://bscscan.com/tx/0x0220704a99ddfb982d26e65cc337f26b77dc057930b7aa1d848cc48ec77984a8
Kusama 本周一,Shell平行鏈在Kusama理事會和社區的投票下升級為Statemine平行鏈!周二的時候Kusama理事會投過了將Kusamaruntime升級為9040的Motion.
1900/1/1 0:00:00原標題:《ATM機數字人民幣如何兌現金?》 本報記者體驗數字人民幣兌換現金功能,目前越來越多的市民開始參與數字人民幣試點,通常大家是通過銀行卡往數字錢包里充值換成數字人民幣.
1900/1/1 0:00:00原文標題:《對DFINITY的去中心化身份、賬戶與錢包介紹開發者能如何利用?》6月3號,ICPLeague聯合社區開發者舉辦了第二期的開發者電話會,探討了DFINITY的底層賬戶結構.
1900/1/1 0:00:00背景 如果說過去10年加密貨幣行業的創新引擎是專注于解決行業本身的發展問題,那么從2020年開始,加密行業或者區塊鏈技術已經不再只是某些人口中的“玩具”,從DeFi到NFT的變化.
1900/1/1 0:00:00當特斯拉首席執行官埃隆·馬斯克透露其公司的比特幣敞口并宣布推出加密貨幣支付時,BTC飆升至歷史最高水平.
1900/1/1 0:00:00雖然現在以太坊上執行交易產生的GAS費似乎是減少了,但這并沒有影響DeFi用戶和開發商往Polygon——一個Layer2解決方案聚合器上遷移交易的趨勢.
1900/1/1 0:00:00