幾行平淡無奇的代碼,悄無聲息地盜走價值約 570 萬美元的 RVN,駭客的手段是越來越高明了。神奇的是,這次安全事故發生後,代幣的價格沒崩,沒有單獨的受害者,也沒有維權,就因為駭客沒偷項目方的密鑰,也沒盜走用戶的資產,而是採用了一種更隱蔽的方式。
事情的經過是這樣的。
6 月29 日早上, CryptoScope 團隊成員最先發現區塊鏈項目 Ravencoin 並沒有按照預期運行,在每個區塊正常產生 RVN 之外,還額外創建了多餘的 RVN。他們很快對異常進行標記。在確認漏洞後,他們聯繫了Ravencoin 開發團隊。
經開發團隊確認,Ravencoin 確實存在漏洞,隨後團隊發布緊急修復公告。截至這時,漏洞已經讓系統多產生了約 1.4%(約 3 億枚)的 RVN 代幣,這部分憑空產生的代幣,數量大概是所有RVN 礦工埋頭苦幹44 天的開採量。
由於這部分 RVN 沒有任何限制,等到被發現時,大部分代幣已經流入了市場,凍結、回滾等常規操作已經無法奏效。
延伸閱讀:推特大浩劫!歐巴馬 比爾蓋茲 馬斯克 拜登 Uber..等世界名人帳號遭駭,全發文推廣比特幣詐騙
根據 CryptoScope 的披露,這些被增發的代幣,大部分流入了幣安,少部分流入了OKEx。或許,這個「聰明」的駭客並沒有急躁地賣出砸盤,而是有耐心地出貨,一直到被發現。根據 Coinmarketcap 的數據,今年6、7 月份,RVN 代幣的二級市場價格並沒有產生明顯下跌,甚至在 7 月 6 日後迎來了上漲。
不幸的是,在開發團隊發布補丁和新協議執行之前的幾個小時,又有人利用這個漏洞「增發」了約 480 萬枚RVN。根據團隊的披露和確認,至少有三個地址牽涉其中。
核心開發者 Tron Black 透露,其中有一個「攻擊者」留下了蛛絲馬跡,開發人員掌握了資訊後,希望對方將增發的 RVN 轉至 RXBurnXXXXXXXXXXXXXXXXWUo9FV 地址進行銷毀。據披露,被掌握資訊的「盜賊」後續將增發的部分代幣打回了銷毀地址。最終,大約 390 萬枚RVN 代幣通過這種方式被銷毀掉了。
Ravencoin 為什麼會被盯上?
駭客之所以盯上 Ravencoin 的挖礦代碼,而不是盜走團隊的私鑰,或者用戶的幣,其實也有原因。
Ravencoin 簡稱 RVN,中文名是「烏鴉幣」或「渡鴉幣」,於 2018 年 1 月誕生,無 IC0,無預挖礦,是個純粹的「社群幣」。烏鴉幣在比特幣源碼基礎上進行算法改良,優化轉帳環節,並增加類似以太坊的資產通證發行功能,意在打造一個完全去中心化、社群自治的區塊鏈服務平台。
其實,區塊鏈領域中完全社群化的項目並不算多,因為沒有預挖和預留,估計除了老老實實挖礦的收入,開發團隊手上也沒多少幣。之前加密貨幣交易平台幣安的創始人趙長鵬,就曾公開讚揚烏鴉幣團隊:「沒有IC0,社群化項目,低調謙遜的團隊,不需要上幣費。」
延伸閱讀:幣安金融卡細節圖流出!CZ : 我好興奮!終於可以進階到 100% 加密生活
去年10 月,烏鴉幣升級算法,更改為 X16R 的升級 版X16Rv2,目的就是為了阻止烏鴉幣網路上ASIC 礦機繼續挖礦。在此之前,大約有 83% 的算力是 ASIC 礦機,升級後,RVN 的算力很快從原來的 30T 下降到 5T 左右。
有意思的是,這個並沒有公佈全部成員,基本只有 Bruce Fenton 和 Tron Black 兩位開發者露臉的團隊,不過,這沒有影響外界對項目的估值。
此前,在接受媒體採訪時,美國電商巨頭 Overstock 的前 CEO Partrick Byrne 表示已將數百萬美元投入了烏鴉幣,並聲稱提供的服務比人們意識到的還要多。去年10 月,他在推特回答網友詢問曾買入什麼加密貨幣時坦言,是比特幣和烏鴉幣。而包括 Medici Ventures 和 tZERO 也曾表示,要在基礎設施方面支持烏鴉幣的開發。
沒想到,平日低調的烏鴉幣竟然被駭客盯上了。
駭客的方法
一位微信名為「奮鬥的M4ster」的社群成員提供了他的分析思路,發現這名駭客只用了3 行代碼就成功「生成」了價值 570 萬美元的財富。
問題出在上面這段代碼,從代碼表達上看,這部分與鑄幣有關,但這段代碼只有一個 else if。
在代碼語言中,else if 是「否則如果」的意思,是一種判定條件,很顯然,這段代碼裡只判定了一個條件,沒有繼續判定其他條件。
於是,駭客只要發送一筆交易,就可以憑空鑄出一筆新幣,即便這筆新幣不在正常的 RVN 總量範圍內,而是超出總量之外的數量,一筆交易就可以憑空造成 50 萬枚 RVN。
RVN 總量有 210 億枚,幾十萬的新增幾乎就是九牛一毛,誰都發現不了。駭客笑了。
從 5 月 9 日,駭客發起第一筆攻擊開始,他用了近兩個月時間,總共發送了 5000 筆交易,慢慢造出了約 3 億枚RVN,佔總量的 1.4%,總價值 570 萬美元。
駭客的最後一次攻擊發生在 6 月 29 日。當時 CryptoScope 團隊正在解 bug,順便看了一眼瀏覽器,突然就覺得 RVN 的總量有點問題。在駭客持續攻擊了 2 個月後,這一行為最終被發現了。
延伸閱讀:刑事局偵破!台灣幣圈最大量化基金 Kronos 遭前員工駭入,若策略外流恐損失 1.5 億 (麒點科技)
一般來說,代碼上的漏洞都是駭客仔細研究代碼發現的,需要付出極大成本才能發現一個有價值的漏洞,而RVN 的這段代碼,是駭客自己寫的。
Ravencoin 作為一個開源項目,所有人都可以在Github 上為該項目提供代碼。因為開源項目的初衷就是讓所有開發者齊心協力,為項目優化做貢獻,每個人都可以把自己的想法寫成代碼,放在 Github 上。代碼會由項目方審核,決定用不用這段代碼。
駭客在 1 月提交了這段代碼,項目方沒有發現問題,直接整合進了項目裡面,這才給了駭客機會。而駭客整整潛伏了 4 個月,才開始攻擊。
誰受到了損失
這並不是一次普通概念的駭客攻擊。一般的駭客攻擊,是需要駭客攻擊帳戶,從帳戶中盜走用戶資產。所以駭客攻擊中大部分損失的是用戶,但這次的另類駭客攻擊,損失的是誰?
用戶並沒有受到損失,因為資產價格沒有波動,項目方也幾乎沒有損失,他們自己也無需補償任何人。
真正損失的是礦工。
看了項目方提供的增發解決方案,基本上都是從挖礦角度解決,比如提前產量減半、強制總量達到上限後停止挖礦等。按照這樣的邏輯,這場駭客攻擊的損失方只能是礦工。礦工靠挖礦生存,這 3 億枚 RVN 本應是礦工的獎勵,現在他們拿不到了。
如果這一切都是駭客從頭計劃好的,那麼這就是一場完美的攻擊,1 月佈局,5 月攻擊,7 月收尾,如果不是意外被發現,整個過程可能還會持續更長時間。用戶不會報警,因為沒有損失,項目方不會報警,因為是自己審核問題,礦工也無法報警,他們損失的是若干年以後的獎勵,而且,誰會去受理這樣的報案呢?
📍相關報導📍
台灣又一資金盤跑路?比特幣搬磚套利 ENai 稱遭駭客攻擊,外傳恐已捲款潛逃
趁亂大蹭一波?行銷大師孫宇晨再度出手,獎勵 100 萬美元捉拿「Twitter駭客」
三大冷錢包商被駭?Trezor、Ledger、KeepKey 驚傳逾 8 萬位用戶資料遭拍賣!
讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。
LINE 與 Messenger 不定期為大家服務