• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Hadoop的DDoS 雙屬性檢測算法研究

      2022-02-15 09:35:26程家興羅文華
      關鍵詞:檢測時間分塊日志

      程家興,羅文華

      (中國刑事警察學院 公安信息技術與情報學院,遼寧 沈陽 110035)

      分布式拒絕服務(DDoS)攻擊能夠瞬間發(fā)動極大量的攻擊使服務器癱瘓,導致其無法正常提供服務[1]。DDoS 攻擊者首先通過惡意程序感染多臺處于互聯(lián)網(wǎng)絡中的主機,從而對這些主機進行控制,被控制的主機喪失自主權,稱為“僵尸機”或者“肉雞”,攻擊者再通過控制這些“僵尸機”對被攻擊者發(fā)送大量攻擊數(shù)據(jù)包,一般來說,攻擊者控制的“僵尸機”數(shù)量越多,造成攻擊的威力越大。相較其他類型的網(wǎng)絡攻擊,由于存在多個中轉的“僵尸機”,讓DDoS 具備了分布式的特點,通過無規(guī)律、隱藏的數(shù)據(jù)源,將傳統(tǒng)的單點之間數(shù)據(jù)攻擊變?yōu)槎帱c的數(shù)據(jù)流攻擊,且發(fā)送的流量本身幾乎不包含惡意數(shù)據(jù)信息,涉及協(xié)議與服務的惡意攻擊與正常連接請求界限模糊。因此,無論是對DDoS的檢測還是防范難度都相當大。

      當前存在大量對其進行檢測防范的研究,采取的方法大致可分為兩種,第一種基于機器學習和神經(jīng)網(wǎng)絡,通過分析流量特征差異來確定攻擊流量,另一種則是基于統(tǒng)計模型,通過分析輸入流量和正常流量數(shù)據(jù)量差異來檢測。Hameed S 等人提出過一種基于Hadoop的分布式檢測框架[2],該算法運用統(tǒng)計計數(shù),能夠完成實時自動的DDoS 攻擊檢測,隨著研究深入,發(fā)現(xiàn)適應于其中的傳統(tǒng)計數(shù)算法存在一定的局限之處,本文將統(tǒng)計與流量特征結合,基于MapReduce 框架編寫新的檢測算法,并與傳統(tǒng)計數(shù)算法進行對比,根據(jù)多方面的檢測數(shù)據(jù)綜合分析,研究不同DDoS 攻擊環(huán)境中最為適合的檢測算法。

      1 MapReduce 架構與DDoS 檢測模型

      1.1 MapReduce 架構

      MapReduce的框架結構主要由Client、JobTracker、TaskTracker 以及Task 四部分組成[3],各組成部分間的關系如圖1 所示。其中,Client 主要為用戶與JobTracker 端提供接口,用戶能夠直觀地查看任務的運行。JobTracker 負責監(jiān)測與調(diào)度TaskTracker 與Job,是MapReduce 框架的核心部分,與框架的其他部分均存在聯(lián)系。TaskTracker 通過“心跳”周期性向JobTracker 發(fā)送本節(jié)點的運行狀態(tài),同時對JobTracker分配過來的命令等進行處理。Task 為MapReduce 任務部分,分為Map Task 與Reduce Task[4]。

      圖1 MapReduce 組成框架

      1.2 DDoS 檢測模型

      檢測模型基于Hadoop 架構搭建,包含一個主節(jié)點和若干個從節(jié)點,其中主節(jié)點同時充當檢測核心,數(shù)據(jù)的輸入以及檢測形成結果到最后的輸出均在此檢測核心中進行。

      該模型主要包含兩個部分,第一部分為數(shù)據(jù)的輸入部分,第二部分為檢測部分,模型能夠完成輸入日志的檢測并生成結果。

      (1)數(shù)據(jù)輸入。輸入的數(shù)據(jù)均為通過Tshark 收集的DDoS 攻擊流量日志,部分日志文件如圖2 所示,其中一條描述結果如下:11 3.775 426 138 192.168.253.179→192.168.253.175 TCP 74 41 910→80[SYN] Seq=0 Win=29 200 Len=0 MSS=1 460 SACK_PERM=1 TSval=287 474 TSecr=0 WS=128,其中,11代表此條數(shù)據(jù)序號,3.775 426 138 為Tshark 計算的時間戳,192.168.253.179 為源IP,192.168.253.175為目的IP,TCP 代表此條數(shù)據(jù)的使用的協(xié)議類型,74 為此條數(shù)據(jù)的數(shù)據(jù)幀長度,41 910 為源端口,80 為目的端口,之后為具體的TCP 協(xié)議信息。模型的檢測核心為Hadoop的主節(jié)點,實驗中在此主節(jié)點設計一個簡易的Java 程序,通過該程序對輸入日志進行調(diào)控,完成日志接收之后隨即將該日志文件上傳HDFS 之中[5]。

      圖2 部分輸入日志

      (2)執(zhí)行檢測。集群通過中央管理器將HDFS 中的輸入日志劃分成各種日志碎片,這些片段有序化處理之后進入MapReduce 階段,通過檢測算法的Map 和Reduce 兩個函數(shù)對輸入的日志碎片進行檢測,形成輸出文件。MapReduce 階段之后,輸出的文件會再次返回HDFS 之中,集群的中央管理器能夠對HDFS 中的文件進行解析,生成最終的檢測結果,可通過調(diào)控檢測核心中的Java 程序將該結果從HDFS 中調(diào)出。

      檢測模型通過以上運行階段,對輸入的日志文件執(zhí)行檢測并生成檢測結果,整體運行過程如圖3所示。

      圖3 基于Hadoop的DDoS 檢測模型

      2 雙重屬性Counter-Based 算法

      本文提出的檢測算法,本質(zhì)為基于異常的計數(shù)算法[6],該類型的檢測算法從網(wǎng)絡流量包的特征屬性出發(fā),通過統(tǒng)計計數(shù)的方法確定攻擊來源。對DDoS 攻擊數(shù)據(jù)進行區(qū)分,需要根據(jù)計數(shù)的數(shù)量設定一定的界限,計數(shù)數(shù)量超過此界限的數(shù)據(jù)就被認定為攻擊數(shù)據(jù),這個界限可被稱作閾值,根據(jù)MapReduce的運行模式以及實際環(huán)境中DDoS 攻擊強度,實驗統(tǒng)一采用每秒800 數(shù)據(jù)包的閾值[7]。

      2.1 算法思路

      通過對輸入的DDoS 攻擊流量日志進行研究,發(fā)現(xiàn)流量存在的幾項特征屬性能夠被統(tǒng)計分析,包括源IP、數(shù)據(jù)類型、數(shù)據(jù)幀大小,根據(jù)不同的特征組合能形成不同類型的檢測算法,隨著組合數(shù)量的增加,算法的復雜度也會提升,這些都會對檢測產(chǎn)生影響。

      單一屬性Counter-Based 算法[8]采取源IP 這種單一的特征作為檢測標準,該算法的檢測原理為:一定時間內(nèi)訪問服務器的單一IP的流量超過實驗所設定的閾值,此IP 就被認定為攻擊IP,來源于此IP的流量就被認定為攻擊流量[9]。通過近期的研究發(fā)現(xiàn),該算法在實際的DDoS 檢測環(huán)境中存在一定局限性,由于算法過于簡單,只存在源IP 這一種檢測參數(shù),對DDoS 攻擊的檢測率不高,當前發(fā)動的較為廣泛的多IP 攻擊行為,攻擊者通過控制大量“僵尸機”,而每臺“僵尸機”又偽造多種不同的IP 對服務器進行攻擊,此種情況下,單一IP的攻擊流量往往難以達到閾值標準,因此存在較多的漏報,此時僅采取源IP 這種單一的檢測方式難以準確感知DDoS 攻擊。對于這種偽造多IP的攻擊方式,需要尋找更多流量的特征項進行識別。通過研究發(fā)現(xiàn),攻擊者偽造大量IP 發(fā)送的攻擊數(shù)據(jù)包往往具有相同的長度,此時采取數(shù)據(jù)幀長度作為計數(shù)的特征參數(shù)更為合適。因此將最具有識別價值的源IP 與數(shù)據(jù)幀大小提取進行組合,形成雙重屬性Counter-Based 算法。

      2.2 算法偽代碼

      該算法的檢測類型包括TCP-Flood、UDP-Flood、ICMP-Flood、HTTP-Flood,以下為算法執(zhí)行TCPFlood 檢測過程的偽代碼,執(zhí)行Mapredcue 之前,輸入的日志文件會被劃分成新的日志碎片,這些日志碎片經(jīng)過Map 和Reduce 兩個函數(shù)階段最終形成輸出文件。

      Map 階段,該函數(shù)作用是從輸入的日志碎片中提取相應的網(wǎng)絡數(shù)據(jù)特征值,包括源IP、數(shù)據(jù)幀長度、數(shù)據(jù)類型,首先過濾包含TCP的碎片,然后將源IP 和數(shù)據(jù)幀長度分別與TCP 組合形成<源IP,TCP,1>、<數(shù)據(jù)幀長度,TCP,1>兩種類型的輸出數(shù)據(jù),其中1 代表形成單一鍵值對。

      Map 函數(shù)的輸出值作為Reduce 函數(shù)輸入值進行計算,Reduce 函數(shù)將輸入的形如<源IP,TCP,1>、<數(shù)據(jù)幀長度,TCP,1>的相同鍵值對進行統(tǒng)計計數(shù),相同源IP的計數(shù)結果為Counts1,相同數(shù)據(jù)幀長度的計數(shù)結果為Counts2,并將兩項計數(shù)結果與指定的閾值進行比較,如果小于閾值,則被認定為合法數(shù)據(jù),如果大于等于閾值,則被認定為攻擊數(shù)據(jù),并將計數(shù)后鍵值對進行輸出,形成兩種新的鍵值對。對于UDP-Flood、ICMP-Flood、HTTP-Flood的檢測與TCPFlood的檢測流程相同,檢測代碼中TCP 替換成相應的UDP、ICMP、HTTP 即可。

      3 檢測算法的實驗測試

      3.1 實驗環(huán)境配置

      檢測模型包含的多個節(jié)點均運行于Ubuntu 虛擬機之中,并采用橋接的模式連接到互聯(lián)網(wǎng)之中,保證集群的各節(jié)點之間能夠通過TCP/IP 協(xié)議進行交互,虛擬機的配置如表1 所示。

      表1 檢測模型虛擬機配置

      3.2 實驗參數(shù)

      依據(jù)將要進行實驗測試的性能指標,需要配置不同的實驗環(huán)境,與集群運行相關的參數(shù)包括輸入DDoS 攻擊日志的大小、Hadoop 集群規(guī)模、DDoS 攻擊比例、HDFS 分塊大小。根據(jù)測試需要,實驗參數(shù)可以進行調(diào)整,以保證實驗的準確性,以下對實驗涉及的具體實驗參數(shù)進行分析。

      (1)日志大小?;趯嶒灆C器的性能考慮,實驗選擇10 M,20 M,40 M,80 M 大小的輸入日志。

      (2)集群規(guī)模。檢測模型采用典型的完全分布式的Hadoop 架構,設置一個主節(jié)點和若干從節(jié)點,實驗中部署1~4 個從節(jié)點來進行測試。

      (3)DDoS 攻擊比例。DDoS 攻擊比例為監(jiān)聽日志中DDoS 攻擊流量和合法訪問流量的比例,該比例的改變會影響檢測模型執(zhí)行檢測的時間,為了保證日志文件大小這一單一變量的原則,檢測時間與檢測結果對比實驗中,統(tǒng)一采用70%DDoS 攻擊比例(DDoS 攻擊流量占比70%,合法訪問流量占比30%)的輸入日志,檢測率實驗中,增加90%DDoS 攻擊比例的輸入日志進行對比。

      (4)HDFS 分塊大小。HDFS 分塊為集群存儲計算的基本單位,實驗采取16 M,32 M,64 M,96 M 作為測試的HDFS 分塊大小。

      3.3 兩種檢測算法的對比研究

      不同的檢測算法會影響輸入日志檢測的時間,執(zhí)行不同算法對DDoS 攻擊的檢測率與生成的檢測結果也有所不同,本節(jié)通過檢測時間與檢測率以及輸出結果三方面對兩種檢測算法進行對比。

      3.3.1 檢測時間對比

      (1)改變HDFS 分塊大小。本節(jié)實驗設定HDFS 分塊大小分別為16 M,32 M,64 M,96 M,從節(jié)點數(shù)量為2 個,輸入日志大小為80 MB,執(zhí)行兩種檢測算法的時間如圖4 所示。

      通過圖4 可以看出,當HDFS 分塊大小為16 M 時,執(zhí)行單一屬性Counter-Based 算法、雙重屬性Counter-Based 算法時間分別為22.8 s、33.1 s,隨著算法復雜度的提升,執(zhí)行檢測的時間增加較為明顯,且隨著HDFS 分塊的改變,不同檢測算法執(zhí)行時間的差值基本保持不變。

      (2)改變集群規(guī)模。本節(jié)實驗設定HDFS 分塊大小為64 MB,從節(jié)點數(shù)量為1~4 個,輸入日志大小為80 MB,執(zhí)行兩種檢測算法的結果如圖5 所示。

      圖5 顯示的實驗結果與圖4 較為類似,隨著從節(jié)點數(shù)量的增加,模型執(zhí)行兩種算法的時間均存在一定的下降,但兩種時間的差值較為穩(wěn)定。

      圖4 HDFS 分塊大小對不同檢測算法檢測時間的影響

      圖5 集群規(guī)模對不同檢測算法檢測時間的影響

      (3)改變輸入日志大小。本節(jié)實驗設定HDFS 分塊大小為64 MB,從節(jié)點數(shù)量為2 個,輸入日志大小分別為10 M,20 M,40 M,80 M。執(zhí)行不同檢測算法檢測相同輸入日志所用時間如圖6 所示。

      圖6 輸入日志大小對不同檢測算法檢測時間的影響

      通過圖6 可以發(fā)現(xiàn),隨著輸入日志大小的變化,檢測時間的差距逐漸在變化,當輸入監(jiān)聽日志為10 M 時,單一屬性Counter-Based 算法、雙重屬性Counter-Based 算法檢測時間分別為9.3 s、10.2 s,當監(jiān)聽日志為80 M 時,兩種算法的執(zhí)行時間變成22.3 s、32.3 s,其中的差值正在逐漸增大,從折線圖中很容易看到這一趨勢,在處理大文件時,這種時間上的差值更應該被考慮到。

      單純從檢測時間的角度來看,隨著算法復雜度的提升,對相同輸入日志檢測的時間變化明顯,且隨著輸入日志容量的增加,這種時間差正在加劇。

      3.3.2 輸出結果對比

      根據(jù)檢測算法的編寫原理,對比單一屬性Counter-Based 算法,執(zhí)行雙重屬性Counter-Based 算法能夠獲得DDoS 攻擊數(shù)據(jù)包的數(shù)據(jù)幀長度,通過增加數(shù)據(jù)幀長度的驗證,能夠獲得更為準確的檢測結果。兩種檢測算法對同一輸入日志的檢測結果如圖7、8 所示。

      圖7 單一屬性Counter-Based 算法檢測結果

      圖8 雙重屬性Counter-Based 算法檢測結果

      3.3.3 檢測率對比

      針對檢測率的對比,實驗收集了兩種不同DDoS 攻擊比例的輸入日志進行多次測試。HDFS 分塊大小為64 MB,從節(jié)點數(shù)量為2 個,輸入日志大小為80 M,DDoS 攻擊比例分別為70%和90%,使用兩種檢測算法分別進行測試,實驗結果如圖9 所示。

      圖9 兩種檢測算法檢測率對比

      實驗結果顯示,無論是在70%還是90%的DDoS 攻擊比例的實驗測試環(huán)境中,雙重屬性Counter-Based 算法對DDoS 攻擊都存在極高的檢測準確率,誤報率較低,而單一屬性Counter-Based 算法的誤報率與雙重屬性Counter-Based 算法接近,但卻存在較高的漏報,準確率不足。因此,從檢測率上來看,單一屬性Counter-Based 算法檢測效果不如雙重屬性Counter-Based 算法。

      4 結語

      本文針對適應于Hadoop 架構的DDoS 檢測算法進行分析,根據(jù)實際中的運行要求,提出雙重屬性Counter-Based 算法,并與傳統(tǒng)的單一屬性Counter-Based 算法從檢測時間、檢測率、檢測結果三方面進行對比,研究兩種檢測算法在不同DDoS 攻擊環(huán)境的檢測效率。其中,在檢測時間方面,處理相同的輸入日志,單一屬性Counter-Based 算法擁有更快的檢測速度,但在檢測結果與檢測率方面,雙重屬性Counter-Based 算法擁有更大的優(yōu)勢。在多數(shù)情況下,對于DDoS 檢測模型來說,檢測率應放在首位,此時,雙重屬性Counter-Based 算法具有更優(yōu)的檢測效率。

      面對未來更為復雜的DDoS 攻擊形式,需要對網(wǎng)絡數(shù)據(jù)的特征值再次進行發(fā)掘,進行更多類型的組合實驗,編寫適應環(huán)境更為廣泛的檢測算法。

      猜你喜歡
      檢測時間分塊日志
      一名老黨員的工作日志
      華人時刊(2021年13期)2021-11-27 09:19:02
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      對兩種細菌鑒定法在血液檢驗中的應用效果進行分析
      分塊矩陣在線性代數(shù)中的應用
      新型溶血素與傳統(tǒng)溶血素在臨床血常規(guī)檢驗中的應用研究
      游學日志
      ABL90血氣分析儀在急診科的應用研究
      不同檢測時長對粉煤灰砌塊放射性檢測結果的影響
      反三角分塊矩陣Drazin逆新的表示
      基于自適應中值濾波的分塊壓縮感知人臉識別
      盘山县| 石泉县| 泽普县| 奉贤区| 金门县| 鸡泽县| 汾阳市| 双辽市| 嵊泗县| 都昌县| 阜阳市| 汝南县| 元朗区| 石门县| 安义县| 彭水| 滨海县| 西青区| 长寿区| 长丰县| 临泉县| 崇州市| 右玉县| 汾西县| 汨罗市| 鹤庆县| 新乐市| 屏南县| 新沂市| 海淀区| 井陉县| 沙雅县| 贡嘎县| 武陟县| 大城县| 库尔勒市| 浦县| 唐山市| 太仓市| 敖汉旗| 绥江县|