1. 首頁
    2. 好看的高智商犯罪電影(高智商犯罪:價值 4000 萬人民幣的 3 行代碼)

    好看的高智商犯罪電影(高智商犯罪:價值 4000 萬人民幣的 3 行代碼)

    幾行平淡無奇的代碼,悄無聲息地薅走價值約 4000 萬元人民幣,黑客的手段是越來越高明了。

    神奇的是,這次安全事故發生后,代幣的價格沒崩,沒有單獨的受害者,也沒有維權,就因為黑客沒偷項目方的秘鑰,也沒盜走用戶的資產,而是采用了一種更隱蔽的方式:在礦工兢兢業業挖礦的時候,悄悄「增發」了 RVN(Ravencoin),讓人以為(至少看起來)像是系統正常產生的代幣。

    事情的經過是這樣的。

    6 月 29 日早上,海外的 CryptoScope 團隊成員最先發現區塊鏈項目 Ravencoin 并沒有按照預期運行,在每個區塊正常產生 RVN 之外,還額外創建了多余的 RVN。他們很快對異常進行標記。在確認漏洞后,他們聯系了 Ravencoin 開發團隊。

    經開發團隊確認,Ravencoin 確實存在漏洞,隨后團發布緊急修復公告。截至這時,漏洞已經讓系統多產生了約 1.4%(約 3 億枚)的 RVN 代幣,這部分憑空產生的代幣,數量大概是所有 RVN 礦工埋頭苦干 44 天的開采量。

    由于這部分 RVN 沒有任何限制,等到被發現時,大部分代幣已經流入了加密市場,凍結、回滾等常規操作已經無法奏效。

    根據 CryptoScope 的披露,這些被增發的代幣,大部分流入了幣安,少部分流入了 OKEx。或許,這個「聰明」的黑客并沒有急躁地賣出砸盤,而是有耐心地出貨,一直到被發現。根據加密貨幣行情網站 Coinmarketcap 的數據,今年 6、7 月份,RVN 代幣的二級市場價格并沒有產生明顯下跌,甚至在 7 月 6 日后迎來了上漲。

    不幸的是,在開發團隊發布補丁和新協議執行之前的幾個小時,又有人利用這個漏洞「增發」了約 480 萬枚 RVN。根據團隊的披露和確認,至少有三個加密地址牽涉其中。

    核心開發者 Tron Black 透露,其中有一個「攻擊者」留下了蛛絲馬跡,開發人員掌握了信息后,希望對方將增發的 RVN 轉至 RXBurnXXXXXXXXXXXXXXXXWUo9FV 地址進行銷毀。據披露,被掌握信息的「盜賊」后續將增發的部分代幣打回了銷毀地址。最終,大約 390 萬枚 RVN 代幣通過這種方式被銷毀掉了。

    Ravencoin 為什么會被盯上?

    黑客之所以盯上 Ravencoin 的挖礦代碼,而不是盜走團隊的私鑰,或者用戶的幣,其實也有原因。

    Ravencoin 簡稱 RVN,中文名是「烏鴉幣」或「渡鴉幣」,于 2018 年 1 月誕生,無 IC0,無預挖礦,是個純粹的「社區幣」。烏鴉幣在比特幣源碼基礎上進行算法改良,優化轉賬環節,并增加類似以太坊的資產通證發行功能,意在打造一個完全去中心化、社區自治的區塊鏈服務平臺。

    其實,區塊鏈領域中完全社區化的項目并不算多,因為沒有預挖和預留,估計除了老老實實挖礦的收入,開發團隊手上也沒多少幣。之前加密貨幣交易平臺幣安的創始人趙長鵬,就曾公開贊揚烏鴉幣團隊:「沒有 IC0,社區化項目,低調謙遜的團隊,不需要上幣費。」

    去年 10 月,烏鴉幣升級算法,更改為 X16R 的升級版 X16Rv2,目的就是為了阻止烏鴉幣網絡上 ASIC 礦機繼續挖礦。在此之前,大約有 83% 的算力是 ASIC 礦機,升級后,RVN 的算力很快從原來的 30T 下降到 5T 左右。

    有意思的是,這個并沒有公布全部成員,基本只有 Bruce Fenton 和 Tron Black 兩位開發者露臉的團隊,不過,這沒有影響外界對項目的估值。

    此前,在接受媒體采訪時,美國電商巨頭 Overstock 的前 CEO Partrick Byrne 表示已將數百萬美元投入了烏鴉幣,并聲稱提供的服務比人們意識到的還要多。去年 10 月,他在推特回答網友詢問曾買入什么加密貨幣時坦言,是比特幣和烏鴉幣。而包括 Medici Ventures 和 tZERO 也曾表示,要在基礎設施方面支持烏鴉幣的開發。

    沒想到,平日低調的烏鴉幣竟然被黑客盯上了。

    黑客的方法

    一位微信名為「奮斗的 M4ster」的社區成員提供了他的分析思路,發現這名黑客只用了 3 行代碼就成功「生成」了價值 4000 萬人民幣的財富。

    問題出在上面這段代碼,從代碼表達上看,這部分與鑄幣有關,但這段代碼只有一個 else if。

    在代碼語言中,else if 是「否則如果」的意思,是一種判定條件,很顯然,這段代碼里只判定了一個條件,沒有繼續判定其他條件。

    于是,黑客只要發送一筆交易,就可以憑空鑄出一筆新幣,即便這筆新幣不在正常的 RVN 總量范圍內,而是超出總量之外的數量,一筆交易就可以憑空造成 50 萬枚 RVN。

    RVN 總量有 210 億枚,幾十萬的新增幾乎就是九牛一毛,誰都發現不了。黑客笑了。

    從 5 月 9 日,黑客發起第一筆攻擊開始,他用了近兩個月時間,總共發送了 5000 筆交易,慢慢造出了約 3 億枚 RVN,占總量的 1.4%,總價值 4000 萬人民幣。

    黑客的最后一次攻擊發生在 6 月 29 日。當時 CryptoScope 團隊正在解 bug,順便看了一眼瀏覽器,突然就覺得 RVN 的總量有點問題。在黑客持續攻擊了 2 個月后,這一行為最終被發現了。

    一般來說,代碼上的漏洞都是黑客仔細研究代碼發現的,需要付出極大成本才能發現一個有價值的漏洞,而 RVN 的這段代碼,是黑客自己寫的。

    Ravencoin 作為一個開源項目,所有人都可以在 Github 上為該項目提供代碼。因為開源項目的初衷就是讓所有開發者齊心協力,為項目優化做貢獻,每個人都可以把自己的想法寫成代碼,放在 Github 上。代碼會由項目方審核,決定用不用這段代碼。

    黑客在 1 月提交了這段代碼,項目方沒有發現問題,直接整合進了項目里面,這才給了黑客機會。而黑客整整潛伏了 4 個月,才開始攻擊。

    誰受到了損失

    這并不是一次普通概念的黑客攻擊。一般的黑客攻擊,是需要黑客攻擊賬戶,從賬戶中盜走用戶資產。所以黑客攻擊中大部分損失的是用戶,但這次的另類黑客攻擊,損失的是誰?

    用戶并沒有收到損失,因為資產價格沒有波動,項目方也幾乎沒有損失,他們自己也無需補償任何人。

    真正損失的是礦工。

    看了項目方提供的增發解決方案,基本上都是從挖礦角度解決,比如提前產量減半、強制總量達到上限后停止挖礦等。按照這樣的邏輯,這場黑客攻擊的損失方只能是礦工。礦工靠挖礦生存,這 3 億枚 RVN 本應是礦工的獎勵,現在他們拿不到了。

    如果這一切都是黑客從頭計劃好的,那么這就是一場完美的攻擊,1 月布局,5 月攻擊,7 月收尾,如果不是被意外發現,整個過程可能還會持續更長時間。用戶不會報警,因為沒有損失,項目方不會報警,因為是自己審核問題,礦工也無法報警,他們損失的是若干年以后的獎勵,而且,誰會去受理這樣的報案呢?

    相關文章
    草莓视频