Ripple工程總監Vijay Khanna於8月2日敦促XRP Ledger節點運營商安裝xrpld 3.2.1版本,此前開發人員於7月31日觀察到驗證器清單洪水攻擊。
摘要
- 7月31日的清單洪水攻擊促使xrpld 3.2.1發布,而XRP Ledger在此期間正常關閉賬本。
- 現在有四項保護措施限制清單大小、消息批次、對外共享以及全網未知密鑰緩存增長。
- 運營商應升級、驗證xrpld正在運行,然後再次重啟以安全清除持久化清單。
此熱修復限制了節點處理、存儲和共享來自未知驗證器身份的數據的方式。
根據XRP Ledger Operations的報告,XRP Ledger在事件期間繼續正常關閉賬本。因此,現有證據表明壓力來自節點資源和點對點通信,而非確認的資金損失、交易篡改或賬本共識失敗。開發人員尚未發布與該事件相關的CVE標識符或財務損失估計。
XRPL 3.2.1限制清單洪水攻擊途徑
驗證器清單是加密簽名的記錄,將驗證器的穩定主身份與其用於日常驗證消息的臨時密鑰相關聯。當運營商輪換這些臨時密鑰時,他們會發布由主密鑰簽名的新清單,以便其他節點驗證更改。
在熱修復之前,節點可以接受、緩存並重新廣播與其不認識的驗證器密鑰相關聯的有效結構清單。攻擊者可以通過生成許多未知身份並迫使對等節點花費內存、存儲、帶寬和處理能力來處理這些數據,從而利用這種行為。公開的代碼記錄將此缺陷描述為清單傳播問題。
官方xrpld 3.2.1版本日期為7月31日,並於8月1日早些時候作為最新簽名版本發布。它包含13個更改文件中的六個提交,其中四個直接限制不受信任的清單處理。
四項保護措施降低資源耗盡風險
第一項保護措施在節點完全解碼之前拒絕過大的驗證器清單。這減少了攻擊者通過發送比軟件預期更大的單個對象而觸發的處理工作。
第二項限制單個網絡消息中攜帶的不受信任清單數量。該限制適用於節點接收數據以及準備向對等節點發送清單消息時。過大的批次會被丟棄,而不會自動斷開未修補的對等節點,這有助於在升級期間保持升級節點和舊節點之間的連接。
第三項更改限制了節點清單緩存中持有的未知驗證器身份的數量。最終代碼將最大值設置為100。一旦達到該容量,軟件將拒絕與新的未列出的密鑰相關聯的清單,同時繼續處理受信任或先前已識別的驗證器。
該補丁還更改了不受信任清單信息的保留和傳播方式。受信任的驗證器數據仍然可用,因為限制針對的是未列出的對等節點八卦,而不是來自已配置或批准的驗證器的清單。這種區別允許正常的驗證器密鑰輪換繼續進行,同時阻止未經檢查的緩存增長。
節點運營商必須完成第二次重啟
Khanna建議驗證器和其他基礎設施運營商“盡快”升級到3.2.1版本。他的指示要求進行正常的軟件更新,然後等待一到兩分鐘,檢查xrpld是否正在運行。運營商應再次重啟服務。
第二次重新啟動對於在安裝修復程式之前可能保留了未知清單的節點非常重要。更新會改變未來的處理方式,而重新啟動修正後的伺服器有助於確保舊的記憶體或先前保留的資料不會繼續影響操作。
運營商可能還需要確認其系統信任 Ripple 目前的套件簽章金鑰。發行說明指出,Ripple 已於 2 月 18 日輪換了用於簽署 xrpld 套件的 GPG 金鑰。尚未信任替換金鑰的現有安裝可能無法成功接收自動升級。
此更新適用於基礎設施提供者,而非一般 XRP 持有者。使用者無需因清單問題而移動 XRP、更改錢包金鑰或建立新帳戶。交易所、託管機構、錢包後端、資料提供者以及自行執行 XRPL 伺服器的企業,應確認其節點版本和重新啟動狀態。
事後檢討將確定事件的影響範圍
XRP Ledger Operations 表示,技術性的「事後檢討將很快發布」。截至 8 月 2 日,該專案尚未發布該報告,因此發送者的身份、傳輸的清單數量以及受影響節點的確切資源使用情況仍未公開。
該報告還應說明開發人員首次偵測到該活動的時間、是否有任何節點變得不可用,以及運營商採用 3.2.1 版的速度。儘管帳本持續關閉,但補丁採用緩慢可能導致個別伺服器在共享帳本仍可運作時暴露於再次洪水攻擊。
此熱修復是在 XRPL 較大的 3.2.0 版發布後不久推出的。該版本於 6 月 15 日發布,將參考伺服器從 rippled 更名為 xrpld,並引入了需要運營商更新軟體和服務配置的基礎設施變更。
如先前報導,3.2.0 版最初在驗證者之間的傳播速度比在更廣泛的節點網路中更快。清單洪水為其餘運營商提供了新的理由,使其超越該版本並安裝熱修復。
同時,在相關報導中,David Schwartz 將其 XRPL 基礎設施移至 3.2.0 版,因為開發人員正在為新的伺服器命名和協定功能準備網路。早些時候,正如 crypto.news 報導,節點運營商也面臨與修正案啟動相關的 3.1.3 版截止日期。
接下來經過驗證的更新將是承諾的事後檢討和新的軟體採用數據。在此之前,已確認的應對措施僅限於 3.2.1 版、其四個清單控制項以及要求運營商完成升級和重新啟動流程。







