麻豆成人国产亚洲精品a区,亚洲精品一区国产欧美,中文字幕乱码2,伊人久久大香线蕉av网站,中文字幕丰满乱子无码视频

一種全新的硬件錢包攻擊方式——超付費(fèi)攻擊 | 火星號(hào)精選

摘要:針對(duì)這個(gè)攻擊,Trezor在三個(gè)月前就已開始調(diào)研,直至最近發(fā)布了新固件,其解決方案是:所有隔離見證(SegWit)地址的交易,全部附帶上對(duì)應(yīng)UTXO的前一筆交易的所有信息。當(dāng)然,如果第三方錢包(比如Electrum)未來采用Trezor的解決方案,Cobo金庫(kù)也會(huì)采用完全一樣的方案。...

一種全新的硬件錢包攻擊方式——超付費(fèi)攻擊 | 火星號(hào)精選

免責(zé)聲明:本文旨在傳遞更多市場(chǎng)信息,不構(gòu)成任何投資建議。文章僅代表作者觀點(diǎn),不代表火星財(cái)經(jīng)官方立場(chǎng)。

小編:記得關(guān)注哦

來源:Cobo錢包

撰文 |Cobo金庫(kù)大掌柜

上周(2020年6月3日),海外比特幣社區(qū)爆出了一個(gè)波及所有硬件錢包的新型攻擊形式——費(fèi)用超付攻擊(Fee Attacks),這種攻擊僅限于隔離見證(SegWit)地址。發(fā)現(xiàn)這個(gè)攻擊的是來自英國(guó)的一位少年黑客Saleem Rashid,他也是第一個(gè)找到 Ledger 的嚴(yán)重漏洞并攻擊成功的黑客。

大掌柜和Cobo金庫(kù)產(chǎn)品技術(shù)團(tuán)隊(duì)在攻擊爆出的當(dāng)天就及時(shí)作出了反應(yīng),并提出了我們的解決方案。該解決方案將會(huì)在6月17日發(fā)布的最新固件升級(jí)包V1.2.0中覆蓋。

一種全新的硬件錢包攻擊方式——超付費(fèi)攻擊 | 火星號(hào)精選一種全新的硬件錢包攻擊方式——超付費(fèi)攻擊 | 火星號(hào)精選

這篇文章會(huì)詳細(xì)說明費(fèi)用超付攻擊的原理,以及Cobo金庫(kù)的對(duì)應(yīng)解決方案。國(guó)內(nèi)其他硬件錢包廠商可以參考我們的解決方案,盡快修復(fù)漏洞。

闡述具體的攻擊原理之前,先強(qiáng)調(diào)兩個(gè)點(diǎn):

  • 這個(gè)攻擊會(huì)波及所有硬件錢包的原因,不是硬件錢包本身的設(shè)計(jì)缺陷,而是由隔離見證(SegWit)的天然特性所決定的。
  • 這個(gè)攻擊在理論上是可行的,但是實(shí)操中黑客大概率不會(huì)實(shí)施這個(gè)攻擊手段(敲重點(diǎn),只是大概率不會(huì)實(shí)施,不代表不會(huì)實(shí)施)。因?yàn)楣舫晒蟮腂TC,很難直接落進(jìn)黑客的口袋。

大家知道,硬件錢包是一個(gè)脫網(wǎng)設(shè)備,它依賴配套App構(gòu)建交易(比如Ledger的Ledger Live,以及Trezor的網(wǎng)頁(yè)App),并且把待簽名交易通過USB/藍(lán)牙/二維碼發(fā)送到硬件錢包,然后用硬件錢包脫網(wǎng)保存的私鑰進(jìn)行簽名。所有硬件錢包的基本運(yùn)作原理都是如此。

一種全新的硬件錢包攻擊方式——超付費(fèi)攻擊 | 火星號(hào)精選

硬件錢包的基本運(yùn)作原理

如果你使用的是一個(gè)隔離見證(SegWit)地址,當(dāng)你把待簽名交易從配套App發(fā)往硬件錢包進(jìn)行簽名時(shí),會(huì)有兩個(gè)由隔離見證(SegWit)的天然特性所決定的特點(diǎn)

  • 待簽名交易包含的所有UTXO不會(huì)帶上其前一筆交易的完整信息。也就是說,所有UTXO的真實(shí)余額數(shù)據(jù),硬件錢包是沒有能力做檢查的。
  • 簽名過程中,會(huì)對(duì)每一個(gè)UTXO分別進(jìn)行簽名。

基于這兩個(gè)隔離見證(SegWit)的特點(diǎn),費(fèi)用超付攻擊的具體攻擊路徑如下:

1. 被攻擊者的某一隔離見證地址有兩個(gè)UTXO,UTXO A的余額是15 BTC,UTXO B的余額是20 BTC。

2. 被攻擊者要發(fā)送一筆20 BTC的交易,手續(xù)費(fèi)是0.000001 BTC。正常情況下的交易信息如下所示:

一種全新的硬件錢包攻擊方式——超付費(fèi)攻擊 | 火星號(hào)精選

3. 攻擊者篡改了配套App,發(fā)送了第一筆篡改交易給硬件錢包簽名。這筆交易中,input 1來自于UTXO A,15 BTC,input 2來自于UTXO B,但不是20 BTC而是5.000001 BTC。此時(shí)由于隔離見證(SegWit)的天然特性,硬件錢包無法識(shí)別input 2是不合法的input(因?yàn)闆]有UTXO B的前一筆交易的所有信息,從而無法判斷UTXO B的真實(shí)余額),并完成了對(duì)input 1和input 2的分別簽名,并傳到被篡改的配套App。交易信息如下:

一種全新的硬件錢包攻擊方式——超付費(fèi)攻擊 | 火星號(hào)精選

4. 被篡改的配套App彈出一個(gè)消息——簽名有誤,請(qǐng)重新用硬件錢包進(jìn)行簽名。此時(shí),被篡改配套App向硬件錢包發(fā)送了第二筆篡改交易。這筆交易中,input 3來自于UTXO A,0.000001 BTC,input 4來自于UTXO B,20 BTC。此時(shí),input 3是一筆不合法的input,但是硬件錢包依舊無法識(shí)別,并分別對(duì)input 3和input 4進(jìn)行了簽名,并傳到被篡改的配套App。(為方便敘述和區(qū)分,這里把第二筆篡改交易的input序號(hào)順位為3,4)交易信息如下:

一種全新的硬件錢包攻擊方式——超付費(fèi)攻擊 | 火星號(hào)精選

5. 被篡改的配套App將input 1和input 4這兩個(gè)合法的簽名合并,作為一筆新的交易發(fā)送了出去。交易信息如下:

一種全新的硬件錢包攻擊方式——超付費(fèi)攻擊 | 火星號(hào)精選

6. 此時(shí),用戶花費(fèi)了UTXO A的15 BTC和UTXO B的20 BTC,向目標(biāo)地址發(fā)送了20 BTC,消耗了15 BTC的手續(xù)費(fèi)

我們從攻擊路徑中可總結(jié)出,攻擊者實(shí)施費(fèi)用超付攻擊的必要條件:兩筆篡改交易的output必須與攻擊者最終廣播交易的output保持一致,合法的兩筆input才能被合并成一筆合法交易,以此來實(shí)現(xiàn)費(fèi)用超付攻擊。

但是,黑客要從這個(gè)攻擊中獲利,就變得非常困難。因?yàn)檎G闆r下,這多出來的15 BTC的手續(xù)費(fèi),會(huì)通過礦池分發(fā)到礦工的手里。如果黑客要通過成功挖出一個(gè)塊來獨(dú)吞這15 BTC,需要進(jìn)行以下操作:

  1. 黑客拿到簽完名的交易,不發(fā)送給mempool,自己掌握這個(gè)交易并嘗試挖出一個(gè)區(qū)塊。
  2. 假設(shè)黑客使用的是螞蟻 S19 Pro礦機(jī),每臺(tái)礦機(jī)的算力是 110 TH/s,當(dāng)前全網(wǎng)算力是105 EH/s。
  3. 由于受害者可能會(huì)察覺問題,所以假定黑客要在24小時(shí)內(nèi)挖出這個(gè)區(qū)塊并將手續(xù)費(fèi)15 BTC的這個(gè)交易打包進(jìn)去。那么,黑客需要購(gòu)買約6600臺(tái)螞蟻 S19 Pro礦機(jī)(官方售價(jià)是20770元/臺(tái))。
  4. 大家可以自行計(jì)算這里的攻擊成本。
  5. 如果考慮黑客和大礦工甚至礦池合謀,攻擊成本會(huì)有所降低,但依舊非常高。何況24小時(shí)是個(gè)非常非常保守的估計(jì),可能大部分用戶幾個(gè)小時(shí)甚至一個(gè)小時(shí)內(nèi)就會(huì)發(fā)現(xiàn)問題。

海外大神級(jí)的硬件黑客LazyNinja(也是Cobo金庫(kù)的內(nèi)測(cè)用戶之一),提出了另一種攻擊路徑。簡(jiǎn)單來說就是黑客握著高手續(xù)費(fèi)的交易不進(jìn)mempool,然后向受害者勒索(轉(zhuǎn)為Ransom Attack)。同時(shí),黑客會(huì)監(jiān)控mempool,一旦發(fā)現(xiàn)受害者自己用同樣的UTXO再發(fā)一筆交易的話,就立即把自己手里的交易發(fā)到mempool,礦工會(huì)優(yōu)先選擇巨額手續(xù)費(fèi)的交易,從而讓用戶遭受損失。這樣的攻擊路徑會(huì)降低一定的成本,但依舊會(huì)比較難以實(shí)施。

針對(duì)這個(gè)攻擊,Trezor在三個(gè)月前就已開始調(diào)研,直至最近發(fā)布了新固件,其解決方案是:所有隔離見證(SegWit)地址的交易,全部附帶上對(duì)應(yīng)UTXO的前一筆交易的所有信息。但這樣的方案又引出兩個(gè)問題:

  • 隔離見證(SegWit)的優(yōu)勢(shì)被削弱了。
  • Trezor硬件錢包現(xiàn)在幾乎與所有第三方錢包的適配都出了問題(這也是Trezor在這次事件中廣受詬病的一點(diǎn))。

針對(duì)這個(gè)攻擊的特性,Cobo金庫(kù)使用了另一種解決方案:

前面提到,黑客的攻擊路徑中,必須要向硬件錢包發(fā)送兩筆output完全相同的交易。在Cobo金庫(kù)硬件錢包端,可以記錄用戶的簽名記錄,然后直接禁止用戶簽第二筆output完全相同的交易并給出相關(guān)提醒。如果用戶由于種種原因,的確是想重新簽名一筆交易,這種情況下,input和output和前一筆交易應(yīng)是完全一致的,說明未發(fā)生手續(xù)費(fèi)攻擊,Cobo金庫(kù)則會(huì)放行這筆簽名。

一種全新的硬件錢包攻擊方式——超付費(fèi)攻擊 | 火星號(hào)精選

這個(gè)解決方案最大的優(yōu)勢(shì)在于,各個(gè)第三方錢包的兼容性不會(huì)有任何問題。當(dāng)然,如果第三方錢包(比如Electrum)未來采用Trezor的解決方案,Cobo金庫(kù)也會(huì)采用完全一樣的方案。

從一個(gè)更高的維度來看這個(gè)解決方案,一定程度上,Cobo金庫(kù)扮演了一個(gè)交易簽名風(fēng)控的角色,這也可能是硬件錢包未來的一個(gè)重要發(fā)展方向。

參考鏈接:

[1]https://medium.com/cobo-vault/a-potential-solution-to-fee-attacks-cfb90defe1ce

[2]https://blog.trezor.io/details-of-firmware-updates-for-trezor-one-version-1-9-1-and-trezor-model-t-version-2-3-1-1eba8f60f2dd

[3]https://twitter.com/FreedomIsntSafe/status/1268572922911887360??????

相關(guān)推薦