在不斷發展的 Web3 世界中,安全性的重要性再怎麼強調也不為過。儘管處於熊市,DeFi 駭客攻擊與詐騙事件的驚人激增已引起了人們的擔憂。無數受害者在失去辛苦賺來的錢財後尋求協助,這突顯了問題的嚴重性以及對預防措施的迫切需求。
BlockSec 的介紹
我們的區塊鏈平台成立於 2021 年,並獲得了知名投資者及客戶的支持。它提供多種產品,包括廣泛用於安全研究人員分析交易的 Phalcon Explorer。此外,該平台還提供免費供社群使用的 MetaDock 和 MetaSleuth 工具。
為什麼 Web3 中的安全性很重要
Web3 中安全性的重要性不言而喻,因為即使在熊市條件下,DeFi 駭客攻擊與詐騙事件的增長也令人擔憂。越來越多受害者在損失錢財後尋求協助,這證明了該問題的嚴重性,以及需要透過機制來協助預防因這類攻擊而導致的破產。
為什麼 DeFi 駭客攻擊非常普遍
DeFi 攻擊在現今非常普遍,原因如下:
- 首先,攻擊者有經濟誘因來執行這些攻擊,因為他們能從這些行為中獲得豐厚的利潤。
- 其次,缺乏足夠的合格開發人員導致了協議中的漏洞。許多開發人員專注於功能而非安全性,且缺乏區塊鏈安全方面的充份培訓。
- 此外,大學開設的區塊鏈安全相關課程有限,導致社群中合格專家的短缺。
- 最後,有些攻擊是由有組織的駭客團體或國家級組織發起的。這些團體隱蔽性高且鍥而不捨,專門針對金融機構、軍事組織和加密貨幣交易所進行攻擊以攫取巨額利潤。他們先進的攻擊手段和豐富的資源對 DeFi 項目構成了更大的威脅。
DeFi 協議的安全性
在討論協議安全性時,許多人認為代碼審計是 DeFi 協議的主要解決方案。然而,由於代碼審計的高成本和耗時性質,僅靠審計是不夠的。合格的審計服務昂貴,且流程可能需要數個月,這使得對於某些有時間限制的協議來說並不切實際。
此外,該領域缺乏合格的審計師,導致可用專業知識不足。因此,一些協議被迫在沒有全面安全措施的情況下上線,這可能會導致漏洞未被修復並產生潛在威脅。
為什麼「主動防禦」在 Web3 中很重要
為了確保 DeFi 協議的安全,採取主動防禦的方法至關重要。這意味著協議不能僅僅在部署後就置之不理。它們需要主動監控協議內的持續活動,並準備好對任何潛在攻擊自動做出反應。
與 Web2 相比,這種主動防禦方法在 Web3 中的重要性更高,原因如下:
- 首先,Web3 引入了更多的攻擊向量,且區塊鏈的開放性使得好壞用戶都能更容易地存取和分析智能合約的原始碼。
- 第二,利用漏洞對攻擊者來說變得有利可圖,特別是由於區塊鏈交易的匿名性,這使得追蹤他們的活動具有挑戰性。
- 第三,閃電貸(Flash Loan)的可用性使得攻擊者能夠放大其財務能力,而不像 Web2 那樣,發動攻擊需要大量的資本。
- 最後同樣重要的是,某些私人交易服務可能被濫用以隱藏惡意交易。
因此,Web3 的獨特屬性使得針對協議和用戶的惡意攻擊更容易發生,同時也使得追蹤和識別攻擊者變得更加困難。
我們的系統如何運作
我們在區塊鏈領域開發了一個名為 BlockSec Phalcon 的原型系統。自 2022 年 2 月以來,我們一直在積極探索如何克服與 DeFi 攻擊相關的某些挑戰,以超越傳統的代碼審計。
BlockSec Phalcon 使我們能夠密切監控區塊鏈上的交易。透過監控這些交易並自動做出回應,我們可以透過重放攻擊交易並複製攻擊合約的關鍵邏輯,來重建潛在技術。
這個過程使我們能夠合成一個新的救援智能合約。然後,我們可以發送救援交易,確保我們的交易速度更快,並在攻擊交易之前被確認上鏈。 透過利用這種方法,我們有潛力透過更快的行動和在區塊鏈內獲得領先地位,來徹底阻斷攻擊交易。
「攻擊」合約的構建方式
該機制或系統的關鍵在於它如何自動重建攻擊交易和「攻擊」合約。其基本理念是考慮攻擊交易和攻擊智能合約中最重要的是什麼——最關鍵的元素就是智能合約中的攻擊邏輯。
雖然基本想法很簡單,但在實踐中並非那麼直接。我們面臨一系列技術挑戰。最重要的一點是如何處理智能合約中基本區塊(basic blocks)的重用。編譯器通常利用區塊重用來生成更小的代碼,這是減小代碼尺寸的常見做法。在整個過程中,我們受到了二進制代碼重寫概念的啟發,這是一種已經使用了兩個多世紀甚至更久的技術。因此,我們借鑒了這個想法,並將其應用於字節碼重寫(bytecode rewriting)技術中。
我們取得的非凡里程碑
透過利用我們的系統,我們已經成功地阻止了多起協議攻擊交易並挽回了巨大的流動性損失。例如,我們今年為 ParaSpace 挽回了 500 萬美元的損失,去年為 Saddle Finance 追回了 380 萬美元。在接下來的討論中,我們將重點介紹一些代表性案例,以說明我們如何阻止這些交易。
讓我們以 ParaSpace 為例。它在今年 3 月遭遇了攻擊,但攻擊者犯了嚴重的錯誤。他們未能分配足夠的 Gas,導致交易被回滾。我們在區塊鏈上監控並識別了該交易。隨後,我們自動合成了一個類似的救援合約。在區塊鏈上執行我們的救援合約後,BlockSec 成功地為 ParaSpace 追回了 500 萬美元的損失。
另一個案例是 Platypus,它在今年 2 月面臨攻擊。攻擊者利用智能合約中的漏洞,找到了利用 Platypus DeFi 協議的入口點。然而,他們忽略了設定從受損合約中提取資金的邏輯。因此,駭客遇到了一個挑戰:如何從受損合約中提取剩餘的 240 萬美元?
在這種情況下,BlockSec 擁有一個能自動反編譯攻擊合約的內部系統。透過啟發式學習方法(Heuristic methods),我們對攻擊智能合約進行了全面分析,發現了一些有趣的特性。
首先,我們發現該合約中的閃電貸回調函數(flash loan callback)是暴露的。其次,Platypus 池合約已被授予 USDC 的授權。池合約可以升級為利用來自被攻擊合約的授權,以提取剩餘的 USDC。透過將這一想法和概念驗證(PoC)分享給協議方,我們幫助他們成功從攻擊合約中取回了 240 萬美元。
另一個案例涉及 Transit Swap,它成為了 MEV 機器人的目標。我們發現該 MEV 機器人的地址是由一個名為 Profanity 的缺陷工具生成的。利用該工具中的漏洞,我們計算出了 MEV 機器人的私鑰,並追回了資金以賠償給協議。
如何提高該系統的效率
我們認為提高該系統的效率需要審慎的思考和策略性的行動。
- 首先,快速且主動的回應是必不可少的。在情況發生時,收集資訊並立即採取行動至關重要。
- 其次,保持準確性非常關鍵。我們必須避免生成過多的誤報。正如我們之前討論的,如果您的監控工具生成過多警報,將會嚴重影響產品的可用性。因此,我們應該致力於採取系統化的方法,而不是僅僅專注於追蹤攻擊者。
BlockSec 擁有一系列用於合約分析及反編譯的工具,採用啟發式方法進行細緻的字節碼分析。所有這些措施旨在構建一個全面的系統並交付有效的產品。
在充滿活力的 Web3 領域,安全性是重中之重。隨著 DeFi 駭客攻擊的增加,必須採取主動防禦的方法,並利用像 BlockSec Phalcon 這樣創新的系統來保護協議和用戶。透過不斷突破安全措施的界限,我們努力增強 Web3 的安全性與完整性,為一個安全且繁榮的去中心化未來鋪平道路。



