定義加密錢包安全性的“三有一無”要素區(qū)塊鏈
加密錢包的必要性近年來區(qū)塊鏈技術的迅速發(fā)展,使得加密資產(chǎn)逐漸走入大眾的視線。
一、加密錢包的必要性
近年來區(qū)塊鏈技術的迅速發(fā)展,使得加密資產(chǎn)逐漸走入大眾的視線。目前2000多億美元的加密資產(chǎn)市值,超過2000種的加密資產(chǎn),側(cè)面反映著全球加密資產(chǎn)規(guī)模正在高速增長。
英國一名早期挖礦者“丟失”7500枚比特幣,如今高達3億多人民幣。
2009年英國威爾士一名32歲的IT工作者詹姆士?豪威爾斯參與電腦挖比幣。2013年無意間扔掉了硬盤,其宣稱意外丟失的硬盤中存儲著7500枚比特幣私鑰,當前市值高達3億多人民幣,至今尚未尋回。基于早期加密資產(chǎn)沒有適合的存儲方式,導致儲存在硬盤的私鑰也存在丟失的風險。
加密資產(chǎn)存儲成為加密資產(chǎn)投資者不可忽視的需求。
2018年9月份,人民網(wǎng)轉(zhuǎn)載一篇《加密資產(chǎn)交易平臺再現(xiàn)被盜,安全問題成隱患》文章。近年來,已經(jīng)發(fā)生了眾多的盜幣事件,主要集中在加密資產(chǎn)管理平臺被攻擊、智能合約漏洞、個人密鑰丟失或竊取等方面。如今個人密鑰如何保存成為加密資產(chǎn)投資者不可忽視的問題。如果準備長期投資加密資產(chǎn),建議投資者將所持幣種存在軟件錢包中,金額較大的,則要準備硬件錢包,即冷錢包,以防止交易平臺被盜竊而帶來損失。
加密資產(chǎn)的快速發(fā)展激發(fā)了對加密資產(chǎn)的安全存儲需求,加密錢包也應運而生。為了方便用戶記錄地址和私鑰,官方會同時發(fā)布全節(jié)點錢包;同時有些第三方公司為了進一步提高用戶體驗,相繼開發(fā)了加密錢包軟件,它們并不同步所有的區(qū)塊數(shù)據(jù),因此稱其為輕錢包。這兩種數(shù)字錢包都屬于熱錢包。
冷錢包也稱為硬件錢包,由于私鑰不接觸網(wǎng)絡,相對安全性較高。不過由于業(yè)務場景的快速迭代以及推廣需求,無論熱錢包還是冷錢包都會有一些安全隱患會被忽視。
二、軟件錢包的主要風險
軟件錢包可理解為下載的錢包APP,并可直接用于轉(zhuǎn)賬加密資產(chǎn)的軟件。一個加密錢包軟件的使用,包含了以下三點安全要素。
1. 網(wǎng)絡安全
從軟件啟動到進行交易的一套完整的過程,其中涉及業(yè)務的過程中需要連接網(wǎng)絡,安全數(shù)據(jù)等都存在一定的風險。
2. 軟件功能的核心數(shù)據(jù)安全
傳統(tǒng)軟件的功能如核心代碼未加密,軟件自身無校驗,中間人數(shù)據(jù)劫持等。
3. 業(yè)務場景安全
針對錢包軟件的獨有業(yè)務場景,如助記詞的不安全保存,交易密碼設置弱口令,貨幣價格走勢數(shù)據(jù)被替換等也將會給用戶在使用錢包的安全上造成很大的危害。
數(shù)據(jù)來源:360安全
由于軟件錢包自身安全性能的不完善,以及頻頻出現(xiàn)黑客攻擊事件。硬件錢包逐步成為了很多加密資產(chǎn)投資者青睞的資產(chǎn)保存產(chǎn)品。
三、硬件錢包的安全性要素
硬件錢包是一種實體設備,私鑰儲存在設備內(nèi)的受保護區(qū)域中。到目前為止硬件錢包還沒有發(fā)生過重大錢包漏洞或者大規(guī)模資產(chǎn)丟失事件。相對而言,硬件錢包安全系數(shù)比軟件錢包要高。對此,密深科技首席科學家郭偉基認為,一款真正意義上安全的錢包主要包涵了三方面的安全性要素:網(wǎng)絡隔離,系統(tǒng)完整性保護,錢包種子保密。
1.網(wǎng)絡隔離
即是給私鑰創(chuàng)建了一個隔離環(huán)境。現(xiàn)有的手機和電腦與外界通過網(wǎng)絡連接,私鑰很容易遭到黑客從網(wǎng)絡發(fā)動的遠程攻擊,這時候就需要硬件錢包專門保管私鑰或者錢包種子。
2.系統(tǒng)完整性保護
指的是硬件錢包系統(tǒng)能夠保護自身關鍵部件不受非法篡改。任何系統(tǒng)都存在被攻擊的可能性,在攻擊發(fā)生的時候,具備系統(tǒng)完整性保護能力的硬件錢包能夠發(fā)現(xiàn)攻擊并作出相應的安全響應。
目前針對系統(tǒng)完整性保護缺失的攻擊主要有供應鏈攻擊和邪惡女傭攻擊。所謂供應鏈攻擊,指的是硬件錢包在生產(chǎn)或者運輸過程中被他人修改過,植入惡意軟件或者篡改系統(tǒng)邏輯。舉個例子,如果一款基于安卓系統(tǒng)的錢包使用了安卓提供的隨機數(shù)產(chǎn)生器,而該隨機數(shù)產(chǎn)生器被更換為黑客可以預測的偽隨機數(shù)產(chǎn)生器,那么該錢包產(chǎn)生的全部種子、私鑰都是黑客可以預測的。而黑客要完成收割,甚至都不需要受害人的錢包聯(lián)網(wǎng)。如果缺乏系統(tǒng)完整性保護,不能發(fā)現(xiàn)此類攻擊,用戶的資金就有被完全收割的風險。
邪惡女傭攻擊,英文叫做Evil Maid Attack,主要指的是錢包設備可能短暫被他人控制。如果設備缺乏系統(tǒng)完整性保護,那么這段時間就有可能被利用來植入惡意軟件,例如底層邏輯被替換掉,實際轉(zhuǎn)賬地址變?yōu)楹诳椭付ǖ牡刂罚蛘咴谑盏侥承┲噶詈箫@示錢包種子的助記詞,等等。
3.錢包種子保密
網(wǎng)絡隔離和系統(tǒng)完整性保護提供的安全很重要,但仍然是不夠的。如果攻擊者拿到了物理設備,還要保證攻擊者無法從設備里提取錢包種子信息,而一般的軟件錢包或者類軟件錢包很難保障這一點。
這三個安全性能都是相對普遍適用的,不管什么樣的錢包系統(tǒng),都可以用這三條標準去衡量其安全性。軟件錢包由于其先天限制,很難滿足這些要求。相比之下,硬件錢包則具備比較好的應用基礎。
四、硬件錢包的分類和安全性分析
硬件錢包的種類也是五花八門,并不是所有的硬件錢包都能很好地滿足全部三條標準。我們可以從硬件設備自身特點入手給硬件錢包做個分類并分析其安全性。
首先我們可以把硬件錢包分為安卓硬件錢包和芯片硬件錢包。安卓硬件錢包顧名思義,可以理解為一個安卓手機,去掉不必要的部件,加以軟件改造后專門服務于錢包用途。芯片硬件錢包則是國外市場的主流產(chǎn)品,主要是在芯片系統(tǒng)上直接編程錢包核心邏輯,以把錢包種子保管在芯片內(nèi)部作為其安全特色。
1.安卓硬件錢包安全性分析
硬件錢包一般都能做到網(wǎng)絡隔離,但是安卓不具備系統(tǒng)完整性保護,這就使得它很容易遭受供應鏈攻擊以及邪惡女傭攻擊。另外,安卓系統(tǒng)本身如果沒有做安全性加固,也會出問題。
例如在今年七月的看雪安全峰會上,某款安卓硬件錢包就慘遭破解。該錢包硬件基于MTK方案,使用安卓6.0系統(tǒng)。MTK系統(tǒng)有一個已知的USB漏洞在該錢包中沒有修復,安全研究人員就從USB接口攻入系統(tǒng),提升權(quán)限,修改系統(tǒng)部件,實際上等于破解了這款安卓硬件錢包,因為后面能做的事情就很多了:包括可以修改隨機數(shù)產(chǎn)生器,提取錢包種子文件并實行彩虹攻擊或者字典攻擊,修改底層轉(zhuǎn)賬地址等等。由于缺乏系統(tǒng)完整性保護,這些修改很難被發(fā)現(xiàn),不知情的受害者繼續(xù)使用的話就會遭受損失。
另外,這款安卓硬件錢包的錢包種子保密性也成問題。安卓的文件系統(tǒng)其實是開放的,在技術人員手里,拆開設備,取得內(nèi)置存儲器就可以加載文件系統(tǒng),提取存儲錢包種子的文件。雖然這個文件一般會加密,但是很多用戶不會選擇復雜的密碼,可能就是4位或者6位數(shù)字,很容易在普通計算機上完成窮舉破解,這個弱點導致這款錢包無法抵抗邪惡女傭攻擊。
所以我們單單用之前的三條安全標準衡量的話,這款安卓硬件錢包僅僅做到了網(wǎng)絡隔離,但可以通過對安卓硬件錢包做一些修改,以增加其錢包的安全性。
這就是所謂的芯片安卓硬件錢包,即把專用芯片放進安卓錢包設備里面,用于保管錢包種子,這樣提高了錢包種子的保密性,就算他人拿到設備也不能直接獲得種子。通過這種方式可以滿足錢包種子加密的安全標準,但即系統(tǒng)完整性保護的標準則仍然沒有達到。這主要是由于安卓系統(tǒng)的先天不足,短期內(nèi)很難修正。
在這種情況下,芯片安卓硬件錢包的安全性就依賴于郭偉基提出的的“系統(tǒng)攻防假設”。假設錢包系統(tǒng)具備極強的抗攻擊性能,無法被攻擊或者破解。具體到安卓硬件錢包,就是說雖然欠缺系統(tǒng)完整性保護,但是假設安全防護做得足夠好,攻擊者便無法篡改系統(tǒng)。
那么這個假設到底有多可靠呢?看個案例就明白了。
網(wǎng)絡安全大佬John McAfee發(fā)布了Bitfi硬件錢包。該錢包也是基于安卓系統(tǒng)。McAfee自信滿滿,認為以自己的安全攻防實力,可保Bitfi無虞,“固若金湯”,并在2018年7月25日懸賞10萬美金“尋求”黑客攻擊。
結(jié)果不到一周,就被一位名叫OverSoft的荷蘭安全研究人員獲得Bitfi錢包的的根訪問權(quán)限;并被名為Saleem Rashid的15歲少年在錢包上玩上了《DOOM》游戲。后來又有安全專家成功發(fā)送簽名交易,等于是遭到了完全的破解。
以McAfee在安全江湖的地位,這基本上宣告了所有以系統(tǒng)攻防假設替代系統(tǒng)完整性保護的錢包系統(tǒng)的安全性缺陷。
2.芯片硬件錢包的安全性分析
芯片硬件錢包擁有獨立的SOC芯片,所有的硬件系統(tǒng)都在SOC芯片上運作。外觀一般只有屏幕和簡單的按鈕。屏幕顯示的保證是展示數(shù)據(jù)是真實的,簡單按鈕確認交易操作。
內(nèi)部系統(tǒng)中裝載了引導固件和業(yè)務固件。引導固件是基礎設計,出廠時已經(jīng)定好,不能篡改,負責業(yè)務固件的完整性檢查以及升級;業(yè)務固件負責具體的業(yè)務邏輯,可以升級以支持更多幣種或者修復安全隱患,修改需要簽名確認。
在其安全性分析當中可以看到:
第一條,網(wǎng)絡隔離。這條一般都能滿足,問題不大。
第二條,系統(tǒng)完整性保護。這條通過對業(yè)務固件進行數(shù)字簽名驗證完成。引導固件可以檢查簽名以決定是否加載運行業(yè)務固件,任何篡改都會被發(fā)現(xiàn)。
第三條,錢包種子保密。芯片硬件錢包一般把種子存放在芯片內(nèi)部的閃存區(qū)域,常規(guī)手段無法讀取。在使用的時候,私鑰可能會在內(nèi)存中短暫地出現(xiàn),但是用完一般都會立刻刪除并且用隨機數(shù)據(jù)覆蓋掉,這就提供了比較好的保密性。基于這三條標準,芯片硬件錢包相比軟件錢包和安卓硬件錢包都有更高的安全性。
總結(jié)來看,錢包系統(tǒng)的安全性可以歸結(jié)為“三有一無”,三有即必須具備網(wǎng)絡隔離、系統(tǒng)完整性保護、錢包種子保密這三條安全特性。一無,就是“無系統(tǒng)攻防假設”,特意指出錢包系統(tǒng)的安全性不能建立在系統(tǒng)攻防假設上,尤其不能以系統(tǒng)攻防假設替代系統(tǒng)完整性保護。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時務必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控熑危?br>
3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補充。