專利名稱:一種解決入侵檢測系統(tǒng)中海量報(bào)警的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)入侵檢測(NIDS)技術(shù)領(lǐng)域,具體涉及一種解決入侵檢測系統(tǒng)中海量報(bào)警的方法。
背景技術(shù):
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)安全問題已成為最令人關(guān)注的問題之一。入侵檢測技術(shù)是動態(tài)網(wǎng)絡(luò)安全技術(shù)的核心技術(shù)之一,它從網(wǎng)絡(luò)系統(tǒng)中的若干關(guān)鍵點(diǎn)收集信息并對其進(jìn)行分析,從中發(fā)現(xiàn)網(wǎng)絡(luò)系統(tǒng)中是否有違反安全策略的行為和遭到襲擊的跡象。在實(shí)際網(wǎng)絡(luò)環(huán)境中,入侵檢測系統(tǒng)常常遇到大量的報(bào)警信息,缺乏經(jīng)驗(yàn)的管理員,難以從紛繁蕪雜的報(bào)警中準(zhǔn)確識別出真正的攻擊,無法確定實(shí)際的攻擊行為和來源。出現(xiàn)上述現(xiàn)象是因?yàn)槟壳暗娜肭謾z測系統(tǒng)存在報(bào)警洪災(zāi)、誤報(bào)率高和孤立報(bào)警等問題,主要表現(xiàn)在以下幾個方面(1)報(bào)警信息洪災(zāi)在實(shí)際網(wǎng)絡(luò)環(huán)境中,各種郵件病毒、網(wǎng)絡(luò)廣播、網(wǎng)絡(luò)狀態(tài)探測數(shù)據(jù)包眾多,為了保證網(wǎng)絡(luò)入侵事件記錄的完整性,IDS會記錄所有探測到的相關(guān)信息,往往會掩蓋相對為數(shù)較少的真正發(fā)起攻擊的報(bào)警信息。
(2)報(bào)警信息重復(fù)IDS收集入侵信息時,會針對每一條信息進(jìn)行記錄,一次長時間的DoS攻擊會引發(fā)檢測器發(fā)送多個報(bào)警信息,這些報(bào)警信息具有同樣的攻擊方式、同樣的源IP和目的IP。一方面會淹沒其他攻擊信息,使報(bào)警信息沒有任何可讀性,另一方面數(shù)據(jù)庫有可能因?yàn)槎虝r間記錄大量信息而無法提供正常服務(wù),最終可能導(dǎo)致日志數(shù)據(jù)庫崩潰。
針對以上的問題,發(fā)明一種解決網(wǎng)絡(luò)入侵檢測系統(tǒng)海量報(bào)警的方法。
發(fā)明內(nèi)容
本發(fā)明要提供一種解決入侵檢測系統(tǒng)中海量報(bào)警的方法,以克服現(xiàn)有入侵檢測系統(tǒng)存在報(bào)警洪災(zāi)、誤報(bào)率高和孤立報(bào)警的問題。
本發(fā)明基于統(tǒng)計(jì)的思想,提出一種解決入侵檢測系統(tǒng)中海量報(bào)警的方法。主要分為兩個階段預(yù)處理階段和統(tǒng)計(jì)階段。
第一階段預(yù)處理階段將網(wǎng)卡設(shè)置為混雜模式,通過Libpcap進(jìn)行循環(huán)抓包,Libpcap采用零拷貝技術(shù)把用戶內(nèi)存映射到內(nèi)核中,抓取到的數(shù)據(jù)包通過鏈路層解碼,協(xié)議層處理和流重組,進(jìn)行規(guī)則匹配,產(chǎn)生一個告警事件,這個事件存儲到一個hash鏈表中,使f(x)=a[x],用數(shù)組下表作索引以提高查找的效率。
第二階段統(tǒng)計(jì)階段根據(jù)鏈表的屬性值,對產(chǎn)生的事件進(jìn)行統(tǒng)計(jì),即根據(jù)設(shè)定選項(xiàng)來決定是否報(bào)警。
上述統(tǒng)計(jì)階段中的設(shè)定選項(xiàng)包括1.設(shè)定時間間隔根據(jù)鏈表中事件的第一次觸發(fā)時間與最后一次產(chǎn)生事件的時間間隔來決定是否向管理員發(fā)送報(bào)警信息;2.設(shè)定事件個數(shù)根據(jù)鏈表中計(jì)數(shù)器的值,決定是否向管理員發(fā)送報(bào)警信息;3.設(shè)定事件密度計(jì)算事件個數(shù)與間隔時間的比值,如果超過設(shè)定事件密度的閾值,則向管理員發(fā)送報(bào)警信息;4.設(shè)定持續(xù)時間根據(jù)鏈表中事件的第一次觸發(fā)時間與當(dāng)前時間的間隔來決定是否向管理員發(fā)送報(bào)警信息;
5.設(shè)定源IP地址根據(jù)選定的源IP地址向管理員發(fā)送報(bào)警信息;6.設(shè)定目的IP地址管理員根據(jù)網(wǎng)絡(luò)中不同服務(wù)器的重要程度,來設(shè)定相應(yīng)的目的IP地址,根據(jù)選定的目的IP地址向管理員發(fā)送報(bào)警信息,上述六個選項(xiàng)可以單獨(dú)使用也可以聯(lián)合使用,在聯(lián)合使用的過程中管理員可以根據(jù)網(wǎng)絡(luò)實(shí)際情況給這六種選項(xiàng)分配不同的優(yōu)先級,只要滿足條件就發(fā)送報(bào)警信息。
與現(xiàn)有技術(shù)相比,通過本發(fā)明,管理員可以方便地從紛繁蕪雜的報(bào)警中準(zhǔn)確識別出真正的攻擊,確定實(shí)際的攻擊行為以及來源。
附圖為本發(fā)明解決入侵檢測系統(tǒng)中海量報(bào)警方法的流程圖。
具體實(shí)施例方式本發(fā)明可以部屬于IDS設(shè)備中。下面將通過在IDS設(shè)備中實(shí)施本發(fā)明進(jìn)行詳細(xì)描述。
本發(fā)明的步驟是第一階段預(yù)處理階段(一)以旁路偵聽方式捕獲網(wǎng)絡(luò)上的數(shù)據(jù)包;(二)規(guī)則匹配,假設(shè)當(dāng)IDS規(guī)則有9000條時,建立一個數(shù)組為a ,數(shù)組中存放指向不同鏈表的地址,對于每一條規(guī)則的統(tǒng)計(jì)信息存放在一個數(shù)據(jù)元素指向的鏈表中,這樣觸發(fā)事件時匹配非常快,a[id]就能直接找到需要統(tǒng)計(jì)的鏈表首地址(也就是hash查找),用id作為索引,鏈表的每一個結(jié)點(diǎn)存放了觸發(fā)這條規(guī)則的一個連接上的統(tǒng)計(jì)信息,其中包括源地址(SrcIP)、目的地址(DstIP)、源端口(SrcPort)、目的端口(DstPort)、開始時間(Starttime)、結(jié)束時間(Endtime)、次數(shù)(Count)以及各告警閾值等。
第二階段統(tǒng)計(jì)階段
根據(jù)鏈表的屬性值,對產(chǎn)生的事件進(jìn)行統(tǒng)計(jì),根據(jù)用戶對六個選項(xiàng)的綜合選擇來產(chǎn)生報(bào)警,并且可以給選項(xiàng)設(shè)置優(yōu)先級,檢測引擎把檢測結(jié)果寫到這個hash鏈表中,發(fā)送引擎定時根據(jù)用戶要求把結(jié)果進(jìn)行上報(bào),下面給出了不同的例子來說明例子1設(shè)定目的IP為192.168.1.8,并且設(shè)置這個選項(xiàng)的優(yōu)先級最高,又設(shè)定了事件個數(shù)為10次(即該選項(xiàng)的閾值為10),當(dāng)產(chǎn)生事件的目的IP是192.168.1.8時,直接發(fā)送報(bào)警給管理員,而當(dāng)產(chǎn)生事件的目的IP不是192.168.1.8時,需滿足事件個數(shù)累計(jì)10次后才發(fā)送報(bào)警。
例子2設(shè)定了時間間隔為五分鐘(這相當(dāng)于是一個時間窗),源IP為192.168.1.8,事件個數(shù)為10,目的IP是192.168.1.18,當(dāng)同時滿足這四個條件時發(fā)送一個報(bào)警給管理員。
例子3設(shè)定某個規(guī)則的產(chǎn)生事件密度為100個/秒,當(dāng)這個規(guī)則被觸發(fā)的密度滿足條件時,則給管理員發(fā)送一個報(bào)警。
最后所應(yīng)說明的是以上實(shí)施方式僅用以說明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實(shí)施方式對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改與局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍內(nèi)。
權(quán)利要求
1.一種解決入侵檢測系統(tǒng)中海量報(bào)警的方法,分為下述兩個階段第一階段預(yù)處理階段將網(wǎng)卡設(shè)置為混雜模式,通過Libpcap進(jìn)行循環(huán)抓包,Libpcap采用零拷貝技術(shù)把用戶內(nèi)存映射到內(nèi)核中,抓取到的數(shù)據(jù)包通過鏈路層解碼,協(xié)議層處理和流重組,進(jìn)行規(guī)則匹配,產(chǎn)生一個告警事件,這個事件存儲到一個hash鏈表中,使f(x)=a[x],用數(shù)組下表作索引以提高查找的效率。第二階段統(tǒng)計(jì)階段根據(jù)鏈表的屬性值,對產(chǎn)生的事件進(jìn)行統(tǒng)計(jì),即根據(jù)設(shè)定選項(xiàng)來決定是否報(bào)警。
2.如權(quán)利要求1所述的一種解決入侵檢測系統(tǒng)中海量報(bào)警的方法,其特征在于所述統(tǒng)計(jì)階段中的設(shè)定選項(xiàng)包括①設(shè)定時間間隔根據(jù)鏈表中事件的第一次觸發(fā)時間與最后一次產(chǎn)生事件的時間間隔來決定是否向管理員發(fā)送報(bào)警信息;②設(shè)定事件個數(shù)根據(jù)鏈表中計(jì)數(shù)器的值,決定是否向管理員發(fā)送報(bào)警信息;③設(shè)定事件密度計(jì)算事件個數(shù)與間隔時間的比值,如果超過設(shè)定事件密度的閾值,則向管理員發(fā)送報(bào)警信息;④設(shè)定持續(xù)時間根據(jù)鏈表中事件的第一次觸發(fā)時間與當(dāng)前時間的間隔來決定是否向管理員發(fā)送報(bào)警信息;⑤設(shè)定源IP地址根據(jù)選定的源IP地址向管理員發(fā)送報(bào)警信息;⑥設(shè)定目的IP地址管理員根據(jù)網(wǎng)絡(luò)中不同服務(wù)器的重要程度,來設(shè)定相應(yīng)的目的IP地址,根據(jù)選定的目的IP地址向管理員發(fā)送報(bào)警信息,上述六個選項(xiàng)可以單獨(dú)使用也可以聯(lián)合使用,在聯(lián)合使用的過程中管理員可以根據(jù)網(wǎng)絡(luò)實(shí)際情況給這六種選項(xiàng)分配不同的優(yōu)先級,只要滿足條件就發(fā)送報(bào)警信息。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)入侵檢測(NIDS)技術(shù)領(lǐng)域,具體涉及一種解決入侵檢測系統(tǒng)中海量報(bào)警的方法。本發(fā)明要克服現(xiàn)有入侵檢測系統(tǒng)存在的報(bào)警洪災(zāi)、誤報(bào)率高和孤立報(bào)警的問題。本發(fā)明的方法分為兩個階段(1)預(yù)處理階段將網(wǎng)卡設(shè)置為混雜模式,通過Libpcap進(jìn)行循環(huán)抓包,Libpcap采用零拷貝技術(shù)把用戶內(nèi)存映射到內(nèi)核中,抓取到的數(shù)據(jù)包通過鏈路層解碼,協(xié)議層處理和流重組,進(jìn)行規(guī)則匹配,產(chǎn)生一個告警事件,這個事件存儲到一個hash鏈表中,使f(x)=a[x],用數(shù)組下表作索引以提高查找的效率。(2)統(tǒng)計(jì)階段根據(jù)鏈表的屬性值,對產(chǎn)生的事件進(jìn)行統(tǒng)計(jì),即根據(jù)設(shè)定選項(xiàng)來決定是否報(bào)警。
文檔編號H04L12/26GK101090334SQ20071001792
公開日2007年12月19日 申請日期2007年5月23日 優(yōu)先權(quán)日2007年5月23日
發(fā)明者劉濤, 白亮, 張永彬, 趙衛(wèi)棟, 靳衛(wèi)衡 申請人:西安交大捷普網(wǎng)絡(luò)科技有限公司