硬體錢包的開源並不代表錢包升級,而是一次重大的安全妥協

買賣虛擬貨幣

作為開源軟體的熱情倡導者,我們非常尊重那些將他們的工作分享給全世界的先驅開發者,毫無疑問,我們身處加密貨幣領域要感謝區塊鏈技術的創始人。正是因為中本聰和其他偉大的開拓者將他們的工作開源,我們才得以收穫Linux、比特幣和蓬勃發展的加密貨幣市場等令人驚歎的創新所帶來的收益。

但是,當涉及到使原始碼可用對硬體錢包的安全性是否有利時,我們進入了一個全新的討論。本文解釋了我們為什麼認為開放原始碼的本質並不代表硬體錢包的升級,而是一次重大的安全性妥協。

瞭解開源的好處

在傳統的計算領域中,開源支持者一直強調一個觀點——開源是更安全的,因為它使公眾能夠檢查原始碼並透過幫助修復潛在漏洞來提高安全性。Linus定律(“只要有足夠多的眼睛,所有bug都是淺層的”),透過統計資料清楚地顯示了:對閉源的Safari瀏覽器的零日攻擊平均需要9天才能修復,而對開源的Firefox瀏覽器的零日攻擊平均只需要1天就能修復。

但是,必須在特定情境中理解Linus定律,即傳統的計算機領域。在討論開源軟體在硬體錢包方面的優勢時,我們必須謹記的事實是,與硬體錢包開發相比,傳統的計算機開發社羣規模巨大。

GitHub是全球最大的原始碼託管者,它表明最大的硬體錢包品牌Trezor的開原始碼只有大約180個貢獻者。這一統計資料與Raspberry Pi(樹莓派)等其他硬體產品的社羣形成了鮮明的對比,樹莓派的開源韌體貢獻者大約有9500人。

無論專案多大,都無法完全避免暴露其程式碼的潛在危險。以Linux Mint為例,它在2016年被駭客入侵。儘管該後門問題在一天內得到解決,但其快速響應時間在很大程度上是由於Linux開源社羣的規模。

在我們的開發社羣相對較小的情況下,我們需要特別注意以下事實:共享原始碼是一把雙刃劍。不幸的是,對於硬體錢包而言,釋出原始碼可使駭客更容易檢測到漏洞並進行攻擊。開原始碼甚至可以為網路犯罪分子敞開大門,製造能夠欺騙消費者的假冒硬體錢包——Trezor已經成為其受害者。

(頭等倉注:2018年,Trezor官推曾釋出推文稱市面上出現了“盜版”Trezor硬體裝置,模擬程度極高,提醒使用者仔細辨別真假!)

零日攻擊的風險增加

安全硬體錢包所有者需要注意的一個安全問題就是零日攻擊。在零日攻擊中,從暴露或宣佈先前未知的漏洞到修復漏洞之間的時間段為駭客提供了進行攻擊的絕佳機會。由於硬體錢包中的漏洞通常是透過韌體升級來解決的,所以通常需要一段時間,在正式的安全補丁釋出後,使用者才能真正安裝並修復問題。有些使用者在設定好硬體錢包後,幾個月甚至幾年都不開啟它,這大大增加了零日攻擊的風險。對於具有開放原始碼軟體開發經驗的人來說,也許覺得有悖常理,黑盒子或帶有閉原始碼的裝置比帶有開原始碼的白盒子更安全。

硬體錢包使用者在更新韌體之前,無法免受零日攻擊。

心理安慰還是實際利益?

雖然我們很容易將比特幣作為開原始碼提供安全性的一個主要例項,但是假設所有區塊鏈專案都應效仿併成為開原始碼是一個合理的。比特幣從其開源開發社羣獲得的安全性是其社羣規模參與的直接結果。無論是原始碼還是挖礦能力,比特幣社羣都參與了專案的維護和保護,涉及到很多的安全功能。然而,由於目前涉及硬體錢包安全性的開發人員相對較少,因此我們無法對共享原始碼帶來的好處做出任何假設。

除了大量增加檢查程式碼的審閱者之外,傳統計算領域中開原始碼開發的另一個好處是,任何人都可以自己下載,安裝,燒錄,除錯甚至刪除原始碼的某些方面。

這種程度的自治所帶來的安全性依賴於特定技術的基礎。然而,即使有堅實的技術基礎,安全措施仍有被超越的潛力。那些在計算機領域工作的人應該很熟悉Ken Thompson Hack (KTH)是如何在C編譯器中建立後門的,它可以監視或控制世界上任何軟體程式。您必須使用二進位制程式碼編寫自己的編譯器,或者使用在安裝KTH之前已編譯的工具,才能克服這種安全隱患。KTH證明,從原始碼編譯的任何系統總是容易受到攻擊。

像Ken Thompson這樣的專業人士告訴我們,除非您能夠自己編寫編譯器(只有極少數的開發人員能做到),否則您將不得不信任第三方。除了不得不編譯自己的編譯器之外,大多數硬體錢包使用者甚至都不會費力燒錄或除錯原始碼。對於這一類使用者來說,知道他們的硬體錢包是開源的,更多的是一種心理安慰,而不是實際上可以使他們的錢包的安全性得到顯著改善。

二維碼簽名輸出的“可審查性”

在傳統的計算領域,它有助於將開源軟體帶來的安全性視為對原始碼的一種“審查”。雖然這種情況還不適用於冷庫加密貨幣安全,但有什麼可以替代硬體錢包作為可靠的“審計”來源呢?

幸運的是,經過簽名的交易輸出並不像其他型別的軟體輸出那樣複雜。如果提供原始碼不是審計硬體錢包的最安全選擇,我們可以考慮仔細檢查其交易簽名輸出。

人們購買硬體錢包是因為他們知道儲存私鑰的最安全方法是將其離線放入冷儲存器中。所有硬體錢包服務都需要一種在離線儲存和線上終端之間進行通訊的方式。冷端(離線儲存)負責儲存私鑰和簽署交易,而熱端(線上終端)則需要從區塊鏈獲取資料,為冷庫端構建簽名交易並將簽名的交易廣播到區塊鏈

在傳輸簽名輸出時,大多數冷儲存硬體都使用資料線,藍芽甚至NFC。由於其資料傳輸的不透明性,這些方法使簽名輸出極難稽覈。冷庫硬體通訊的一種被忽略的方法是二維碼,這是一種“所見即所得”的解決方案。我們認為二維碼是在冷端和熱端之間傳輸資料的理想方法,因為二維碼輸出的資料是透明的。這使使用者可以輕鬆地確保傳輸到冷儲存裝置的每個未簽名交易都是有效的,並確保來自冷端的簽名輸出不會以任何方式洩露私鑰或敏感資訊。

結論

我們認為開源對於增強硬體錢包的安全性沒有多大意義,只是開源可以使使用者能夠看到隨機數是由真隨機數生成器(TRNG)生成的,還是由偽隨機數生成器(PRNG)生成的。

文章來源於Cobo官博,由頭等倉(First.VIP)進行編譯,轉載請保留文末資訊!

免責聲明:

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

推荐阅读

;