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

2021-06-21 21:06:47

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

攻擊細節分析

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

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

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

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

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

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

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

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

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

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

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

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

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

但通過分析 Impossible Pair 的 swap 函數與 cheapSwap 函數的具體邏輯,我們發現一個驚人的情況:在 swap 函數中進行了 K 值檢查,而在 cheapSwap 函數卻未進行 K 值檢查而直接進行了 update 操作。這就導致了攻擊者進行了多次兌換操作獲得了額外的 BUSD。

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

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

攻擊流程

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

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

超萬億市場的變革——了解真實世界資產代幣化

簡介:什么是資產代幣化? 首先,定義代幣化——這是一個將資產的發行、記账和管理流程轉變為數字化的過...

coincaso
17 4天前

UU Wallet:守正出奇、合規創新,東南亞加密支付新勢力

由Chainlink主辦的2024 SmartCon大會近日在香港落幕,作為大會頂級贊助商之一,東...

coincaso
20 6天前

COW 單日翻倍領漲 DeFi 賽道,V 神最愛的 swap 有什么本領?

隨着特朗普的勝選,加密資產全线普漲,但最為矚目的項目當屬剛剛上线幣安的 COW,最高漲幅204%。...

coincaso
25 1周前

今日推薦|DeFi 代幣飆升 30%,交易員預計在特朗普領導下 DeFi 將迎來“更友好”的環境

DeFi 公司擔心在美國證券交易委員會的監督下為其代幣實施“價值累積機制”——但隨着當選總統唐納德...

coincaso
25 1周前

逆市拉盤,一文速覽Depin協議Grass為何暴漲

在加密市場近期震蕩中,Grass代幣($GRASS)以其獨特的表現引發了市場的廣泛關注。尤其是在過...

coincaso
32 1周前

從大虧8.68億到協議重生:Ethena的困境與破局

引言Ethena是本輪周期少有的現象級DeFi項目,其代幣上线後流通市值一度超過20億美金(對應F...

coincaso
30 2周前