揭露ETC的51%攻擊者的操作行為,如何盜取總價值807K的ETC

買賣虛擬貨幣
在7月31號至8月1號以太經典受到駭客的51%鏈攻擊。在本文中,我們將分析這兩次攻擊期間的交易鏈的分叉情況。關鍵要點:攻擊者在此次攻擊中花費了807,260 ETC(560萬美元),花費了17.5 BTC(19.2萬美元)來獲得攻擊的雜湊值。攻擊者還獲得了13K ETC作為區塊挖掘獎勵,我們沒有將其計入兩次花費。從重組鏈和非重組鏈收集資料
我們在Bitquery中基於Open Ethereum軟體從Ethereum Classic節點收集資料。正如它出現在分叉之後一樣,該軟體有一個bug,區塊鏈重組超過某個特定的程式段號。我們保留了所有資料,包括在重組發生後由其他礦工在Open Ethereum軟體上開採的一系列區塊。看來要趕上重新排序的鏈的唯一方法是轉移到其他節點軟體,我們選擇了Geth。但是在此之前,我們將未重組鏈的所有資料儲存在單獨的資料庫中,以備將來分析。在Geth節點同步之後,我們從塊10904146開始重新索引資料,在塊10904146開始進行重組。
我們現在有了兩個資料集,我們在Bitquery Explorer介面和GraphQL API中公開了這些資料集:· 來自Open Ethereum節點的非重組鏈(每個礦工都在該節點上工作)· 從Geth節點重組鏈(受攻擊的物件起作用)

這些資料集在區塊10904146之前具有完全相同的資料,並且差異從下一個區塊開始。例如比較下一個區塊10904147:

通常,您可以使用以下格式的URL:

https://explorer.bitquery.io/ethclassic查詢重組的鏈(當前接受的鏈,以及帶有攻擊者挖掘塊的鏈)
https://explorer.bitquery.io/ethclassic_reorg查詢未重組的鏈(帶有被丟棄的區塊的鏈)

鏈中的這些區塊有幾個不同之處:

1. 高度相同,但雜湊不同,因為這些區塊的內容不同。
2. 父雜湊值是相同的,因為它們指向了從中開始分叉的同一原始區塊(10904146)
3. 礦工是不同的。重組鏈的礦工是攻擊者,0x75d1e5477f1fdaad6e0e3d433ab69b08c482f14e,他在12小時內挖出3500多個區塊以執行重組。未重組鏈的礦工是一些常規礦工,由於他們不知道攻擊者的存在,所以像往常一樣挖礦。
4. 在重組和非重組鏈中,不僅區塊,交易,轉移,智慧合約和事件也有所不同。

讓我們看看攻擊者的挖礦活動。

攻擊者的挖礦活動

攻擊者設法從10904147到10907761的高度插入區塊。在10907761區塊之後,他繼續挖掘一些區塊,但這並沒有造成重大重組。可以在以下位置檢視攻擊者的活動:

攻擊者4天內總共挖掘了4280個區塊。請注意,他在攻擊之前只進行了一點挖掘,在攻擊之後停止了挖掘。這不是普通礦工的行為。

結果,礦工將所有的採礦獎勵金(13K等)傳送到了地址0x401810b54720faad2394fbe817dcdeae014066a1

攻擊時間線

根據我們的調查,攻擊者執行了以下操作來執行51%的攻擊:

1. 7月29日至31日。攻擊者從交易所提取約807K的ETC到幾個錢包。

2. 7月31日16:36。攻擊者透過從Nicehash提供者daggerhashimoto以雙倍價格購買雜湊功率來開始挖掘區塊。挖礦的總成本約為17.5 BTC(〜192,000美元)

3. 7月31日17:00–17:40。攻擊者將錢匯入鏈自己的錢包,並將這些交易插入正在挖掘的區塊中。之所以沒有人發現這些交易,是因為攻擊者沒有把這些區塊宣佈出去。

4. 7月31日18:00 – 8月1日2:50 UTC。攻擊者使用未重組鏈上的中間錢包將錢轉回交易所,每個人都可以看到。在此期間,攻擊者有足夠的時間將這些貨幣轉換為美元,然後進行提取或購買BTC。攻擊者將操作拆分開多個階段,對網路攻擊持續長達12個小時,以避免被任何人懷疑。

5. 8月1日4:53。攻擊者使用在步驟3中建立的交易賬本並在全網釋出,並執行鏈重組。這意味著將步驟4的事務替換為步驟3的事務。

現在,讓我們看一下這些步驟的詳細資訊,以及礦工如何能夠獲得超過807K ETC(560萬美元)的收入。

攻擊者插入的交易(經過重組的鏈)

在攻擊過程中,該礦工僅插入了11筆交易。這可能導致了“違規礦工在挖礦時暫時無法訪問網際網路”的原因。值得注意的是,這些交易沒有被髮送到其他礦工的事務儲存池(mempool)。所以他們不會被網路中的其他礦工開採。

看一下這些交易:

請注意,前五筆ETC交易金額較高。讓我們逐一檢查這些交易。

第一次交易(值353005 ETC)(Tx)

第二次交易(價值77955 ETC)(TX)

第三筆交易(價值194100 ETC)(TX)

第四筆交易(價值97710 ETC)(TX)

第五筆交易(價值:84490 ETC)(TX)

比較這些事務,您會注意到以下模式:

1. 金額以數千為單位的ETC
2. 所有交易均源自地址0x63a8ab05ae4a3bed92580e05e7dce3b268b54a7f
3. 從攻擊開始前的7月1日(即7月1日)開始,所有交易都在40分鐘內完成。

錢包準備好執行51%的攻擊

要執行51%的攻擊,攻擊者必須將錢存放在他/她控制的錢包中。有5個地址在攻擊前已準備好餘額:

1. 0x439ff9e3a81a4847d0c2041c06e5a272883f69f2,在2020年7月29日至30日的22筆交易中從0x63a8ab05ae4a3bed92580e05e7dce3b268b54a7f接收了353K ETC

2. 0x9ac1785943ead4dafb2198003786b4b29143f081,在2020年7月30日至31日的7筆交易中從0x63a8ab05ae4a3bed92580e05e7dce3b268b54a7f收到了78K ETC

3. 0xad599aa123c2b5b00773b9bfadacf8c3e97ea72d,在2020年7月30日至31日的16筆交易中從0x63a8ab05ae4a3bed92580e05e7dce3b268b54a7f收到了194K ETC

4. 0xda88ea478545581eafffa3598fd11fc38f13c508,在2020年7月30日至31日的7筆交易中從0x63a8ab05ae4a3bed92580e05e7dce3b268b54a7f收到了9.77萬ETC

5. 0x305292887ad1ffa867e8564c804575f3d7a19a1f,在2020年7月30日至31日的5筆交易中從0x63a8ab05ae4a3bed92580e05e7dce3b268b54a7f收到了84K ETC

總的來說,在攻擊之前,這些地址上的ETC總值約為807,000 ETC(560萬美元)。

非重組鏈中的交易

攻擊開始時,沒人知道它,因為攻擊者沒有釋出任何塊。但是攻擊者建立了私人交易,我們將其記錄在第二個資料集中(未重組的鏈)。

這張圖展示了我們之前提到的地址,顯示了攻擊者如何從交易所中取出錢到他/她自己的錢包中,然後再將錢轉回交易所。

將未重組鏈和重組鏈的資料結合起來,我們可以看到,在非重組鏈中,看到資金回到交易所:

· 攻擊前,錢從地址0x63a8提取到5個不同的地址。我們認為0x63a8是交易所錢包。
· 在攻擊期間,這筆錢透過1-3箇中間地址被退回交易所0x63a8。
· 結果,從交易所0x63a8取出的所有資金都回到了交易所0x63a8,這些交易被確認,因為沒有人知道正在遭受的攻擊。

例如下面的事務顯示了攻擊者是如何將錢分一小部分轉回交易所的:

這在未重組的鏈中可見,這些交易的有效期至少為12小時,而礦工則私下建立了新區塊。

結果攻擊者成功地對以太經典版實施了51%的攻擊,從而獲得了807K ETC加上採礦獎勵(13K ETC)。總共大約是 $ 5,650,820。遠遠超過花在挖礦上的錢(19.2萬美元)。

攻擊者雙花了ETC

攻擊者現在利用他/她的錢包中剩餘的ETC進行雙花。在這裡,我們看到了對許多地址和多跳傳輸進行拆分的典型模式。

然而,利用我們的Coinpath®技術,我們追蹤了雙花使用的ETC。截至撰寫時間的當前分佈為:

從0x1e3a5208db53be56b6340f732ec526b4bdc37981地址開始的Coinpath API報告

識別交易所

我們不知道地址0x63a8ab05ae4a3bed92580e05e7dce3b268b54a7f的確切所有者,但是我們非常有信心肯定這是一個加密交易所,因為交易量和其他行為方式非常多。

我們可以猜測的是,該地址屬於OKEx交易所或其分支機構。以太坊主網中的同一地址與OKEx錢包有很多相關活動。

所有轉賬都是透過OKEx其他錢包進行的

免責聲明:

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

推荐阅读

;