RVN漏洞事件全回顧:黑客代碼導致3億增發
Cobo钱包
2020-07-15 13:33
本文约1893字,阅读全文需要约8分钟
Cobo 工程師對RVN 此次漏洞進行了詳細回顧。

二級標題二級標題

二級標題

「RVN 增發」事

件時間線

6 月29 日,Solus Explorer 開發團隊CryptoScope 的一個程序員在回歸測試時,發現瀏覽器統計的RVN 餘額出了問題,在深入排查問題後,他確認主網出現了很多異常的RVN 增發操作,隨後快速聯繫Ravencoin 官方團隊成員反饋了這個bug。

在與RVN 開發團隊溝通後,CryptoScope 決定暫時關閉Solus Explorer 的部分入口,以降低其他攻擊者利用漏洞的可能性,為官方團隊解決問題贏得了一定時間。

7 月3 日,RVN 團隊向社區發布了緊急更新,並最終於7 月4 日在1,304,352 區塊上對Ravencoin 網絡進行了程序修復。

  • RVhLBBsdFbKmBC1muPB2of74w19NwHzUsK

  • RAekzFLJDfLpaTfMonPNEvahWVYvBu2iE8

  • RU4C2CLwRTm4s4LbWMYdzAJFbZGL5rZqGs

7 月8 日,RVN 官方解釋稱,本次漏洞是由於黑客(Github 賬號:WindowsCryptoDev)提交的惡意PR (Pull Request)引入的bug 導致。

此次漏洞共導致RVN 增發3.01 億枚,相當於原有210 億總供應量的1.44%,已有供應量的4.6%。

根據追踪,大量增發的RVN 被拆開發往不同的地址,並最終轉到了交易所,官方定位到了以下3 個地址:

RVN 原有發行總量為210 億,出塊時間為1 分鐘,目前的區塊獎勵為5,000 個RVN,每210 萬個區塊後獎勵會減半,也就是約4 年減半一次。根據官方目前給出的方案,每次減半將比之前提前59,580 個區塊(約為41.375 天)。

二級標題

二級標題

二級標題

攻擊者行為複盤

1 月16 日,名為WindowsCryptoDev 的開發人員在Ravencoin Github 提交了一個PR(Pull Request), 表面看起來是在完善節點返回的報錯信息,該PR 很快就得到了Ravencoin 官方人員的反饋,並合併進主分支。

PR 詳情

原先的代碼,對於asset 相關的交易,只要交易的RVN output value 不是0,都會返回“bad-txns-asset-tx-amount-isn't-zero” 報錯信息。

該PR 針對不同的asset 交易類型進行了報錯信息優化,表面看起來是為了方便開發者區分具體的報錯原因,但是黑客留了一個後門,即沒有針對TX_REISSUE_ASSET 進行報錯信息優化。注意,這樣帶來的後果不僅僅是報錯信息不可分辨,而是將原本不合法的交易(TX_REISSUE_ASSET 且RVN output value 不是0)判斷為合法的交易,最終導致了RVN 的增發。

二級標題

二級標題

安全提示

二級標題

Cobo钱包
作者文库