Pantera Capital 合夥人:讀懂智能合約安全實時監控項目 Forta
原文作者:Paul Veradittakit,Pantera Capital 合夥人
譯者:盧江飛,鏈聞
- 智能合約漏洞一直是加密生態系統中最關注的問題之一,當然,這個問題在 DeFi 行業內也飽受批評。今年早些時候,Poly Network 成為頭條新聞,因為在一次自稱為「白帽」黑客的智能合約攻擊中,該協議有超過 6 億美元的資產被盜,這表明加密行業需要圍繞智能合約探索更嚴格的安全實踐。
- 許多智能合約的安全工作重心都放在了「部署前審計」上,依靠經驗豐富的安全研究人員在部署前確定智能合約中需要解決的關鍵漏洞。但不幸的是,這種方法無法準確捕捉到合約部署之後出現的潛在漏洞,這些漏洞可能被惡意行為者發現,繼而威脅數百萬 DeFi 用戶的資金安全。
- Forta 是由 OpenZeppelin 孵化的一個全新加密項目,可以幫助開發者在智能合約的實時執行過程中更好地識別漏洞。 Forta 有兩個關鍵組成部分:
- Agent(代理),它是掃描區塊鏈交易是否存在威脅、異常和其他風險的腳本,任何人都可以編寫 Agent 來監控智能合約或交易,隨著 Agent 編寫者社區規模不斷擴大,能夠有效解決不斷發展的智能合約生態系統中的潛在漏洞。
- Node(節點)是運行支持 Layer 1 或 Layer 2 區塊鏈上 Agent 的伺服器。當 Agent 檢測到智能合約出現某些問題時,Node 就會發出一個警報,該警報會存儲在 IPFS 中並記錄在 Polygon 區塊鏈上。
- Forta 還提供了一些附加功能來增強智能合約的安全性,包括:推出讓開發人員輕鬆部署和管理代理的介面 (Forta Connect)、提供用戶瀏覽和訂閱特定警報的工具 (Forta Explorer),以及帶有混淆代碼和用於謹慎漏洞監控加密警報功能的 Agent(Private Agents)。
- 截至目前,Forta 已經部署了超過 200 個 Agent 來支持智能合約警報功能,例如出現異常高的 gas 費用、異常高的交易量、以及出現再入請求(Reentrancy Calls)。現階段,不少知名 DeFi 項目已經與 Forta 完成集成,旨在更好地監控各種安全、財務、運營和治理風險。此外,Forta 社區在 Discord 上的伺服器成員數量已經發展到超過 10,000 名。
- 最終,通過實時檢測漏洞,Forta 可以為智能合約安全提供更完整的解決方案,幫助智能合約成為最安全、最值得信賴的技術原語,進而實現 Web 3 安全、去中心化願景。
新技術帶來新風險
自 2015 年以太坊推出以來,智能合約已成為 Web 3 技術的核心功能和特徵。比特幣向我們展示了完全去中心化公共賬本是可行的,而以太坊則給我們帶來了一種完全去中心化的計算模型------在去信任和透明度方面,至少現階段而言,還沒有其他計算模型能與以太坊相媲美。得益於智能合約,開發人員能夠將自定義構建的應用程序部署到區塊鏈上,為數百個用例提供支持,如今,這些用例已發展成為價值數十億美元的生態系統,而且也成為當今大多數加密項目的核心(包括 Uniswap 協議和 Maker 協議),並推動了許多其他區塊鏈快速增長,比如 Solana、Binance Smart Chain 和 Polkadot 等。
與此同時,新技術的出現不可避免地會帶來新風險。今年早些時候,Poly Network 成為頭條新聞,因為在一次自稱為「白帽」黑客的智能合約攻擊中,該協議有超過 6 億美元的資產被盜。儘管黑客將資產全額歸還,但這一事件表明加密行業需要圍繞智能合約探索更嚴格的安全實踐,同時在技術方面,下一代金融系統也需要更及時的攻擊監控功能。智能合約漏洞一直是加密生態系統中最關注的問題之一,以至於「智能合約風險」(smart contract risk)已成為金融領域的一個術語,旨在描述合約執行中發生的錯誤和 Bug,這些問題往往會帶來數字資產風險,也會影響人們的投資決策。
從一次性審計到提供實時安全功能
現階段,在評估智能合約安全性方面,大多數工作仍集中在審計上,比如項方會聘請經驗豐富的智能合約開發人員來審查和測試合約,以便在項目公開發布之前識別出潛在漏洞。儘管審計對於安全的區塊鏈開發至關重要,但並非萬能的靈丹妙藥,因為不少經過審計的加密項目也都成為智能合約黑客攻擊的犧牲品,而且攻擊媒介只會在項目生命周期的後期才被發現。
在這種情況下,為了預防這些潛在攻擊,持續監控應用程序的狀態和安全性就顯得至關重要,甚至在智能合約完成部署之後,持續監控也應該繼續下去。在 Web 2 領域裡,這個概念被稱為「Runtime Security」,對於大多數現代雲托管服務來說,實時應用程序監控和警報工具已成為必備品;而在 Web 3 領域裡,考慮到應用程序的去中心化性質和智能合約模型概念相對較新,因此實施「Runtime Security」難度比想像中要大得多。
Forta 是一種用於 Web 3 應用程序的全新去中心化「Runtime Security」協議,能夠幫助開發人員在智能合約的實時執行過程中更好地識別漏洞,該項目由 OpenZeppelin 孵化,該團隊已審核了包括 Compound、Maker 和 Augur 在內的數十種加密協議。
Forta 採用了什麼解決方案?
Forta 的去中心化實時安全解決方案基於兩個組件:
- Agent(代理):是掃描交易區塊以查找異常交易或智能合約狀態變化的腳本。
- Node(節點):是運行支持 Layer 1 或 Layer 2 區塊鏈上 Agent 的伺服器。
如果 Agent 檢測到特別可疑的事件或狀態變化,Node 會發出公共警報,該警報存儲在 IPFS 上並記錄在 Polygon 區塊鏈上。
值得注意的是,任何人都可以開發 Agent 並在 Forta 上運行它。Web 3 應用程序的高度可塑性和可組合性需要一種基於社區驅動的去中心化安全解決方案,因為沒有一個參與者可以識別應用程序中的全部潛在漏洞。目前,已經有超過 100 名開發人員在 Forta 上創建並部署了 Agent,如果你也有興趣創建新 Agent,不妨可以在此處查看 Forta 的軟件開發包(SDK)。
此外,Forta 還發布了一些其他功能,旨在進一步增強實時安全性,包括:
- Forta Connect,這是一個自助服務平台,使開發人員可以更輕鬆地使用 MetaMask 而不是命令行來發布和管理 Agent。
- Forta Explorer,這是一種幫助用戶通過 Slack 通知、電子郵件更新等服務來瀏覽和訂閱 Forta Agent 的警報工具。
- Private Agents:該功能是一種帶有混淆代碼和用於謹慎漏洞監控加密警報功能的 Agent,允許開發人員更加謹慎地監控威脅。
11 月 15 日,Forta 項目完成了與智能合約操作平台 OpenZeppelin Defender 的集成,將使開發人員通過統一的用戶介面更輕鬆地操作和監控智能合約安全。
在實踐中如何運作?
舉個例子,讓我們回到 2021 年 8 月黑客對 Poly Network 實施的攻擊。
Poly Network 是一個讓用戶能在不同的 Layer 1 和 Layer 2 區塊鏈之間傳輸數字資產的協議,他們通過在發送鏈上鎖定用戶資產並在接收鏈上發行等量新資產來實現這一點。更具體地說,用戶可以通過接收鏈上的一組 Poly Network 錢包訪問接收鏈上已發行的資產。在攻擊中,黑客執行了一筆交易,把接收鏈上 Poly Network 錢包的公鑰替換為黑客自己的公鑰,這意味著黑客獲得了對 Poly Network 錢包的完全控制權,繼而可以輕鬆從用戶手中竊取已發行的資產。
使用 Forta 進行實時監控可以避免這種攻擊,或是降低攻擊的危害,而且只需通過兩種簡單的方式即可實現:
- 當黑客用自己的公鑰替換 PolyNetwork 的公鑰時,Agent 可能已經檢測到管理其錢包的 Poly Network 智能合約狀態發生了異常變化。如果 Poly Network 團隊有效監測到這種狀態變化,那麼就可以快速恢復原始公鑰,從而完全阻止攻擊。
- Agent 可以檢測到接收鏈上 Poly Network 錢包餘額出現較大的異常變化,使團隊能夠更早地識別攻擊並限制損失。
到目前為止,200 多個 Agent 已經完成部署,用來識別和標記上述漏洞,一些業內領先的 DeFi 項目也在與 Forta 進行集成,以監控安全、財務、運營和治理風險。自 Forta 于 10 月 1 日宣布啟動,他們在 Discord 上的社區成員數量已經超過了 10,000 名。
最後的想法
區塊鏈安全性需要不斷增強,只有這樣,機構和主流才能更好地接受加密,這點至關重要。2021 年早些時候對 Poly Network 的攻擊、2016 年的 DAO 和 2017 年的 Parity 等黑客攻擊已經破壞了許多潛在用戶對加密和 DeFi 的信心,如果區塊鏈和智能合約想要成為支撐下一代金融系統的基本技術,那麼就必須解決此類事件、並在未來防止此類事件發,只有這樣,才能重新贏回人們的信心。
通過將 Web 3 「Runtime Security」抽象為一個簡單工具,Forta 能夠幫助開發人員更好、更輕鬆地編寫和管理智能合約,而且還具有更嚴格的安全實踐。
不僅如此,作為一個去中心化解決方案,Forta 還允許任何人跟蹤智能合約中的特定行為,要知道,如今智能合約生態系統中的漏洞越來越多,因此採用去中心化解決方案是非常有必要的。最終,Forta 將進一步增強智能合約安全性、幫助智能合約成為互聯網的基礎設施,繼而實現 Web 3 去中心化、安全和去信任的偉大願景。