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

2019-12-11 10:41   33次瀏覽

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

QQ截圖.jpg

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

了解開源的好處

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

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

GitHub是全球的源代碼托管者,它表明的硬件錢包品牌Trezor的開源代碼只有大約180個貢獻者。這一統計數據與Raspberry Pi(樹莓派)等其他硬件產品的社區形成了鮮明的對比,樹莓派的開源固件貢獻者大約有9500人。

無論項目多大,都無法完全避免暴露其代碼的潛在危險。以Linux Mint為例,它在2016年被黑客入侵。盡管該后門問題在一天內得到解決,但其快速響應時間在很大程度上是由于Linux開源社區的規模。

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

QQ截圖.jpg

(頭等倉注:2018年,Trezor官推曾發布推文稱市面上出現了“盜版”Trezor硬件設備,仿真程度極高,提醒用戶仔細辨別真假?。?/p>

零日攻擊的風險增加

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

QQ截圖.jpg

硬件錢包用戶在更新固件之前,無法免受零日攻擊。

心理安慰還是實際利益?

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

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

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

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

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

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

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

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

在傳輸簽名輸出時,大多數冷存儲硬件都使用數據線,藍牙甚至NFC。由于其數據傳輸的不透明性,這些方法使簽名輸出極難審核。冷庫硬件通信的一種被忽略的方法是二維碼,這是一種“所見即所得”的解決方案。我們認為二維碼是在冷端和熱端之間傳輸數據的理想方法,因為二維碼輸出的數據是透明的。這使用戶可以輕松地確保傳輸到冷存儲設備的每個未簽名交易都是有效的,并確保來自冷端的簽名輸出不會以任何方式泄露私鑰或敏感信息。

結論

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

文章來源于Cobo官博,由頭等倉()進行編譯,轉載請保留文末信息!

文章作者:頭等倉

免責聲明:本文來自自媒體,不代表一點鐘的觀點和立場
精彩推薦
收视率怎么赚钱会员免广告 青海11选5开奖结果一定牛 星悦陕西皮皮麻将下载 陕西11选五专家预测推荐 黄大仙精选六肖资料 李逵劈鱼赢钱技巧 今晚36选7开奖号码 爱玩捕鱼大圣归来3d红包 欢乐棋牌游戏平台 宝博炸金花安卓版下载 短线买股票技巧