韓長江,丁俊芳
(武警后勤學院,天津 300162)
物聯(lián)網(wǎng)的急速發(fā)展推動了全球信息化的進程。據(jù)研究機構(gòu)預估,物聯(lián)網(wǎng)設(shè)備的數(shù)量預計將從2017年的80億增長到2020年的200億。遺憾的是,開發(fā)人員在設(shè)計IoT設(shè)備時很少考慮安全策略問題,導致物聯(lián)網(wǎng)成為黑客攻擊的重災區(qū),其中以DDoS最難防御。DDoS攻擊的主要目的是耗盡特定主機的計算資源或帶寬資源,使其無法為正常用戶提供服務。
DoS(拒絕服務攻擊)作為DDoS的前身,通過消耗資源進行帶寬壓制,但這種攻擊方式已被淘汰。黑客們借助數(shù)量眾多的僵尸主機同時對特定目標發(fā)起分布式DoS攻擊,即為DDoS攻擊。DDoS破壞性更強,范圍更廣,防御難度更大。
DDoS的攻擊模型簡介。黑客通過系統(tǒng)或程序等的漏洞控制僵尸主機,通過攻擊控制機操控傀儡機對目標主機發(fā)送大量的垃圾服務請求,進而消耗目標主機的帶寬或計算能力,導致目標主機的帶寬消耗殆盡或計算過載。由于物聯(lián)網(wǎng)設(shè)備的大量興起,目前僵尸主機中物聯(lián)網(wǎng)設(shè)備已經(jīng)占據(jù)了相當大的比例。
根據(jù)攻擊手段的不同,DDoS 可分為三類。一是帶寬耗盡型攻擊。使用海量數(shù)據(jù)堵塞IDC入口,使目標主機的硬件防御系統(tǒng)和快速高效應急流程失效,典型代表是ICMP Flood,現(xiàn)已不常見。二是漏洞碰撞式攻擊。以技術(shù)取勝,攻擊源在數(shù)分鐘內(nèi)僅發(fā)一個數(shù)據(jù)包,就可以使目標主機拒絕服務。此攻擊是利用技術(shù)漏洞作為攻擊點,如Slowloris方式。三是混合攻擊,即將上述兩種攻擊手段混合使用,既利用了系統(tǒng)設(shè)計的缺陷,又具備了DDoS流量要求。圖1為SYN流[1]攻擊,是當前的主流攻擊方式。
典型的DDoS攻擊包括SYN流、UDP攻擊、HTTP Flood攻擊以及慢速連接攻擊等。SYN Flood是目前最經(jīng)典的DDoS攻擊方式。TCP協(xié)議中,開發(fā)人員設(shè)計了三次握手機制,SYN Flood利用TCP三次握手協(xié)議中存在的缺陷,以很小的資源消耗使目標服務器陷入低效循環(huán)。另一種攻擊手段是DNS Query Flood,指攻擊者操縱數(shù)量眾多的僵尸主機,對目標發(fā)起數(shù)量巨大的查詢請求。HTTP Flood攻擊攻擊者不需要大批量的僵尸主機,只需通過端口掃描軟件尋找匿名的HTTP代理,然后通過匿名代理對目標主機發(fā)起非法HTTP請求。
隨著硬件技術(shù)的急速發(fā)展,物聯(lián)網(wǎng)DDoS攻擊出現(xiàn)的次數(shù)呈指數(shù)型增長。目前,學界針對物聯(lián)網(wǎng)DDoS惡意流量檢測的主要方法是實時網(wǎng)絡(luò)監(jiān)控。當物聯(lián)網(wǎng)僵尸設(shè)備發(fā)起DDoS攻擊時,即啟動攻擊流量清洗設(shè)備,屏蔽DDoS攻擊源的主機IP,避免網(wǎng)絡(luò)侵害,達到防御的目的。此過程可以概括為以下幾點:一是在邊緣節(jié)點或霧節(jié)點等中繼節(jié)點上利用檢測算法確定源頭IP地址是否合法,并建立黑名單共享機制;二是基于信息論、大數(shù)據(jù)統(tǒng)計等方法,根據(jù)網(wǎng)絡(luò)數(shù)據(jù)流量的變化實時監(jiān)測網(wǎng)絡(luò);三是在中繼節(jié)點(路由器等)中建立映射表,通過對比來確定當前網(wǎng)絡(luò)是否有DDoS攻擊行為。下面對幾種典型的檢測方法進行介紹。
YEGN V等提出了一種網(wǎng)絡(luò)入侵檢測方法。該方法基于支持向量機算法,誤報率較低,但系統(tǒng)訓練模型單一,沒有涵蓋普通網(wǎng)絡(luò)流量數(shù)據(jù)集,應變能力較弱。
李傳煌等人[2]曾將機器學習與DDoS檢測手段相匹配,使用神經(jīng)網(wǎng)絡(luò)方法直接對網(wǎng)絡(luò)流量進行檢測,具有較高的精確度。
劉玉潔[3]等人提出了一種基于反饋神經(jīng)網(wǎng)絡(luò)的入侵檢測系統(tǒng),使用一種基于Jordan神經(jīng)網(wǎng)絡(luò)的算法,借助反饋神經(jīng)網(wǎng)絡(luò)提取描述攻擊模式的特征并進行規(guī)則推導,然后用神經(jīng)網(wǎng)絡(luò)建立的規(guī)則集進行入侵檢測,證明了反饋神經(jīng)網(wǎng)絡(luò)在入侵檢測領(lǐng)域的出色表現(xiàn)。
楊天奇等人[4]描述了一種基于最小二乘估計(LS)模型的入侵檢測算法,利用神經(jīng)網(wǎng)絡(luò)的特點,具有從先前觀測到的行為進行概括進而判斷將來可能發(fā)生的行為的能力。
Doshi R等人基于物聯(lián)網(wǎng)設(shè)備的網(wǎng)絡(luò)流量與普通網(wǎng)絡(luò)流量的區(qū)別,選擇使用人工神經(jīng)網(wǎng)絡(luò)對物聯(lián)網(wǎng)惡意流量進行識別。實驗中使用了5種算法進行了測試,即K近鄰、支持向量機、決策樹、隨機森林和人工神經(jīng)網(wǎng)絡(luò),結(jié)果表明人工神經(jīng)網(wǎng)絡(luò)的識別率高于其他算法。
肖甫等人[5]提出了一種在SDN環(huán)境下基于KNN算法的模塊化DDoS攻擊檢測方法,選取SDN網(wǎng)絡(luò)的5個關(guān)鍵流量特征,采用優(yōu)化的KNN算法對選取的流量特征進行流量異常檢測,結(jié)果表明該方案在識別率和誤報率方面更優(yōu)秀。
李傳煌等人[6]提出了一種基于SDN的深度學習混合模型的DDoS攻擊檢測方法——DCNN-DSAE。該方法在構(gòu)建深度學習模型時,輸入特征除了從數(shù)據(jù)平面提取的21個不同類型的字段外,同時設(shè)計了能夠區(qū)分流類型的5個額外流表特征。結(jié)果表明,該方法具有較高的精確度。
夏彬等人[7]提出了一種SDN中基于Renyi熵的DDoS攻擊檢測和回溯算法。與同類算法相比,該算法利用SDN的集中性控制簡化了統(tǒng)計信息的采集過程,通過計算網(wǎng)絡(luò)中的Renyi熵,可以高效檢測出DDoS攻擊且消耗較少的系統(tǒng)資源,并且盡可能回溯攻擊源頭。
Mousavi等[8]提出了一種基于SDN控制器通過計算熵值檢測DDoS攻擊的入侵檢測系統(tǒng)。該入侵檢測系統(tǒng)的檢測精度取決于熵的閾值,然而閾值的選擇是通過調(diào)整參數(shù)大小的實驗得到的,無法確??煽啃?。
Jadidi等提出了一種基于網(wǎng)絡(luò)數(shù)據(jù)流的異常檢測系統(tǒng),主要采用基于多層感知器和重力的搜索算法。該系統(tǒng)對多向量組合攻擊類型的數(shù)據(jù)流區(qū)分度識別率不高。
Trung等人結(jié)合硬檢測閾值和模糊推理系統(tǒng),根據(jù)正常和攻擊狀態(tài)下的實際流量特征檢測DDoS攻擊,但只考慮了分布時間、每個流的數(shù)據(jù)分組數(shù)量及分配到服務器的流量等幾個特征,特征信息量不足。
郝志宇等人[9]提出了一種基于相似度的DDoS異常檢測系統(tǒng),使用相似度作為測度,通過與正常情況時的比較,可以及時準確地發(fā)現(xiàn)DDoS攻擊引起的異常。這種方案無法應對多向量DDoS攻擊,且應變能力較差。
今后DDoS攻擊和防御仍然會處于相持狀態(tài),建立高效全面的防御體系仍是科研人員關(guān)注的重點領(lǐng)域。同時,以霧計算、云計算、軟件定義網(wǎng)絡(luò)以及大數(shù)據(jù)技術(shù)等為代表的新興技術(shù),為DDoS防御體系的構(gòu)建帶來了新的機遇。目前,基于霧計算平臺和區(qū)塊鏈以太坊智能合約機制的DDoS檢測技術(shù)出現(xiàn)。霧計算平臺是介于云計算和邊緣計算之間的計算機制,由于其能夠有效解決邊緣結(jié)算設(shè)備計算能力薄弱和云計算帶寬消耗過大等問題,得到了學者的廣泛重視。未來需要詳盡測試及優(yōu)化方案的大規(guī)模部署及部署的性能問題,從而提高方案的大規(guī)模可用性。