一、概述
Blackhat USA 2021落下帷幕,Blackhat又稱黑帽大會,是安全行業工業界的頂級會議之一,筆者關注到今年BlackHat USA中也出現了區塊鏈安全相關議題,如騰訊玄武實驗室發布的議題——《How I Used a JSON Deserialization 0day to Steal Your Money on the Blockchain》,
而在今年5月份舉行的Blackhat Asia會議中,眾信星空科技CTO IceCat & 蘭州大學Dslab實驗室發布了區塊鏈安全相關的研究議題——《Disappeared Coins: Steal Hashrate in Stratum Secretly》,本文我們給大家帶來該議題的內容介紹,并對挖礦協議Stratum協議的攻擊場景拋磚引玉,
二、什么是Stratum協議?
早在“遠古時期”,加密貨幣礦工進行挖礦的模式主要為SOLO挖礦,顧名思義是用個人單機進行挖礦,這個時期的礦工多為“狂熱”的加密貨幣技術愛好者,實際上,在公鏈發展早期,全網的算力和難度值都相對較低,因此SOLO挖礦是可行的,然而隨著全網算力和難度值的提高,單機挖礦模式已經無法出塊獲得獎勵,這時候,出現了礦池的概念,礦池可以將礦工們聯合起來,通過聚集算力來提升出塊的幾率,最終挖到的塊又會根據礦池中各礦工算力占比進行獎勵分配,而Stratum協議,是為礦工和礦池進行通信所設計的網路協議,詳細的通信程序如下:

三、我們的作業
目前主流礦池在用的stratum協議都是V1版本(見下圖),因此我們的研究建立在Stratum V1版本,值得注意的是:該版本下網路通信為明文,

熟悉網路安全的工程師都知道,明文通信的協議理論都可能遭受“中間人攻擊”,而我們的議題就是探討Stratum V1協議的中間人攻擊實施的可能性,并發布具體的攻擊手法和復現程序,
如果無法理解該研究的意義,您可以想象在ISP劫持的場景下,劫持者可以基于這種攻擊劫持區域內的礦工通信,假設每天只抽取該區域算力的1%,收益都是十分驚人的,相對應的,這些收益當然來自于礦工們的損失,
四、Stratum劫持技術
我們提出了兩種形式的攻擊方法:job injection與time segment,
(1)Job Injection(任務注入)
簡要概括就是攻擊者充當中間人,連接正常礦池和惡意礦池,利用協議將惡意礦池的任務按照一定比例插入到正常任務佇列中:
![]()
不過,Stratum協議中存在Extranonce欄位,直接劫持通信暴力插入會導致該欄位與礦機記憶體中不一致,因此這里需要一些trick進行技術實作,
具體時序圖如下:

(2)Time Segment(時間分片)
時間分片,顧名思義就是中間人攻擊者劫持通信后,讓礦工在不同時間周期內為不同的礦池挖礦,
利用斷線重連機制,攻擊者在一個時間分片末尾斷開連接,然后等待礦工重連,重連后將其分配到惡意礦池進行挖礦,從而達到竊取礦工算力的目的,

相關攻擊POC可以通過:https://www.youtube.com/watch?v=ZvpdOj6U0vM 進行了解,對議題感興趣的同學可以查看議題slides[1]進行深入了解,
References
[1]https://www.blackhat.com/asia-21/briefings/schedule/#disappeared-coins-steal-hashrate-in-stratum-secretly-22266
About us
眾信星空科技由一支在安全、區塊鏈行業深耕多年的工程師團隊組成,我們專注于鏈上資料分析與溯源技術,為多個企業、金融行業、政府部門提供鏈上資料技術支持,以推動區塊鏈行業合規發展,
https://mp.weixin.qq.com/s/JIQGGp3KV04U-zaiDoQSAw

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/293237.html
標籤:區塊鏈
上一篇:區塊鏈BaaS云服務(40) 泰岳FruitChain
下一篇:Redis —— 集群模式
