比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

SWAP:“不可思議” 的被黑之旅: Impossible Finance 被黑分析

Author:

Time:1900/1/1 0:00:00

據慢霧區消息,幣安智能鏈 (BSC) DeFi 項目 Impossible Finance 遭遇閃電貸攻擊。慢霧安全團隊第一時間介入分析,并將結果分享如下:

攻擊細節分析

Impossible Finance 的 DEX 架構參考了 Uniswap v2,但在 Pair 的實現上有所不同。Impossible Pair 分別實現了 cheapSwap 與 swap 兩個接口。cheapSwap 函數限制了只由 Router 合約可進行調用,swap 函數則是任意用戶都可調用進行代幣兌換操作。本次攻擊事件的根本原因正是出在這種特殊的代幣兌換架構上,接下來我們對此次攻擊進行具體分析:

首先攻擊者利用閃電貸從 PancakeSwap 中借出大量 WBNB,并最終將其兌換成 IF (Impossible Finance 代幣) 。

CoinShares CEO:加密市場仍然存在“不透明”問題:金色財經報道,CoinShares首席執行官Mognetti表示,加密市場仍然存在“不透明”問題,他稱,“盡管我們正在取得所有進展,但不透明性非常嚴重,因此沒有您想要的信息。” Mognetti認為,這會導致不確定性。[2022/8/10 12:15:26]

隨后攻擊者創建了一個由自己控制的代幣 AAA (BBB),并與上一步驟中獲得的 IF 代幣添加流動性。

聲音 | 趙東微博解釋“不靠跟單炒幣,而靠創業還錢”的原因:微博用戶@fhrp發微博稱,趙東作為ak付費群終身會員,不靠跟單炒幣,還得靠創業還錢,也是一件很神奇的事情 。趙東微博評論稱,法海你也不要亂猜,這個事情當事人澄清一下: 14年爆倉后我認為是自己炒幣技術不行,于是讓ak幫我參謀,曾經賺過1000BTC,我分給ak 過200BTC。之后,ak不想再為我一個人做參謀,而是獨自開了收費群,在收費群沒有收我的費。最終我發現自己不適合炒幣,我自己靠炒幣持續賺錢很難,于是沒在群里久呆。[2019/7/22]

之后攻擊者通過 Router 傳入自定的兌換路徑 (AAA -> IF -> BUSD) 將 AAA 代幣兌換成 BUSD 代幣,而問題正是出現在此兌換過程中。通過鏈上記錄我們可以很容易的發現攻擊者在將 AAA 代幣兌換成 IF 代幣的過程中進行了兩次兌換操作:

動態 | 江蘇南通利用區塊鏈等技術助推“不見面開標”:據人民網消息,近日,江蘇省南通市公共資源交易中心組織召開“鴻雁不見面開標系統” 3.0版研發論證會。據了解,“鴻雁不見面開標系統”3.0版將繼續圍繞提升各方交易主體的滿意度、獲得感,持續挖掘“不見面開標”的應用廣度和深度,在人機交互設計、智能語音操控、遠程協助等方面進行全面提升,始終貫穿“人工智能+物聯網+區塊鏈”等前沿科技理念,引入博弈論數理模型,對海量交易數據進行大數據挖掘處理,實現“決策智能化”自動開標,充分發揮“不見面開標”的綜合效益。[2018/12/15]

經濟日報:發展區塊鏈先要弄清“是”與“不是”:“目前,多數人并非真正懂得區塊鏈,而是企圖利用概念賺錢。因此,清晰定義區塊鏈非常重要。只有定義清楚后,大家才知道什么是,什么不是,才能進一步去規范。”在日前清華大學產業創新與金融研究院舉辦的一場研討會上,清華大學法學院教授高西慶談道。清華大學計算機系副教授陳康介紹,“區塊鏈技術并不神秘,只是由于它將密碼學、分布式系統和博弈論這三個反直觀的理論結合于一身,才成為人們難以理解的事物”。[2018/4/18]

為什么在一次兌換過程中會進行兩次兌換操作呢?

通過分析具體的內部調用流程我們可以發現,攻擊者在 Router 合約調用 AAA 合約的 transferFrom 函數將 AAA 代幣轉入 Pair 合約的過程中,同時調用了一次 Pair 合約的 swap 函數 (即在 transferFrom 函數實現了正常轉賬與 swap 調用的邏輯)。然后再通過項目設計預期的 cheapSwap 再進行一次正常的代幣兌換操作。

通過以上分析我們可以知道攻擊者在一次代幣兌換過程中分別通過調用 swap 函數與 cheapSwap 函數進行兩次代幣兌換操作,最終收到了額外的 BUSD 代幣。那么既然是進行兌換操作,理論上每次兌換操作都將導致 K 值的變化,最終使得用戶無法獲得預期的代幣。

但通過分析 Impossible Pair 的 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

Tags:SWAPAAACHEUSDswap幣交易所AAA價格coincheck中文叫什么usdt幣怎么兌換人民幣歐意

歐易okex官網
馬斯克:金色觀察|馬斯克很“幽默”

事實證明,馬斯克很“幽默”。作為“首富”的他很擅長活躍在推特上。還有和加密貨幣領域里的人士打嘴炮。6月25日,馬斯克發了一個推特.

1900/1/1 0:00:00
比特幣:“百萬富翁級”巨鯨在過去25天內大攬9萬個比特幣

比特幣巨鯨似乎正在囤幣,期待著更高的價格。據加密貨幣市場數據匯總器Santiment統計,“百萬富翁級”錢包在短短25天內增持了9萬個BTC.

1900/1/1 0:00:00
POL:Polkadot 官方發文:我們離可互操作的多鏈愿景又近一步

Kusama 第一次平行鏈插槽拍賣已經結束,第一批平行鏈已成功連接到 Kusama 中繼鏈,這實現了 Polkadot 白皮書中概述的最后一項核心功能:專門構建的、可互操作的平行鏈.

1900/1/1 0:00:00
元宇宙:今天我們在NFT領域重提元宇宙概念的意義是什么

我們發現,具有未來性的新興技術經過一段時間蟄伏后,都會以非常強勢的姿態回歸行業視野。在今年,表現最為明顯的便是元宇宙,目前行業對它的關注度不亞于平行鏈拍賣、Lay2和DeFi,已成為眾多大會上必.

1900/1/1 0:00:00
FIL:Filecoin 的Gas 費用能降到什么程度?

Filecoin本月末將迎來一次較大的升級。這次升級將引入一些對降低Gas費用非常有效的新特性。由于高昂的Gas費用對Filecoin的算力增長的阻礙一直存在,因此這次升級備受期待.

1900/1/1 0:00:00
比特幣:Jimmy Song:為什么山寨幣持有者不關心比特幣 Taproot 升級?

Jimmy Song 從開發者、營銷和去中心化三方面闡述了為何山寨幣持有者們不關心 Taproot 升級.

1900/1/1 0:00:00
ads