據慢霧區消息,幣安智能鏈(BSC)DeFi項目ImpossibleFinance遭遇閃電貸攻擊。慢霧安全團隊第一時間介入分析,并將結果分享如下:
攻擊細節分析
ImpossibleFinance的DEX架構參考了Uniswapv2,但在Pair的實現上有所不同。ImpossiblePair分別實現了cheapSwap與swap兩個接口。cheapSwap函數限制了只由Router合約可進行調用,swap函數則是任意用戶都可調用進行代幣兌換操作。本次攻擊事件的根本原因正是出在這種特殊的代幣兌換架構上,接下來我們對此次攻擊進行具體分析:
首先攻擊者利用閃電貸從PancakeSwap中借出大量WBNB,并最終將其兌換成IF(ImpossibleFinance代幣)?。
Reddit聯創:NFT是Web3的“不同之處”,Doodles正打造下一代迪士尼:金色財經報道,Reddit 聯合創始人 Alexis Ohanian 在最新采訪中表示,Web3 的不同之處就在于能有 NFT 這樣的用例。Alexis Ohanian 表示,他希望 Web3 可以解決知識產權和所有權問題,并稱 Doodles 想要打造下一個迪士尼和整個 IP 世界,因為該 NFT 給用戶“股份”,讓人們獲得一種主人翁感受。Alexis Ohanian 補充稱:“投資 NFT 就像投資迪士尼這樣的公司,以前人們只能找到“米老鼠畫作”進行拍賣,但現在你可以投資或擁有媒體公司。”根據公開信息顯示,Alexis Ohanian 投資的 NFT 包括 Moonbirds、Doodles、以及“無聊猿” BAYC 母公司 Yuga Labs。(Benzinga)[2023/1/19 11:20:17]
綠色和平組織抨擊比特幣,稱以太坊合并證明加密“不必以環境為代價”:金色財經報道,在以太坊(ETH)成功合并后,綠色和平組織(Greenpeace)抨擊比特幣(BTC)的能源使用。以太坊合并將其碳排放量削減了99% 以上。
該組織計劃為其“改變代碼,而不是氣候”的活動投入100萬美元,用于大量在線廣告,倡導改變比特幣的代碼,目的是減少BTC的工作量證明(PoW)模式。
廣告活動的負責人Michael Brune表示,州和聯邦領導人以及企業高管正在競相盡快實現脫碳。以太坊已經表明存在切換到一個高能效的協議的可能,氣候、空氣和水的污染要少得多。比特幣已經成為異類,輕蔑地拒絕接受氣候責任。(The Daily Hodl)[2022/9/18 7:03:46]
隨后攻擊者創建了一個由自己控制的代幣AAA(BBB),并與上一步驟中獲得的IF代幣添加流動性。
聲音 | BM:監管授權“不良”做法時有鑒別力的消費者會受到傷害:BM發布推文稱,監管可以授權 \"良好\" 做法, 也可以授權 \"不良\" 做法。 當 授權\"不良\" 做法時, 有鑒別力的消費者就會受到傷害, 因為 \"良好\" 是非法的。不受監管的市場確保有鑒別力的消費者有選擇商品的自由。不要以為注冊 \"不會造成傷害\"。[2019/4/9]
之后攻擊者通過Router傳入自定的兌換路徑(AAA->IF->BUSD)將AAA代幣兌換成BUSD代幣,而問題正是出現在此兌換過程中。通過鏈上記錄我們可以很容易的發現攻擊者在將AAA代幣兌換成IF代幣的過程中進行了兩次兌換操作:
聲音 | 慢霧創始人:因相關細節被“不負責任”地公布,門羅幣緊急發布修復版本:區塊鏈安全公司慢霧創始人余弦在微博稱,由于Ledger硬件錢包門羅幣的一起“丟幣”事故,Ledger警告稱不要和門羅幣客戶端v0.14一起使用Monero Ledger HW應用程序(或Ledger Nano S),可能會引起“丟幣”事故,門羅幣官方轉發了這條消息。而這之前門羅幣官方緊急發布了最新的修復版本v0.14.0.1,解決了在Coinbase 交易中RingCT輸出的錯誤處理問題,正是這個導致了“丟幣”事故。之所以是緊急修復是因為漏洞相關細節已經被“不負責任”地公布了。余弦表示,有相關猜測稱,這是一個匿名貨幣小幣種嘲諷地披露了門羅幣“假充值”漏洞細節,解釋說是因為門羅幣對漏洞研究者一直很傲慢。這導致門羅幣提前發布了補丁。接入門羅幣的相關交易所和錢包盡快修復了漏洞。[2019/3/7]
為什么在一次兌換過程中會進行兩次兌換操作呢?
通過分析具體的內部調用流程我們可以發現,攻擊者在Router合約調用AAA合約的transferFrom函數將AAA代幣轉入Pair合約的過程中,同時調用了一次Pair合約的swap函數(即在transferFrom函數實現了正常轉賬與swap調用的邏輯)。然后再通過項目設計預期的cheapSwap再進行一次正常的代幣兌換操作。
通過以上分析我們可以知道攻擊者在一次代幣兌換過程中分別通過調用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
導讀 區塊鏈網絡長期面臨著有限擴展性、網絡擁堵和高gas費等問題,以太坊鏈尤為突出。市面上推出了各種Layer2擴展方案以期解決上述問題.
1900/1/1 0:00:00加密資產牛市是否已經結束,成為投資者在「5·19」暴跌后最關注的話題。歷經近一個月的低位盤整,BTC于6月14日重返4萬美元關口,一定程度提振了持有者的信心.
1900/1/1 0:00:00自加密貨幣誕生以來,區塊鏈正以快速的造富效應轟炸整個世界所有的領域。相比于傳統金融來說,區塊鏈有著高度的自由性、多元性、可能性,同時參與門檻更低更受廣大市場用戶青睞.
1900/1/1 0:00:00生態系統資源 當我們對不同的L1公鏈在構建?Web3應用的開發和工具方面進行比較時,需要注意的第一個主要方面是許多L1區塊鏈生態系統中可用資金量有多大.
1900/1/1 0:00:00DeFi的競爭格局一直在不斷變化。「貨幣樂高」的無須許可和可組合的本質創造了永無止境的創新大爆發和令人興奮的事物,在讓人們幾乎無法緊跟其步伐的同時,這一領域正變得越來越復雜.
1900/1/1 0:00:00頭條 ▌云南省能源局:6月底完成比特幣挖礦企業清理整頓云南省能源局辦公室人士今日向《區塊鏈日報》記者確認,根據通知要求及時組織各用電部門開展聯合檢查,在今年6月底完成比特幣挖礦企業用電清理整頓.
1900/1/1 0:00:00