作為全球最大,最為知名的區(qū)塊鏈生態(tài)之一,Cosmos 生態(tài)專注于提升區(qū)塊鏈互操作性,實現(xiàn)不同區(qū)塊鏈之間的高效互通。Cosmos 為開發(fā)者提供模塊化的 Cosmos SDK,幫助開發(fā)者快速搭建專屬于特定應用的區(qū)塊鏈,包括廣受用戶關注的 dYdX V4在內的諸多應用均據(jù)此進行搭建。因此 Cosmos 生態(tài)的安全問題往往具備廣泛的影響力。例如 Cosmos SDK 曾發(fā)生的 Dragonfruit 漏洞就影響了多個主流公鏈的正常運行,導致鏈開發(fā)人員不得不暫停鏈的正常運行以采取漏洞修復措施。由 CertiK 研究團隊發(fā)布的《Cosmos 生態(tài)安全指南》全面剖析了 Cosmos 生態(tài)中關鍵組件的安全狀況,針對以往發(fā)現(xiàn)的安全漏洞進行歸納分類,為 Cosmos 生態(tài)開發(fā)者和用戶總結出通用的漏洞模型,審計思路和需要重點關注的安全問題,助力提升 Cosmos 生態(tài)與整個區(qū)塊鏈行業(yè)的安全水平。

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