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