作為全球最大,最為知名的區塊鏈生態之一,Cosmos 生態專注于提升區塊鏈互操作性,實現不同區塊鏈之間的高效互通。Cosmos 為開發者提供模塊化的 Cosmos SDK,幫助開發者快速搭建專屬于特定應用的區塊鏈,包括廣受用戶關注的 dYdX V4在內的諸多應用均據此進行搭建。因此 Cosmos 生態的安全問題往往具備廣泛的影響力。例如 Cosmos SDK 曾發生的 Dragonfruit 漏洞就影響了多個主流公鏈的正常運行,導致鏈開發人員不得不暫停鏈的正常運行以采取漏洞修復措施。由 CertiK 研究團隊發布的《Cosmos 生態安全指南》全面剖析了 Cosmos 生態中關鍵組件的安全狀況,針對以往發現的安全漏洞進行歸納分類,為 Cosmos 生態開發者和用戶總結出通用的漏洞模型,審計思路和需要重點關注的安全問題,助力提升 Cosmos 生態與整個區塊鏈行業的安全水平。
由于 Cosmos 生態系統基礎組件的分散性,鏈開發者需要根據不同的功能需求使用或者擴展不同的組件,導致生態上的安全問題存在多樣性的特點。該報告不僅是對以往重大安全漏洞的分析,還將一些常見的安全漏洞根據漏洞起因,效果,代碼位置等分類,以安全手冊的形式最大程度地為 Cosmos 生態開發者提供安全指南,并為相關的安全審計人員提供學習和審計 Cosmos 安全問題的途徑。
目前,Cosmos 生態開發者最常用的基礎組件是 Cosmos SDK 和 IBC 協議(The Inter-Blockchain Communication protocol),這兩者也是開發者最常使用的擴展和添加鏈自身邏輯的組件。
對于 Cosmos SDK 來說,從危險程度和影響范圍考慮,我們主要關注 Critical 和 Major 的安全漏洞,他們通常可以造成以下風險:
1. 鏈停止運行
2. 資金損失
3. 影響系統狀態或正常運行
而這些危險的起因往往是以下幾種類型的安全漏洞:
1. 拒絕服務
2. 錯誤的狀態設置
3. 驗證缺失或者不合理
4. 唯一性問題
5. 共識算法問題
6. 實現上的邏輯漏洞
7. 語言特性問題
而對于 IBC 來說,常見漏洞分類見下:
1. 命名漏洞
字符串處理漏洞
字節碼處理漏洞
2. 傳輸過程漏洞
數據包順序漏洞
數據包超時漏洞
數據包認證漏洞
其他數據包漏洞
3. 邏輯漏洞
狀態更新漏洞
投票共識等漏洞
其他邏輯漏洞
4. Gas 消耗漏洞
盡管 Cosmos 上的安全問題呈現多樣性,但從積極角度考慮,Cosmos 生態相關的開發流程正在逐步規范化,因此涉及到的安全對象和攻擊入口更加確定,從而為 Cosmos 生態安全審計人員對鏈的審計思路提供了一個更清晰的框架。《Cosmos 生態安全指南》出于提升 Cosmos 生態系統安全性的愿景,將細致剖析這些安全場景,詳情內容可下載研究報告閱讀。
CertiK 團隊一直以來都在通過持續的研究和挖掘,致力于協助提升 Cosmos 以及整個Web3生態的安全性,并將定期輸出各類項目安全報告和技術研究,歡迎大家持續關注!如有任何疑問,可隨時與我們取得聯系。