無法記取歷史教訓的人,註定會重蹈覆轍。
在 2023 年,我們目睹了許多安全事件,導致社區遭受了嚴重的損失。對於受影響的人來說,這些都是悲劇。然而,這些事件也為社區提供了教訓,警示我們安全應當是首要優先事項。
在這些事件中,BlockSec 精選了十個非同尋常的案例,每一個都有其獨特的原因。有些充滿了戲劇性,有些採用了「創新」的攻擊策略,有些導致了巨大的經濟損失,還有些利用了先前未知的攻擊面。
在本部落格中,我們將闡述 2023 年值得關注的十大安全事件及其原因。對於每一個安全事件,我們也將在單獨的部落格文章中介紹其根本原因和攻擊步驟。
#1 利用 Flashbots 中繼器的漏洞收割 MEV 機器人
摘要
2023 年 4 月 3 日,攻擊者利用 Flashbots 中繼器中存在的漏洞攻擊了多個 MEV 機器人,獲利約 2000 萬美元。此攻擊的根本原因是私有交易在特定條件下會洩露至公共記憶體池(public pool),攻擊者可以通過搶先交易(back-run)這些洩露的交易來獲取利潤。

選擇理由
攻擊者使用複雜的方法,通過利用 Flashbots 零日漏洞、創建蜜罐交易誘騙受害者以及實施規避檢測的策略來收割 MEV 機器人。這是迄今為止最複雜的攻擊,它將底層區塊鏈基礎設施的漏洞與槓桿攻擊策略相結合,並造成了重大的財務影響。
🧐 詳細了解根本原因和攻擊步驟。
#2:Euler Finance 事件:2023 年最大的駭客攻擊
摘要
2023 年 3 月 13 日,Euler Finance 的借貸池遭到閃電貸攻擊,導致近 2 億美元的損失。攻擊源於 donateToReserves() 函數缺乏支付能力檢查。這種疏忽使攻擊者能夠從高槓桿頭寸中注資,將該頭寸的健康度降低至 100% 以下,並產生壞帳。
Euler 的設計包含針對「軟清算」(soft liquidations)的動態關閉係數,這意味著頭寸的健康度越低,可清算的抵押品就越多——根據本次事件的數據,在出現壞帳的情況下,清算比例高達 75%。因此,被大幅折價的抵押品清算允許攻擊者償還閃電貸並獲取利潤。
選擇理由
創紀錄的 1.97 億美元資金被一名 20 歲的阿根廷人 Federico Jaime 竊取,他向媒體提供了一段「蜿蜒曲折、有時令人困惑,甚至自相矛盾的敘述」。儘管如此,後來「所有可追回的資金」都被歸還給了 Euler Finance 的金庫地址。然而,其中一小部分(約 20 萬美元)「無意中」被發送給了 Lazarus Group——一個被美國財政部制裁的、據稱由北韓國家支持的犯罪集團。
🧐 詳細了解根本原因和攻擊步驟。
#3:KyberSwap 事件:極其細微的計算下對捨入誤差的大師級利用
摘要
2023 年 11 月 23 日,KyberSwap 遭到了一系列針對性攻擊。這些攻擊導致總損失超過 4800 萬美元。根本問題源於 KyberSwap 再投資過程中的錯誤捨入方向。這隨後導致了不正確的刻度(tick)計算,並最終導致流動性重複計算。
選擇理由
這次 2023 年的攻擊因其複雜性而顯得突出,具有極其細微的計算過程,是眾多嚴重考驗社區的精度相關安全事件的典型案例。此外,在與當局進行廣泛談判後,攻擊者向公眾發佈了一則語氣挑釁的信息,聲稱要求對該協議擁有完全控制權。
🧐 詳細了解根本原因和攻擊步驟。
#4:Curve 事件:編譯器錯誤導致無辜原始碼產生錯誤的位元組碼
摘要
2023 年 7 月 30 日,一系列漏洞利用針對了多個 Curve 池,導致數百萬美元的損失。這是一次典型的重入攻擊,但具有非典型的根本原因,源於一個導致重入保護失效的編譯器錯誤。具體來說,在智慧合約中,不同函數的重入鎖被分配了不同的存儲槽。因此,使用 Vyper 版本 0.2.15、0.2.16 和 0.3.0 編譯的智慧合約存在漏洞。
選擇理由
該漏洞源於編譯器,而非原始碼。這是編譯器錯誤首次導致巨大的財務損失。
🧐 詳細了解根本原因和攻擊步驟。
#5:Platypus Finance 事件:憑藉好運倖存三次攻擊
摘要
Platypus Finance 是一個傳奇的 DeFi 協議,它奇蹟般地承受了三次連續攻擊,具體如下:
- 2023 年 2 月 17 日,由於錯誤的償付能力檢查,它經歷了一次駭客攻擊,總損失約 905 萬美元。其中,在 BlockSec 的幫助下挽救了 240 萬美元。大約 38 萬個代幣被困在 Aave 合約中,隨後被歸還。
- 2023 年 7 月 12 日,它再次被駭,由於忽略了穩定幣之間的價格差,損失了約 5 萬美元。
- 2023 年 10 月 12 日,它遭受了價格操縱攻擊,損失約 220 萬美元。在與攻擊者談判後,90% 的被盜資金被歸還。
俗話說:「一個人的命運,當然要靠自我奮鬥,但也要考慮歷史的行程。」顯然,該項目在所有這些攻擊中倖存下來是非常幸運的。我們對這三次漏洞利用的分析表明,這些邏輯缺陷本是可以避免的——如果經過細緻的審計或採取更積極的安全措施。
選擇理由
- 倖存一次已屬不易,但連續倖存三次堪稱傳奇。
- 該項目遭到三次不同的攻擊,每一次針對不同的漏洞。
- BlockSec 的主動行動幫助該項目挽救了 240 萬美元。
🧐 詳細了解根本原因和攻擊步驟。
#6:Hundred Finance 事件:催化了 2023 年對脆弱分叉協議中精度相關漏洞的利用浪潮
摘要
2023 年 4 月 16 日,Compound v2 的分叉協議 Hundred Finance 遭到攻擊,導致約 680 萬美元的損失。此次攻擊涉及兩個主要根本原因:
- 錯誤的捨入問題;
- 允許攻擊者操縱匯率的空市場(Empty markets)。
具體而言,精度問題被用於影響抵押品的贖回和提取。未正確初始化的市場或資金池可能面臨流動性短缺,這可能導致操縱,並導致底層資產與相應份額代幣(例如 Compound 的 cToken)之間的流動性失衡。因此,份額代幣的價格可能會膨脹,從而允許僅用極少量(或稍多一點)的原始資產作為抵押品,來借入其他有價值的底層資產。最終,攻擊者由於精度損失而能夠贖回並提取原始底層資產。
Hundred Finance 的這次事件,以及隨後針對 Aave v2 分叉協議 HopeLend 的攻擊,揭示了一種新的攻擊範式,可能會通過操縱 LP 代幣匯率來針對這兩個著名協議及其分叉項目。隨後,觀察到了一系列類似的攻擊。
選擇理由
Hundred Finance 作為首個因精度損失而遭受駭客攻擊的 Compound V2 分叉,為一系列類似的 DeFi 安全漏洞埋下了伏筆。此外,該事件可能催化了隨後對 Aave V2 分叉協議的攻擊浪潮。
🧐 詳細了解根本原因和攻擊步驟。
#7:ParaSpace 事件:與時間賽跑,挫敗了行業迄今為止最關鍵的攻擊
摘要
2023 年 3 月 17 日,由於價格預言機的漏洞,ParaSpace 成為了駭客攻擊的目標。在駭客進行了三次失敗的嘗試後,BlockSec Phalcon 系統進行了及時干預,通過救援行動挽救了價值超過 500 萬美元的 ETH。
選擇理由
行業最重要的阻擊戰:由 BlockSec Phalcon 系統挽救了超過 500 萬美元。
🧐 詳細了解根本原因和攻擊步驟。
#8:SushiSwap 事件:嘗試救援導致一系列跟風攻擊
摘要
2023 年 4 月 9 日,SushiSwap 成為未經驗證的外部參數引發漏洞利用的受害者。協議本身未受損,但授權了 RouteProcessor2 合約的用戶是主要攻擊目標。攻擊鎖定了對該合約具有有效授權的用戶,且極易複製,導致用戶蒙受重大損失。
BlockSec 成功挽救了 100 顆以太幣並歸還給受害者。一位用戶名為 @trust__90 的白帽駭客進行了首次救援基金的嘗試,但該嘗試不幸失敗。白帽駭客使用的方法很容易複製,僅旨在挽救總冒險資金的一小部分。這為攻擊者打開了大門,使其能夠執行多筆跟風交易,有效耗盡了大部分資金。
選擇理由
- 作為被攻擊目標的 SushiSwap 是以太坊上的領先協議,用戶群龐大。此次攻擊影響廣泛。
- 白帽駭客救援不幸失敗,導致了多次跟風攻擊。這引發了關於如何正確執行白帽救援以及如何正確管理救援工作的討論。
🧐 詳細了解根本原因和攻擊步驟。
#9:MEV 機器人 0xd61492:在閃電貸漏洞中從捕食者變成獵物
摘要
2023 年 8 月 3 日,Arbitrum 上的一個 MEV 機器人遭到攻擊,導致 80 萬美元的損失。攻擊的根本原因是使用者輸入驗證不足。攻擊者欺騙「套利 MEV 機器人」(0x8db0ef)從「金庫 MEV 機器人」(0xd61492)借款,從而啟動了閃電貸機制。同時,攻擊者偽裝成閃電貸提供者,挪用了借給「套利 MEV 機器人」的所有資產,並沒收了來自「金庫 MEV 機器人」的授權。
考慮到 MEV 機器人之間複雜的交互及其缺乏開源驗證的性質,攻擊者如何精確定位並導航出這一精巧的利用路徑確實令人困惑。
選擇理由
套利 MEV 機器人由於其非開源的性質,通常被視為一種神秘的捕食者。理解這些 MEV 機器人背後的確切邏輯可能非常有挑戰性。然而,它們大多數利用閃電貸來最大化資金利用率,這為攻擊者創造了機會。MEV 機器人 0xd61492 的被駭事件是利用機器人與閃電貸提供者之間交互的現實案例。
此事件中值得注意的部分包括:
- 首先,隱藏在 MEV 機器人模組複雜回調函數中的漏洞。
- 其次,繞過了多合約 MEV 機器人系統中的限制。
🧐 詳細了解根本原因和攻擊步驟。
#10:ThirdWeb 事件:受信任模組之間的兼容性問題暴露漏洞
摘要
2023 年 12 月 5 日,據報導 ThirdWeb 的智慧合約存在漏洞。該問題是涉及 ERC-2771 和 Multicall 標準的兼容性問題。ERC-2771 定義了一個通過受信任轉發器接收元交易(meta-transactions)的介面,而 Multicall 允許在單筆交易中批處理多個函數調用。當由受信任轉發器轉發的調用從 calldata 中獲取實際調用者地址時,就會出現該漏洞,攻擊者可以對其進行操縱。儘管每個標準單獨運行時都是正確的,但它們的結合使用可能會打破某些假設,並導致意外的安全問題。
選擇理由
ERC-2771 和 Multicall 標準都被實現在 OpenZeppelin 和 ThirdWeb 等流行的開發庫中。開發人員通常對這些成熟的代碼庫寄予信任,並可能在程式碼審計期間忽略它們。即使單個模組本身沒有固有的缺陷,這種疏忽也可能引入新的安全漏洞。第三方庫在軟體安全中起著至關重要的作用,這一點通常被忽視。
🧐 詳細了解根本原因和攻擊步驟。
結論
在本部落格文章中,我們概述了 2023 年十個重大的安全事件。正如那句名言所說:「我們從歷史中學到的唯一教訓,就是我們沒有從歷史中學到任何教訓。」 這句話在安全事件的背景下依然令人感到痛苦並真實存在。我們希望本部落格以及隨後的文章,能夠使社區更有效地從過去的事件中學習,並在新的一年中防止犯下類似的錯誤。
作為全端安全服務提供商,BlockSec 始終旨在協助社區。BlockSec 對 DeFi 協議安全的方法是全面的。我們採用最先進的審計技術、自動化攻擊防禦工具和安全事件管理服務。這使我們成為那些致力於增強安全態勢、保護用戶資產免受 2024 年 DeFi 領域中不斷變化的威脅侵害的協議的重要合作夥伴。
敬請持續關注本系列的更多部落格。
閱讀本系列的其他文章:
- #1: 利用 Flashbots 中繼器的漏洞收割 MEV 機器人
- #2: Euler Finance 事件:2023 年最大的駭客攻擊
- #3: KyberSwap 事件:極其細微的計算下對捨入誤差的大師級利用
- #4: Curve 事件:編譯器錯誤導致無辜原始碼產生錯誤的位元組碼
- #5: Platypus Finance 事件:憑藉好運倖存三次攻擊
- #6: Hundred Finance 事件:催化了 2023 年對脆弱分叉協議中精度相關漏洞的利用浪潮
- #7: ParaSpace 事件:與時間賽跑,挫敗了行業迄今為止最關鍵的攻擊
- #8: SushiSwap 事件:蹩腳的救援嘗試導致了一系列跟風攻擊
- #9: MEV 機器人 0xd61492:在閃電貸漏洞中從捕食者變成獵物
- #10: ThirdWeb 事件:受信任模組之間的兼容性問題暴露漏洞



