區塊鏈安全:基於區塊鏈網路攻擊的方式原理詳解

區塊鏈社群HiBlock發表於2018-12-06

image

目前對區塊鏈網路安全威脅最大的3種攻擊方式:Sybil攻擊、Eclipse攻擊和DDoS攻擊。

本文將重點講解上述三種攻擊方式的原理,以供有關機構參考,在開發基於區塊鏈網路的應用系統時採取措施加強防範。

1

基於區塊鏈網路的 Sybil攻擊

Sybil攻擊最初是由Douceur在點對點網路環境中提出的,他指出這種攻擊破壞了分散式儲存系統中的冗餘機制,並提出直接身份驗證和間接身份驗證兩種驗證方式。後來,Chris Karlof等人指出Sybil攻擊對感測器網路中的路由機制同樣存在著威脅。

Sybil攻擊,又稱女巫攻擊,是指一個惡意結點非法地對外呈現出多個身份,通常把該結點的這些身份稱為Sybil結點。Sybil攻擊方式主要有以下幾種型別:直接通訊、間接通訊、偽造身份、盜用身份、同時攻擊、非同時攻擊。

在區塊鏈網路中,使用者建立新身份或者新節點是不需要代價的,攻擊者可以利用這一漏洞發動Sybil攻擊,偽造自己的身份加入網路,在掌握了若干節點或節點身份之後,隨意做出一些惡意的行為。例如誤導正常節點的路由表,降低區塊鏈網路節點的查詢效率;或者在網路中傳輸非授權檔案,破壞網路中檔案共享安全,消耗節點間的連線資源等,而且不用擔心自己會受到影響。圖2示出了在區塊鏈網路中攻擊者進行Sybil攻擊的原理。

image

Sybil攻擊對區塊鏈網路的影響主要體現在以下幾個方面:

1. 虛假節點加入:在遵循區塊鏈網路協議的基礎上,任何網路節點都可以向區塊鏈網路傳送節點加入請求訊息;收到請求訊息的區塊鏈節點會立即做出響應,回覆其鄰居節點資訊。利用這個過程,Sybil攻擊者就可以獲取大量的區塊鏈網路節點資訊來分析區塊鏈網路拓撲,以便更高效地對區塊鏈網路進行攻擊或破壞。

2. 誤導區塊鏈網路節點的路由選擇:節點間路由資訊的實時互動是保證區塊鏈網路正常執行的關鍵因素之一。節點只需定時地向其鄰居節點宣告自己的線上情況,就能保證自己被鄰居節點加入到其路由表中。惡意的Sybil入侵者通過這個過程,可以入侵正常區塊鏈節點的路由表,誤導其路由選擇,大大降低區塊鏈節點的路由更新和節點查詢效率,極端情況下,會導致Eclipse攻擊。

3. 虛假資源釋出:Sybil攻擊者一旦入侵區塊鏈網路節點的路由表,就可以隨意釋出自己的虛假資源。區塊鏈網路的目的是實現使用者間資源的分散式共享,如果網路中充斥著大量的虛假資源,那麼在使用者看來,這將是無法接受的。

2

基於區塊鏈網路的Eclipse攻擊

Moritz Steiner等人在Kad網路中提出了Eclipse攻擊,並且給出了該攻擊的原理。Eclipse攻擊是指攻擊者通過侵佔節點的路由表,將足夠多的虛假節點新增到某些節點的鄰居節點集合中,從而將這些節點“隔離”於正常區塊鏈網路之外。當節點受到Eclipse攻擊時,節點的大部分對外聯絡都會被惡意節點所控制,由此惡意節點得以進一步實施路由欺騙、儲存汙染、拒絕服務以及ID劫持等攻擊行為。因此,Eclipse攻擊對區塊鏈網路的威脅非常嚴重。

區塊鏈網路的正常執行依賴於區塊鏈節點間路由資訊的共享。Eclipse攻擊者通過不斷地向區塊鏈節點傳送路由表更新訊息來影響區塊鏈節點的路由表,試圖使普通節點的路由表充滿虛假節點。當區塊鏈節點的路由表中虛假節點佔據了較高的比例時,它對區塊鏈網路的正常行為,包括路由查詢或者資源搜尋,都將被惡意節點所隔絕開,這也是這種攻擊被稱為月食攻擊的原因。圖3示出了在區塊鏈網路中攻擊者進行

Eclipse攻擊的原理。

image

Eclipse攻擊和Sybil攻擊密切相關,它需要較多的Sybil攻擊節點相配合。為了實現對特定區塊鏈節點群的Eclipse攻擊,攻擊者必須首先設定足夠多的Sybil攻擊節點,並且向區塊鏈網路宣稱它們是“正常”的節點,然後使用這些Sybil節點與正常的區塊鏈節點通訊,入侵其路由表,最終把它們從區塊鏈網路中隔離出去。

Eclipse攻擊對區塊鏈網路的影響十分重大。對於區塊鏈網路來說,Eclipse攻擊破壞了網路的拓撲結構,減少了節點數目,使得區塊鏈網路資源共享的效率大大降低,在極端情況下,它能完全控制整個區塊鏈網路,把它分隔成若干個區塊鏈網路區域。對於受害的區塊鏈節點來說,它們在未知的情況下脫離了區塊鏈網路,所有區塊鏈網路請求訊息都會被攻擊者劫持,所以它們得到的回覆資訊大部分都是虛假的,無法進行正常的資源共享或下載。

3

基於區塊鏈網路的DDoS攻擊

DDoS攻擊是一種對區塊鏈網路安全威脅最大的攻擊技術之一,它指藉助於C/S技術,將多個計算機聯合起來作為攻擊平臺,對一個或多個目標發動攻擊,從而成倍地提高拒絕服務攻擊的威力。

傳統的DDoS攻擊分為兩步:第一步利用病毒、木馬、緩衝區溢位等攻擊手段入侵大量主機,形成殭屍網路;第二部通過殭屍網路發起DoS攻擊。常用的攻擊工具包括:Trinoo、TFN、TFN2K、Stacheldraht等。由於各種條件限制,攻擊的第一步成為制約DDoS攻擊規模和效果的關鍵。

新型的DDoS攻擊不需要建立殭屍網路即可發動大規模攻擊,不僅成本低、威力巨大,而且還能確保攻擊者的隱祕性。圖4示出了在區塊鏈網路中攻擊者進行DDoS攻擊的原理。

image

區塊鏈網路中具有數以百萬計的同時線上使用者數,這些節點提供了大量的可用資源,例如分散式儲存和網路頻寬。如果利用這些資源作為一個發起大型DDoS攻擊的放大平臺,就不必入侵區塊鏈網路節點所執行的主機,只需要在層疊網路(應用層)中將其控制即可。理論上說,將區塊鏈網路作為DDoS攻擊引擎,如果該網路中有一百萬個線上使用者,則可以將攻擊放大一百萬倍甚至更多。

根據攻擊方式的不同,基於區塊鏈的DDoS攻擊可分為主動攻擊和被動攻擊兩種。基於區塊鏈的主動DDoS攻擊是通過主動地向網路節點傳送大量的虛假資訊,使得針對這些資訊的後續訪問都指向受害者來達到攻擊效果的,具有可控性較強、放大倍數高等特點。這種攻擊利用區塊鏈網路協議中基於“推(push)”的機制,反射節點在短時間內會接收到大量的通知資訊,不易於分析和記錄,並且可以通過假冒源地址避過IP檢查,使得追蹤定位攻擊源更加困難。此外,主動攻擊在區塊鏈網路中引入額外流量,會降低區塊鏈網路的查詢和路由效能;虛假的索引資訊,會影響檔案下載速度。

基於區塊鏈的被動DDoS攻擊通過修改區塊鏈客戶端或者伺服器軟體,被動地等待來自其它節點的查詢請求,再通過返回虛假響應來達到攻擊效果。通常情況下,會採取一些放大措施來增強攻擊效果,如:部署多個攻擊節點、在一個響應訊息中多次包含目標主機、結合其它協議或者實現漏洞等。這種攻擊利用了區塊鏈網路協議中基於“取(pull)”的機制。被動攻擊屬於非侵擾式,對區塊鏈網路流量影響不大,通常只能利用到區域性的區塊鏈節點。

4

小結

Sybil攻擊是Eclipse攻擊成功實施的基礎。Sybil攻擊的目標是單個物理節點在區塊鏈網路上產生大量不同的身份,成功的Sybil攻擊可以使發動Eclipse攻擊變得更為容易。對單個節點進行DDoS攻擊的前提是向區塊鏈網路釋出大量的虛假訊息或被動地做出虛假響應,Eclipse攻擊可以幫助攻擊者劫持網路節點間傳遞的資訊,增大成功實施DDoS攻擊的可能性。

Sybil攻擊只是冒充單個區塊鏈網路節點,對區塊鏈網路的影響是比較小的;Eclipse攻擊使得部分割槽塊鏈節點脫離區塊鏈網路,這對受攻擊的節點來說是無法接受的;DDoS攻擊的目的是大量佔用受害節點的資源,使其無法正常提供服務,因此DDoS攻擊對區塊鏈網路的影響是致命的。

內容來源:天下資料 整理:區塊鏈兄弟

image

相關文章