“絕對安全”只是奢望,硬體錢包如何防範“中間人攻擊”?

買賣虛擬貨幣

文/國鋒

來源/31QU

在加密貨幣世界,無論你如何強調安全,都不為過。

隨著全球加密貨幣市值不斷增長,資產安全成為廣大投資者最為關注的問題,2018年以來,發生在加密貨幣行業的駭客攻擊事件不勝列舉,導致的損失更是高達數十億人民幣。

更為嚴重是,加密資產一旦丟失,就很難找回。

在這樣的背景下,不同形式的加密貨幣儲存“工具”被髮明出來:硬體錢包、熱錢包、去中心化錢包、全節點錢包、多籤錢包等等。那麼,有沒有一種能夠保證資產“絕對安全”的工具呢?

火幣研究院在其報告《火幣區塊鏈產業專題報告:錢包篇》中認為,冷錢包是相當對安全的加密資產存工具,“冷錢包將私鑰儲存在完全離線的裝置上,相比於熱錢包是更安全的方法”。與此同時,廣大普通使用者也會有這樣的觀念:硬體錢包是絕對安全的,可以完全放心。

但真實情況是這樣麼?

1

攻擊 

硬體錢包在設計上將錢包私鑰與網路完全隔絕,由於不觸網的特性,這種型別的錢包又被稱為冷錢包。也由於這種特性,人們普遍認為硬體錢包是安全可靠,不會遭到攻擊。

但可惜的是,硬體錢包所謂的絕對安全也是相對的。

2018年初,Reddit使用者moodyrocket發帖稱,因其在eBay上購買了一個二手的硬體錢包,而損失了價值3.4萬美金的積蓄。“這是我所有的積蓄。”moodyrocket在帖子中表示。

經調查,這位使用者購買的二手錢包是被賣方採用了“中間人攻擊”的形式,預先將硬體錢包造商Ledger公司的隨機數替換成了賣方的隨機數種子,進而獲得使用者私鑰,這才導致了盜幣事件發生。

中間人攻擊,是指攻擊者從硬體錢包出廠到買家手中的過程中,對錢包動手腳,以修改韌體的形式,破解並控制錢包私鑰。持幣人一旦將自己的加密貨幣資產存入其中,攻擊者就會伺機轉走這些加密貨幣資產。

這種隨機數洩露導致錢包丟幣並不是個案,2014年,Blockchain.info錢包的隨機數被駭客破解,導致大量使用者私鑰洩露,萬幸白帽駭客及時發現問題,才挽救了使用者損失。

這兩個事件也從側面表明,硬體錢包實際上並不是“無懈可擊”。

“(錢包生產、運輸、存放過程中)我知道這是一個硬體錢包,那我把它拆掉,換上一個我改過韌體的硬體錢包,這在真實世界發生過。”Cobo聯合創始人CEO神魚解釋道,隨機數失去了“隨機”的意義,“我就有可能轉走你的幣,這其實非常危險。”

這種針對硬體錢包的“中間人攻擊”,在國內也可能存在。

31QU在國內較為知名的二手物品交易網站上搜尋關鍵詞“硬體錢包”時,發現了不少賣家。而出售說明中不少備註有“已拆封,作用不大,故出售”,或者未對已經拆封的錢包標明拆封。而使用者一旦貪圖便宜購買這種錢包,就有可能面臨“中間人攻擊”。

“硬體錢包,一定要從原廠購買,”加密貨幣錢包公司產品安全負責人郎平告訴31QU,“哪怕是你信任的人給的,也最好別用。”

除了“中間人攻擊”會導致使用者丟幣,硬體錢包本身的漏洞,也有可能給攻擊者可乘之機。

2018年12月27日,在第35屆混沌通訊大會上,來自初創公司Wallet Fail的三人團隊演示了他們攻破Trezor One、Ledger Nano S和Ledger Blue三款硬體錢包的過程,在業內掀起了軒然大波。

被“攻破”的錢包公司,則迅速對自身產品的安全問題做出了迴應。

Trezor官方表示:“攻擊者必須拿到你的裝置,如果你的Trezor依然在你手中,你可以放心繼續使用,這個漏洞不會影響到你。”而Ledger錢包團隊則表示:“他們並未成功提取任何種子或者PIN碼。”

這並不是這些硬體錢包製造商頭一次遇到類似的“危機”。

2017年3月份,一名15歲的英國駭客Saleem Rashid爆出,Ledger Nano S這款比特幣硬體錢包有嚴重的安全性漏洞,它可能會被駭客控制,成為駭客安插在你身邊的“間諜”,偷走你的比特幣。

“雖然中間人攻擊看起來很嚇人,但是很多廠家也在極力防範類似事件發生。”郎平說道。

2

防禦 

一款硬體錢包由硬體與軟體兩部分組成。硬體部分包括錢包出廠包裝、錢包主機板、晶片、外殼等;軟體部分主要是開原始碼庫。“如果廠商在設計錢包之初,能夠保證這些部分安全,那麼錢包基本上也就相對安全了。”郎平告訴31QU。

以2013年國內上市的某硬體錢包產品為例,使用者收到錢包之後,整個錢包由一層透明塑膠包裹,內部包裝還由一次性膠帶封閉。這些雖然是最基礎的物理手段,但也能降低硬體錢包在物流途中直接暴露在攻擊者手中的可能性。

“你的私鑰直接儲存在硬體錢包中,暴露在不懷好意者面前,是比較危險的。”郎平告訴31QU。

如果攻擊者破了基礎“防火牆”,神不知鬼不覺地拿到錢包並嘗試暴力拆解,這時錢包核心部件就會暴露出來。針對這種情況,不少錢包還設計了防拆除功能。“很多硬體錢包外殼都是超聲波塑封,很難拆開,一旦被拆開過,使用者就很容易被發現。”郎平說道。

“有的硬體錢包被人拆了,然後把裡面的精密資訊讀出來,比如從快閃記憶體晶片裡恢復出來一些敏感資訊(導致私鑰洩露,很危險)。”神魚在談到攻擊者針對硬體錢包暴力拆除時,認為硬體錢包確實會遇到被拆開讀取資訊的可能性,他認為比較安全的做法是,廠商在設計錢包就要做到“拆開即毀”,使用者第一次開機就要“校驗你的系統有沒有被改過”。

除了硬體防範,軟體安全也是較為重要的一個環節。“衡量軟體安全最重要的環節就是軟體程式碼是否開源。”郎平告訴31QU。

同時,火幣研究院也認為,錢包開源一方面可以接受各方對其程式碼進行監督審查,另一方面也更容易獲得技術極客的幫助,不斷地改進升級。

錢包程式碼開源,也能讓錢包使用者監督專案方程式碼架構與更新情況,更為重要的是驗證錢包私鑰隨機數是否真正隨機。

“如果私鑰並非真正隨機產生。危險係數就比較高,有可能被破解。”郎平告訴31QU,“但驗證私鑰是否隨機產生的操作對於絕大多數使用者而言過於複雜,一般使用者很難操作。”

實際上,在2018年下半年,EOS公鏈博彩類DApp就發生過大量因隨機數被破解而導致的安全事件,這造成了價值上百萬的EOS代幣被駭客捲走。不過,由於硬體錢包的離線斷網特性,攻擊者發動類似攻擊還是有難度的。

程式碼開源的另一個好處就是“監控”專案方的開發進度。

以國內某知名硬體錢包為例,該錢包目前開源了6個程式碼庫,其中的3個關鍵程式碼庫是從trezor程式碼庫中分叉而來。trezor是國際老牌硬體錢包公司,這一定程度上說明了該錢包軟體部分的可靠性。

但是,分析專案程式碼更新情況之後卻發現了問題。開啟該硬體錢包的藍芽程式碼庫,我們發現自2018年5月份之後,程式碼庫程式碼幾乎很少更新。

同時,開啟該錢包原始碼,發現該錢包原始碼在2018年8月份之後更新頻率也明顯降低。

藍芽程式碼庫更新停止與整個程式碼庫更新活躍程度大幅度降低,說明專案發展遇到阻礙,產品更新比較慢。程式碼更新頻率下降,實際上也能反映出錢包團隊的工作狀態,錢包安全性則需要打一個大大的問號。

透過開原始碼更新頻率,我們能夠得知硬體錢包產品開發進度,進而判斷產品安全性,這也眾多錢包、公鏈專案對於開源與否極為敏感的原因之一。

對於加密貨幣資產持有者而言,錢包私鑰的安全性是不允許出現任何“差池”的。這方面,硬體錢包是如何保證這一點呢?

3

私鑰 

硬體錢包傳送交易的過程大致是這樣的:透過手機端APP構造交易,硬體端確認交易資訊,再用手機端把交易聯網傳送出去。然後等待區塊鏈確認完成,交易就成功了。

正是由於硬體錢包在交易過程中全程離線,保證了錢包私鑰的安全性。

交易過程中硬體錢包透過藍芽、USB與App發生連結,這也個過程保證了錢包能夠絕對斷網。“目前藍芽的安全距離是9米,只要周圍不存在可疑人員,就可以放心操作了。”郎平告訴31QU。

實際上,錢包內部也有相當完整的“保密”程式。

硬體錢包透過分層確定的方法,將種子生成主私鑰,然後再派生海量的子私鑰和地址。由於種子是一串很長的隨機數,不利於記憶,所以錢包會用特殊演算法將種子轉化為一串助記詞 (Mnemonic),透過助記詞就能夠得到種子以及種子背後所有的私鑰。

從種子到私鑰,再到海量私鑰的轉換過程

由此看來,助記詞的安全性關乎重大,那麼有沒有可能猜出助記詞呢?通常情況下,一個硬體錢包助記詞是由12個單片語成,這12個單詞出自2048個單詞庫。如何計算出隨機生成的助記詞的所有可能性是一個排列問題,根據公式:n!/( n - r )! ,即2048!/(2048-12)!= 5.2715379713014884760003093175282 e+39 。

5.2乘以10的39次方,這個資料有多大?

有人用數學模型對這個資料進行了測算,這個數量相當於在美國本土上鋪滿一堆1塊錢硬幣,這堆硬幣要鋪多高呢?高度大約相當於從地球表面到月球的距離。而一次性猜對助記詞的概率,就相當於從如此眾多的硬幣中隨手一抓,就抓到了那個正確的硬幣的概率,這幾乎是不可能發生的事情。

而有的硬體錢包更是設定了24個助記詞,將猜出助記詞的可能性降到了零。

“只要你不洩露錢包助記詞,硬體錢包相對來說還是最安全的。”郎平說道。Reddit使用者moodyrocket之所以丟失私鑰,就是因為其購買的二手錢包的隨機數種子被銷售者獲取,才導致丟幣。

結語

加密貨幣作為一種“丟了就找不回來”的資產,從靠譜的途徑獲得一款安全性靠譜的硬體錢包,對資產安全至關重要。避開“中間人攻擊”與避免使用自帶漏洞的錢包,基本上就能夠保證資產安全了。

即便躲開了所有坑,有人還是對自己錢包安全性不放心,“老韭菜”會告訴你,“去瑞士吧”。

瑞士有全世界安保措施最嚴的防空洞,“甚至能防核彈”。屆時,你就能與羅斯柴爾德家族一起,接受世界上最安全的財富保管服務了。

宣告:“31QU”所有原創文章,轉載均須獲得“31QU”授權。未獲授權嚴禁轉載。

免責聲明:

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

推荐阅读

;