量子鏈關於 “偽造權益”攻擊技術解決方案

買賣虛擬貨幣

*本文為 Qtum 量子鏈核心開發工程師 Jordan Earls《Re: “Fake Stake” attacks on chain-based Proof-of-Stake cryptocurrencies》譯文版。

前言

隸屬伊利諾伊大學香檳分校的去中心化系統實驗室(Decentralized Systems Lab)在最新的研究中發現,很多以權益證明(Proof-of-Stake, PoS)為基礎的加密數字貨幣都存在一系列的漏洞,該漏洞會耗盡系統資源。

該研究團隊提出的是一種拒絕服務(DoS)攻擊,一次只能針對單個節點執行,使節點無法正常執行,因此該漏洞不存在任何資金安全上的風險。

實驗室研究人員提出了兩種型別的攻擊:

1. 無權益的攻擊:利用節點無法單獨透過區塊頭確定有效權益的特性造成記憶體或磁碟的過度佔用
2. 已花費權益的攻擊:受到攻擊的加密數字貨幣會被多次轉移,但此前用於權益證明的資料仍然繼續使用 (Qtum 量子鏈不存在這種漏洞的可能)

正如英文原文所述,只有“無權益的攻擊”漏洞可能會對 Qtum 產生影響; 但是,在  Qtum Core 0.16.2版本(已於2018年11月16日釋出)中,我們已經實施了一系列的緩解措施,杜絕了這種攻擊向量的風險。

“無權益的攻擊”由兩種相似但不同的攻擊向量組成。

在第一種攻擊向量下,攻擊者會導致受害者節點記憶體耗盡;在第二種攻擊向量下,會導致受害者的磁碟空間耗盡,因此無論哪種攻擊都不會與資金安全風險相關。

第一種攻擊向量的產生是由於將區塊頭儲存在記憶體空間之前未進行充分的驗證引起的。因此,潛在的攻擊者可以透過泛洪攻擊使用大量無效的區塊頭耗盡受害者節點的記憶體資源。在 Qtum 中可能存在這種漏洞的原因是,Qtum 繼承了 Bitcoin 0.10.0版本的區塊頭優先的特性。

在 Bitcoin 中,在將區塊頭儲存在記憶體之前會對區塊頭的工作量證明(PoW)進行驗證。但是,Qtum 的權益證明協議中並不涉及任何 PoW 的相關內容,同時由於 coinstake 交易只存在區塊當中,Qtum 中的 PoS 只有在接收到完整的區塊後才能完全驗證。因此,潛在的攻擊可以建立大量無效的區塊頭並將它們傳送給已連線的其他節點,從而導致它們耗盡記憶體資源。

這種攻擊向量的第二種變體與 Qtum 如何/何時進行完整區塊的驗證有關。 在 Qtum 中,當接收到新的區塊的總鏈“工作量”比上一個 tip 的“工作量”更多時,將執行完整區塊的驗證和  coinstake 驗證。 事實上,這意味著僅當新塊附加到當前 tip,或者接收到分叉鏈的 tip,且該tip具有比當前 tip 更多的總鏈“工作量”時,才會對 PoS 進行完全驗證,並因此觸發區塊重組。 但是,在先前版本的 Qtum 中,如果節點收到一個鏈工作量大於或等於當前 tip 的鏈工作量的區塊時,就會將這些新的區塊提交到磁碟空間。因此,攻擊者可以在所連線的節點沒有完全驗證 PoS 的情況下讓被攻擊節點將區塊提交到磁碟,從而導致它們耗盡磁碟空間。

Qtum 的 v0.16.2 是一個推薦的更新版本,包括改進的網路安全性和錯誤修復,形式如下:

1. 實施網路垃圾防護
2. 只有當區塊的鏈工作量嚴格大於當前 tip 工作量時,才會向 peer 節點請求區塊
3. 為 PoS 時間戳,區塊索引,簽名型別(LowS),同步和滾動檢查點新增額外的區塊頭檢測。
4. 新增最近的檢查點
5. 更新 nMinimumChainWork,defaultAssumeValid 和chainTxData
6. 更新 BLOCK_CHAIN_SIZE
7. 修復在 OSX Mojave 上進行編譯 (make) 檢測時失敗的 Qt 測試
8. 修復用於 PoS 區塊的 getblocktemplate RPC
9. 修復 walletpassphrase 和 getnetworkhashps RPC 的幫助訊息

當 Qtum 將區塊提交到磁碟時,針對區塊/磁碟的攻擊只需要稍微進行一點修改。 現在只有當區塊作為鏈的一部分,鏈的 tip 工作量大於當前 tip 的鏈工作量時,才會將區塊提交到磁碟。

區塊頭/記憶體攻擊可以透過實施潛在的區塊頭垃圾檢測以及斷開和禁止任何有問題的 peer 來進行緩解。 之前僅在收到完整區塊時才進行的幾項檢測也被新增到了獨立的區塊頭檢測中。 例如,在將區塊頭提交到記憶體之前,要確保區塊頭中包含的簽名格式的正確性,因為攻擊者可以使用大量無效的簽名來放大其表觀權益。

v0.16.2 中實施的網路垃圾防護會對試圖執行此類“無權益的攻擊”的 peer 進行檢測並禁止它們。 現在,只有當區塊的鏈工作量嚴格大於當前尖端工作量時,節點才會向 peer 請求區塊。 除了這些對策之外,我們還為 PoS 時間戳,區塊索引,簽名型別(LowS)以及同步和滾動檢查點新增了額外的區塊頭檢測。

Qtum 量子鏈開發團隊透過去中心化系統實驗室關於“偽造權益”的研究成果,使得 Qtum 量子鏈開發團隊在攻擊被公之於眾之前就已修復該漏洞,及時避免了對使用者造成的影響。

由於實現了額外的複雜性和安全特性,這些補丁能很大程度防禦任何類似的攻擊。與此同時,Qtum 量子鏈也正在進行一個更為全面的修復,該修復已透過了我們的初始測試,但由於它是對協議的一個相對更加重大的修改,所以我們需要在正式釋出前進行更多的測試。

更多區塊鏈資訊:www.qukuaiwang.com.cn/news

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;