技術領域
本發(fā)明涉及信息安全領域,具體涉及一種網絡攻擊分析系統(tǒng)。
背景技術:
Internet的飛速發(fā)展,為信息的傳播和利用帶來了極大的方便,同時也使人類社會面臨著信息安全的巨大挑戰(zhàn)。為了緩解日益嚴重的安全問題,入侵檢測設備(IDS:IntrusionDetectionSystem)得到了越來越廣泛的部署。IDS安裝在被保護的網段中,其監(jiān)聽網卡工作在混雜模式下,分析網段中所有的數據包,進行網絡攻擊事件的實時檢測和響應。目前IDS普遍采用誤用檢測技術,其檢測方法為:首先對標識特定的入侵行為模式進行編碼,建立誤用模式庫,然后對實際檢測過程中得到的事件數據進行過濾,檢查是否包含入侵行為的標識。如果檢測到入侵行為,則產生一條對應的日志,其中包含了入侵行為發(fā)起方地址(源地址)、入侵行為目標地址(目的地址)、入侵行為描述(事件類型)等信息。
入侵檢測設備的大量引入一方面保護了信息系統(tǒng)的安全,另一方面也帶來了新的問題,概況起來主要體現在以下兩個方面:
1.連續(xù)運行的入侵檢測設備會產生海量的日志,而真正有價值的報警信息被淹沒在海量日志中。由于報警量大、不相關報警多,安全管理人員的大部分精力被耗費在處理無用信息上,很難了解系統(tǒng)的安全威脅狀況。
2.現有的入侵檢測設備大都是基于單個數據包進行檢測的,體現在表現形式上,入侵檢測設備的報警信息為孤立的入侵事件。這樣當出現大規(guī)模網絡異常行為時,很難從報警信息中直觀獲取異常行為的特點,難以從整體上評估當前的網絡攻擊狀況。
技術實現要素:
本發(fā)明的目的在于克服現有技術中的上述缺陷,實現對海量日志的自動分析,給出對當前網絡攻擊狀況的評價,以提高安全管理的效率。
根據本發(fā)明的目的,本發(fā)明提供了一種網絡攻擊分析系統(tǒng),通過獲取海量的入侵檢測設備日志,對所述入侵檢測設備日志進行關聯(lián)分析,其特征在于,該系統(tǒng)包括:熵模塊單元、三元組模塊單元、熱點事件傳播展示模塊單元、綜合關聯(lián)分析模塊單元;其中
所述熵模塊單元讀取所述入侵檢測設備日志,計算源地址和目的地址的熵分布值,判斷是否存在大規(guī)模網絡安全事件,并將判斷結果輸出給所述綜合關聯(lián)分析模塊單元;
所述三元組模塊單元讀取入侵檢測設備的日志,根據源地址、目的地址、事件類型三個參數,對所述入侵檢測設備日志進行歸并,檢測并報告異常地址或熱點事件,并將檢測結果輸出給所述綜合關聯(lián)分析模塊單元;
所述熱點事件傳播展示模塊單元讀取入侵檢測設備的日志,統(tǒng)計并展示熱點事件在指定時間段內的傳播過程,并將統(tǒng)計結果輸出給所述綜合關聯(lián)分析模塊單元;
所述綜合關聯(lián)分析模塊單元接收上述三個模塊單元輸出的判斷結果、檢測結果、統(tǒng)計結果,并對這些結果進行關聯(lián)分析,給出當前網絡安全狀況的評價。
根據該系統(tǒng),所述熱點事件傳播展示模塊單元進行展示的方式為圖形顯示。
根據該系統(tǒng),所述綜合關聯(lián)分析模塊單元給出當前網絡安全狀況的評價的內容包括:源IP地址分布狀況、目的IP地址分布狀況、當前最活躍的攻擊情況、當前的熱點事件以及熱點事件在過去一個設定時間段的傳播過程。
根據該系統(tǒng),所述三元組模塊單元將其檢測結果同時輸出到所述熱點事件傳播展示模塊單元,所述熱點事件傳播展示模塊單元接收到所述檢測結果之后,獲得當前的熱點事件在指定時間段內的傳播過程。
本發(fā)明的網絡攻擊分析系統(tǒng)具有以下優(yōu)點:
1、通過計算入侵檢測設備日志的源地址和目的地址的熵分布值,能夠檢測出引起地址分布異常的大規(guī)模網絡攻擊事件,如網絡掃描、分布式拒絕服務攻擊等。
2、根據源地址、目的地址、事件類型三個參數進行歸并,能夠檢測出多種攻擊情況,能夠在發(fā)生大規(guī)模網絡攻擊事件時能夠檢測出攻擊源、攻擊目標和事件類型。
3、通過觀測和展示熱點事件的傳播過程,便于網絡管理員判斷該熱點事件的發(fā)展趨勢,從而制定出合理的應對措施。
為了進一步說明本發(fā)明的原理及特性,以下結合附圖和具體實施方式對本發(fā)明進行詳細說明。
附圖說明
圖1是按照本發(fā)明一個實施方式的網絡攻擊分析系統(tǒng)的結構示意圖。
具體實施方式
下面結合附圖詳細描述本發(fā)明的具體實施方式。
圖1是按照本發(fā)明一個實施方式的網絡攻擊分析系統(tǒng)的結構示意圖。在按照該實施方式的網絡攻擊分析系統(tǒng)100中,包括熵模塊單元101、三元組模塊單元102、熱點事件傳播展示模塊單元103、綜合關聯(lián)分析模塊單元104。
熵模塊單元101用于讀取一個指定時間段內的入侵檢測設備日志,然后計算入侵檢測設備日志的源地址和目的地址的熵分布值,判斷是否存在大規(guī)模網絡攻擊事件,然后向綜合關聯(lián)分析模塊單元104輸出當前網絡攻擊事件地址分布狀況的判斷結果。
三元組模塊單元102用于讀取一個時間段內的入侵檢測設備日志,分別根據入侵檢測設備日志的源地址、目的地址、事件類型對入侵檢測設備日志進行歸并,從而檢測并報告異常地址、熱點事件,并向綜合關聯(lián)分析模塊單元104輸出統(tǒng)計結果。
熱點事件傳播展示模塊單元103用于從三元組模塊單元102中獲取當前的熱點事件,計算出指定時間段內發(fā)出過這些事件的源地址的數量,向綜合關聯(lián)分析模塊單元104輸出統(tǒng)計結果,同時展示熱點事件在該時間段內的傳播過程。優(yōu)選地,上述指定時間段以分鐘為單位,上述統(tǒng)計結果是發(fā)出熱點事件的源IP地址的數量。優(yōu)選地,上述展示過程采用圖形方式進行顯示。
綜合關聯(lián)分析模塊單元104用于分別接收來自熵模塊單元101、三元組模塊單元102、熱點事件傳播展示模塊單元103的輸出結果、檢測結果和統(tǒng)計結果,并對這些接收到的結果進行關聯(lián)分析。優(yōu)選地,綜合關聯(lián)分析模塊單元104對網絡攻擊狀況進行綜合評價的內容包括但不局限于:源IP地址分布狀況、目的IP地址分布狀況、當前最活躍的攻擊情況、當前的熱點事件以及熱點事件在過去一個設定時間段內的傳播過程。
按照本發(fā)明的一個實施方式,三元組模塊單元103向綜合關聯(lián)分析模塊單元104輸出的統(tǒng)計結果包括以下7種攻擊情況:
1、單一方式攻擊:源地址、目的地址、事件類型均相同的事件集合;
2、多種方式攻擊:源地址、目的地址相同,事件類型任意的事件集合;
3、查找攻擊目標:源地址、事件類型相同,目的地址任意的事件集合;
4、遭受同種攻擊:目的地址、事件類型相同,源地址任意的事件集合;
5、主要攻擊來源:源地址相同,目的地址、事件類型任意的事件集合;
6、瀕危受害目標:目的地址相同,源地址、事件類型任意的事件集合;
7、熱點事件排名:事件類型相同,源地址、目的地址任意的事件集合。
更進一步地,按照本發(fā)明的一個實施方式,假設三元組模塊單元103設置成獲取每種攻擊中排名最高的攻擊情況,則如果某個檢測周期內入侵檢測設備共檢測到以下攻擊事件:
1.主機192.168.0.1對主機192.168.1.1實施了50次“SYN_FLOOD拒絕服務攻擊”;
2.主機192.168.0.2對主機192.168.1.2實施了10次“FTP口令猜測攻擊”;
3.主機192.168.0.3對主機192.168.1.1~192.168.1.100共100臺主機各進行了一次“HTTP端口掃描攻擊”;
4.主機192.168.0.1對主機192.168.1.1實施了30次“MS_LSA_遠程緩沖區(qū)溢出漏洞利用攻擊”;
5.主機192.168.0.4對主機192.168.1.1實施了40次“SYN_FLOOD拒絕服務攻擊”;
那么,三元組模塊單元103檢測出并報告的攻擊情況為:
單一方式攻擊:源地址:192.168.0.1,目的地址:192.168.1.1,事件類型:SYN_FLOOD拒絕服務攻擊,事件次數:50;
多種方式攻擊:源地址:192.168.0.1,目的地址:192.168.1.1,事件次數:80;
查找攻擊目標:源地址:192.168.0.3,事件類型:HTTP端口掃描攻擊,事件次數:100;
遭受同種攻擊:目的地址:192.168.1.1,事件類型:SYN_FLOOD拒絕服務攻擊,事件次數:90;
主要攻擊來源:源地址:192.168.0.3,事件次數:100;
瀕危受害目標:目的地址:192.168.1.1,事件次數:121;
熱點事件排名:事件類型:HTTP端口掃描攻擊,事件次數:100。
以下是檢測源地址、目標地址熵分布值的流程。該流程從步驟201開始。
步驟201:讀取熵檢測配置參數信息,并且將當前的地址熵檢測階段設置為學習階段。
步驟202:查詢當前觀測周期內,入侵檢測設備報告的所有日志。
步驟203:對入侵檢測設備上報的所有日志進行統(tǒng)計,統(tǒng)計出日志中所有的源IP地址、目的IP地址的出現次數。在統(tǒng)計的時候利用哈希(Hash)算法將源IP地址、目的IP地址映射為整數。優(yōu)選地,源IP地址、目的IP地址為32位的IPv4地址,在統(tǒng)計的時候利用Hash(哈希)算法將這些32位的IPv4地址映射為16位的整數。
步驟204:計算源IP地址、目的IP地址熵分布H。優(yōu)選的計算方法為:
H=(-Σi=065535(CiS)log2(CiS))/log2S
其中,
Ci是經過Hash運算后的IP地址i出現的次數,
S是當前觀測周期內總的IP地址數量,S=Σi=065535Ci.
當然,本領域的技術人員應該理解,計算熵分布的算法也可以采用現有技術中任何適當的熵分布算法。
步驟205:判斷當前的熵檢測階段是否處于學習階段,如果判斷結果為“是”,則進入步驟206,否則進入步驟209。
步驟206:計算估計誤差并更新誤差隊列。具體包括:計算源地址的熵估計誤差、目的地址的熵估計誤差,并將上述估計誤差都加入到誤差隊列中。優(yōu)選地,計算源地址的熵估計誤差、目的地址的熵估計誤差的優(yōu)選算法是采用指數加權移動平均數(EWMA,ExponentiallyWeightedMovingAverage)算法,具體的優(yōu)選計算方法為:
Si=αxi-1+(1-α)Si-1
ei=xi-Si
其中,
Si是第i期地址熵平滑值;
α是平滑系數,取值范圍為(0,1),根據從步驟201讀取的配置參數信息中得到;
xi是第i期地址熵計算值,由步驟204中的計算結果得到;
ei是第i期估計誤差。
當然,本領域的技術人員應該理解,計算熵估計誤差的算法也可以采用現有技術中任何適當的移動平均算法。
步驟207:判斷誤差隊列是否已滿。具體包括:根據從步驟201讀取的熵檢測配置參數信息中得到的隊列長度參數,判斷誤差隊列的長度是否滿足隊列長度參數要求,如果判斷結果為“是”,則進入步驟208,否則進入步驟202。
步驟208:計算地址熵的基線并進入到實時檢測階段。具體包括:計算源地址熵、目的地址熵的基線,并將當前的地址熵檢測階段設為實時檢測階段,然后進入步驟202。計算上述基線的優(yōu)選計算方法為:
(1)根據誤差序列計算平均平方誤差σ:
MSE=Σi=0L-1ei2L
σ=MSE
(2)根據EWMA算法,計算下一個觀測周期的地址熵的預測值:
Sn=αxn-1+(1-α)Sn-1
步驟209:判斷當前源IP地址熵、目的IP地址熵分布是否正常,如果判斷結果為“是”,則進入步驟210,否則進入步驟211。
具體的判斷方法為:計算地址熵預測值Sn與計算值之間的差值:
(1)如果|Sn-xn|<3σ,則當前的地址熵分布正常;
(2)如果3σ≤|Sn-xn|<5σ,則當前的地址熵分布輕度異常;
(3)如果5σ≤|Sn-xn|<8σ,則當前的地址熵分布中度異常;
(4)如果|Sn-xn|≥8σ:則當前的地址熵分布高度異常。
步驟210:輸出當前地址熵狀態(tài)并更新基線。更新基線的具體方式是:刪去誤差隊列中的第一個元素,將步驟209中的估計誤差加入到誤差隊列的末尾,利用步驟208的方法重新計算基線。然后進入步驟202。
步驟211:輸出當前地址熵檢測狀態(tài),然后進入步驟202。
以下按照本發(fā)明一個實施方式詳細描述進行一次攻擊分析的過程。
假設某個網段有192.168.0.1~192.168.0.100共100臺主機,某個時刻攻擊者利用這100臺主機,向另外一臺主機192.168.1.1發(fā)起了SYN_FLOOD拒絕服務攻擊。為了避免引起網絡流量突變,攻擊者每分鐘添加10臺主機進行攻擊,10分鐘后100臺主機都被用來進行攻擊。
那么,按照本發(fā)明一個實施方式對該次攻擊的分析過程為:
1.由于所有的發(fā)起的攻擊都是針對主機192.168.1.1的,在入侵檢測設備產生的日志中,目的地址的分布狀態(tài)非常明顯。因此熵模塊單元101首先會檢測到出現了異常,并按照上述地址熵檢測流程,更進一步地得到該網段內所針對的目標地址都是192.168.1.1。然后,熵模塊單元101將地址熵分布異常、目的地址集中為192.168.1.1的判斷結果送到綜合關聯(lián)分析模塊單元104。
2.三元組模塊單元102通過從源地址、目的地址、事件類型三個參數進行歸并,得出當前最常見的攻擊情況是:目標為192.168.1.1的主機,受到類型為SYN_FLOOD拒絕服務的攻擊,當前最活躍的攻擊事件為SYN_FLOOD拒絕服務攻擊,并將檢測結果送到綜合關聯(lián)分析模塊單元104。
3.熱點事件傳播模塊單元103統(tǒng)計后得出這10分鐘內,發(fā)出SYN_FLOOD拒絕服務攻擊的主機次數在逐漸增加,并將統(tǒng)計結果送到綜合關聯(lián)分析模塊單元104。
4.綜合關聯(lián)分析模塊單元104接收并關聯(lián)分析熵模塊單元101、三元組模塊單元102、熱點事件傳播展示模塊單元103輸出的結果,從而得出網絡攻擊狀況的綜合評價:由于地址熵分布異常,且目的地址都集中在主機192.168.1.1上,因此發(fā)生了針對該主機的拒絕服務攻擊;攻擊的類型為SYN_FLOOD拒絕服務攻擊;攻擊過程為從起始時刻起,每分鐘增加10臺主機進行攻擊,直至攻擊源總數為100臺主機。
在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。
盡管已經示出和描述了本發(fā)明的實施例,本領域的普通技術人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發(fā)明的范圍由權利要求及其等同物限定。