TWI704782B - 骨幹網路異常流量偵測方法和系統 - Google Patents
骨幹網路異常流量偵測方法和系統 Download PDFInfo
- Publication number
- TWI704782B TWI704782B TW107138229A TW107138229A TWI704782B TW I704782 B TWI704782 B TW I704782B TW 107138229 A TW107138229 A TW 107138229A TW 107138229 A TW107138229 A TW 107138229A TW I704782 B TWI704782 B TW I704782B
- Authority
- TW
- Taiwan
- Prior art keywords
- traffic
- network
- abnormal
- backbone network
- data set
- Prior art date
Links
Images
Abstract
本發明揭露一種骨幹網路異常流量偵測方法,其包括以下步驟:利用來源網際網路協定(IP)位址過濾骨幹網路中的網路流量;將過濾過後的該網路流量均分到分散式大數據處理系統的複數工作節點中;於上述複數工作節點進行平行處理,並於上述每一個工作節點產生複數流量特徵資料集;於上述每一個工作節點,利用複數異常流量辯識模型以及上述流量特徵資料集,以判定該網路流量是否異常;以及當判定該網路流量為異常時,利用複數攻擊類型辯識模型以及上述流量特徵資料集,以判定攻擊類型並產生分析結果。
Description
本發明揭露一種網路流量的偵測方法和系統,尤其是一種關於骨幹網路異常流量偵測方法和系統。
隨著網際網路的發展,網路流量飛速增長,網際網路已成為不可或缺的資訊載體,與此同時,網路流量也經常會出現偏離正常範圍的異常流量,主要是由蠕蟲傳播(Worms)、分散式阻斷服務(DDoS)攻擊、僵屍網路(Botnet)等惡意網路攻擊行為以及網路配置失誤或偶發性線路中斷等引起。這些異常流量往往會導致整個網路服務品質急劇下降,使受害端主機、網路直接癱瘓。因此,如何在骨幹網路環境下進行網路異常檢測並及時提供警示資訊,對保障骨幹網路正常運行具有重要意義。
同時,隨著網路頻寬的不斷提高,網路流量異常檢測面臨新的問題:一方面,網路傳輸速率大幅度提高,相同的網路攻擊,在區域網路表現非常明顯,而在骨幹網路中可能並不容易發現,需要高準確性的網路流量異常檢測方法,另一方面,網路頻寬提高的同時也加快了網路攻擊的速度,以網路蠕
蟲爆發為例,它能夠在更短的時間內感染網際網路內大部分脆弱主機,這就要求異常檢測系統更快速且有效率識別出異常流量,以利後續能夠即時實施阻斷工作。
另外,目前在檢測骨幹網路流量的方式通常是直接分析原始的網路流量,若要達到快速且有效率地識別出異常流量,將要需要大量頻寬以及大量的運算資源,這將會增加運算的硬體成本。
此外,目前亦有利用負載平衡交換器(Load Balance Switch)將骨幹網路流量進行分流後進行異常流量偵測,但由於負載平衡交換器僅為普遍網通設備,受限於設備的運算能力,無法同時進行多個運算任務(即進行平行處理),因此無法有效率地識別出異常流量。
因此,習知技術需要一種提升骨幹網路異常流量偵測效能的改進方案,其能因應骨幹網路的頻寬需求,更快速且有效率地識別出異常流量。
本發明的目的在於提供一種骨幹網路流量的偵測方法和系統,其能因應骨幹網路的頻寬需求,並利用「分層」與「分流」概念以及「離線」與「即時」兩階段處理達成快速且有效率地識別出異常流量。
為達到發明目的,本發明揭露一種骨幹網路異常流量偵測方法,其包括以下步驟:利用來源網際網路協定(IP)位址過濾骨幹網路中的網路流量;將過濾過後的該網路流量均分到分散式大數據處理系統的複數工作節點中;於上述複數工作節點進行平行處理,並於上述每一個工作節點產生複數流
量特徵資料集;於上述每一個工作節點,利用複數異常流量辯識模型以及上述流量特徵資料集,以判定該網路流量是否異常;以及當判定該網路流量為異常時,利用複數攻擊類型辯識模型以及上述流量特徵資料集,以判定攻擊類型並產生分析結果。
在一具體實施例中,該骨幹網路異常流量偵測方法更包括將該分析結果送往分析資料庫儲存並於顯示介面中顯示。
在一具體實施例中,該利用該IP位址過濾該骨幹網路中的該網路流量的步驟更包括:建立白名單以及黑名單,其中該黑名單內儲存複數異常來源IP位址,該白名單內儲存複數可信任來源IP位址;判斷該骨幹網路中一封包的一來源IP位址是否於該白名單或者該黑名單中;以及當上述封包的該來源IP位址於該白名單或者該黑名單中時,捨棄上述封包。
在一具體實施例中,當判定該網路流量為異常時,將該分析結果送往一大量異常流量分析模組;分析該網路流量以取得該網路流量的該來源IP位址;以及將該來源IP位址加入該黑名單中。
在一具體實施例中,該將過濾過後的該網路流量均分到分散式大數據處理系統的上述工作節點中的步驟更包括:將過濾過後的該網路流量均分到阿帕契風暴(Apache Storm)系統的複數工作節點中並經過轉換處理輸出流量傳輸統計資料。
在一具體實施例中,該於上述工作節點的每一個產生上述流量特徵資料集的步驟更包括:利用流量特徵演算法分析該流量傳輸統計資料以產生上述流量特徵資料集。
在一具體實施例中,上述流量特徵資料集包括至少一基本流量特徵、至少一原始流量特徵以及至少一額外流量特徵。
在一具體實施例中,利用上述異常流量辯識模型以及該流量特徵資料集判定該網路流量是否異常的步驟更包括:從至少一已知之入侵偵測資料集選擇至少一行為特徵;對至少一機器學習演算法及一辨識結果進行效益分析以產生至少一被選擇的機器學習演算法;以及以上述行為特徵及上述被選擇的機器學習演算法離線訓練出上述異常流量辯識模型。
在一具體實施例中,利用上述攻擊類型辯識模型以及該流量特徵資料集判定該攻擊類型的步驟更包括:從至少一已知之入侵偵測資料集選擇至少一行為特徵;對至少一機器學習演算法及一辨識結果進行效益分析以產生至少一被選擇的機器學習演算法;以及以以上述行為特徵及上述被選擇的機器學習演算法離線訓練出上述攻擊類型辯識模型。
據此,本發明還提供一種骨幹網路異常流量偵測系統,執行前述骨幹網路異常流量偵測方法。
對於相關領域一般技術者而言這些與其他的觀點與實施例在參考後續詳細描述與伴隨圖示之後將變得明確。
S102:步驟
S104:步驟
S106:步驟
S108:步驟
S110:步驟
S202:步驟
S204:步驟
S206:步驟
S302:步驟
S304:步驟
S306:步驟
400:骨幹網路異常流量偵測系統
410:來源過濾模組
420:資料分流模組
430:分散式大數據處理系統
432_1至432_n:工作節點
440_1至440_m:流量特徵處理模組
450_1至450_m:異常流量辯識模組
460_1至460_m:攻擊類型辯識模組
470:分析結果
472_1至472_m:分析結果
474_1至474_m:分析結果
480:大量異常流量分析模組
490:分析資料庫
500:阿帕契風暴系統
510:主節點
520_1至520_t:暫存節點
600:根節點
610_1至610_6:子節點
700:骨幹網路異常流量偵測系統
702:離線部份
704:即時部份
706:多個異常流量辯識模型
708:多個攻擊類型辯識模型
710:來源過濾模組
720:資料分流模組
730:分散式大數據處理系統
732_1至732_n:工作節點
740:分析結果
參照下列圖式與說明,可更進一步理解本發明。非限制性與非窮舉性實例系參照下列圖式而描述。在圖式中的構件並非必須為實際尺寸;重點在於說明結構及原理。
第一圖係依據本發明一實施例之骨幹網路異常流量偵測方法的流程圖。
第二圖係依據本發明一實施例之離線訓練異常流量辯識模型的流程圖。
第三圖係依據本發明一實施例之離線訓練攻擊類型辯識模型的流程圖。
第四圖係依據本發明一實施例之骨幹網路異常流量偵測系統的具體結構之示意圖。
第五圖係依據本發明一實施例之分散式即時運算系統的架構示意圖。
第六圖係利用第五圖之分散式即時運算系統進行骨幹網路異常流量偵測方法的流程圖。
第七圖係依據本發明另一實施例之骨幹網路異常流量偵測系統的示意圖。
現在將參考本發明之伴隨圖式詳細描述實施例。在該伴隨圖式中,相同及/或對應元件系以相同參考符號所表示。
在此將揭露各種實施例;然而,要瞭解到所揭露之實施例只用於作為可體現為各種形式之例證。此外,連接各種實施例所給予之每一範例都預期作為例示,而非用於限制。進一步的,該圖式並不一定符合尺寸比例,某些特徵係被放大以顯示特定元件之細節(且該圖式中所示之任何尺寸、材料與類似細節都預期僅為例示而非限制)。因此,在此揭露之特定結構與功能細節並不被解釋做為限制,而只是用於教導相關領域技術人員實作所揭露之實施例的基礎。
在以下多個示例具體實施例的詳細敘述中,對該等隨附圖式進
行參考,該等圖式形成本發明之一部分。且係以範例說明的方式顯示,藉由該範例可實作該等所敘述之具體實施例。提供足夠的細節以使該領域技術人員能夠實作該等所述具體實施例,而要瞭解到在不背離其精神或範圍下,也可以使用其他具體實施例,並可以進行其他改變。此外,雖然可以如此,但對於「一實施例」的參照並不需要屬於該相同或單數的具體實施例。因此,以下詳細敘述並不具有限制的想法,而該等敘述具體實施例的範圍係僅由該等附加申請專利範圍所定義。
第一圖係依據本發明一實施例之骨幹網路異常流量偵測方法的流程圖,第二圖係依據本發明一實施例之離線訓練異常流量辯識模型的流程圖,第三圖係依據本發明一實施例之離線訓練攻擊類型辯識模型的流程圖。以下請一併參考第一圖到第三圖說明本發明一實施例之骨幹網路異常流量偵測方法。
第一圖係依據本發明一實施例之骨幹網路異常流量偵測方法的流程圖,雖然圖中顯示這些步驟具有順序性,但本發明所屬領域中具有通常知識者應可瞭解,在其他實施例中,某些步驟可以交換或者同時執行。
在步驟S102,利用來源網際網路協定(IP)位址過濾骨幹網路中的網路流量。在本實施例中,利用預先建立黑名單(未圖示)與白名單(未圖示)過濾骨幹網路中的網路流量為第一層過濾機制,黑名單內儲存已知之異常流量來源IP位址,白名單內儲存可信任來源IP位址,當某個來源IP位址在短時間內出現大量的異常流量時,將會將此來源IP位址儲存到黑名單內,而白名單為使用者預先加入,通常將加入大型網路服務商(例如:Google、Facebook、
YouTube等)的IP位址,當來自於黑名單或白名單內IP位址的封包到達時,即將這些封包直接丟棄。
在步驟S104,將過濾過後的該網路流量均分到分散式大數據處理系統的複數工作節點中。在本實施例中,將過濾過後的網路流量均分到分散式大數據處理系統的工作節點中為第一層分流機制,分散式大數據處理系統為阿帕契風暴(Apache Storm)系統,每個工作節點都為一台具有平行處理的能力之伺服器,每台伺服器可為實體伺服器或虛擬機器(Virtual Machine)。在本實施例中,非將原始之網路流量送入複數工作節點中,而是將經過轉換後的流量傳輸統計資料送入複數工作節點中,因此將節省大量的頻寬,具體實作方式可利用習知封包解析器實現,例如:瑞擎數位股份有限公司的”PacketX Grism”產品內建的負載平衡(Load Balance)的設定實現,若利用該產品實現時,送入複數工作節點的流量傳輸統計資料之格式即為Cisco Netflow V9。
在步驟S106,於上述複數工作節點進行平行處理,並於上述每一個工作節點的每一個產生複數流量特徵資料集(Datasets)。在本實施例中,於每個工作節點進行平行處理並於每個工作節點產生流量特徵資料集為第二層的分流機制以及資料預處理程序。送入每個工作節點的資料格式將為Cisco Netflow V9,這個格式中已包括基本流量特徵,接著,在利用流量特徵演算法分析流量傳輸統計資料以產生上述流量特徵資料集,舉例來說,利用習知之網路流量監視器例如:Argus所提供的工具將網路流量轉換為Argus流量後,先取得原始流量特徵,再根據UNSW-NB15(University of New South Wale Network Based 2015)定義的演算法產生額外流量特徵,流量特徵資料集包括基本流量
特徵、原始流量特徵以及額外流量特徵。要說明的是,由於UNSW-NB15為2015年位於澳洲新南威爾斯大學(UNSW)的澳洲國防學院(ADFA)發佈的入侵偵測資料集,且為目前使用最廣範之入侵偵測資料集,因此,將省略詳細的實作方式。
在步驟S108,於上述每一個工作節點,利用複數異常流量辯識模型以及上述流量特徵資料集,以判定該網路流量是否異常。在本實施例中,利用離線訓練出的複數異常流量辯識模型以及上述流量特徵資料集判定該網路流量是否異常為第二層過濾機制,為了提升整體的分析效能,利用離線訓練出的異常流量辯識模型辨識流量是否具有攻擊行為特徵,當出現攻擊行為特徵時,進入步驟S110,當判定該網路流量為正常時,將結束本發明之骨幹網路異常流量偵測方法的流程(未圖示)。
在本實施例中,將以離線的方式,預先建立異常流量辯識模型,請同時參考第二圖,第二圖係依據本發明一實施例之離線訓練出異常流量辯識模型的流程圖。
在步驟S202,從至少一已知之入侵偵測資料集選擇至少一行為特徵。在習知技術中,使用資料集的所有特徵來做機器學習知識模型的訓練,不一定保證會有最佳的性能(performance),且會增加計算成本,並提高辨識的錯誤率,因此在本實例中,將先做特徵選擇(feature selection),其目的為在不失去準確度的情況下,提高機器學習的分類速度,所使用的特徵選擇方法包括下列:
CfsSubsetEval:產生一組與類別(Class)有高關聯性,但是特徵
之間低關聯性的特徵集合。
CorrelationAttributeEval:計算出類別和特徵(Feature)之間的關聯性,數值範圍為1至-1。
InfoGainAttributeEval:以熵(Entropy)為基準,計算出資訊增益(Information Gain),得到的值愈大,表示這個特徵用來分類資料會愈佳。
GainRatioAttributeEval:根據資訊增益和分別資訊(Split Information),計算出增益比率(Gain Ratio)的值,得到的值愈大表示這個特徵愈重要。
OneRAttributeEval:根據一種名為OneR的分類(Classifier)方法,計算出特徵的誤判率,誤判率越低越好。
ReliefFAttributeEval:根據猜中近鄰(near hit)和猜錯近鄰(near miss)計算出特徵權重。猜中近鄰指的是相同類別最為接近的值,猜錯近鄰為不同類別最為接近的值。
SymmetricalUncertAttributeEval:衡量類別與特徵之間的關係。
WrapperSubsetEval:設定分類的方法,將特徵進行篩選選出一組特徵集合,並帶入分類來確認該特徵集合是否為最佳的組合,否則重新篩選特徵。
在步驟S204,對至少一機器學習演算法及辨識結果進行效益分析以產生至少一被選擇的機器學習演算法。在本實施例中,為了訓練機器,將預先蒐集具有攻擊行為之封包資料樣本作為訓練資料(Training Data),從訓練資料中擷取出資料的特徵(Features)幫助系統判讀出目標,例如:來源IP、使
用協定等,再告訴機器每一個攻擊所對應到的答案,把有攻擊行為之封包的資料標籤(Label)為1、一般封包標籤為0,由此讓機器知道那些封包有攻擊行為、那些封包沒有,隨著訓練的資料量變大,當一筆新資料輸入機器中,比如特徵具備協定為用戶資料報協定(UDP),系統即會判斷這封包有無攻擊行為或者有無攻擊行為的機率。由於此方法在機器的訓練過程中告訴機器答案即上述「有標籤」的資料,此為「監督式學習」(Supervised Learning)。
在本實施例中,還可利用「非監督式學習」(Unsupervised Learning),訓練資料沒有標準答案、不需要事先輸入標籤,機器在學習時並不知道其分類結果是否正確。訓練時僅須對機器提供輸入範例,它會自動從這些範例中找出潛在的規則。
在本實施例中,所使用的機器學習演算法包括下列:
貝氏網路學習法(BayesNet):貝氏網路學習法使用了各種搜尋演算法與品質測量法,基於貝氏網路分類器,提供了資料結構(網路結構、條件機率分佈等)以及使用貝氏網路學習演算法常見的工具。
簡單貝氏模型(NaiveBayes):簡單貝氏模型直接假設所有的隨機變數之間具有條件獨立的情況,因此可以直接利用條件機率相乘的方法,計算出聯合機率分布。p(X|C)=P(X1|C)P(X2|C)...P(Xd|C),其中X=[X1,X2,...,Xd]是一個特徵向量,而C代表一個特定類別。由此假設所產生的簡單貝氏分類器(naive Bayes classifier)是相當有實用性,其辨識效能常常不輸給其它更複雜的辨識器。
JRip分類法:此種分類法實施規則分類法(Rule-Based
Classifier),主要採用"If...Then"的方式對記錄做分類的動作。而本分類法為由William W.Cohen提出,由重複增量修剪以產生減少誤差。
PART分類法:此種分類法實施規則分類法(Rule-Based Classifier),為Weka(Weka是以Java為基礎的資料探勘與機器學習的軟體)特有,用個別擊破的方式建構局部的C4.5決策樹,並將最好的葉子組成規則。
J48演算法:此演算法為使用C4.5之決策樹,其核心算法是ID3演算法,改進了ID3,用信息增益率(Gain Ratio)來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足。在Weka中,可以設定參數使用修剪或未修剪的決策樹,而若選擇修剪,則預設為悲觀錯誤剪枝(Pessimistic Error Pruning,PER),使用錯誤率來進行修剪,此演算法首先確定這個葉子的經驗錯誤率(empirical)為(E+0.5)/N,0.5為一個調整係數。對於一顆擁有L個葉子的子樹,則子樹的錯誤數和實例數都是就應該是葉子的錯誤數和實例數求和的結果。J48也預設使用子樹提升(Subtree Raising)方法,方法為選擇某子樹,提升其層級以置換並將該子樹的樹根用其內部節點或葉節點替代。也可透過設置參數更改為子樹置換(Subtree Replacement),方法為選擇某個子樹,並用單個樹葉來置換它。
隨機樹(Random Tree):此演算法為Weka特有的演算法,其它的函式庫有些稱為隨機樹之演算法其實為隨機森林,但Weka不同,這裡指的是一棵隨機選取屬性的樹。
隨機森林(Random Fcrest):此種演算法會從中訓練資料中取出部分特徵(Feature)與部份資料產生出樹(Tree)(通常是使用CART演算法),
重覆建構出數棵不修剪的隨機樹後,每一棵樹都進行預測,最後將每個預測結果進行投票,票多者就是整個森林的預測結果。而在Weka中,則是會建構出數棵隨機樹以建立一個森林並進行預測。
在步驟S206,以上述行為特徵及上述被選擇的機器學習演算法離線訓練出上述異常流量辯識模型。
回到第一圖,在步驟S108,即利用上述方法訓練出的異常流量辯識模型判定該網路流量是否異常,當判定該網路流量為異常時,進入步驟S110。
在步驟S110,當判定該網路流量為異常時,利用複數攻擊類型辯識模型以及上述流量特徵資料集,以判定攻擊類型並產生分析結果。在本實施例中,利用離線訓練出的攻擊類型辯識模型以及流量特徵資料集判定攻擊類型並產生分析結果為第三層過濾機制。於識別攻擊類型後,可將分析結果送往分析資料庫儲存並於顯示介面中利用圖形化方式顯示分析結果並發出即時警示資訊。於識別攻擊類型後,還可將分析結果送往大量異常流量分析模組以分析該網路流量以取得網路流量的來源IP位址,並將來源IP位址加入黑名單中以即時更新黑名單。
在本實施例中,將離線的方式,預先建立攻擊類型辯識模型,請同時參考第三圖,第三圖係依據本發明一實施例之離線訓練出攻擊類型辯識模型的流程圖。
在步驟S302,對從至少一已知之入侵偵測資料集選擇至少一行為特徵,在本實施例中,使用的特徵選擇方法請參考上述第二圖中的步驟S202的描述。
在步驟S304,至少一機器學習演算法及一辨識結果進行效益分析以產生至少一被選擇的機器學習演算法。在本實施例中,所使用的機器學習演算法請參考上述第二圖中的步驟S204的描述。
在步驟S306,以上述行為特徵及上述被選擇的機器學習演算法離線訓練出上述攻擊類型辯識模型。
第四圖係依據本發明一實施例之骨幹網路異常流量偵測系統的具體結構之示意圖。如第四圖所示,骨幹網路異常流量偵測系統400包括來源過濾模組410、資料分流模組420、分散式大數據處理系統430、大量異常流量分析模組480以及分析資料庫490。分散式大數據處理系統430中包括n個工作節點432_1~432_n中,在工作節點432_1中配置有m個流量特徵處理模組440_1~440_m、m個異常流量辯識模組450_1~450_m以及攻擊類型辯識模組460_1~460_m,在此,n為至少為1的自然數及m為至少為2的自然數。
來源過濾模組410利用來源網際網路協定(IP)位址過濾骨幹網路中的網路流量。在本實施例中,來源過濾模組410進行第一層過濾機制,預先建立黑名單(未圖示)與白名單(未圖示)於來源過濾模組410,黑名單內儲存已知的異常流量來源IP位址,白名單內儲存可信任來源IP位址,當某個來源IP位址在短時間內出現大量的異常流量時,將會將此來源IP位址儲存到黑名單內,而白名單為系統管理者手動加入,通常將加入大型網路服務商(例如:Google、Facebook、YouTube等)的IP位址,當來自於黑名單或白名單內IP位址的封包到達來源過濾模組410時,來源過濾模組410會將這些封包直接丟棄。
在本實施例中,來源過濾模組410可利用一般封包解析器實現,
例如:瑞擎數位股份有限公司的”PacketX Grism”產品,白名單即使用該產品內建的設定即可輕易地將可信任來源IP位址加入,黑名單則是利用該產品提供的應用程式與本發明之大量異常來源模組480進行連接,當出現大量的異常行為封包時即可在第一時間進行阻擋,避免後端設備遭受攻擊。
資料分流模組420將來源過濾模組410過濾過後的網路流量均分到分散式大數據處理系統430的n個工作節點432_1~432_n中,在本實施例中,資料分流模組420進行第一層分流機制,資料分流模組420輸出到每個工作節點432_1~432_n為經過轉換後的流量傳輸統計資料,因此將節省大量的頻寬。
在本實施例中,資料分流模組420具體的實作方式可利用一般封包解析器實現,例如:瑞擎數位股份有限公司的”PacketX Grism”產品內建的負載平衡的設定實現,資料分流模組420輸出的格式為Cisco Netflow V9。
每個工作節點432_1~432_n都為一台具有平行處理的能力之伺服器,每台伺服器可為實體伺服器,也可以是虛擬機器。由於每個工作節點432_1~432_n都為一台具有平行處理的能力之伺服器,因此可於每個工作節點432_1~432_n配置複數個流量特徵處理模組、異常流量辯識模組以及攻擊類型辯識模組,在本實施例中以在工作節點432_1中配置有m個流量特徵處理模組440_1~440_m、m個異常流量辯識模組450_1~450_m以及攻擊類型辯識模組460_1~460_m為例進行說明。
流量特徵處理模組440_1~440_m於工作節點432_1進行平行處理,並分別產生流量特徵資料集。在本實施例中,流量特徵處理模組440_1~440_m進行第二層的分流機制以及資料預處理程序,資料分流模組420輸
出的格式為Cisco Netflow V9,這個格式中已包括基本流量特徵,接著,再利用流量特徵演算法分析流量傳輸統計資料以產生上述流量特徵資料集,舉例來說,利用習知之網路流量監視器例如:Argus所提供的工具將網路流量轉換為Argus流量後,先取得原始流量特徵,再根據UNSW-NB15定義的演算法產生額外流量特徵,流量特徵資料集包括基本流量特徵、原始流量特徵以及額外流量特徵。
異常流量辯識模組450_1~450_m利用離線訓練出的複數異常流量辯識模型以及上述流量特徵資料集判定該網路流量是否異常。在本實施例中,異常流量辯識模組450_1~450_m進行第二層過濾機制,為了系統整體的分析效能,異常流量辯識模組450_1~450_m僅辨識流量是否具有攻擊行為特徵,若有出現時才將流量送往下一層進行攻擊類型辨識,若辨識結果為正常,則輸出分析結果474_1~474_m。
攻擊類型辯識模組460_1~460_m利用離線訓練出的複數攻擊類型辯識模型以及該流量特徵資料集判定攻擊類型並產生分析結果472_1~472_m。本實施例中,攻擊類型辯識模組460_1~460_m進行第三層過濾機制,若流量被判定具有攻擊行為,則會在攻擊類型辯識模組460_1~460_m識別攻擊類型,並產生分析結果472_1~472_m。
在本實施例中,所有工作節點432_1~432_n的分析結果470,包括分析結果472_1~472_m以及分析結果474_1~474_m都可送往分析資料庫490儲存並於顯示介面中利用圖形化方式顯示分析結果(未圖示)。在本實施例中,分析結果472_1~472_m時於顯示介面中顯示時,也同時發出即時警示資訊。在
本實施例中,所有工作節點432_1~432_n的分析結果470也可送往大量異常流量分析模組480以分析該網路流量以取得網路流量的來源IP位址,並將來源IP位址加入黑名單中以即時更新黑名單。
在本實施例中,分散式大數據處理系統430為分散式即時運算系統,因此下文將以阿帕契風暴系統作為分散式大數據處理系統430的實施例進行更詳細地說明,請同時參考第五圖,第五圖為阿帕契風暴系統的架構示意圖。
如第五圖所示,阿帕契風暴系統500是一個分散式、可靠與容錯的系統並且以串流的方式處理大量數據,目前已普遍應用於即時數據分析或處理,阿帕契風暴系統500包括三種節點:工作節點432_1~432_n、主節點510、暫存節點520_1~520_t,其中t為至少為3的自然數。
主節點510又稱為Nimbus,主要負責管理、協調和監控在整個系統中運行的拓撲(topology),包括拓撲佈署、任務分配以及發生故障時的任務重新分配。
暫存節點520_1~520_t又稱為ZooKeeper,在習知分散式應用程式中,各種工作流程都需要相互協調並共享一些資訊,暫存節點520_1~520_t就是扮演主節點510和工作節點432_1~432_n之間的溝通橋樑。主節點510和工作節點432_1~432_n將所有資料儲存於暫存節點520_1~520_t,若突然終止主節點510和工作節點432_1~432_n將不會影響整個系統的運作。
工作節點432_1~432_n又稱為Supervisor,每個工作節點432_1~432_n都有工作流程,主要負責創建、啟動和停止工作流程以執行所分配的任務。
第六圖係利用第五圖之阿帕契風暴系統進行骨幹網路異常流量偵測方法的流程圖。在本實施例中,為了在阿帕契風暴系統500上使用即時運算,需要建立拓撲,並將其佈署於群集上以達到即時處理數據,拓撲由根節點(Spout)600與子節點(Bolt)節點610_1~610_6組成,根節點600與子節點610_1~610_6之間透過值組(tuple)這種數據結構傳遞數據。
根節點600主要接收由流量特徵資料集表示的網路流量,並將此網路流量以值組格式流向子節點610_1。
子節點610_1啟動離線產生之多個流量異常辨識模型即時辨識網路流量行為,若模型認為該網路流量為正常則標示為0,若為異常則標示為1,由流量特徵資料集表示的網路流量與多個流量異常辨識模型的辨識結果以值組格式流向子節點610_2。
子節點610_2綜合多個流量異常辨識模型的辨識結果,若任一辨識結果為異常,則由流量特徵資料集表示的網路流量以值組格式流向子節點610_3,若多個辨識結果皆為正常,則最終結果標示為0,並將由流量特徵資料集表示的網路流量、多個辨識結果以及最終辨識結果以值組格式流向子節點610_4。
子節點610_3啟動離線產生之多個攻擊類型辨識模型辨識網路攻擊類型,若模型認為該網路流量非模型本身攻擊類型,則標示為0,若為模型本身攻擊類型,則標示為1,且流量特徵資料集表示的網路流量以及多個辨識結果以值組格式流向子節點610_5。
子節點610_5綜合多個辨識結果,若任一辨識結果為異常,則最
終辨識結果標示為1,若每個辨識結果為正常,則最終結果標示為0。最後將由流量特徵資料集表示的網路流量、多個辨識結果以及最終辨識結果以值組格式流向流向子節點610_6。
子節點610_4以日誌(Log)方式記錄子節點610_2所傳送之資料即流量異常辯識結果,並且以每秒之速度產生日誌記錄檔。
子節點610_6以日誌(Log)方式記錄子節點610_5所傳送之資料即攻擊類型辨識結果,並且以每秒之速度產生日誌記錄檔。
第七圖係依據本發明另一實施例之骨幹網路異常流量偵測系統的示意圖。如圖所示,在本實施例中,骨幹網路異常流量偵測系統700的分為離線部份702和即時部份704。
在離線部份702,預先建立多個異常流量辯識模型706及攻擊類型辯識模型708。在本實施例中,利用第二圖以及第三圖的流程分別建立多個異常流量辯識模型706及攻擊類型辯識模型708,所使用的方法請分別參考第二圖以及第三圖的說明,此內容將不再贅述。
在即時部份704,來源過濾模組710利用來源網際網路協定(IP)位址過濾骨幹網路中的網路流量,來源過濾模組710進行第一層過濾機制,擷取真實的網路流量並過濾已知無害的網路流量,以降低後續入侵偵測的負載
資料分流模組720將來源過濾模組710過濾過後的網路流量均分到分散式大數據處理系統730的n個工作節點732_1~732_n中,資料分流模組720進行第一層分流機制,其將分成符合異常流量辯識模型以及攻擊類型辯識模型之行為特徵的串流型式,之後在各工作節點732_1~732_n進行分散式異常行為
偵測。
各工作節點732_1~732_n各自進行平行處理即第二層分流機制,依據預先建立之多個異常流量辯識模型706及多個攻擊類型辯識模型708同時快速地區分出正常及異常的網路流量並產生分析結果740以對異常的網路流量發出警告。另外,在本實施例中,各工作節點732_1~732_n之和第四圖之工作節點432_1具有相同的工作內容,請參考第四圖的相關說明,此內容將不再贅述。
綜上所述,本發明的特點在於提供一種骨幹網路流量的偵測方法和系統,其能因應骨幹網路的頻寬需求,並利用「分層」與「分流」的概念以及「離線」與「即時」兩階段處理達成快速且有效率地識別出異常流量,據此,大幅提升偵測方法和系統的效能。此外,本發明的分為離線和即時兩個部份,先擷取真實流量,利用第一層過濾機制過濾已知無害的網路流量以降低後續入侵偵測的負載,接著再以符合入侵偵測知識庫行為特徵的串流型式,進行分散式異常行為偵測,每一個異常行為分類器依據事先載入的入侵偵測知識庫,同時、快速地區分出正常及異常的網路流量,並對異常的網路流量發出警告。
S102:步驟
S104:步驟
S106:步驟
S108:步驟
S110:步驟
Claims (10)
- 一種骨幹網路異常流量偵測方法,其包括以下步驟:利用一來源網際網路協定(IP)位址過濾一骨幹網路中的一網路流量;將過濾過後的該網路流量均分到一分散式大數據處理系統的複數工作節點中;於上述複數工作節點進行一平行處理,並於上述每一個工作節點產生複數流量特徵資料集;於上述每一個工作節點,利用複數異常流量辯識模型以及上述流量特徵資料集,以判定該網路流量是否異常;以及當判定該網路流量為異常時,利用複數攻擊類型辯識模型以及上述流量特徵資料集,以判定一攻擊類型並產生一分析結果。
- 如申請專利範圍第1所述之骨幹網路異常流量偵測方法,更包括:將該分析結果送往一分析資料庫儲存並於一顯示介面中顯示。
- 如申請專利範圍第1所述之骨幹網路異常流量偵測方法,其中利用該IP位址過濾該骨幹網路中的該網路流量的步驟更包括:建立一白名單以及一黑名單,其中該黑名單內儲存複數異常來源IP位址,該白名單內儲存複數可信任來源IP位址;判斷該骨幹網路中一封包的一來源IP位址是否於該白名單或者該黑名單中;以及 當上述封包的該來源IP位址於該白名單或者該黑名單中時,捨棄上述封包。
- 如申請專利範圍第3所述之骨幹網路異常流量偵測方法,更包括:當判定該網路流量為異常時,將該分析結果送往一大量異常流量分析模組;分析該網路流量以取得該網路流量的該來源IP位址;以及將該來源IP位址加入該黑名單中。
- 如申請專利範圍第1所述之骨幹網路異常流量偵測方法,其中將過濾過後的該網路流量均分到該分散式大數據處理系統的上述工作節點中的步驟更包括:將過濾過後的該網路流量均分到一阿帕契風暴(Apache Storm)系統的複數工作節點中並經過一轉換處理輸出一流量傳輸統計資料。
- 如申請專利範圍第5所述之骨幹網路異常流量偵測方法,其中於上述工作節點的每一個產生上述流量特徵資料集的步驟更包括:利用一流量特徵演算法分析該流量傳輸統計資料以產生上述流量特徵資料集。
- 如申請專利範圍第1所述之骨幹網路異常流量偵測方法,其中該流量特徵資料集包括至少一基本流量特徵、至少一原始流量特徵以及至少一額外流量特徵。
- 如申請專利範圍第1所述之骨幹網路異常流量偵測方法,其中利用上述異常流量辯識模型以及該流量特徵資料集,以判定該網路流量是否異常的步驟更包括:從至少一已知之入侵偵測資料集選擇至少一行為特徵;對至少一機器學習演算法及一辨識結果進行效益分析以產生至少一被選擇的機器學習演算法;以上述行為特徵及上述被選擇的機器學習演算法離線訓練出上述異常流量辯識模型。
- 如申請專利範圍第1所述之骨幹網路異常流量偵測方法,其中利用上述攻擊類型辯識模型以及上述流量特徵資料集判定該攻擊類型的步驟更包括:從至少一已知之入侵偵測資料集選擇至少一行為特徵;對至少一機器學習演算法及一辨識結果進行效益分析以產生至少一被選擇的機器學習演算法;以上述行為特徵及上述被選擇的機器學習演算法離線訓練出上述攻擊類型辯識模型。
- 一種骨幹網路異常流量偵測系統,執行如申請專利範圍第1至10項其中之一所述之骨幹網路異常流量偵測方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107138229A TWI704782B (zh) | 2018-10-29 | 2018-10-29 | 骨幹網路異常流量偵測方法和系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107138229A TWI704782B (zh) | 2018-10-29 | 2018-10-29 | 骨幹網路異常流量偵測方法和系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202017337A TW202017337A (zh) | 2020-05-01 |
TWI704782B true TWI704782B (zh) | 2020-09-11 |
Family
ID=71895651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107138229A TWI704782B (zh) | 2018-10-29 | 2018-10-29 | 骨幹網路異常流量偵測方法和系統 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI704782B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI783229B (zh) * | 2020-05-22 | 2022-11-11 | 國立臺灣大學 | 網路異常流量偵測裝置及網路異常流量偵測方法 |
CN114615002B (zh) * | 2020-12-03 | 2024-02-27 | 中国移动通信集团设计院有限公司 | 运营商关键基础设施被控识别方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8917725B2 (en) * | 2005-07-06 | 2014-12-23 | Fortinet, Inc. | Systems and methods for detecting and preventing flooding attacks in a network environment |
JP5991901B2 (ja) * | 2011-11-14 | 2016-09-14 | テルコーディア・テクノロジーズ・インコーポレーテッド | 偽装ネットワークトラフィックを検知する方法、装置、及びプログラム |
US10148677B2 (en) * | 2015-08-31 | 2018-12-04 | Splunk Inc. | Model training and deployment in complex event processing of computer network data |
-
2018
- 2018-10-29 TW TW107138229A patent/TWI704782B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8917725B2 (en) * | 2005-07-06 | 2014-12-23 | Fortinet, Inc. | Systems and methods for detecting and preventing flooding attacks in a network environment |
JP5991901B2 (ja) * | 2011-11-14 | 2016-09-14 | テルコーディア・テクノロジーズ・インコーポレーテッド | 偽装ネットワークトラフィックを検知する方法、装置、及びプログラム |
US10148677B2 (en) * | 2015-08-31 | 2018-12-04 | Splunk Inc. | Model training and deployment in complex event processing of computer network data |
Also Published As
Publication number | Publication date |
---|---|
TW202017337A (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Da Silva et al. | ATLANTIC: A framework for anomaly traffic detection, classification, and mitigation in SDN | |
He et al. | Software-defined-networking-enabled traffic anomaly detection and mitigation | |
CN105493450B (zh) | 动态检测网络中的业务异常的方法和系统 | |
Da Silva et al. | Identification and selection of flow features for accurate traffic classification in SDN | |
Strayer et al. | Botnet detection based on network behavior | |
CN104115463B (zh) | 用于处理网络元数据的流式传输方法和系统 | |
US7903566B2 (en) | Methods and systems for anomaly detection using internet protocol (IP) traffic conversation data | |
US10389606B2 (en) | Merging of scored records into consistent aggregated anomaly messages | |
US11095670B2 (en) | Hierarchical activation of scripts for detecting a security threat to a network using a programmable data plane | |
Xie et al. | Subflow: Towards practical flow-level traffic classification | |
US9584533B2 (en) | Performance enhancements for finding top traffic patterns | |
US8762515B2 (en) | Methods and systems for collection, tracking, and display of near real time multicast data | |
US20100050262A1 (en) | Methods and systems for automated detection and tracking of network attacks | |
CN108900541A (zh) | 一种针对云数据中心sdn安全态势感知系统及方法 | |
US10855549B2 (en) | Network data processing driver for a cognitive artificial intelligence system | |
US7903657B2 (en) | Method for classifying applications and detecting network abnormality by statistical information of packets and apparatus therefor | |
US20170295068A1 (en) | Logical network topology analyzer | |
Boschetti et al. | TVi: A visual querying system for network monitoring and anomaly detection | |
Ahmed et al. | Intrusion Detection System in Software-Defined Networks Using Machine Learning and Deep Learning Techniques--A Comprehensive Survey | |
Janabi et al. | Convolutional neural network based algorithm for early warning proactive system security in software defined networks | |
TWI704782B (zh) | 骨幹網路異常流量偵測方法和系統 | |
Thi et al. | Federated learning-based cyber threat hunting for apt attack detection in SDN-enabled networks | |
CN117395076A (zh) | 基于大数据的网络感知异常检测系统与方法 | |
Evangelou et al. | Predictability of netflow data | |
Saidi et al. | Fuzzy logic based intrusion detection system as a service for malicious port scanning traffic detection |