趙嬋 張瑞生
摘? 要:針對DDoS攻擊,文章提出了一種基于區(qū)塊鏈的分布式防御架構(gòu),利用分散在各處的閑置網(wǎng)絡(luò)帶寬和計算資源進(jìn)行DDoS流量的轉(zhuǎn)發(fā)和清洗處理。首先,將閑置網(wǎng)絡(luò)帶寬和計算資源上鏈,實現(xiàn)DDoS防御能力的全網(wǎng)共享;然后,依據(jù)鏈上共享的能力對發(fā)往受害者的流量進(jìn)行轉(zhuǎn)發(fā)清洗;最后,依據(jù)上鏈的流量清洗記錄以及帶寬使用記錄進(jìn)行獎勵。該方案以分布式的網(wǎng)絡(luò)帶寬及計算資源有效應(yīng)對大規(guī)模的DDoS攻擊流量,提高了防御的時效性。通過服務(wù)能力聚合,充分利用閑置帶寬和處理能力,顯著降低DDoS防御的成本;基于DDoS防御貢獻(xiàn)的公正記錄進(jìn)行獎勵,構(gòu)成協(xié)同防御的有效正反饋。
關(guān)鍵詞:DDoS攻擊;區(qū)塊鏈;分布式
中圖分類號:TP311.13;TP309? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2020)05-0152-04
Research on DDoS Cooperative Defense Method Based on Blockchain
ZHAO Chan,ZHANG Ruisheng
(School of Information Science and Engineering,Lanzhou University,Lanzhou? 730000,China)
Abstract:Aiming at DDoS attacks,this paper proposes the distributed defense architecture based on blockchain that utilizes idle network bandwidth and computing resources scattered around to forward and clean DDoS traffic. First,idle bandwidth and idle computing resources are proposed onto blockchain to realize DDoS defense capability sharing across the network. Then,the traffic sent to the victim is forwarded and cleaned according to the capacity on blockchain. Finally,the processing records and bandwidth usage on blockchain are used for rewards. This solution uses distributed network bandwidth and computing resources to effectively resolve large-scale DDoS attack,realizing traffic offloading,and improve the timeliness of defense. Through service capacity aggregation and full use of idle bandwidth and processing capabilities,DDoS defense cost is significantly reduced;reward based on the fair records of DDoS defense contributions forms an effective positive feedback on collaborative defense.
Keywords:DDoS attack;blockchain;distributed
0? 引? 言
DoS(Denial of Service)攻擊通過消耗存儲、帶寬或可用的其他服務(wù)資源來阻塞通信[1]。在此基礎(chǔ)上升級演變而來的DDos攻擊(分布式拒絕服務(wù))危害更大,是當(dāng)前主流網(wǎng)絡(luò)攻擊方式之一。2018年2月,全球著名的代碼托管網(wǎng)站GitHub遭受到有史以來規(guī)模最大的DDoS攻擊,為有效應(yīng)對攻擊,GitHub只能向國際著名CDN服務(wù)商Akamai求助,為此付出了高昂的服務(wù)費用[2]。
傳統(tǒng)的DDoS防御方式包括檢測和清洗兩步。檢測的目的是確認(rèn)目標(biāo)受害者是否遭受了DDoS攻擊,清洗則將發(fā)往目標(biāo)受害者的所有流量(包括正常流量和DDoS流量)轉(zhuǎn)發(fā)到清洗服務(wù)器進(jìn)行清洗。這種集中式防御方式無法高效處理DDoS攻擊,不僅存在滯后性,而且流量清洗成本較高,同時在清洗DDoS流量時容易導(dǎo)致網(wǎng)絡(luò)堵塞[3]。
區(qū)塊鏈?zhǔn)欠植际綌?shù)據(jù)存儲、點對點傳輸、共識機(jī)制、加密算法等計算機(jī)技術(shù)的新型應(yīng)用模式,具有分布式基礎(chǔ)架構(gòu)與計算范式[4],可有效應(yīng)對分布式網(wǎng)絡(luò)攻擊。本文利用分布的閑置帶寬和計算資源來應(yīng)對DDoS攻擊的流量,形成了DDoS協(xié)同防御效果。
1? 背景知識
1.1? DDoS主流攻擊方式和防御方式
按照攻擊發(fā)起方式的差異,DDoS攻擊可分為3類[5]。
1.1.1? 流量型攻擊
通過產(chǎn)生大量的數(shù)據(jù)流量消耗網(wǎng)絡(luò)帶寬,大量表面看似合法的TCP、UDP或ICMP數(shù)據(jù)包被傳送到特定目的地,常常同時使用源地址欺騙,即不停地變化源地址。這種攻擊因特征明顯,目前比較容易識別。
1.1.2? 連接型攻擊
利用TCP和HTTP等協(xié)議定義漏洞來不斷占用計算資源,以阻止計算機(jī)處理正常的事務(wù)和請求。
1.1.3? 流量+連接混合型攻擊
既利用了協(xié)議、系統(tǒng)的缺陷,又具備了海量的攻擊流量,是當(dāng)前的主流攻擊方式。
主流的DDoS防御方式是采用被稱為高防服務(wù)器構(gòu)建的DDoS攻擊防護(hù)系統(tǒng)[6]。在被防護(hù)網(wǎng)站發(fā)生攻擊時,將攻擊流量導(dǎo)流至高防IP節(jié)點。高防IP節(jié)點的DDoS清洗設(shè)備對流量進(jìn)行清洗,保障被防護(hù)網(wǎng)站正常對外提供服務(wù)。因高防IP的數(shù)量有限,在應(yīng)對巨大流量的DDoS攻擊時,時效性會降低,同時流量清洗代價較大。
1.2? 區(qū)塊鏈相關(guān)知識介紹
區(qū)塊鏈?zhǔn)怯啥喾焦餐S護(hù)的分布式數(shù)據(jù)記錄,具有四大特性[7]:
(1)多方寫入,實時共享:區(qū)塊鏈參與方通過共識算法對上鏈數(shù)據(jù)進(jìn)行確認(rèn),確認(rèn)一致后數(shù)據(jù)會同時寫入各參與方的賬本,從而實現(xiàn)了數(shù)據(jù)的實時共享;
(2)分布式信任體系:節(jié)點之間互不信任,但依托于區(qū)塊鏈的共識機(jī)制,多中心構(gòu)建分布式信任關(guān)系,各節(jié)點之間可以就上鏈數(shù)據(jù)達(dá)成信任;
(3)可追溯:區(qū)塊鏈以時間戳的形式按順序記錄了所有的操作記錄;
(4)防篡改:區(qū)塊內(nèi)容和時序通過密碼學(xué)技術(shù)進(jìn)行保護(hù),任何一方難對其進(jìn)行篡改、抵賴、造假。
2? 相關(guān)工作介紹
同濟(jì)大學(xué)和中科院計算技術(shù)研究所團(tuán)隊[8]研究了物聯(lián)網(wǎng)場景下區(qū)塊鏈底層技術(shù)以及區(qū)塊鏈物聯(lián)網(wǎng)所面臨的問題與挑戰(zhàn),認(rèn)為分布式網(wǎng)絡(luò)環(huán)境下的身份驗證、數(shù)據(jù)隱私、網(wǎng)絡(luò)安全等問題非常突出。RUKAVITSYN A團(tuán)隊[9]利用Netflow協(xié)議收集有關(guān)網(wǎng)絡(luò)流量的數(shù)據(jù),并利用新數(shù)據(jù)重新自我學(xué)習(xí)檢測模型的方式進(jìn)行DDoS攻擊檢測。張桐[10]結(jié)合區(qū)塊鏈的去中心化、公開透明、信息很難篡改和匿名性等特點,從身份驗證、數(shù)據(jù)保密性和完整性、環(huán)節(jié)DDoS攻擊、保護(hù)隱私信息、更安全的DNS共5個方面介紹了區(qū)塊鏈的應(yīng)用安全。畢宇[11]從參與者、智能合約要約、運行流程3個方面設(shè)計了基于區(qū)塊鏈智能合約的PKI-CA體系,較好地解決了傳統(tǒng)PKI-CA認(rèn)證體系所面臨的難題,提出了防止DDos攻擊的思路,但該方案未證明可操作性和可行性。陳飛[12]等結(jié)合DDoS攻擊的特性,提出下一代網(wǎng)絡(luò)安全體系構(gòu)建仍然存在兩類問題,即DDoS早期的高精確度識別問題和安全體系中各環(huán)節(jié)的信任以及安全性保障問題。陳旭等[13]提出了基于區(qū)塊鏈技術(shù)的網(wǎng)絡(luò)DDoS聯(lián)合防御方法。在公有區(qū)塊鏈基礎(chǔ)上,解決了跨組織聯(lián)合防御的實施難題。但沒有對方案進(jìn)行驗證。楊翊[14]等采用區(qū)塊鏈技術(shù)進(jìn)行分布式存儲和共享,設(shè)計了一種新的防御DDoS攻擊的模型,但實際應(yīng)用效果未做驗證。
為響應(yīng)國家號召,落實網(wǎng)絡(luò)強(qiáng)國戰(zhàn)略,培養(yǎng)高水平網(wǎng)絡(luò)空間安全人才,2018年初蘭州大學(xué)成立了“蘭州大學(xué)網(wǎng)絡(luò)空間安全研究院”,依托蘭州大學(xué)信息科學(xué)與工程學(xué)院,開展網(wǎng)絡(luò)安全教學(xué)與科研工作。針對上述仍存在的問題,本文設(shè)計了基于區(qū)塊鏈技術(shù)的DDoS協(xié)同防御方法,有效利用閑置帶寬和計算資源應(yīng)對DDoS攻擊,形成了協(xié)同防御的機(jī)制。
3? 方法總體介紹
目前在互聯(lián)網(wǎng)上特定時段存在大量閑置帶寬和計算資源,可以通過區(qū)塊鏈技術(shù)進(jìn)行整合利用,并用于DDoS攻擊的防御。
如圖1所示,方案總體思路如下:
第1步:公司或個人等首先在區(qū)塊鏈網(wǎng)絡(luò)中登記閑置資源,提供在應(yīng)對DDoS攻擊時可提供最大能力的閑置資源配置。各個計算中心(節(jié)點1,2,…,N)的閑置資源在區(qū)塊鏈網(wǎng)上進(jìn)行全網(wǎng)共享;
第2步:當(dāng)檢測到DDoS攻擊時,根據(jù)區(qū)塊鏈網(wǎng)絡(luò)上的閑置資源登記情況,將發(fā)往目標(biāo)受害者的混合流量(包含正常流量及DDoS流量)轉(zhuǎn)發(fā)至具有閑置帶寬和計算資源的計算中心(節(jié)點1,2,…,N);
第3步:計算中心(節(jié)點1,2,…,N)依據(jù)清洗規(guī)則,對DDoS攻擊流量進(jìn)行清洗,過濾掉DDoS流量,并將正常流量返回給目標(biāo),同時將清洗記錄以及帶寬使用情況向區(qū)塊鏈全網(wǎng)進(jìn)行廣播,經(jīng)過共識機(jī)制確認(rèn)后記錄到區(qū)塊鏈網(wǎng)絡(luò)上。
上述同時,建立并運行合理的評價激勵體系,依據(jù)鏈上不可篡改的流量清洗記錄以及帶寬使用記錄,對貢獻(xiàn)閑置帶寬和計算資源的計算中心實體進(jìn)行獎勵。
4? 設(shè)計與實現(xiàn)
4.1? 閑置資源參數(shù)定義與上鏈
對目前互聯(lián)網(wǎng)上閑置的帶寬和閑置計算資源進(jìn)行登記,將相關(guān)信息通過固定數(shù)據(jù)格式向區(qū)塊鏈網(wǎng)絡(luò)發(fā)布。數(shù)據(jù)格式定義為:
(閑置資源屬主ID,閑置資源類型,可用時間段,最大可用能力)。
對閑置資源類型,取值為0或1,0代表帶寬資源,1代表計算資源。例如(0001,0,8:00-17:00,20 M)代表ID為0001的用戶,在每天的8:00~17:00期間帶寬資源閑置,最大可用帶寬為20 M。
將具有閑置資源的計算機(jī)數(shù)據(jù)記錄向全網(wǎng)進(jìn)行廣播,所有接收節(jié)點對數(shù)據(jù)記錄的合法性進(jìn)行校驗,通過共識機(jī)制校驗后數(shù)據(jù)記錄被納入?yún)^(qū)塊鏈網(wǎng)絡(luò)中儲存。通過此方式,閑置資源在整個區(qū)塊鏈網(wǎng)絡(luò)中進(jìn)行了共享。
4.2? 依托區(qū)塊鏈網(wǎng)絡(luò)登記信息轉(zhuǎn)發(fā)DDoS流量
當(dāng)目標(biāo)受害者疑似受到攻擊時,需要將目標(biāo)受害者接收的混合流量,通過閑置帶寬將流量轉(zhuǎn)發(fā)給具有閑置資源的計算中心。比如,從DDoS攻擊的受害者,經(jīng)過帶寬線路X、帶寬線路Y和帶寬線路Z),最終到達(dá)閑置計算中心A。如果某閑置計算中心無法利用閑置帶寬搭建從目標(biāo)受害者到該計算中心的通路,則該計算中心不可用,不參與DDoS防御。根據(jù)閑置資源參數(shù)中“最大可用能力”定義,在流量轉(zhuǎn)發(fā)時分配不超過最大帶寬、最大計算資源的混合流量。
4.3? 對混合流量進(jìn)行清洗并將處理記錄上鏈
計算中心依據(jù)特定的DDoS判定規(guī)則,過濾DDoS攻擊流量,將正常流量返回給目標(biāo)受害者。計算中心完成混合流量清洗后,將本次處理記錄向區(qū)塊鏈網(wǎng)絡(luò)發(fā)布,經(jīng)過校驗后記錄上鏈。上鏈數(shù)據(jù)定義為(計算中心屬主ID,帶寬使用記錄,本次處理的混合流量的體量,惡意DDoS攻擊流量的體量,處理時長)。
例如(0001,[帶寬線路X,帶寬線路Y,帶寬線路Z],100 M,80 M,5 h),代表通過[帶寬線路X,帶寬線路Y,帶寬線路Z]將流量轉(zhuǎn)發(fā)給0001的計算中心,該計算中心處理的混合流量為100 M/s,其中DDoS攻擊流量為80 M/s,流量清洗時間為5 h。
4.4? 依據(jù)區(qū)塊鏈網(wǎng)絡(luò)登記信息進(jìn)行獎勵
為形成良性協(xié)同防御正反饋,需對提供帶寬和計算資源的實體,以積分或其他形式進(jìn)行獎勵。DDoS攻擊的目標(biāo)受害者,根據(jù)區(qū)塊鏈上的流量清洗記錄進(jìn)行計算,提供獎勵積分,發(fā)送給參與協(xié)同防御的實體。區(qū)塊鏈不可篡改的特性,可確保建立公正公平的記錄信息。
5? 測評與分析
以太坊(Ethereum)[15]是一個開源的有智能合約功能的區(qū)塊鏈平臺,提供去中心化的以太虛擬機(jī)(Ethereum Virtual Machine)來處理點對點合約,支持自定義創(chuàng)世區(qū)塊,創(chuàng)建私有鏈。為了驗證本文思路,我們利用以太坊區(qū)塊鏈平臺環(huán)境,搭建區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行了仿真驗證,并對結(jié)果進(jìn)行了綜合分析評價。
5.1? 驗證環(huán)境和參數(shù)
在區(qū)塊鏈上,共有15個計算機(jī)節(jié)點(虛擬機(jī)),模擬互聯(lián)網(wǎng)上存在的15個閑置的計算中心。每個計算中心安裝Ubuntu 16.04操作系統(tǒng)。
將所有計算中心組成區(qū)塊鏈網(wǎng)絡(luò),并部署智能合約。其中,智能合約涵蓋了主要的幾個操作步驟:
(1)將閑置資源配置情況記入?yún)^(qū)塊鏈的操作;
(2)DDoS攻擊發(fā)生時,依據(jù)計算中心的位置及可用帶寬進(jìn)行流量轉(zhuǎn)發(fā)的操作;
(3)計算中心將處理結(jié)果記入?yún)^(qū)塊鏈的操作。
5.2? 驗證步驟
(1)在各計算中心節(jié)點(共15個)安裝cbm網(wǎng)絡(luò)帶寬監(jiān)控工具,部署自定義Shell腳本程序。設(shè)置每個節(jié)點定時(每1 min)采集當(dāng)前節(jié)點的CPU使用率(cpuinfo)和網(wǎng)絡(luò)帶寬信息(transmit),經(jīng)過計算后按照4.1節(jié)數(shù)據(jù)格式將閑置的資源(帶寬、CPU計算資源)情況登記到區(qū)塊鏈網(wǎng)絡(luò),在整個區(qū)塊鏈網(wǎng)絡(luò)共享;
(2)在各計算中心節(jié)點(共15個)安裝Anti-DDoS開源程序(https://github.com/anti-ddos/Anti-DDOS),通過配置iptables規(guī)則,對特定IP 地址的數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā),以實現(xiàn)流量清洗的效果;
(3)指定計算中心節(jié)點中的1臺A計算機(jī)作為DDoS攻擊的目標(biāo),指定另一臺B計算機(jī)安裝LOIC工具,產(chǎn)生DDoS攻擊流量,作為DDoS攻擊的發(fā)動方,對A主機(jī)發(fā)起持續(xù)1 h的DDoS攻擊。
5.3? 驗證結(jié)果
(1)通過Wireshark軟件的流量統(tǒng)計功能,可以看到發(fā)往目標(biāo)主機(jī)的所有流量依據(jù)區(qū)塊鏈記錄的資源配置情況分別轉(zhuǎn)發(fā)給15個計算中心。在驗證環(huán)境中,由于各虛擬節(jié)點配置參數(shù)相同,因此轉(zhuǎn)發(fā)到各個節(jié)點的混合流量水平接近相同;
(2)各計算中心對流量進(jìn)行有效過濾,只保留了特定IP(A主機(jī)和B主機(jī))的流量,過濾掉了DDoS流量。正常流量返回給了目標(biāo)主機(jī)A;
(3)目標(biāo)主機(jī)A提供的150個積分平均分配給了15個參與協(xié)同防御的計算中心(在實際生產(chǎn)情況中,會依據(jù)計算中心的能力及實際處理流量體量的不同,進(jìn)行獎勵分配)。
5.4? 綜合分析和評價
本方案與現(xiàn)有流行的抗DDoS方案(阿里云云盾服務(wù)、知道創(chuàng)宇抗D保服務(wù)、騰訊云大禹服務(wù))相比,都能防御常見的各類DDoS攻擊。同時本方案有以下優(yōu)勢:
(1)時效性和擴(kuò)展性更佳。本文方案采用分布式的防御,防御的時效性和擴(kuò)展性在生產(chǎn)環(huán)境中將更佳;
(2)流量清洗的成本更低?,F(xiàn)有的抗DDoS方案需要額外的流量引流網(wǎng)絡(luò)以及流量清洗設(shè)備,因此成本較高。根據(jù)阿里云、騰訊云等官網(wǎng)服務(wù)報價,20 GB的流量清洗帶寬報價在1.5萬/月以上。本文方案通過利用閑置帶寬和計算資源,采用合作共贏的方式,沒有增加額外的帶寬和計算資源費用,流量清洗成本相對較低。
但本方案也存在問題需要繼續(xù)優(yōu)化。由于仿真資源受限,本文只通過小規(guī)模的資源從可行性和有效性方面對方案進(jìn)行了驗證,仿真的DDoS攻擊與現(xiàn)實中的DDoS攻擊在流量規(guī)模方面存在較大差距。后續(xù)需進(jìn)一步在大規(guī)模部署條件下進(jìn)行驗證和分析。
6? 結(jié)? 論
本文提出了一種基于區(qū)塊鏈技術(shù)的DDoS攻擊防御架構(gòu),利用分散在互聯(lián)網(wǎng)上的閑置網(wǎng)絡(luò)帶寬和計算資源,對DDoS流量進(jìn)行清洗。通過區(qū)塊鏈聚合閑置帶寬和處理能力,應(yīng)對DDoS攻擊流量,提高了防御的時效性,降低了DDoS防御的成本。同時,本文提出基于DDoS防御貢獻(xiàn)的公正記錄進(jìn)行獎勵,構(gòu)成了有效的協(xié)同防御正反饋。
參考文獻(xiàn):
[1] 黃強(qiáng).基于分布式的DDoS攻擊及防范技術(shù)研究 [D].合肥:合肥工業(yè)大學(xué),2011.
[2] The GitHub Blog. February 28th DDoS Incident Report [EB/OL].(2018-03-01).https://github.blog/2018-03-01-ddos-incident-report/.
[3] 滕建,陳駿君,趙英.基于用戶網(wǎng)絡(luò)行為模型的DDoS攻擊檢測 [C]//中國計算機(jī)用戶協(xié)會網(wǎng)絡(luò)應(yīng)用分會2018年第二十二屆網(wǎng)絡(luò)新技術(shù)與應(yīng)用年會,2018.
[4] 袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望 [J].自動化學(xué)報,2016,42(4):481-494.
[5] 賈斌.基于機(jī)器學(xué)習(xí)和統(tǒng)計分析的DDoS攻擊檢測技術(shù)研究 [D].北京:北京郵電大學(xué),2017.
[6] 鄧詩釗.DNS域名安全實時檢測的研究 [D].成都:電子科技大學(xué),2015.
[7] 王元地,李粒,胡諜.區(qū)塊鏈研究綜述 [J].中國礦業(yè)大學(xué)學(xué)報(社會科學(xué)版),2018,20(3):74-86.
[8] 何正源,段田田,張穎,等.物聯(lián)網(wǎng)中區(qū)塊鏈技術(shù)的應(yīng)用與挑戰(zhàn)[J].應(yīng)用科學(xué)學(xué)報,2020,38(1):22-33.
[9] RUKAVITSYN A,BORISENKO K,SHOROV A. Self-learning method for DDoS detection model in cloud computing [C]//Young Researchers in Electrical & Electronic Engineering.IEEE,2017:544-547.
[10] 張桐.區(qū)塊鏈技術(shù)與網(wǎng)絡(luò)安全 [C]//數(shù)字中國 能源互聯(lián)——2018電力行業(yè)信息化年會論文集.中國電機(jī)工程學(xué)會電力信息化專業(yè)委員會:人民郵電出版社電信科學(xué)編輯部,2018:312-314.
[11] 畢宇.基于區(qū)塊鏈智能合約的PKI-CA體系設(shè)計 [J].金融科技時代,2018(7):44-46.
[12] 陳飛,畢小紅,王晶晶,等.DDoS攻擊防御技術(shù)發(fā)展綜述 [J].網(wǎng)絡(luò)與信息安全學(xué)報,2017,3(10):16-24.
[13] 陳旭.基于區(qū)塊鏈技術(shù)的網(wǎng)絡(luò)DDoS聯(lián)合防御方法研究 [J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017(11):29-30+39.
[14] 楊翊,彭揚,矯毅.基于區(qū)塊鏈的DDoS防御云網(wǎng)絡(luò) [EB/OL].北京:中國科技論文在線.(2016-11-04).http://www. paper.edu.cn/releasepaper/content/201611-59.
[15] 以太坊網(wǎng)站.What is Ethereum. [EB/OL].[2020-02-06].https://ethereum.org.
作者簡介:趙嬋(1986.06-),女,漢族,新疆塔城人,在讀碩士研究生,主要研究方向:網(wǎng)絡(luò)空間安全;張瑞生(1962. 06-),男,漢族,甘肅天水人,教授,博士生導(dǎo)師,主要研究方向:高性能計算、服務(wù)計算技術(shù)等。