比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

閃電網絡安全漏洞技術細節及發現過程_UND

Author:

Time:1900/1/1 0:00:00

日前,開發者RustyRussell首次對外披露了閃電網絡安全漏洞及對應解決方案的技術細節。

以下是技術細節內容:

接受通道的閃電網絡節點必須檢查交易輸出是否確實打開了提議的通道,否則攻擊者可聲稱打開一個通道,然后要么不向對等節點支付,要么不進行全額支付。

一旦交易達到最小深度,其就可從通道中支出資金。只有當受害者試圖關閉通道,以及其擁有的任何承諾或相互成交交易都無效時,他們才會注意到這種惡意行為。

而閃電網絡客戶端并不一定會執行這種檢查操作:

c-lightning:v0.7.1以及更高版本的客戶端正確地做到了這一點,而以前版本的c-lightning客戶端卻沒法辦到。(CVE-2019-12998)

連接對等節點,并用任何交易id聲稱打開一個通道,就可利用這種漏洞。

Block聯創和MicroStrategy CEO尋求將閃電網絡整合到Coinbase:金色財經報道,Coinbase首席執行官布Brian Armstrong敦促加密社區致力于在全球范圍內實現即時和免費的加密支付。包括Block聯合創始人Jack Dorsey、MicroStrategy執行主席Michael Saylor都回復要求Coinbase將比特幣閃電網絡整合到交易所中。然而,Solana的聯合創始人Anatoly Yakovenko認為,在支付方面,Solana比閃電網絡更快、更便宜。[2023/7/27 16:02:05]

lnd:v0.7.1及更高版本的客戶端解決了這個問題,但以前版本的lnd沒有檢查數量。v0.7.0及更高版本客戶端正確檢查了

scriptpubkey,v0.6.x版本客戶端部分強制執行資助

ScriptPubkey,但v0.6.0之前版本的客戶端則完全沒有進行相關驗證。

對所有以前版本的lnd客戶端,攻擊者都可能通過不正確的數量進行攻擊。在v0.7.0版本,攻擊者必須使用正確的scriptpubkey,這會燒掉funding輸出中的幣。

閃電網絡節點數量已達17096個:金色財經報道,據1ML.com數據,目前,支撐網絡的節點數量達到17096個,相較30天前數據,環比上漲6.38%;通道數量為38166,相較30天前數據,環比上漲2.9%;閃電網絡承載能力目前為1087.57BTC,約合5579.7萬美元。[2021/2/25 17:53:04]

而對于v0.6.0版本之前的客戶端,攻擊者通過不正確的scriptpubkey都可實現攻擊。在v0.6.x客戶端中,如果在funding交易達到所需的確認數,在任意一個全節點后端上運行txindex=0,且節點處于離線狀態時,此漏洞也可能會被利用。

利用錯誤outpoint攻擊neutrino客戶端用戶,需攻擊者將其假outpoint與BIP158篩選程序中的真實outpoint腳本碰撞。用于創建篩選程序的siphash密鑰是從blockhash派生而來的。因此,攻擊者在不提前知道區塊哈希的情況下,是無法直接進行攻擊的。此外,neutrino客戶端節點通常不會監聽或不具備公告地址,這意味著攻擊者必須等至接收到入站連接后才能執行攻擊。

動態 | 研究:比特幣閃電網絡可能存在安全漏洞:最近,Blockstream的研究員Christian Decker與維也納大學計算機科學系的Utz Nisslmueller、Klaus-Tycho Foerster和Stefan Schmid共同撰寫了一篇研究論文,論文指出,考慮到閃電網絡如何使用gossip和探測機制來支持節點,本文研究了是否可以利用這些機制來訪問敏感的交易數據,并提出了兩種攻擊方式:探測攻擊和定時攻擊。探測攻擊是指惡意行動者通過主動探測,試圖確定可在連接的目標信道上傳輸的最大傳輸量。定時攻擊定義為黑客試圖找出路由支付的目的地實際上離目的地有多近的時間。研究論文表明,只要“只有一個通道的余額低于或等于從攻擊節點出發的路由上的次低余額”,就可以跟蹤從攻擊節點到達的任何節點上的通道支付。(ambcrypto)[2020/2/18]

eclair:v0.3.1及以上版本的客戶端正確解決了安全隱患,如果用戶使用了bitcoincore作為后端,則以前版本的eclair客戶端就會有安全隱患。而electrum用戶只檢查腳本,而不會檢查數量。

動態 | 報告:閃電網絡在隱私和可擴展性方面的好處不及預期:BitMEX Research最新發布了一份關于閃電網絡的研究報告,研究人員試圖從現成的數據中推斷出有關私人支付渠道的信息,從而確定閃電網絡的增長。報告結論指出,閃電網絡在隱私和可擴展性方面的好處不及預期。(AMBCrypto)[2020/1/13]

攻擊Electrum客戶端用戶,則要求用戶主動連接到惡意閃電網絡節點,并且攻擊者使用正確的scriptpubkey,這會燒掉funding輸出中的幣。由于Eclair移動端客戶端不會中繼支付,攻擊者在沒有帶外交互的情況下,是無法進行提款操作的。

解決方案

一旦觀察到funding交易,對等節點必須檢查`funding_created`中所述的outpoint是否為`open_channel`中描述金額的funding交易輸出。

背景

要打開一個閃電網絡通道,funding對等節點發送帶有提議`funding_satoshis`的`open_channel`。被資助者則用`accept_channel`回復,提供其希望用于這筆funding交易的密鑰。

動態 | 萬維網聯盟開發API以支持閃電網絡比特幣支付:據cryptoglobe消息,萬維網聯盟(W3C)開發API以支持閃電網絡(LN)比特幣支付。據悉其目標是在最常用的瀏覽器(包括谷歌Chrome、Firefox和Microsoft Edge)中支持閃電網絡(LN)比特幣支付。閃電網絡開發人員稱,這項研究還處于早期探索階段。[2018/10/31]

然后出資人創建這筆funding交易,并發送交易id以及`funding_created`消息中的輸出編號。

```

+-------++-------+

||--(1)---open_channel----->||

||<-(2)--accept_channel-----||

||||

|A|--(3)--funding_created--->|B|

||<-(4)--funding_signed-----||

||||

||--(5)---funding_locked---->||

||<-(6)---funding_locked-----||

+-------++-------+

其中節點A是“出資人”,節點B是“被資助者”

有了這些信息,“被資助者”可在第一筆“承諾交易”上創建簽名,并將其發送到一則

`funding_signed`消息中,以便在出現問題時,資助者可取回他們的資金。這樣,出資人就可以安全地簽署并廣播這筆opening交易。經過一定數量的確認后,通道就開始運作(`funding_locked`)了。

規范清楚地描述了檢查所交換的各種簽名,是否確實允許創建有效承諾交易的要求,并描述了等待確認的要求。

但是,它并不要求接收者實際檢查交易是否是出資人承諾的交易:包括金額和實際的scriptpubkey。

漏洞發現過程

RustyRussell(Blockstream)在為規范本身進行協議測試時發現了這一漏洞。

在編寫測試時,通道開啟者在`funding_created`消息中提供了不正確的`funding_output_index`,Russell意識到C-Lightning客戶端不會拒絕它,因為C-Lightning只檢查`funding_txid`的確認計數,甚至連`funding_output_index`是否存在都不會進行檢查!

而這個要求在規范中是沒有被提到的,因此Rusty立即向其它被廣泛使用的客戶端的作者揭示了這一問題。經過調查后,他們發現的確是存在這樣的問題。

于是,幾個團隊一起做出決定,先在新版本客戶端中悄悄地解決這些問題,然后再經過8周,就可揭示問題本身,接著再過四周后,他們就全面披露漏洞。

值得慶幸的是,這一長期存在的漏洞并沒有被廣泛利用,其確實提供了一個測試整個閃電網絡生態系統通信和升級方法的機會。

漏洞時間表

2019-06-27:RustyRussell發現漏洞,并通知LND和Eclair客戶端作者;2019-06-28:CVE漏洞編號被分配完畢;2019-07-02:lndv0.7.0-beta客戶端發布;2019-07-03:Eclair0.3.1客戶端發布;2019-07-04:c-lightning0.7.1客戶端發布;2019-07-06:RustyRussell等人開始向其他客戶端(rust-lightning,ptarmigan,BLW)作者披露漏洞.2019-07-30:lndv0.7.1-beta客戶端發布;2019-08-17:2019-08-30:對外披露CVE漏洞存在,勸告使用舊版本客戶端的用戶進行升級。2019-09-07:首次發現有人企圖利用這種漏洞;2019-09-27:全面披露CVE漏洞細節;2019-09-27:根據規范要求提交PR;

https://github.com/lightningnetwork/lightning-rfc/blob/v1.0/02-peer-protocol.md#the-funding_created-messagehttps://github.com/lightningnetwork/lightning-rfc/blob/v1.0/03-transactions.md#funding-transaction-outputhttps://github.com/lightningnetwork/lightning-rfc/blob/v1.0/02-peer-protocol.md#the-open_channel-messagehttps://github.com/lightningnetwork/lightning-rfc/blob/v1.0/02-peer-protocol.md#requirements-2https://github.com/lightningnetwork/lightning-rfc/blob/v1.0/02-peer-protocol.md#the-funding_locked-messagehttps://github.com/ElementsProject/lightning-rfc-protocol-test

Tags:INGFUNFUNDUNDdogeking幣行情FUNKHYS FUNDthunder幣平臺

Gate交易所
以太坊2.0將加速落地,簡化分片方案新鮮出爐_ETH

昨天在日本大阪舉辦的Devcon5大會上,ConsenSys創始人透露稱以太坊2.0的phase1-2階段將大大提前,可能在2020年底就可以推出,而這比原計劃要提前近兩年的時間.

1900/1/1 0:00:00
以太坊生態的金融結構:它如何運轉?_LAYER

前言:盡管以太坊存在擴展性問題,但基于以太坊之上產生的去中心化金融逐步成長起來。它提供安全的原生貨幣,有ETH的抵押利率、有MakerDAO提供的穩定幣DAI、有Compound的借貸、有基于E.

1900/1/1 0:00:00
研究:64%的加密貨幣交易系造假,但“造假率”已減少35.7%_ETA

通過長期的觀察,研究機構區塊鏈透明度研究所已經收集了證據——Tether被故意用來影響密碼市場。在所有的交易活動中,有64%是虛假交易.

1900/1/1 0:00:00
如果Solana成功,是否意味著所有分片項目都是騙局_SOL

作者:真本聰 幣圈是一個鼓勵創新的地方。Solana是一個例子。它的高估值和高溢價主要是因為其底層堆棧獨有的共識協議PoH(ProofofHistory)以及其七大技術創新.

1900/1/1 0:00:00
讀心術:從零知識證明中提取「知識」_ALICE

Andwhat,Socrates,isthefoodofthesoul?Surely,Isaid,knowledgeisthefoodofthesoul.蘇格拉底,什么是靈魂的食物?我說過.

1900/1/1 0:00:00
一文看懂邊緣計算和區塊鏈_API

對于區塊鏈領域大多數人來說,可能很少有人知道邊緣計算,但是我們卻不得不承認,邊緣計算可能未來將會得到很大方面的應用,也是一個不容忽視的技術,隨著人工智能和物聯網的發展.

1900/1/1 0:00:00
ads