- 閃電網(wǎng)絡(luò)會放大 DoS 攻擊
- 這種攻擊能被阻止嗎?
- 閃電網(wǎng)絡(luò)的反擊:會使不良行為者更難執(zhí)行攻擊
聲明:本文由內(nèi)容合作伙伴區(qū)塊鏈媒體“Odaily星球日報(ID:o-daily)” 授權(quán)發(fā)布。
本文來自 cryptovibes & fxstreet,原文作者:John Wanguba
Odaily 星球日報譯者 | Moni
作為第二層支付解決方案,閃電網(wǎng)絡(luò)無疑讓很多比特幣支持者眼前一亮。但是隨著越來越多安全漏洞的出現(xiàn),閃電網(wǎng)絡(luò)安全性也遭到了廣泛質(zhì)疑。最近來自耶路撒冷希伯來大學(xué)和維也納大學(xué)的三位研究人員發(fā)現(xiàn),比特幣閃電網(wǎng)絡(luò)其實非常脆弱,“只需”一些簡單的破壞性攻擊就會帶來嚴(yán)重后果。
事情還要從今年八月底說起,當(dāng)時比特幣閃電網(wǎng)絡(luò)核心 Rusty Russell “突然”聲稱許多閃電網(wǎng)絡(luò)相關(guān)的項目都存在安全問題,而且可能會導(dǎo)致用戶資金損失。為了不讓黑客利用相關(guān)漏洞,Rusty Russell 并沒有公布相關(guān)漏洞的具體細節(jié),只是督促運行閃電網(wǎng)絡(luò)的用戶升級客戶端,聲稱 c-lightning 客戶端低于 0.7.1 版本、lnd 客戶端低于 0.7 版本,eclair 客戶端低于 0.3 版本都很容易遭到攻擊。
之后,Lightning Labs 首席技術(shù)官 Olaoluwa Osuntokun 證實了閃電網(wǎng)絡(luò)漏洞,但他表示不清楚是否有用戶遭遇損失、也不知道造成了多少損失、以及受影響的用戶數(shù)量。
然而,一波未平一波又起。
最近,耶路撒冷希伯來大學(xué)研究人員Saar Tochner 和 Aviv Zohar,以及維也納大學(xué)研究人員 Stefan Schmid發(fā)布了一篇題為《支付網(wǎng)絡(luò)中的劫持路線》(Hijacking Routes in Payment Networks)的論文,其中發(fā)現(xiàn)一種針對閃電網(wǎng)絡(luò)的 DoS(拒絕服務(wù))攻擊,該攻擊會減慢甚至阻止網(wǎng)絡(luò)上很大比例的支付交易,甚至可能是迄今為止閃電網(wǎng)絡(luò)上發(fā)現(xiàn)的最大缺陷之一。不過值得慶幸的是,這個最新發(fā)現(xiàn)的攻擊還沒有被廣泛傳播,而且閃電網(wǎng)絡(luò)技術(shù)仍在不斷發(fā)展。
Aviv Zohar 透露,他們最新發(fā)現(xiàn)的 DoS 攻擊可能會使閃電網(wǎng)絡(luò)的支付交易中斷。事實上,Aviv Zohar 并不是在危言聳聽,因為閃電網(wǎng)絡(luò)的每筆付款都是跨節(jié)點網(wǎng)絡(luò)傳遞才能達到目的地,如果這些中間節(jié)點中有一個是不良行為者,那么整個付款速度便會降低,支付交易也就無法像預(yù)期那樣迅速完成——“閃電”將不再“閃電”。
更“可怕”的是,在閃電網(wǎng)絡(luò)上執(zhí)行 Dos 攻擊甚至不需要太多時間。Aviv Zohar 解釋說:
“在閃電網(wǎng)絡(luò)上執(zhí)行 DoS 攻擊非常容易,只需要在一個關(guān)鍵節(jié)點打開幾個閃電通道,然后承諾提供零費用,就可以不再中繼任何支付交易了。”
按照研究人員的說法,他們此前從未見過類似的攻擊,然而這種攻擊一旦執(zhí)行起來,閃電網(wǎng)絡(luò)會變得更難使用,因此此漏洞也引起了比特幣和閃電技術(shù)開發(fā)人員的關(guān)注,其中就包括比特幣研究人員 Gleb Naumenko 和閃電網(wǎng)絡(luò)初創(chuàng)公司 Acinq 首席技術(shù)官 Fabrice Drouin。Gleb Naumenko 坦言自己從未想過閃電網(wǎng)絡(luò)會出現(xiàn)這種漏洞,而 Fabrice Drouin 則表示:
“這篇論文非常有趣,其中針對網(wǎng)絡(luò)探路采用了不同的探索分析方法同樣很有趣,我們很高興看到獨立研究人員對閃電網(wǎng)絡(luò)濫用和攻擊進行研究。”
閃電網(wǎng)絡(luò)會放大 DoS 攻擊
當(dāng)用戶通過閃電網(wǎng)絡(luò)發(fā)送付款時,他們的應(yīng)用程序會根據(jù)許多因素(比如哪個節(jié)點的費用最低)來決定采用哪種路徑傳輸交易。
盡管閃電網(wǎng)絡(luò)中有數(shù)百個節(jié)點,但不良行為者可以使用 DoS 攻擊把交易路由到他們“選擇”的節(jié)點上。通過分析每種路由計算方式,攻擊者可以設(shè)計出一套策略,讓閃電網(wǎng)絡(luò)盡可能多的路由選擇被感染節(jié)點,這樣當(dāng)交易聚集在一個地方的時候,就會引發(fā)網(wǎng)絡(luò)阻塞。
閃電網(wǎng)絡(luò)初創(chuàng)公司 Acinq 首席技術(shù)官 Fabrice Drouin 補充說:
“我們可以打開閃電網(wǎng)絡(luò)中路徑最短且成本最低的路線通道,然后(幾乎總是)會選擇這條路線發(fā)送交易。這樣一來,攻擊者可以在給定時間內(nèi)獲得很大一部分網(wǎng)絡(luò)付款交易。我們發(fā)現(xiàn)僅五個新鏈接就足以吸引 65%-75% 的流量。”
接下來,攻擊者就會一遍又一遍地執(zhí)行類似的操作,讓網(wǎng)絡(luò)付款一直流向他們給定的節(jié)點。
耶路撒冷希伯來大學(xué)研究人員 Aviv Zohar 表示:
“當(dāng)攻擊者收到付款請求的時候,他們可以拒絕這筆交易,然后繼續(xù)轉(zhuǎn)發(fā)。然后該交易會選擇新路徑,可在選擇新路徑的時候又會受到同樣的攻擊,繼而再次被路由到攻擊者的節(jié)點,再次被拒……形成了一個惡性循環(huán)。”
雖然這個攻擊聽上去有些可怕,但好在目前尚未在閃電網(wǎng)絡(luò)里大范圍出現(xiàn)。
Aviv Zohar 進一步解釋說:
“我認(rèn)為這個攻擊尚未在閃電網(wǎng)絡(luò)里大規(guī)模使用,而且破壞攻擊可能不會造成太大傷害,因為攻擊本身不會直接將資金發(fā)送給攻擊者。所以,只有在閃電網(wǎng)絡(luò)被大量用于支付的時候,可能才會對整個網(wǎng)絡(luò)產(chǎn)生影響。”
需要說明一點的是,攻擊者做這樣的操作需要花費一定成本。正如 Fabrice Drouin 所說,攻擊者需要打開實際通道并鎖定資金,只要交易被鎖定或超時,攻擊者就需要支付鏈上費用。不過 Aviv Zohar 認(rèn)為如果考慮用戶損失,這種攻擊可能并沒有那么昂貴,他表示:
“你可能只需要 20 個左右的新通道就能攻擊 80% 的全部交易,總成本大約為 2000 美元。”
這種攻擊能被阻止嗎?
到目前為止,閃電網(wǎng)絡(luò)開發(fā)人員基本上同意 DoS 攻擊對網(wǎng)絡(luò)的影響是比較嚴(yán)重的,但同時他們也認(rèn)為隨著未來閃電網(wǎng)絡(luò)不斷升級可能會讓攻擊者實施攻擊變得越來越難。對此,Lightning Labs 基礎(chǔ)架構(gòu)負責(zé)人 Alex Bosworth 解釋說:
“這件事真的很難被分析討論,因為 Lightning Labs 仍在繼續(xù)開發(fā) LND 客戶端的尋路系統(tǒng),而且這本身也是一個不斷變化的目標(biāo)。”
LND 是 Lightning Labs 開發(fā)的閃電網(wǎng)絡(luò)客戶端,Alex Bosworth 透露即將對其進行升級,本周二(10 月 22 日)發(fā)布的LND 新版本就已經(jīng)包含了許多重大變更,在這種情況下,本文中提到的 DoS 攻擊路由可能沒有辦法輕松實現(xiàn)。Alex Bosworth 表示:
“我現(xiàn)在并不會說已經(jīng)有辦法可以最終阻止那些試圖中斷閃電網(wǎng)絡(luò)支付的攻擊者,因為閃電網(wǎng)絡(luò)本身就是一個 peer-to-peer 設(shè)計系統(tǒng),任何人都可以按照自己的意愿參與和路由(或不路由)交易。”
閃電網(wǎng)絡(luò)的反擊:會使不良行為者更難執(zhí)行攻擊
閃電網(wǎng)絡(luò)初創(chuàng)公司 Acinq 首席技術(shù)官 Fabrice Drouin 認(rèn)為,隨著網(wǎng)絡(luò)規(guī)模的不斷增長,閃電網(wǎng)絡(luò)會部署一些更積極的代碼變更以禁止行為不端的“peer”,因此本次提及的 DoS 攻擊可能只是一個暫時性問題,他進一步說道:
“舉個例子,當(dāng)閃電網(wǎng)絡(luò)在計算交易轉(zhuǎn)接路由的時候,不僅會查詢費用最便宜的節(jié)點,還會選擇一些自己經(jīng)常使用的通道。在這種情況下,攻擊者就不得不等待……然后才能實施攻擊。”
不僅如此,閃電網(wǎng)絡(luò)還有其他改進,比如 Blockstream 閃電網(wǎng)絡(luò)開發(fā)人員 Christian Decker 提出的“蹦床支付”(trampoline payment)——這個概念是在 2015 年提出的,Christian Decker 認(rèn)為,如果閃電網(wǎng)絡(luò)容量越來越大,路由表也會隨之增大,這時對于帶寬和存儲空間有限的移動節(jié)點來說,源路由就不那么實用了。閃電網(wǎng)絡(luò)支付的一個最大特點就是即時性,但在網(wǎng)絡(luò)背后,從點A到點B進行支付的每個節(jié)點在進行數(shù)據(jù)傳輸時都需要進行一些計算,實際上,并非所有閃電網(wǎng)絡(luò)用戶都具有足夠強大的設(shè)備來執(zhí)行這些計算,因此就需要“蹦床”系統(tǒng)。舉個例子,如今閃電網(wǎng)絡(luò)中的典型用戶可能會從智能手機(不是一臺功能強大的計算)發(fā)送比特幣付款,因此有人就提出可以允許這些小節(jié)點將計算外包給具有更多計算能力的“蹦床”節(jié)點。
“蹦床支付”就是在這種情況下蘊育而生的,這個解決方案其實就是將路由外包給“蹦床節(jié)點”,減少移動節(jié)點在數(shù)據(jù)量和計算量上的負擔(dān)。蹦床節(jié)點就是掌握全網(wǎng)路由表的閃電網(wǎng)絡(luò)節(jié)點,負責(zé)在付款人與收款人之間找到一條路徑。節(jié)點客戶端無需下載并持續(xù)更新路由圖,只需連接到一個可靠的蹦床節(jié)點上即可,閃電網(wǎng)絡(luò)付款就會從一個蹦床節(jié)點跳到另一個,直到達到收款人那里為止。 不過將路由外包給蹦床節(jié)點也會帶來隱私性風(fēng)險,因為蹦床節(jié)點需要知道收付款雙方才能為找到付款路徑,當(dāng)然,這可能是另一個需要討論的話題了。
閃電網(wǎng)絡(luò)的代碼更新迭代速度非常快,即便是在今天,依然有大量代碼正在被修改。
對于這次出現(xiàn)的 DoS 攻擊問題,閃電網(wǎng)絡(luò)開發(fā)人員似乎很有信心,他們認(rèn)為即將到來的一些代碼變更會使不良行為者更難執(zhí)行攻擊,甚至可能會設(shè)計一套系統(tǒng)專門禁止“不良用戶”。不可否認(rèn),現(xiàn)在我們還無法看到這次攻擊對閃電網(wǎng)絡(luò)造成的破壞性究竟有多大,也許只有時間能夠證明一切。