By:Dig2@慢霧安全團隊

慢霧:FortressProtocol被黑分析

5 月9 日上午,由於惡意攻擊,Fortress Protocol 中的資金被盜。此次 Fortress Protocol 遭受攻擊的根本原因在於治理合約存在設計缺陷及 Umbrella Network 預言機存在任意操縱漏洞。具體分析如下:

相關信息

Fortress Protocol 是BSC 上的一個DeFi 借貸協議。以下是本次攻擊涉及的相關地址:

攻擊者地址:

https://bscscan.com/address/0xA6AF2872176320015f8ddB2ba013B38Cb35d22Ad

最終攻擊獲利交易Hash:

https://bscscan.com/tx/0x13d19809b19ac512da6d110764caee75e2157ea62cb70937c8d9471afcb061bf

FTS 代幣合約地址:

https://bscscan.com/address/0x4437743ac02957068995c48e08465e0ee1769fbe

具體細節分析

早在正式攻擊的19 天前,攻擊者就已經開始做準備。

4 月29 日,攻擊者在ETH 上通過TornadoCash 獲取了20 ETH,並將其中的12.4 ETH 通過cBridge 跨鏈到BSC 上。

FTS 代幣是Fortress Protocol 的治理代幣,發行於21 年4 月,總供應量為10,000,000。

由於FTS 價格較低,攻擊者僅花費約11.4 ETH 購買約400,000 個FTS 代幣,佔總量的4%。

5 月4 日,攻擊者創建惡意提案合約:

https://bscscan.com/address/0x0dB3B68c482b04c49cD64728AD5D6d9a7B8E43e6

然後它被加入提案隊列,是11 號提案。

提案有三天投票期,在5 月7 日投票結束前的幾個小時,攻擊者用之前購買的約400,000 個FTS 給該提案投贊成票:

0xc368afb2afc499e7ebb575ba3e717497385ef962b1f1922561bcb13f85336252;

0x83a4f8f52b8f9e6ff1dd76546a772475824d9aa5b953808dbc34d1f39250f29d。

如下圖,治理合約中要求,只要贊成數大於反對數,並且贊成票數大於等於FTS 總量的4%,也就是400,000 個FTS,提案即可通過。

慢霧:FortressProtocol被黑分析

投票結束後,提案為通過狀態,還有兩天的執行等待期。

兩天后,也就是5 月9 日,用戶創建攻擊合約,並開始正式攻擊。

在攻擊合約中,首先執行了惡意提案:修改FTS 代幣的抵押率,從0 修改至0.7。於是攻擊者可以用抵押的FTS 70% 的價值借出協議中的資產。

Fortress Protocol 獲取抵押物價格合約:

https://bscscan.com/address/0x00fcF33BFa9e3fF791b2b819Ab2446861a318285

如下圖,通過不同的預言機獲取各個代幣的價格:

慢霧:FortressProtocol被黑分析

其中,FTS 代幣的價格是從Umbrella 預言機獲取的:

https://bscscan.com/address/0xc11B687cd6061A6516E23769E4657b6EfA25d78E

如下圖,Umbrella 預言機的submit 多簽餵價函數存在漏洞:

慢霧:FortressProtocol被黑分析

只需要滿足簽名數量大於requiredSignatures 即可,沒有驗證簽名者是否擁有餵價權限,因此攻擊者可以用任意賬號生成簽名來進行餵價。

攻擊發生後,Umbrella Network 及時修復漏洞並更新了合約:

https://bscscan.com/address/0x49D0D57cf6697b6a44050872CDb760945B710Aab

新的submit 函數驗證了簽名者權限:

慢霧:FortressProtocol被黑分析

回到攻擊本身,攻擊者操縱預言機,將FTS 設置了極高的價格,因此能藉出協議中全部的BNB, USDC, USDT, BUSD, BTCB, ETH, LTC, XRP, ADA, DAI, DOT, SHIB 等代幣。

最終將它們換成三百餘萬USDT 並通過Anyswap 和cBridge 跨鏈到以太坊,接著在以太坊上將USDT 轉換成ETH 和DAI 並轉入了TornadoCash。

總結

本次攻擊同時利用了治理協議的缺陷和預言機幣價操縱的漏洞。在治理合約開發時,需要考慮如何設計代幣投票模式邏輯,使得作惡的巨鯨難以損害社區利益。同時,除了接入去中心化預言機以外,還要注意外部預言機與協議自身的兼容性。

往期回顧

往期回顧

慢霧出品| MistTrack 反洗錢追踪系統

鏈上追踪:洗幣手法科普之波場TRON

慢霧:Rikkei Finance 被黑復現分析

慢霧:揭露瀏覽器惡意書籤如何盜取你的Discord Token

慢霧出品| 餘弦:區塊鏈黑暗森林自救手冊

慢霧出品| MistTrack 反洗錢追踪系統鏈上追踪:洗幣手法科普之波場TRON慢霧:Rikkei Finance 被黑復現分析慢霧:揭露瀏覽器惡意書籤如何盜取你的Discord Token慢霧出品|餘弦:區塊鏈黑暗森林自救手冊

慢霧:FortressProtocol被黑分析

慢霧導航

慢霧科技官網

https://www.slowmist.com/

慢霧區官網

https://slowmist.io/

慢霧 GitHub

https://github.com/slowmist

Telegram

https://t.me/slowmistteam

Twitter

https://twitter.com/@slowmist_team

Medium

https://medium.com/@slowmist

知識星球

https://t.zsxq.com/Q3zNvvF

閱讀原文