在德國萊比錫舉行的35C3黑客大會上,安全研究員Dmitry Nedospasov、Thomas Roth和Josh Datko用他們的實驗向我們證實,加密貨幣硬件錢包Trezor和Ledger很容易受到多種類型的黑客攻擊。
在實驗的過程中,三名研究人員分別演示了所謂的“wattet.fail(失敗的錢包)”固件攻擊、側(cè)信道攻擊、基于微控制器的攻擊和供應鏈攻擊。根據(jù)他們的說法,這些攻擊會影響到多款暢銷的加密貨幣硬件錢包,包括Trezor One、Ledger Nano S和Ledger Blue。
當然,這些硬件錢包的制造商也對此做出了回應,聲稱由這三名研究人員提出的攻擊方法是不切實際的,他們的產(chǎn)品很安全。
什么是加密貨幣硬件錢包?
相比以手機APP呈現(xiàn)的加密貨幣數(shù)字錢包而言,加密貨幣硬件錢包是一個實體設備。它被用于存儲加密貨幣私鑰,且無需安裝其他軟件。因此,普遍被認為要比數(shù)字錢包更加安全。其實很好理解,這種安全性來源于硬件錢包無需聯(lián)網(wǎng),且將加密貨幣私鑰單獨存儲在一個芯片中。當用戶需要使用私鑰時,只需要通過USB接口連接到計算機上來調(diào)用私鑰,也就是即插即用。
從大多數(shù)加密貨幣錢包被盜事件來看,黑客都是通過網(wǎng)絡來實施盜竊行為的。因此,無需聯(lián)網(wǎng)的硬件錢包看起來確實要比數(shù)字錢包更加安全可靠。另外,由于硬件錢包還可以進行數(shù)據(jù)備份。也就是說,就算發(fā)生了設備丟失,用戶的加密貨幣也能夠找得回來。
供應鏈攻擊
三名研究人員用實驗證實,在加密貨幣硬件錢包設備到達最終用戶手里之前,通過對設備進行改裝來實施供應鏈攻擊是很簡單的。
比如,使用電吹風就能夠很容易地去掉包裝盒上的防篡改標簽。對于Trezor One、Ledger Nano S和Ledger Blue wallet來說,這個過程都很容易實現(xiàn)。
一旦去掉了標簽,攻擊者就可以用他們自己的芯片替換原有芯片,以此來使用自定義的引導加載程序(Bootloader,相當于PC主板上的BIOS)。除此之外,攻擊者還可以額外安裝一些硬件。比如,三名研究人員就為實驗用的加密貨幣硬件錢包安裝了一個RF發(fā)射器。如此一來,他們只要能夠靠近(一定距離范圍之內(nèi))該錢包,就能夠觸發(fā)加密貨幣交易。
基于微控制器的攻擊
三名研究人員在基于STM32微控制器的Ledger Nano S中發(fā)現(xiàn)了一個漏洞,允許攻擊者使用自定義的固件刷新芯片。
這種黑客攻擊之所以能夠成為可能,是因為Ledger Nano S的電路板上存在一個編程端口,且處于開啟狀態(tài)。通過這個端口,攻擊者可以篡改微控制器,并危及加密貨幣交易。
研究人員還指出,雖然Ledger Nano S有內(nèi)置的安全功能(即黑名單)可以防止這種類型的攻擊,但他們找到了一種能夠繞過黑名單的方法,進而能夠使用自定義的固件刷新芯片。
側(cè)通道攻擊
安全研究員Thomas Roth發(fā)現(xiàn),在Ledger Blue內(nèi)部有一根長導體,可以將信號從計算機傳輸?shù)藉X包中。它可以被看成是天線,當錢包通過USB接口連接到計算機時,信號將被放大。
為此,Thomas Roth組裝了一臺無線電設備,用于捕獲無線電波,并分析與輸入的PIN碼可能相關(guān)的信號。然后,解碼這些信號。
在實驗中,Thomas Roth的解碼成功率高達90%以上。更準確來說,他只錯了一次。
需要指出的是,由Thomas Roth提出的攻擊方法,需要攻擊者非??拷繕隋X包。
Trezor One芯片級漏洞
在針對Trezor One錢包的攻擊中,研究人員利用了一個在2017年被發(fā)現(xiàn)且已經(jīng)由供應商修復的漏洞。研究人員發(fā)現(xiàn),攻擊者可以利用這個漏洞從錢包的隨機存取存儲器(RAM)中竊取私鑰和PIN碼,如此一來就可以接管錢包。