By:Dig2@慢霧安全團隊
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,提案即可通過。
投票結束後,提案為通過狀態,還有兩天的執行等待期。
兩天后,也就是5 月9 日,用戶創建攻擊合約,並開始正式攻擊。
在攻擊合約中,首先執行了惡意提案:修改FTS 代幣的抵押率,從0 修改至0.7。於是攻擊者可以用抵押的FTS 70% 的價值借出協議中的資產。
Fortress Protocol 獲取抵押物價格合約:
https://bscscan.com/address/0x00fcF33BFa9e3fF791b2b819Ab2446861a318285
如下圖,通過不同的預言機獲取各個代幣的價格:
其中,FTS 代幣的價格是從Umbrella 預言機獲取的:
https://bscscan.com/address/0xc11B687cd6061A6516E23769E4657b6EfA25d78E
如下圖,Umbrella 預言機的submit 多簽餵價函數存在漏洞:
只需要滿足簽名數量大於requiredSignatures 即可,沒有驗證簽名者是否擁有餵價權限,因此攻擊者可以用任意賬號生成簽名來進行餵價。
攻擊發生後,Umbrella Network 及時修復漏洞並更新了合約:
https://bscscan.com/address/0x49D0D57cf6697b6a44050872CDb760945B710Aab
新的submit 函數驗證了簽名者權限:
回到攻擊本身,攻擊者操縱預言機,將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慢霧出品|餘弦:區塊鏈黑暗森林自救手冊
慢霧導航
慢霧科技官網
https://www.slowmist.com/
慢霧區官網
https://slowmist.io/
慢霧 GitHub
https://github.com/slowmist
Telegram
https://t.me/slowmistteam
https://twitter.com/@slowmist_team
Medium
https://medium.com/@slowmist
知識星球
https://t.zsxq.com/Q3zNvvF