安全報告:破解弱私鑰,黑客竊取價值數百萬的ETH

安全報告:破解弱私鑰,黑客竊取價值數百萬的ETH

本週早些時候,總部位於美國的安全諮詢公司Independent Security Evaluators(ISE)發佈了一份關於以太坊區塊鏈私鑰的報告。

儘管建立了大約700個經常被多人使用的弱私鑰,研究人員發現了一個“區塊鏈強盜”,他通過成功猜測這些虛弱的私鑰,成功收集了近45,000個以太(ETH)。

Cointelegraph採訪了ISE高級安全分析師阿德里安·貝德納雷克(Adrian Bednarek),以瞭解更多關於他們所謂的“以太網”信息。

研究背景和主要發現

Bednarek說他偶然發現了黑客。當時,他正在為一家企業客戶進行研究,該客戶計劃使用集成密鑰生成算法實現自己的錢包。

“作為一名安全分析師,在你開始任何評估之前,你必須非常清楚地瞭解基礎技術 - 基本上就像你自己創造它們一樣,”他告訴Cointelegraph。

“私鑰生成是我們必須研究的組件之一,我正在研究以太坊上的私鑰的基礎知識:它有多大?它是如何產生的?它是如何用於推導公鑰和公共地址的呢?“

在以太坊,比特幣(BTC)或支持ECDSA(橢圓曲線數字簽名算法)協議的任何其他主要區塊鏈中,私鑰由256位數字表示。在他們的研究期間,ISE將其縮小到256位密鑰空間中的8個32位“子區域”,因為在較大區域內強制私鑰的暴力意味著統計不可能性。

這8個子區域總共包含340億個較弱的密鑰,ISE隨後掃描了這些密鑰。“這花了一整天,”Bednarek說。

值得強調的是,這些密鑰是由於錯誤的代碼和錯誤的隨機數生成器而生成的,研究人員專門針對次優密鑰。

“私鑰是你的用戶ID和你的密碼同時出現,”安全分析師在打破基本機制的同時解釋道。“這與你的銀行登錄不同,你有你的用戶名和密碼[...]因此,當兩個人使用相同的密碼創建一個Brainwallet [即,需要密碼作為生成私鑰的一部分的錢包] - 比如'password123' - 他們都擁有相同的錢包。“正如Bednarek所說,”就像將兩個人連接到同一個銀行賬戶一樣。“

最初,ISE專家發現,由於它是可能的私鑰的下限而被選中的“1”*的私鑰實際上被用在區塊鏈上。此外,它涉及數千筆交易。

* - (0x0000000000000000000000000000000000000000000000000000000000000001,如果使用256位代碼寫入)

“這是一面紅旗,”Bednarek回憶道。“為什麼人們使用1的私鑰?這應該是不可能的。“他的團隊開始掃描更多的鑰匙,看看這個問題有多廣泛。雖然ISE研究人員已經確定這個問題並不是特別無所不在,但他們發現多達732個弱私鑰與總共49,060個交易相關聯。

“粗略地說,在以太坊[區塊鏈]上使用了大約5000萬個密鑰,我們只發現了其中的732個密鑰。”

區塊鏈強盜

如上所述,在他們的研究過程中,ISE團隊注意到與私鑰相關的一些錢包 - 用他們的次優方法找到 - 有很多交易進入特定地址,而且沒有錢回來。正如Bednarek在ISE網站上發佈的解釋性視頻中所說:

“有一個人有一個地址,他正在四處走動,從我們可以訪問的一些鑰匙中抽走錢。我們發現735個私鑰,他碰巧從我們也有權使用的12個密鑰中取錢。從統計上來說,他不可能偶然猜出那些鑰匙,所以他可能也在做同樣的事情。[...]當他們進入人們的錢包時,他基本上是在偷錢。“

在與Cointelegraph的對話中,Bednarek解釋說,黑客(或一群黑客)已經建立了一個節點,可以自動從弱密鑰地址中刷資金。為了驗證這一點,研究人員使用了一個蜜罐:他們使用一個他們知道黑客知道的弱私鑰來發送一美元,看看它的速度有多快。這筆錢在幾秒鐘內消失了,ISE員工說:

“如果這是一個手動的東西,也許它會在一天之內或其他任何事情。但是一旦我們發送了它,我們就去了區塊鏈瀏覽器,我們看到有一個轉移立即發出,幾秒鐘之內。所以他(黑客)基本上就是一個區塊鏈節點,它是某個地方設置的交易網絡的一部分。一旦它看到交易帶有他所知道的私鑰,它就會立即發出轉移資金的請求。“

根據從Etherscan獲得的數據,黑客的錢包包含大約45,000個ETH(截至撰寫本文時,價值超過730萬美元)。在以太的價值高峰時,據估計強盜的戰利品已售出超過5000萬美元。

根據欺詐者錢包地址的評論部分,它已經竊取了幾年的資金。其中一條評論據稱是由主要的ETH錢包提供商MyEtherWallet(MEW)提交的,其中包含一個2016 Reddit主題的鏈接,標題為“ 具有不安全RPC設置的以太坊節點被積極利用。”其中,一個redditor描述了設置以太網節點“它的HTTP RPC API暴露在互聯網上“並在上線後幾分鐘內受到攻擊。

“如果你對[黑客]的地址進行谷歌搜索,很多人會抱怨他,”Bednarek證實,承認欺詐者的機智已經證明是非常成功的:

“這傢伙採取多種方式來竊取資金。”

然後,安全分析師更詳細地描述了欺詐者的方法:“一個 - 他正在查看糟糕的私鑰。二 - 他正在考慮基於弱密碼的錢包和錯誤配置的RPC。你真的不應該暴露你的以太坊節點的RPC,但有時人們會這樣做,如果你沒有設置密碼,某人基本上可以清空與你的節點相關的默認錢包。“

但ISE安全研究人員警告說,這種資產攫取並不是以太坊區塊鏈所獨有的問題。“它[區塊鏈]按預期工作,它只是人們使用它的方式,”他說,描述了他的團隊在進行研究時遇到的道德相關問題:

“在我們開始研究這項研究之前,我們遇到了一個道德困境 - 如果我們發現錢包裡面有一百萬美元的鑰匙怎麼辦?我們把它留在那裡嗎?但是,如果我們把它留在那裡,我們知道它背後是一個壞的私鑰,它可能會被盜,因此我們會有點負責這筆錢被盜,因為我們可以通知某人。但第二個問題是我們通知誰?沒有簡單的方法來識別私鑰的所有者。也許我們可以暫時拿走錢,直到有人證明這是他們的?但後來它產生了很多法律問題。因此,公司的首席執行官[他們正在進行研究]聯繫了IFS以尋求法律建議,他們基本上說:'如果你找到任何東西,請留在那裡。不要做任何轉移。

安全建議和進一步研究

因此,根據Bednarek的說法,由於兩個主要因素,私鑰往往容易受到攻擊。第一個是負責生成它們的軟件中的編碼錯誤。其次,一些加密所有者傾向於通過諸如“abc123”之類的弱密碼來獲得相同的私鑰,或者甚至將它們留空。

例如,ISE報告確定最受歡迎的弱私鑰之一是從空恢復短語生成的私鑰 - 即“” - 使用奇偶校驗錢包。據報道,該地址共有8,772筆交易,共轉讓5,215,586 ETH。

“有一段時間,Parity允​​許你使用默認密碼,它會根據它生成私鑰,”Bednarek解釋說,並補充說錢包開發者據稱在某個時候解決了這個問題。“我認為他們已經引入了最低密碼要求[從那時起]。它可能只是一個字符,但如果你正在使用他們軟件的最新版本,你現在就不能在Parity上使用空白密碼。“

根據Bednarek的說法,還沒有錢包創作者聯繫過ISE。

“這是一個有趣的問題,因為很難說哪個錢包是負責任的,如果有一個錢包 - 它可能只是人們輸入錯誤的私鑰,它可能是錢包的早期調試版本,它可能是開發人員自己。有點難以說明為什麼存在以及哪個錢包有問題。這是我認為我們永遠不會知道的事情。“

對於那些不懂計算機的人來說,Bednarek的主要建議是使用眾所周知且值得信賴的錢包,如果涉及大量的加密貨幣,可能會轉向硬件或紙質錢包。他說:

“如果要交易或持有大量貨幣,那麼請使用硬件錢包,其中永遠不會洩露私鑰。我的很多長期持有的朋友都會使用紙質錢包,他們會生成隨機密鑰並將其存儲在紙上,因此它根本不會觸及計算機。“

儘管如此,即使涉及到流行的軟件也總是存在一些風險,Bednarek警告說,Iota錢包的例子被牛津的一位開發商所侵害,他被捕並被指控上個月偷了大約1000萬歐元。

鑑於Iota錢包是開源的,其代碼公開發布在Github上。在某些時候,欺詐者通過提交對代碼的更改來修改隨機數生成器。

“這是以非常模糊的方式完成的,”Bednarek說。據他說,“儘管很多人都可以查看代碼,但他們只是認為它應該可行。”

ISE專家解釋說,這樣,黑客能夠看到如何生成私鑰並使用他注入的代碼重現它們。

“在很多人失去了大量資金之後,有人最終將他的修改反向設計為隨機數生成器,他們能夠看到他正在關鍵空間的特定範圍內創建序列號。”

至於未來,ISE計劃繼續更大規模地監控區塊鏈和弱私鑰。“我們將使用我們的掃描方法來使用GPU,我們將能夠在幾秒鐘內掃描380億個密鑰,”Bednarek告訴Cointelegraph。

“當我們使掃描更有效率時,我們將能夠做一些瘋狂的事情,比如腦力錢包或其他可能有問題的密鑰生成算法。因此,我們將擴展到不同的領域,以識別更多的密鑰。“

此外,安全研究小組將發佈更多信息 - 包括錯誤的公鑰 - 供人們進行自己的研究,並對可能的安全漏洞保持警告。“也許這將成為一種協作努力,以幫助找到一些原因,”Bednarek建議道。

編譯:萍蹤浮影


分享到:


相關文章: