「拾荒攻擊」,黑客收割加密貨幣新玩法

“拾荒攻擊”,黑客收割加密貨幣新玩法

“拾荒攻擊”,黑客收割加密貨幣新玩法

文 | 小蟬依然

排版 | 大柳

拾荒攻擊用一句形象的話來說就是薅羊毛。在幣圈有各種形式的薅羊毛,我們這裡所說的薅羊毛不同以往,而是一種黑客攻擊的方式。

幣圈真的是一個很有意思的圈子,如:搬磚、拾荒,這些使用頻率高的詞也被廣泛引用。“拾荒攻擊”一詞的發明者相當有才,拾荒和攻擊的結合,完全把兩個不相關的行為結合在一起。

到底什麼是“拾荒攻擊”?

舉一個案例:黑客自己建立一個賬號,然後利用以太坊JSON-RPC接口,在公網中掃描開放的RPC端口後,構造高手續費的交易請求,一旦用戶解鎖賬戶,便會將用戶餘額轉至黑客的賬戶或合約賬戶。

黑客攻擊的方式並不侷限於一種,他們越來越多的利用以太坊特性,攻擊的方式越來越先進。他們的攻擊方式除了離線攻擊、重放攻擊、爆破攻擊外,現在又出現針對以太坊JSON-RPC接口的“拾荒攻擊”。

知道創宇404區塊鏈安全研究團隊對“拾荒攻擊”進行釋義:

攻擊者或求助於礦工,或本身擁有一定算力以獲得將交易打包進區塊的權利,並通過構造0 gasPrice,最終獲取到餘額不足以支付轉賬手續費,或勉強足夠支付手續費節點上的所有以太幣或其他代幣。

通俗來說,在“拾荒攻擊”中,黑客對攻擊的目標賬戶也做了細分處理。他們選擇 “垂直攻擊”那些不夠或剛好夠支付gas費的以太坊錢包賬戶。

以太坊不足,還需要擔心被盜嗎?

在用戶憑經驗認識的錢包安全概念中,沒有足夠的以太坊是不能進行轉賬的。一般來說,用戶的錢包賬戶至少存有0.0017ETH才能進行轉帳。

由於以太坊區塊大小限制問題,選定的gas費用越高,轉賬速度越快。因此,在用戶不足以支付gas費用的情況下,大多數人認為自己的賬戶就是安全的。

加密錢包裡的零錢是不是真的安全?

這個問題也和gas有關。有過交易經驗的用戶會發現,每一次交易轉賬,並不能把錢包裡的代幣全部轉移,出於gas考慮,用戶會選擇繼續持有餘額。

這些有著零星Token的錢包賬戶,也成為黑客“選定”的攻擊目標。

“零手續費”薅羊毛怎麼回事?

自去年六月起,以太坊共計748個賬戶總計24.2ETH被零手續費轉賬,黑客通過JSON-RPC的方式實行“拾荒攻擊”,把這些賬戶刮搜一空。

除以上的方式外,黑客也沒有放過小幣種賬戶,這顯示了黑客薅羊毛的決心。一般情況下,被盜賬戶沒有以太坊,是不能支付gas進行轉賬的。但黑客可以通過零手續費攻擊的方式達到這個目的。

“零手續費攻擊”的具體方式

在漏洞中,攻擊者在被攻擊節點構造gasPrice 為 0 的交易,等待用戶解鎖賬戶簽名。攻擊者同時設置一個惡意節點,用於接收這筆交易,然後將符合條件的交易打包,就可以實現 0 手續費轉賬。

攻擊者可以利用擁有的多個礦池算力,將攻擊賬戶的多種Token以單筆小額轉移到相應的賬戶中。這種方式能在不需要手續費的情況下同時攻擊多個賬戶和多種合約。

另外,在0 gasPrice中,攻擊者更多的是對合約發行的Token進行轉賬請求,將用戶賬戶中的token轉移至合約擁有者賬戶中。

Gas機制已不能承擔安全運行重任

以太坊的運行環境,也被稱為以太坊虛擬機(EVM)。每個參與到網絡的節點都會運行EVM作為區塊驗證協議的一部分。每個網絡中的全節點都會進行相同的計算並儲存相同的值。

合約執行會在所有節點中被多次重複,而且任何人都可以發佈執行合約,這使得合約執行的消耗非常昂貴,所以為防止以太坊網絡發生蓄意攻擊或濫用的現象,以太坊協議規定交易或合約調用的每個運算步驟都需要收費......這筆費用以gas作為單位計數,也就是俗稱的燃料。

當網絡面對分佈式阻斷攻擊(DDos)時,若時間節點內發起的交易量過大,基於以太坊目前的性能不能迅速處理完全,就會造成系統擁堵,致使基礎的gas增加負反饋,減少交易的發生,一定程度上能保障網絡的安全運行。

“拾荒攻擊”的出現已經說明Gas機制已逐漸不能承擔起保障網絡安全運行的重任,因為以太坊自身漏洞問題凸顯,礦工面臨的修補工程更加浩大。

ETZ可否阻止“拾荒攻擊”?

“拾荒攻擊”的發起是因為利用了“零手續費”方式,那麼換個角度來看,若以太坊不再需要手續費,是否就能阻止“拾荒攻擊”?

以太零(EtherZero,簡稱ETZ)是由一群專業技術極客發起的新一代智能合約平臺(公鏈),無論是在以太零公鏈上開發DAPP、部署智能合約還是用戶使用,都是零手續費。在傳輸速率方面,以太零使用雙層網絡結構,使得TPS能達到上萬級別。而主節點的應用,使得以太零實現了即時傳輸功能。

ETZ仍然採用了Gas機制,區別在於不會扣除用戶產生的手續費。而“拾荒攻擊”採用的零手續費交易,雖然不能激勵礦工,但它在代碼驗證過程中依然是合法的。

零手續費交易,通常情況下只有發起者的txpool可以接收,其餘節點無法同步此交易。如若需要,必須進行修改geth源碼等操作。

雖然這筆交易無法進入其他節點的txpool,但對於含此交易的區塊,可以達成共識。

因此綜上所述,ETZ的“零手續費”生態沒有修正Gas機制自身的漏洞,“拾荒攻擊”依舊能發起攻擊,或者說是更加容易。

“拾荒攻擊”該怎樣應對?

首先,“零手續費”交易是建立在其他攻擊手段之上,因而防禦手段應該定位在之前的json-rpc接口。

對於有被漏洞攻擊的痕跡或可能曾經被漏洞攻擊過的節點,建議將節點上相關賬戶的資產轉移到新賬戶。

建議用戶不要使用弱口令作為賬戶密碼,如果已經使用了弱口令,可以根據1.2節末尾的內容解出私鑰內容,再次通過 geth account import 命令導入私鑰並設置強密碼。

如節點不需要簽名轉賬等操作,建議節點上不要存在私鑰文件。如果需要使用轉賬操作,務必使用 personal_sendTransaction 接口,而非 personal_unlockAccount 接口。

中國成為加密比貨幣黑客攻擊的三大重災區之一!根據Group-IB最近發佈的一份論文顯示:全球加密貨幣交易用戶受到網絡攻擊影響最大的三個國家分別是美國、俄羅斯和中國。加密貨幣行業雖然已經越來越關注黑客群體,但黑客們的技術也在不斷更迭。

總的來說,0 gasPrice交易的出現,不符合區塊鏈的設計理念,即應對礦工支付手續費作為激勵。黑客棲身於礦工領域,本身就是一件不靠譜的事。客觀的說,幾乎任何網絡都可能被黑客入侵。黑客的存在,不僅會對加密貨幣行業發展帶來威脅,同時也是促進加密貨幣行業不斷髮展完善的助力,因為加密貨幣的發展速度比我們以往見過的任何事物都要快,所面臨的黑客問題也要比其它行業多得多。

(以上部分資料參考自 @知道創宇404區塊鏈安全研究團隊)

Punch Line

若有完美,必有謊言!


分享到:


相關文章: