區塊鏈世界的高智商犯罪:如何偷走價值6000萬人民幣的EOS
黑客預先投入百萬人民幣,將自己控制的節點成功選舉為 EOS 中 21 個出塊節點,再利用節點的便利,將價值 6000 萬人民幣的被凍結 EOS 一次性轉走到交易所變現 ?還是他運用了更聰明的方法,使其不需要投入任何成本,上演了一出完美的空手套千萬?
2 月 22 日下午 2 點,區塊鏈世界總值排名第四的 EOS 網路上出現了一筆離奇的轉賬。
曾被(EOS 仲裁委員會) 凍結交易的 EOS 賬號出現了異常交易活動, 向疑似某交易所的賬號轉了三筆交總計 209 萬個 EOS 的交易,價值 6000 萬人民幣。 這筆錢本是犯罪份子騙取 EOS 使用者私鑰後轉移來的贓款,已經被凍結,現在這個被凍結的賬戶居然意外出現了轉賬。
區塊鏈安全團隊 PeckShield 隨後發表分析認為,是 EOS 區塊鏈上一個名為 games.eos 的 節點沒有設定黑名單(沒有阻止黑名單賬號交易)而導致的 。
上面提到的被 ECAF 仲裁凍結交易的賬號,絕大部分為持有黑產、盜竊、詐騙等手段獲取的 EOS 資產的賬戶。為了防止黑客把偷來的幣轉移或銷燬證據,所以 ECAF 仲裁機構向節點發出凍結令,凍結以後賬戶就不能做任何交易,使使用者資產和黑客盜竊證據得以保全。
按照規定,在 ECAF 宣佈凍結命令後,EOS 節點要完成黑名單的同步,這樣就保證幣不會轉移走,等到仲裁機構給出結論後再做下一步打算。
可是,22 日下午, 因為 21 個 EOS 出塊節點之一的 games.eos 沒有設定好黑名單,黑客利用這個節點出塊時段,連續三次,把 209 萬個 EOS 區塊鏈代幣轉移走 。此類行為又被稱為是「偷跑」。
EOS 節點的主要工作就是負責生產區塊,即處理轉賬交易和阻止黑名單交易。到這裡,很多人都會認為這只是一起由於工作疏忽而導致的因意外事件,而事情接下來的發展,卻出乎我們的意料。
當天下午 4 點,PeckShield 資料再次顯示, 黑客是假裝向疑似 Newdex 去中心化交易所的賬號轉賬 ,躲避追蹤。
但實際上這是一個混淆視聽的假賬號,黑客同時向多個不同的小號分散轉賬, 小號收到轉賬馬上轉進交易所,比如火幣、幣安、Bitfinex 等 。
據瞭解,這些轉進交易所的 EOS,在安全團隊和交易所都還沒有反應過來的時間內就開始提幣走人,原先的贓款就這麼瞬間洗白。據 PeckShield 提供的鏈上資料,目前黑客已向交易所成功匯入了 35.5 萬 EOS,即洗白的贓款可能高達 990 萬元。
這是一場預謀已久的犯罪行為。
區塊鏈世界裡又一例新的高智商犯罪?
在社交網路上有人認為這是黑客的一個完美高智商犯罪,以極低的成本成功將此前被凍結的價值 6000 萬人民幣的 EOS 取走。
有觀點認為:
為了讓黑客偷的幣順利轉移, 黑客通過一些手段買到了 1500 萬 EOS 的票 ,讓一個沒有加黑名單的節點成為出塊節點,然後成功偷跑了價值 5000 萬的 EOS。
這裡提到的「買票」,其實就是代理投票。EOS 網路上有專門做代理投票的團隊,他們手中持有大量的籌碼,可以根據客戶需求來進行投票成為節點,藉此獲得節點分成或者利潤。代理投票和抵押 EOS 資源的服務模式是一樣的,相當於租賃業務,使用者只需要支付極少的費用就可以獲取大量的、短時可用的 EOS。
在 EOS DAPP 非常流行的時候,因為 EOS DAPP 大量消耗資源,所以使用者玩 DAPP 的時候需要購買 CPU 資源。不少錢包都提供 CPU 租賃業務,使用者 4 個 EOS 就可以租到 5000 個 EOS 的 CPU。買票的服務也是一樣,用很少的 EOS 就可以買到大量的 EOS 投票,抵押結束後,票就會撤回來。
如果按照抵押 EOS 資源的價格,有人也大概算出了這次犯罪的成本,大約在 30-114 萬人民幣之間。從 EOS 節點投票資料看,games.eos 節點在 2 月 20 日和 21 日這兩天,一共新獲得了 1518 萬票,這些票讓 games.eos 一躍成為了前 21 名出塊節點。
如果 4 個 EOS 可以買到 5000 個 EOS 的票,那 1518 萬票就需要 12,144 個 EOS 去買,按照現在的價格,就是 30.3 萬人民幣。而據業內從業者表示,100 萬 EOS 投票一天需要 3000 個 EOS 的租賃費,那麼 1518 萬票就需要 45,540 個 EOS,價值 114 萬人民幣。
所以網友推測這次犯罪的買票成本大概是在 30 萬到 114 萬人民幣之間。PeckShield 安全團隊也認為,不排除黑客買票讓節點當選的可能性。
然而這個讓人激動人心的黑客故事可能經不起推敲。根據 PeckShield 的資料,games.eos 節點在 2 月 21 日就已經成為了出塊節點。如果黑客真的進行了買票操作,那黑客應該會第一時間趁著深夜將資產轉出,為什麼要等到一個工作日的下午呢?而且買票的行為非常容易被人發現真實身份,目前還沒有可以進行匿名買票的途徑。
區塊律動 BlockBeats 於是針對這一事件展開了深入調查。
早有先例
區塊律動 BlockBeats 之前曾經報道過 EOS 節點偷跑黑名單導致普通使用者資產被盜事件: 《EOS遲早毀在這群白吃乾飯的超級節點上》【點選連結檢視全文】。
文中,小手(化名)在今年 4 月份以 110 元左右的價格買入了 1000 多個 EOS。6 月份 EOS 主網上線之後,各大錢包對 EOS Token 的支援都不完善,小手在操作轉賬到交易所的過程中遇到了問題,在電報群中求助後,有「客服」來與他聯絡說可以手動匯入 EOS 資產到交易所。然而小手沒有想到的是, 這個客服其實是騙子假扮的。騙子在索要了小手的 EOS 私鑰後,將其 EOS 資產掠奪一空。
因為洩露了自己的私鑰,小手自己 EOS 賬戶中的 1280 多個 EOS 被騙子盜走後買了 EOS RAM。小手找到了 EOS 自治社群 ECAF,並通過這一渠道進行了仲裁申請(申請編號 198), 3 個月後的 10 月 5 日,ECAF 釋出了這一資產被盜事件的緊急凍結令,騙子的錢包地址被凍結 ,小手的資產得到了暫時的保護。
然而,噩夢卻在那意思小確幸後降臨。11 月 12 日,這個被凍結的 EOS 地址居然執行了操作,騙子將 EOS RAM 賣掉,這僅剩的 552 個 EOS 被騙子轉到幣安交易所賣掉後提現走人。已經被各個節點加入黑名單凍結的賬號是怎麼進行操作的,小手大為不解。
原來,負責這次交易的出塊節點 starteos 並沒有將這個黑客賬號新增到黑名單中,導致黑客成功地「偷跑」。
2 月 22 日的 209 萬個 EOS 被偷跑,也是使用的同樣的手法。
於是有兩種可能性擺在我們面前:這是黑客精心安排的一次獨立高智商犯罪,亦或是與 games.eos 節點串通,一同導演的一場黑客盜幣的大戲。
區塊律動 BlockBeats 把 games.eos 這個節點的得票歷史(統計超過 20 萬票數)做了下面這張圖。
可以看出,該節點賬號於 10 月份建立後並沒有立即開始獲得投票,直到 11 月才獲得大量選票,期間有三次大幅度的票數增長,分別在 11 月 4-5 日、12 月 23-25 日和 2 月 20-21 日。
在 20 日和 21 日這段時間裡,games.eos 得票量突然猛增,成為獲票數前 21 的節點,成為了出塊節點。在發現 209 萬個 EOS 通過該節點偷跑後,排名 22 和 23 的節點迅速獲得大量票數,將 games.eos 擠出出塊節點行列。大約 1 小時後,games.eos 回到了排名 23 位,不再負責出塊。
在區塊鏈瀏覽器上,每個節點都有完整名稱和國家所在地,可 games.eos 什麼介紹都沒有,好像是憑空出來的,更令人生疑。
從投票歷史上看,games.eos 是從去年 10 月份才開始有得票的節點,在瀏覽器上也發現這個賬號是一個 10 月份才開始建立的,出現了只有 4 個月。正常來說,節點申請提交是在去年 6 月前就截止了,不可能在有新的節點申請出現。其他的節點的主網賬號都是去年 6 月份建立的,只有 games.eos 比較特殊。
既然不可能有新的節點團隊申請進來,那唯一的解釋,這個節點是現有節點團隊的小號。果然,有一個節點曾經公開表示,自己有兩個節點賬號,就是剛才提到的 starteos 節點。
在 starteos 自己發表的這篇文章裡(現已刪除),他們承認,starteos 建立了 games.eos 這個節點,這兩個節點都是一個團隊在控制。並且還公開表示,games.eos 會給投票使用者分紅。
上述文章還提到了與引導大家投票的有關的內容:節點 games.eos 流暢執行後,節點收益將分給持幣者,這也就是 EOS 節點圈內褒貶不一的「賄選」做法。
所以當你看到 starteos 和偷跑有關的時候,關於 games.eos 發生的一切似乎就可以解釋了。
在區塊律動 BlockBeats 的 《BOS,大佬和他的小弟們》這篇文章 中曾提到,EOS 的部分節點存在一個節點聯盟,節點之間會互相投票,以獲得節點獎勵。國內大多數節點(包括 starteos)也在這個聯盟中。
在最近的節點換票(相互投票以建立節點共識聯盟)中,games.eos 獲得了大量的選票,直接升到了第 20 名,成為了出塊節點。starteos 之前就因為沒有設定凍結賬戶黑名單(即文章開頭的「小手」真實故事),黑客在 starteos 出塊的那 6 秒鐘裡把盜竊的 EOS 轉移了,但是該節點對外界的任何質疑不做任何形式的迴應。
這次被轉移的賬戶的凍結命令是 9 月 25 日下的,其他節點已經加入了黑名單,而 10 月份剛成立的 games.eos 依然延續了自己團隊的老問題,沒有更新黑名單。
精心的謀劃與耐心的等待
目前事態已經非常明朗,黑客已經成功作案並洗白了不少資金,我們現在可以回過頭來分析發生的一切:
黑客在 games.eos 當選出塊節點的第二天發現了這個可以偷跑的事實漏洞,喜出望外的同時,迅速計劃了這次轉移 209 萬個 EOS 的犯罪活動。
從黑客轉移資產的路徑,區塊律動 BlockBeats 發現,除了一個混淆賬號外,其他所有關聯交易的 EOS 賬號均創建於 9 月 27 日,即黑客賬號被凍結後的 2 天,黑客早就做好了隨時偷跑的準備。黑客被凍結賬號第一個轉出的賬號為一個仿冒 Newdex 交易所的賬號(newdexmobapp)。
該混淆帳號創建於 2 月 18 日,建立之後就開始批量地向其他 EOS 賬號傳送虛假的廣告來迷惑追蹤者,讓別人以為這是「Newdex 交易所的官方賬號」。這種反偵察的行為甚至一度騙過了安全團隊的追查,但最後還是因為交易量過少而被發現。值得注意的是這個時間「2 月 18 日」,也就是 games.eos 節點大量獲票的前 2 天,黑客已經預測到該節點很有可能會當選。
在成功偷跑後,黑客將所有資產走轉移到了這個混淆帳號,隨後混淆帳號又轉到了十幾個二級賬號,二級賬號又快速地轉到了三級賬號或交易所。目前已經有大量 EOS 贓款通過交易所進行洗白,包括火幣、幣安、Bitfinex 等交易所。據 PeckShield 提供的鏈上資料,目前黑客已向交易所成功匯入了了 35.5 萬 EOS,即洗白的贓款可能高達 990 萬元。
很顯然,黑客準備的十分充分,從目前掌握的證據來看,這是一個精通 EOS 開發的黑客,他對鏈上的交易和記錄查詢非常熟悉。
建立混淆帳號的 EOS 賬號(guagddoefdqu)甚至曾建立過一個 EOS DAPP 併發行過 mEOS 代幣,這名開發者還發了一款名為 mEOS Folio 的 EOS 區塊鏈交易追蹤 App,可在美區 App Store 下載(請勿輕易嘗試,該 App 可能存在盜取私鑰的風險!)
此外,guagddoefdqu 賬號曾在 1 月 30 日測試往火幣交易所裡進行過 6 次充值,備註的賬號識別資訊分別為 6 個不同的賬號。也就是說,這位黑客已經在 1 個月前準備好了最少 6 個交易所洗白賬號,只等 games.eos 節點當選這一天的到來。
至此,我們已經瞭解了所有犯罪的準備條件:
1、一個新的可能沒有黑名單的 EOS 節點即將上線; 2、深諳 EOS 網路的執行規律,比節點更懂 EOS; 3、準備好了多個交易所賬號,準備洗白; 4、準備好了混淆視聽的賬號來避免追蹤,或者拖慢被凍結的進度; 5、準備好大量可操控的賬號進行轉賬交易。
在 games.eos 當選後的十幾個小時內,黑客得手了。
問題這麼久了為什麼還沒解決?
作為一個曾經被認為區塊鏈世界最安全的社群,EOS 已經不是第一次出現由於節點的問題導致使用者資產損失的事情了。
在事情發生 24 小時後,其中一個 EOS 節點 EOS42 發文表示,這種事情不應該再次發生,他們認為可以用廢除黑名單內賬戶私鑰的方式來防止單一節點不更新黑名單的行為再造成損失。黑名單賬戶的私鑰一旦被廢除,就再也不能進行交易行為了。
這個辦法的確可以用,但是這樣一來,節點又可以對賬戶的私鑰進行操作了。在之前 ECAF 的仲裁命令中,ECAF 就要求節點修改賬戶私鑰,這一行為引發了社群很多討論。不少人認為私鑰是個自己財產的最後底線,如果私鑰可以修改,那自己的財產根本談不上安全了。而廢除私鑰的這個方法,從某種程度上說,跟修改私鑰是一個意思,只能作為暫時性的方案。治標不治本。
我們承認 EOS 作為頭部專案,正在身體力行的探索區塊鏈世界的種種可能性,區塊鏈就像一場大型社會實驗,而 EOS 在其中做了很大的貢獻。
但區塊律動 Blockbeats 也要看到,作為 EOS 生態重要環節的 EOS 節點,本應該履行應盡的職責,但卻一而再,再而三的出現同樣的問題,讓人不禁反思,這樣的治理方法,真的有效麼?
諷刺的是,基於 EOS 而誕生的 BOS 區塊鏈,在事情發生後一天就在區塊鏈上配置了 BP 多籤黑名單機制,解決了節點因為懶惰或工作失誤不作為而偷跑的高風險漏洞。BOS 上目前以中國的 EOS 節點為主,也就是說,同樣一批人,在側鏈上,解決了這個問題,這到底是節點的問題,還是制度的問題?
讓 EOS 的每一個節點都能保證永遠負責,永遠認真為使用者做事,讓節點與節點之間永遠不存在利益共生體,讓每一個節點都保持獨立,這樣的想法是不是太過於理想了。