Fairyproof:2023年第三季度區塊鏈生態安全報告
作者:Fairyproof
綜述
2023 年第三季度,加密市場整體上表現得依舊波瀾不驚。但生態中安全事故的發生頻率卻超過前兩個季度。在這個季度約有 5.72 億美元的加密資產在各類安全事故中蒙受損失。
Fairyproof 研究了第三季度公開報導的 198 起典型案例,對案例進行了統計、分析,並探討了這些事件所反映的安全生態中的特性以及用戶可以採取的相關防範措施。
背景介紹在詳細呈現 Fairyproof 的研報結果之前,有必要對本報告中的相關術語進行解釋、說明。
CCBS
CCBS 指代"中心化加密資產或區塊鏈服務機構"。它通常指人為運作管理的非鏈上服務平台,其核心技術主要依賴傳統的中心化技術,其日常運維活動主要為鏈下活動。傳統的加密資產交易所(如 Binance)、加密資產發行承兌平台(如 Tether)即為此類典型。
閃電貸(FLASHLOAN)
閃電貸是黑客在攻擊以太坊虛擬機平台上智能合約的一種常見和流行的方式。閃電貸是知名 DeFi 應用 AAVE[1] 團隊發明的一種合約調用方式。這種合約調用讓用戶無需任何抵押物便可以直接從支持這種功能的 DeFi 應用中借出加密資產,只要用戶在一個區塊交易內歸還該資產即可使該交易有效[2]。起初這個功能的發明是為了給 DeFi 用戶更靈活、便利的手段進行各項鏈上的金融活動。但後來,閃電貸因其靈活性高使得其使用得最多的場景變成了黑客借出 ERC-20[3] 代幣然後用其進行攻擊。在發起一筆閃電貸之前,用戶需要將借出(資產)和歸還(資產、利息及相關手續費)的邏輯清晰地在一個合約中描述,然後調用該合約發起閃電貸。
跨鏈橋(CROSS-CHAIN BRIDGE)
跨鏈橋是連結多個獨立區塊鏈的一種基礎設施,它讓部署於不同區塊鏈的代幣在各個區塊鏈之間相互流通。
隨著越來越多區塊鏈有了自己的生態、應用和加密資產,這些應用和資產對跨區塊鏈通信和交易的需求顯著增長。這也使得跨鏈橋成為黑客眼中熱門的攻擊對象。
報告重點
Fairyproof 詳細研究了 2023 年第三季度發生的 198 起典型安全事件,在本報告中對這些事件造成的損失金額、成因等各種要素進行了統計分析,並給出了相應的防範建議和措施。
2023年第三季安全事件的統計及分析
Fairyproof 研究團隊詳細研究了 2023 年第三季度較為突出的 198 起安全事件,從遭受攻擊的目標和造成攻擊的根源兩方面列舉了統計結果並對其進行了分析研究。
這 198 起安全事件造成的加密資產損失總額達 5.72 億美元,Tradingview 顯示的主流加密資產總值達 10560 億美元。損失資產占總市值的比例為 0.05%。
基於受害對象劃分的安全事故
Fairyproof 研究的安全事件按其受害對象分可以分為以下四類:
中心化加密資產或區塊鏈服務機構(CCBS,下文所指 CCBS 即為此概念)
區塊鏈(Blockchains)
去中心化應用(dApps)
跨鏈橋(Cross-chain Bridges)
本報告所指的 CCBS 安全事件是指受到攻擊或損害的對象是 CCBS 系統。在這些事件中,CCBS 所保管的資產被盜或運作的服務被迫中斷。區塊鏈安全事件是指區塊鏈主網、側鏈或依附區塊鏈主網的第二層擴展系統受到攻擊或損害。通常在這些事件中,黑客從系統內、系統外或者兩方面都發起攻擊,導致系統軟件或硬件失常,資產損失。
dApp 安全事件是指 dApp 受到攻擊而無法正常工作,從而使黑客有機會盜取 dApp 中管理的加密資產。
跨鏈橋安全事件是指跨鏈橋受到攻擊,導致其無法正常工作,甚至導致其經手交易的加密資產被盜。
Fairyproof 對總共 198 起事件按上述四類進行了劃分,其比例分佈圖如下所示:
由圖中可知,dApp 安全事件的數量占總數的 86.87%,超過其它任何類別。其中 198 起為 dApp 安全事件,4 起為 CCBS 安全事件,14 起為區塊鏈安全事件,4 起為跨鏈橋安全事件,172 起為 dApp 安全事件。
區塊鏈安全事件
涉及區塊鏈的安全事件可以進一步細分為以下三類:
i. 區塊鏈主網(Blockchain mainnets) ii. 側鏈(Side chains)
iii. 第二層擴展系統(Layer 2 solutions)
區塊鏈主網也被稱為 Layer 1,它是獨立的區塊鏈,有自己的網絡、協議、共識和驗證者。區塊鏈主網可以驗證交易、數據和區塊,所有這些驗證工作都由自己的驗證者完成並最終取得一致性。比特幣和以太坊就是典型的區塊鏈主網。
側鏈是與區塊鏈主網並行運作的一條單獨的區塊鏈。它也有自己的共識和驗證者,但是它會以某種方式(如雙向錨定[4])和區塊鏈主網連結,第二層擴展系統是依賴於區塊鏈主網的系統,它需要區塊鏈主網提供安全和最終一致性[5]。它主要為了解決區塊鏈主網的可擴展性,能以更低的費用、更低的價格處理交易。自從 2021 年以來,依附於以太坊的第二層擴展系統有了飛速地發展。
側鏈和第二層擴展系統都是為了解決區塊鏈主網的可擴展性。兩者主要的區別在於,側鏈不依賴區塊鏈主網提供安全性和一致性,但第二層擴展系統卻需要。
2023 年第三季度總共有 14 起與區塊鏈有關的安全事件。下圖展示了區塊鏈主網、側鏈和第二層擴展系統各所占的比例。
由上圖可知,區塊鏈主網相關的安全事件和第二層擴展系統相關的安全事件的數量占總數的比例分別為 92.86% (13 起)和 7.14%
(1 起)。沒有典型的側鏈安全事件。第二層擴展系統安全事件涉及的系統有 Metis[6],區塊鏈主網安全事件涉及的主網有 Mixin[7]、
Quai Network[8]、Swisstronik[9]、SwapDex Blockchain[10]、Aptos[11]等。
DAPP安全事件
在 172 起涉及 dApps 的安全事件中,有 16 起是跑路,1 起被連累,155 起直接被攻擊。直接對 dApp 的攻擊通常會涉及三個方面:
Dapp 的前端、後台和智能合約。因此,我們將 155 起直接被攻擊的事件分為下列三類: i. dApp 前端 ii. dApp 後台 iii. dApp 合約
在 dApp 前端受攻擊的事件中,黑客主要通過前端漏洞發起攻擊,盜取資產或癱瘓其服務。
在 dApp 後台受攻擊的事件中,黑客主要通過後台漏洞發起攻擊,比如劫持後台和合約的通信,劫持資產或癱瘓服務。
在 dApp 合約受攻擊的事件中,黑客主要通過合約漏洞發起攻擊,盜取資產或癱瘓其服務。下圖展示了這三個類別受攻擊事件的比例:
由上圖所示,合約、後台和前端受攻擊的事件比例分別為 19.35%、0%和 80.65%。在總共 155 起事件中,125 起為前端受攻擊,
30 起為合約受攻擊。
我們進一步研究了各類事件所造成的加密資產損失金額。其中合約受攻擊導致的損失和前端受攻擊所導致的損失分別為 2.1 億美元和 3980 萬美元,兩者所占總損失金額的比分別為 84.03%和 15.97%,如下圖所示:
在眾多合約漏洞中,邏輯缺陷、私鑰洩露、閃電貸攻擊、重入攻擊為典型的漏洞。
我們研究了 30 起涉及合約直接受到攻擊的安全事件,得到下列比例圖:
上圖所示,邏輯缺陷導致合約安全事件占比最高。邏輯缺陷中通常包括缺少參數驗證、缺少權限驗證等。邏輯缺陷導致的安全事件數為 13 起。
下圖展示了各個漏洞造成的損失金額比:
私鑰洩露造成的損失金額占比最高。4 起私鑰洩露事件總共造成了 1.73 億美元的損失,占損失總金額的 82.56%。
基於成因劃分的安全事故
基於造成區塊鏈安全事故的成因,我們將事故分為三類: i. 由黑客攻擊所致
ii. 跑路 iii. 其它
我們的研究結果如下圖所示:
由上圖所示,黑客攻擊和跑路導致的安全事故分別占比為 91.92%(182 起)和 8.08%(16 起)。
我們研究了這些成因所造成的損失,如下圖所示:
由上圖所示,黑客攻擊和跑路導致的損失金額分別占比 94.69%和 5.31%,前者導致了 5.41 億美元的損失,後者導致了 3035 萬美元的損失。這表明 2023 年第三季度,黑客攻擊仍然是行業安全面臨的主要威脅。
黑客攻擊事件我們研究了黑客攻擊事件,如下圖所示:
由上圖所示,黑客攻擊 dApp、區塊鏈、CCBS 和跨鏈橋的事件占比分別為 87.64%(156 起)、7.87%(14)、2.25%(4 起)和
2.25%(4)。
我們研究了各類事件所導致的損失金額,如下圖所示:
黑客對區塊鏈、dApp、跨鏈橋和 CCBS 攻擊所導致的資產損失占比分別為 36.97%、46.25%、0.79%和 15.99%,具體的損失金額分別為 2 億美元、2.5 億美元、8650 萬美元和 430 萬美元。其它安全事件沒有導致明顯的損失金額。
跑路事件
2023 年第三季度發生的典型跑路事件都是 dApp 項目。總共 16 起跑路事件造成的損失金額達 3035 萬美元。這個損失金額相比黑客攻擊造成的損失金額規模要小得多。
研究發現
從我們的統計數據來看,2023 年第三季度,黑客最偏愛攻擊的目標仍然是 dApp 項目,對 dApp 的攻擊事件遠超其它任何對象,攻擊數占總數的 87.64%,損失金額占總損失金額的 46.25%。在所有的攻擊事件中,最嚴重的是對 Multichain[12]的攻擊。
對整個區塊鏈生態來說,黑客仍然是最大的安全威脅,無論從其造成的安全事件數量還是從其造成的資產損失來看都是如此,由黑客攻擊造成的安全事件數量占整個安全事件數量的比例超過 91.92%,遠超跑路事件對生態造成的威脅。
一個典型的 dApp 包括三部分:前端、後台和智能合約。當黑客攻擊一個 dApp 時,會攻擊其中一部分或同時攻擊多個部分。根據我們的統計數據,對 dApp 前端的攻擊在數量上遠超對合約的攻擊,但對智能合約的攻擊所造成的損失金額則遠超對前端的攻擊。
這表明智能合約隱患仍然是 dApp 安全最大的隱患。
2023 年第三季度典型的跑路事件都發生在 dApp 項目上。
在智能合約受到黑客攻擊的事件中,下列三個類別的原因所引發的攻擊事件數量排名前三:第一位:邏輯缺陷第二位:閃電貸
但是按照損失金額來看,私鑰洩露所引發的攻擊造成的資產損失金額高居榜首,遠超其它類別。
防範安全事故的實踐方案和措施
本節,我們將根據 2023 年第三季度所發生的安全事故的特點總結一些幫助區塊鏈開發者和用戶管理及防範區塊鏈風險的方案和措施。我們建議無論是區塊鏈開發者還是用戶都積極地在平時的操作和工作中盡可能落實和實踐這些方案及措施,最大限度保護項目安全和加密資產安全。
注:"區塊鏈開發者"既指區塊鏈項目本身的開發工程師,也指和區塊鏈系統相關或其延申系統(如加密資產等)的開發者。"區塊鏈用戶"是指所有參與到區塊鏈系統活動(比如管理、運作、維護等)或加密資產交易等的用戶。
對區塊鏈開發者
儘管在第三季度中,沒有典型涉及第二層擴展系統的安全事件,但第二層擴展系統的安全依舊值得重視。因為接下來第二層擴展方案的發展和落地將會持續是整個生態的熱點和重點,對其方案安全性的研究將是業界面臨的重大挑戰。
在區塊鏈應用中,當項目部署並穩定運行一段時間後,將項目中掌控關鍵操作的權限轉移到多簽錢包或者 DAO 組織來進行管理是非常有必要的步驟。
當黑客發現智能合約的漏洞時,往往會借助閃電貸對合約進行攻擊。這些可能被利用的漏洞通常包括重入漏洞、邏輯缺陷(比如缺乏權限驗證、錯誤的價格算法)等。嚴謹防範和處理這些漏洞對智能合約開發者而言時刻需要引起高度重視,甚至需要排在重要性的首位。
我們的統計數據還顯示越來越多的黑客會通過社交媒體軟件(如 Discord、Twitter 等)發起釣魚攻擊。這個現象貫穿了整個 2022 年並持續到 2023 年第三季度。不少用戶在其中遭受了損失。項目方需要對其運作的社交媒體實施嚴格、周全的管理,部署相應的安全方案保證其社交媒體運作的安全和穩定,防範被黑客利用。
區塊鏈用戶
越來越多用戶開始參與各類區塊鏈生態的活動,並持有各類區塊鏈生態的資產。在這個過程中,跨鏈交易活動也再迅猛增長。當用戶參與跨鏈交易時,用戶需要和跨鏈橋進行交互,而跨鏈橋卻是黑客經常關注的攻擊目標。因此當用戶在發起跨鏈交易前,需要詳細調查和了解其所使用的跨鏈橋的安全狀況和運營狀況,確保跨鏈橋的安全、穩定、可靠。
當用戶和 dApp 進行交互時,必須高度關注其智能合約的質量和安全,同時也需要關注 dApp 前端的安全。對前端顯現的一些不明來歷、高度存疑的信息、提示、對話等要小心處理,不要隨意點擊或跟隨其指引進行操作。
我們強烈建議用戶在和任何區塊鏈項目交互前或投資區塊鏈項目前,要仔細檢查並閱讀該項目的審計報告。對沒有審計報告或報告可疑的項目,要謹慎參與。
我們建議用戶儘量使用冷錢包或多簽錢包管理大額資產或不用於頻繁交易的資產。時刻小心熱錢包的運作安全,並確保安裝熱錢包的硬體平台本身是安全、可靠和穩定的。
用戶需要對區塊鏈項目的團隊背景進行一定程度的調查和了解。對團隊背景模糊、信用缺失的團隊要小心。對這類項目要小心其可能發生的跑路風險。對使用較為頻繁的中心化交易所,用戶更要關注其背景和信用,儘可能從多個第三方數據源查證這些交易所的背景、信息、數據,確保交易所能夠長久持續的安全運作。
參考資料
[1] Aave. https://aave.com/
[2] Flash-loans.. https://aave.com/flash-loans/
[3] ERC-20 TOKEN STANDARD. https://ethereum.org/en/developers/docs/standards/tokens/erc-20/
[4] Sidechains. https://ethereum.org/en/developers/docs/scaling/sidechains/
[5] Layer-2. https://academy.binance.com/en/glossary/layer-2
[6] Metis. https://www.metis.io/
[7] Mixin. https://mixin.one/
[8] Quai Network. https://qu.ai/
[9] Swisstronik. https://www.swisstronik.com/
[10] SwapDex Blockchain. https://swapdex.network/
[11] Aptos. https://aptoslabs.com/
[12] Multichain. https://multichain.xyz/