国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于角標(biāo)隨機(jī)讀取的Snort報(bào)警數(shù)據(jù)聚合方法

2019-11-28 07:54陶曉玲周理勝龔昱鳴
關(guān)鍵詞:精簡(jiǎn)IP地址代碼

陶曉玲, 周理勝, 龔昱鳴

(1.桂林電子科技大學(xué) 廣西高校云計(jì)算與復(fù)雜系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004;2.桂林電子科技大學(xué) 計(jì)算機(jī)與信息安全學(xué)院,廣西 桂林 541004;3.桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)

隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,安全問(wèn)題也越來(lái)越突出。通常,網(wǎng)絡(luò)管理員采用多個(gè)網(wǎng)絡(luò)安全設(shè)備同時(shí)上線工作,以應(yīng)對(duì)多樣化的黑客入侵。然而,由于各個(gè)網(wǎng)絡(luò)安全設(shè)備工作時(shí)大多處于獨(dú)立狀態(tài),很容易導(dǎo)致同一個(gè)攻擊事件產(chǎn)生大量的冗余報(bào)警現(xiàn)象。報(bào)警數(shù)據(jù)聚合是解決網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)產(chǎn)生大量重復(fù)報(bào)警數(shù)據(jù)的重要手段,旨在將同一安全事件誘發(fā)的大量性質(zhì)相同或相近的報(bào)警合并成一個(gè)報(bào)警(超報(bào)警)[1],能減少報(bào)警數(shù)據(jù)冗余,降低系統(tǒng)誤報(bào)率,提高檢測(cè)率,從而有利于網(wǎng)絡(luò)管理員及時(shí)地掌握網(wǎng)絡(luò)的運(yùn)行狀態(tài),也便于后續(xù)的報(bào)警數(shù)據(jù)融合和關(guān)聯(lián)分析。通過(guò)改進(jìn)入侵檢測(cè)系統(tǒng)報(bào)警數(shù)據(jù)的讀取方式及處理方法,以提高報(bào)警數(shù)據(jù)聚合方法的檢測(cè)性能。

Ahmed等[2]從各個(gè)不同學(xué)科對(duì)報(bào)警聚合技術(shù)做了全面的綜述,將其分為基于統(tǒng)計(jì)數(shù)學(xué)的聚合技術(shù)[3]、基于知識(shí)推理的聚合技術(shù)[4]、基于數(shù)據(jù)挖掘的聚合技術(shù)[5]和基于哈希函數(shù)的聚合技術(shù)[6],同時(shí),分別闡述了各類報(bào)警聚合技術(shù)的優(yōu)缺點(diǎn),總結(jié)出近年來(lái)在聚類和人工神經(jīng)網(wǎng)絡(luò)方法方面的研究趨勢(shì)。Elshoush等[7]指出,基于屬性相似度的聚合方法存在不足之處是報(bào)警中的時(shí)間戳和IP地址等屬性在聚合中具有特殊作用,將其代入運(yùn)算在一定程度上缺乏合理性。馮學(xué)偉等[8]通過(guò)報(bào)警數(shù)據(jù)的源/目的IP地址之間的相互關(guān)聯(lián)關(guān)系在各簇內(nèi)部進(jìn)行報(bào)警聚合,但此方法存在一定缺陷,不適用于處理DDOS等完整攻擊場(chǎng)景。Ghasemigol等[9]指出時(shí)間屬性窗口設(shè)置過(guò)大或過(guò)小都會(huì)影響報(bào)警聚合的有效性。針對(duì)此問(wèn)題,邱輝等[10]將流式處理方法引入滑動(dòng)時(shí)間窗口,從而達(dá)到報(bào)警數(shù)據(jù)聚合的目的,但該方法的不足在于當(dāng)前窗口和滑動(dòng)窗口的大小仍需主觀確定。Fatma等[5]提到在第二階段使用帶有k-means的SOM算法并不是非常有效,因?yàn)楣芾韱T需要手動(dòng)檢驗(yàn)2個(gè)屬性來(lái)確定哪個(gè)簇包含真正的報(bào)警頻率和時(shí)間間隔的報(bào)警數(shù)據(jù)。Thang等[11]基于密度的方法,將報(bào)警集合的高密度區(qū)域劃分為一個(gè)類,能夠發(fā)現(xiàn)任意形狀的類,且聚類精度較高,但對(duì)輸入?yún)?shù)敏感。Banumohamed等[6]從報(bào)警數(shù)據(jù)中提取3個(gè)屬性,并將這些屬性結(jié)合MD5散列函數(shù)生成用于初始聚類過(guò)程的唯一哈希值,但這種技術(shù)是基于字符串散列值的比較而不是直接的字符比較,通常需要對(duì)文本進(jìn)行預(yù)處理。Saad等[12]為不同的攻擊類型設(shè)置不同的閾值,采用順序聚類的方法,將相似度高于閾值的報(bào)警進(jìn)行合并,操作簡(jiǎn)單,適用范圍廣,但具有較強(qiáng)的次序依賴性和缺乏靈活性。

綜上所述,目前的報(bào)警數(shù)據(jù)聚合方法在讀取數(shù)據(jù)時(shí)均采用順序讀取方式,處理方法單一,缺乏靈活性,從而影響聚合效果。為此,提出角標(biāo)隨機(jī)讀取來(lái)實(shí)現(xiàn)Snort報(bào)警數(shù)據(jù)聚合。

1 Snort報(bào)警數(shù)據(jù)聚合方法

1.1 報(bào)警數(shù)據(jù)標(biāo)準(zhǔn)化

不同的IDS系統(tǒng)產(chǎn)生的報(bào)警數(shù)據(jù)格式不同,若直接聚合分析,將造成很大不便?;诖耍仨殞?duì)報(bào)警數(shù)據(jù)進(jìn)行統(tǒng)一的標(biāo)準(zhǔn)化,方便后續(xù)的聚合處理。借鑒國(guó)際標(biāo)準(zhǔn)入侵檢測(cè)消息交換格式IDMEF(intrusion detection message exchange format)來(lái)規(guī)范IDS入侵檢測(cè)報(bào)警格式。目前大多數(shù)的安全檢測(cè)系統(tǒng)都支持IDMEF格式報(bào)警的輸出。一個(gè)Snort報(bào)警數(shù)據(jù)包括規(guī)則號(hào)、規(guī)則名稱、優(yōu)先級(jí)別、時(shí)間戳、原始IP、目的IP、協(xié)議類型、源端口、目的端口、報(bào)警類別等10種屬性構(gòu)成的10元組,形式化Alert={signature,sig_name,sig_priority,timestamp,ip_src,ip_dst,ip_proto,layer4_sport,layer4_dport,sig_class_id},本研究以每個(gè)報(bào)警數(shù)據(jù)包代表每條報(bào)警數(shù)據(jù),其每個(gè)屬性的含義如表1所示。

表1 報(bào)警數(shù)據(jù)屬性含義

1.2 報(bào)警數(shù)據(jù)預(yù)處理

報(bào)警數(shù)據(jù)的預(yù)處理從傳感器采集到的原始報(bào)警數(shù)據(jù)出發(fā),采用數(shù)據(jù)清理、屬性選擇和數(shù)據(jù)過(guò)濾等方法來(lái)初步消除原始報(bào)警數(shù)據(jù)本身的缺陷,從中抽取能夠用于聚合的主要屬性并存儲(chǔ)在數(shù)據(jù)庫(kù)中,最后通過(guò)設(shè)置計(jì)數(shù)迭代式固定時(shí)間閾值過(guò)濾的方法,減少重復(fù)報(bào)警數(shù)據(jù)的數(shù)量。其中,重復(fù)報(bào)警數(shù)據(jù)是每2條報(bào)警數(shù)據(jù)間除了時(shí)間屬性之外其他屬性內(nèi)容均相同的報(bào)警數(shù)據(jù),其參數(shù)符號(hào)說(shuō)明如表2所示。

表2 參數(shù)符號(hào)說(shuō)明表

以下給出了計(jì)數(shù)迭代式固定時(shí)間閾值預(yù)處理方法的具體偽代碼。

algorithm:SnortAlertProcessingByFilter(A,time,count,timeDiff,N)

Input:alert set in uniform formatA={n∈N,a1,a2,…,an};

Output:AlertByFilterB={n∈N,b1,b2,…,bn};

1. Begin

2. for (n=0;j

3. time=0

4. ifA=φthen

5. break

6. else

7. while new two alertai,ai+1is received do

8. if(timeDiff(ai,ai+1)<60) andai_attributes=ai+1_attributesthen

9. delete(ai+1)

10. B.add(ai)

11. count=count +1

12. else

13. B.add(ai), B.add(ai+1)

14. time ++

15. if (time=1)

16. then FileReader(“AlertByFilter.txt”)

17. else FileReader(“AlertByFilter”+(time-1)+”.txt”)

18. end

由偽代碼可知,計(jì)數(shù)迭代式固定時(shí)間閾值預(yù)處理過(guò)程分為4個(gè)階段:1)對(duì)需預(yù)處理的Snort報(bào)警數(shù)據(jù)進(jìn)行集合封裝(表3的Input部分)。

2)從本地?cái)?shù)據(jù)庫(kù)的相關(guān)Snort表進(jìn)行join操作,生成所需的報(bào)警數(shù)據(jù)表,同時(shí),對(duì)整個(gè)Snort報(bào)警數(shù)據(jù)文本進(jìn)行每2條順序讀取加載,若讀取到最后一行,則直接跳出循環(huán),否則一一加載到集合(偽代碼的第1~6行)。

3)將報(bào)警數(shù)據(jù)記錄按照指定的時(shí)間屬性升序排序,在排序后的數(shù)據(jù)集上移動(dòng)一個(gè)60 s的固定大小時(shí)間窗口,每次只檢測(cè)timeDiff小于窗口內(nèi)的報(bào)警數(shù)據(jù)。判定它們是否匹配,以此來(lái)逐步減少比較次數(shù),從而達(dá)到初步預(yù)處理過(guò)濾的目的(偽代碼的第7~13行)。

4)以計(jì)數(shù)迭代不斷循環(huán)比較出最精簡(jiǎn)記錄的方式,使得重復(fù)率達(dá)到最低(偽代碼的第14~17行)。

1.3 角標(biāo)隨機(jī)讀取算法設(shè)計(jì)

角標(biāo)隨機(jī)讀取方法用于將精簡(jiǎn)后的中間Snort報(bào)警數(shù)據(jù)以隨機(jī)生成角標(biāo)的方式達(dá)到每條報(bào)警數(shù)據(jù)隨機(jī)打散排列的目的。算法用到的相關(guān)參數(shù)符號(hào)如表3所示。

表3 角標(biāo)隨機(jī)讀取算法參數(shù)符號(hào)說(shuō)明表

以下給出了角標(biāo)隨機(jī)讀取方法的具體偽代碼。

algorithm:CMRR(B,Q,M,I,N,R)

Input:AlertProcessingByFilterB={n∈N|b1,b2,…,bn};

Output:AlertByCMRRC={n∈N|c1,c2,…,cn};

1. Begin

2. forn=0 toN-1

3. ifB=φthen

4. break

5. else

6. Collections.sort(B(Snort),newComparator()

7. Public int compare(Snort s1,Snort s2)

8. return s1.getTimeStamp().compareTo(s2.getTimeStamp())

9.Q(B(Snort))=getSnortsWithMonth(B(Snort))

10. fori=0 toQ.size

11.I(i)=getRandomIndex(Q[i])

12.M(i)=getRandomSnortsByMonth(I(i))

13.R.add(M(j))

14. returnR(Snort)

15. End

由偽代碼可知,基于角標(biāo)隨機(jī)讀取方法的過(guò)程分為3個(gè)階段:

1) 對(duì)精簡(jiǎn)后的Snort報(bào)警數(shù)據(jù)進(jìn)行集合封裝(偽代碼Input部分)。

2) 對(duì)整個(gè)Snort報(bào)警數(shù)據(jù)文本進(jìn)行逐條順序讀取加載,若讀取到最后一行,則直接跳出循環(huán),否則一一將加載到集合(偽代碼的第1~5行)。

3) 對(duì)數(shù)據(jù)按照時(shí)間屬性進(jìn)行升序排序和分月份劃段處理,再對(duì)每個(gè)月內(nèi)的數(shù)據(jù)進(jìn)行隨機(jī)打散排列。

其中,先將每個(gè)月內(nèi)隨機(jī)打散后的中間報(bào)警數(shù)據(jù)用M集合存儲(chǔ),再統(tǒng)一用R集合重新存儲(chǔ),得到最后的報(bào)警數(shù)據(jù)(偽代碼的第6~14行)。其中,每遍歷一次,取2條報(bào)警數(shù)據(jù)所在行號(hào),得到生成的隨機(jī)數(shù)與角標(biāo)標(biāo)記區(qū)進(jìn)行比較,若第一次出現(xiàn),則將其存入并退出當(dāng)層循壞,否則重新生成隨機(jī)數(shù)取值再進(jìn)行比較。

1.4 屬性相似度的計(jì)算

報(bào)警數(shù)據(jù)相似度計(jì)算是一種基于各屬性之間幾何距離的簡(jiǎn)單數(shù)值運(yùn)算,是數(shù)據(jù)聚合的基礎(chǔ)。報(bào)警數(shù)據(jù)聚合方法的目標(biāo)是對(duì)初級(jí)報(bào)警進(jìn)行數(shù)據(jù)聚合,找到它們之間的關(guān)聯(lián)性,從而生成高級(jí)報(bào)警,消除重復(fù)報(bào)警。

給出各個(gè)Snort報(bào)警數(shù)據(jù)屬性特征的相似度計(jì)算函數(shù)。

1) 報(bào)警標(biāo)識(shí)相似度的計(jì)算。signature,sig_priority,ip_proto,lay4_sport,lay4_dport若相同,則相似度設(shè)為0,若不相同,則相似度為1。

2) 報(bào)警名稱相似度的計(jì)算。sig_name對(duì)應(yīng)于每條報(bào)警規(guī)則語(yǔ)句里的Msg,如將從每條報(bào)警數(shù)據(jù)該屬性對(duì)應(yīng)的字符串Snort Alert[1∶2 000 419∶0]值中提取2 000 419,考慮自身數(shù)據(jù)特點(diǎn),得知介于區(qū)間[2 000 334,2 221 030]和[2 400 001,2 522 312],基于此,結(jié)合Tableau工具,統(tǒng)計(jì)此屬性的特點(diǎn),計(jì)算出相似度值,其計(jì)算公式設(shè)置為

Simname(Alerti,Alertj)=

(1)

其中:Simname(Alerti,Alertj)是報(bào)警數(shù)據(jù)的名稱相似度值;Alerti和Alertj分別表示第i條和第j條報(bào)警數(shù)據(jù);Alert.signame是報(bào)警數(shù)據(jù)的名稱屬性。

3) 報(bào)警時(shí)間戳相似度的計(jì)算。在報(bào)警聚合中報(bào)警時(shí)間是很重要的一個(gè)因素,對(duì)計(jì)算全局相似度的時(shí)候具有重要的影響。將時(shí)間間隔Tinternal與預(yù)設(shè)的最小閾值tmin及最大閾值tmax進(jìn)行比較,當(dāng)時(shí)間間隔小于tmin,則相似度為0,大于tmax,則相似度為1,若在tmin和tmax之間,則由公式計(jì)算得到。tmin和tmax的選取,不同參考文獻(xiàn)給出不同的數(shù)值。參考Long等[13],給出tmax-tmin=300 s及實(shí)際情況將閾值計(jì)算公式為

Simtimestamp(Alerti,Alertj)=

(2)

其中:Simtimestamp(Alerti,Alertj)是報(bào)警數(shù)據(jù)時(shí)間戳的相似度值;Alerti和Alertj分別表示第i條和第j條報(bào)警數(shù)據(jù);Alert.signame是報(bào)警數(shù)據(jù)的名稱屬性。

4) IP地址相似度的計(jì)算。對(duì)于IP地址的比較,采用無(wú)類別域間路由的格式進(jìn)行分析,將每2條報(bào)警數(shù)據(jù)相同的二進(jìn)制位個(gè)數(shù)r除以IP地址二進(jìn)制位長(zhǎng)度的值作為2個(gè)IP地址的相似度[14],其計(jì)算公式設(shè)置為

(3)

其中:Simip(Alerti,Alertj)是報(bào)警數(shù)據(jù)的IP相似度值;Alerti和Alertj分別表示第i條和第j條報(bào)警數(shù)據(jù)。

1.5 屬性權(quán)重的確定

通常對(duì)于報(bào)警數(shù)據(jù)屬性權(quán)重的確定計(jì)算方法,一般來(lái)說(shuō)有2大類:一類是人為的主觀判斷對(duì)不同屬性打分,比如基于一些專家的結(jié)論來(lái)進(jìn)行打分,根據(jù)層次不同來(lái)進(jìn)行分析、認(rèn)為經(jīng)驗(yàn)來(lái)進(jìn)行判斷等;另一類是客觀方法,如熵權(quán)計(jì)算方法、主成分分析方法等。因在評(píng)標(biāo)過(guò)程中,不同屬性的權(quán)重對(duì)被評(píng)價(jià)對(duì)象的不同得分影響非常大,因此需要盡可能客觀去評(píng)價(jià)和打分,所以,通過(guò)客觀計(jì)算法計(jì)算屬性的權(quán)重是優(yōu)先考慮的。同時(shí),考慮到一般采用PCA需要數(shù)據(jù)比較,難獲取且存在相關(guān)及多重共線性問(wèn)題,同時(shí),它并不考慮因變量和自變量之間的關(guān)系,無(wú)法充分體現(xiàn)每個(gè)主成分的作用,因此選用熵值法來(lái)確定各個(gè)指標(biāo)的權(quán)重計(jì)算。

報(bào)警數(shù)據(jù)能否聚合關(guān)鍵取決于報(bào)警數(shù)據(jù)之間的全局相似度,在計(jì)算全局相似度時(shí),需為每種報(bào)警屬性設(shè)置一個(gè)權(quán)重W,用來(lái)衡量該屬性在計(jì)算全局相似度中的重要性。通過(guò)MATLAB 2016計(jì)算得知,權(quán)重矩陣為[ 0.000 1 0.045 2 0.013 0 0.047 1 0.000 5 0.004 6 0.035 3 0.272 1 0.582 1]。

Simsum(Alerti,Alertj)=

(4)

其中:Simsum(Alerti,Alertj)為報(bào)警數(shù)據(jù)的總相似度;i,j為屬性權(quán)重時(shí)報(bào)警數(shù)據(jù)所在的行號(hào);c為報(bào)警數(shù)據(jù)的屬性所在的列號(hào);Wc為報(bào)警數(shù)據(jù)各個(gè)屬性的權(quán)重;Alert(i)attributes和Alert(j)attributes分別為第i條和第j條報(bào)警數(shù)據(jù)的每個(gè)屬性的集合;n為報(bào)警數(shù)據(jù)的條數(shù)。

1.6 聚合計(jì)算

由于Snort收集到的大量報(bào)警數(shù)據(jù)中存在重復(fù)冗余數(shù)據(jù),通過(guò)設(shè)置較高期望值可有效去除一定的冗余,達(dá)到進(jìn)一步精簡(jiǎn)報(bào)警數(shù)據(jù)目的。Snort聚合計(jì)算用到的相關(guān)參數(shù)符號(hào)如表4所示。

表4 Snort聚合計(jì)算參數(shù)符號(hào)說(shuō)明表

以下給出了Snort聚合計(jì)算的具體偽代碼。

algorithm:SADAA(S,W,SW,H,a,b)

Input:AlertBySW SW={n∈N|Sw1,Sw2,…,Swn};

Output:AlertBySADAAE={n∈N|e1,e2,…,en};

1. Begin

2. forn=0 toN-1

3. if SW=φthen

4. break

5. else

6. fori=0 to SW.size

7. for(H=0.1 to 0.9)

8. if getSumSim(SS(i)) >Ha++;

9. elseb++;

10. computeAggregation();

11.End

由偽代碼可知,分為4個(gè)階段:

1) 對(duì)計(jì)算總相似度后的Snort報(bào)警數(shù)據(jù)進(jìn)行集合封裝(偽代碼的Input部分)。

2) 對(duì)整個(gè)Snort報(bào)警數(shù)據(jù)文件進(jìn)行逐條順序讀取加載,若讀取到最后一行,則直接跳出循環(huán),否則一一將加載到集合(偽代碼的1~5行)。

3) 讀取指定的每條報(bào)警數(shù)據(jù)總相似度屬性列的內(nèi)容,分別與期望閾值集合進(jìn)行比較,并統(tǒng)計(jì)滿足條件的報(bào)警條數(shù)(偽代碼的6~9行)。

4) 進(jìn)行聚合函數(shù)計(jì)算(偽代碼的第10行)。

2 相關(guān)工作實(shí)驗(yàn)及結(jié)果分析

2.1 實(shí)驗(yàn)環(huán)境

為了驗(yàn)證提出的基于角標(biāo)隨機(jī)讀取的Snort報(bào)警數(shù)據(jù)聚合方法的有效性,實(shí)驗(yàn)室搭建了真實(shí)的數(shù)據(jù)采集平臺(tái),環(huán)境為OSSIM開(kāi)源平臺(tái)下的Snort分布式入侵檢測(cè)系統(tǒng)。實(shí)驗(yàn)整體采集環(huán)境拓?fù)鋱D如圖1所示。

圖1 數(shù)據(jù)采集平臺(tái)拓?fù)鋱D

通過(guò)搭建入侵檢測(cè)系統(tǒng)Snort并配合搭建LMAP、PHP、PEAR、ADOdb、BASE、HTML、MySQL、Libdnet、Libpcap、DAQ、Barnyard2的環(huán)境來(lái)直接對(duì)采集到的報(bào)警數(shù)據(jù)進(jìn)行預(yù)先查看和分析。系統(tǒng)搭建完成后,通過(guò)BASE登錄,將實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)包,并通過(guò)數(shù)據(jù)庫(kù)輸出接口將入侵日志傳送到MySQL數(shù)據(jù)庫(kù)中,數(shù)據(jù)分析控制臺(tái)則可通過(guò)數(shù)據(jù)庫(kù)接口讀取數(shù)據(jù),并顯示在BASE上。

數(shù)據(jù)預(yù)處理環(huán)境為:Win 10 + VMware Workstation 12 + CentOS 6.5 + Snort 2.9.7.0 + Barnyard 2.1.13+ Base 1.4.5 + MySQL5.1.73 + Eclipse Mars。數(shù)據(jù)屬性相似度及權(quán)重計(jì)算環(huán)境為:Win 10 + Eclipse Mars。數(shù)據(jù)聚合及系統(tǒng)評(píng)價(jià)指標(biāo)環(huán)境為:Win10 + Eclipse Mars + JDK1.8 + Matlab2016 + IBM SPSS Statistics 24。

利用數(shù)據(jù)庫(kù)的輸出插件Barnyard2,將采集到的報(bào)警數(shù)據(jù)記入到數(shù)據(jù)庫(kù)MySQL。通過(guò)在OSSIM環(huán)境下部署snort-agent1到snort-agent4共4個(gè)數(shù)據(jù)采集節(jié)點(diǎn),snort-server作為服務(wù)端節(jié)點(diǎn)。總共采集Snort報(bào)警數(shù)據(jù)63 306條。以每個(gè)Snort報(bào)警數(shù)據(jù)類別屬性為分析基礎(chǔ),進(jìn)一步細(xì)化得到的分類結(jié)果如表5所示。

表5 原始Snort報(bào)警數(shù)據(jù)分類表

2.2 預(yù)處理結(jié)果及分析

采用計(jì)數(shù)迭代式固定時(shí)間閾值預(yù)處理過(guò)程的方式來(lái)對(duì)報(bào)警數(shù)據(jù)進(jìn)行預(yù)處理,將原始報(bào)警數(shù)據(jù)集A進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化,對(duì)其以time計(jì)數(shù)迭代來(lái)不斷循環(huán),達(dá)到控制每相鄰報(bào)警數(shù)據(jù)間的比較目的,將timeDiff小于設(shè)定窗口值內(nèi)的重復(fù)報(bào)警數(shù)據(jù)精簡(jiǎn)到最低。

為了衡量報(bào)警數(shù)據(jù)預(yù)處理的效果,實(shí)驗(yàn)分析中定義報(bào)警數(shù)據(jù)精簡(jiǎn)率來(lái)作為評(píng)價(jià)標(biāo)準(zhǔn)。假設(shè)原始報(bào)警數(shù)量為srcsnort個(gè),精簡(jiǎn)后報(bào)警為dstsnort個(gè),其報(bào)警數(shù)據(jù)精簡(jiǎn)率公式為

(5)

ReduceRatesnort用來(lái)反映聚合方法消除重復(fù)和冗余報(bào)警的效率,ReduceRatesnort越大,表示精簡(jiǎn)越高,也就說(shuō)明報(bào)警冗余去除的效果越明顯,提供給下一層數(shù)據(jù)聚合處理的數(shù)據(jù)源質(zhì)量也就更高。精簡(jiǎn)前后各類別的Snort報(bào)警數(shù)量分別如圖2和圖4所示,精簡(jiǎn)前后各類別的Snort報(bào)警數(shù)量占比情況分別如圖3和圖5所示。

圖2 精簡(jiǎn)前各類別的Snort報(bào)警數(shù)量

圖3 精簡(jiǎn)前各類別的Snort報(bào)警數(shù)量占比

圖4 精簡(jiǎn)后各類別的Snort報(bào)警數(shù)量

圖5 精簡(jiǎn)后各類別的Snort報(bào)警數(shù)量占比

通過(guò)實(shí)驗(yàn)結(jié)果得到srcsnort為63 306條,dstsnort為22 162條,總的報(bào)警精簡(jiǎn)率為65%。

2.3 聚合結(jié)果及分析

為了驗(yàn)證提出方法的有效性,將本方法與文獻(xiàn)[15]的方法進(jìn)行對(duì)比,通過(guò)訓(xùn)練取期望值H在不同值時(shí)聚合效果對(duì)比,結(jié)果如圖6所示。從圖6可看出,在H<0.6時(shí),聚合率均低于50%,且有小幅上升,在0.7≤H≤0.9時(shí),聚合率維持在90%左右并保持平穩(wěn)。同時(shí),期間發(fā)生了一次較大幅度的增長(zhǎng)跳躍變化,通過(guò)分析,變動(dòng)期望值可以將相似度較高的報(bào)警數(shù)據(jù)合并為一類,從而進(jìn)行下一步分析,由此生成超報(bào)警信息庫(kù),因而將期望值設(shè)為0.7。

圖6 不同期望值下Snort報(bào)警數(shù)據(jù)聚合率對(duì)比

由此可見(jiàn),在一定程度上本方法從反向思維來(lái)計(jì)算報(bào)警數(shù)據(jù)屬性相似度,相比常規(guī)手段的順序聚合而言,更能使得聚合率提高并維持平穩(wěn)。

同時(shí),為了驗(yàn)證所提方法的有效性,還定義了誤報(bào)率和檢測(cè)率來(lái)作為評(píng)價(jià)系統(tǒng)檢測(cè)性能的指標(biāo)?;诖?,根據(jù)以下規(guī)則對(duì)收集到的報(bào)警數(shù)據(jù)進(jìn)行了標(biāo)定。

如果一條報(bào)警數(shù)據(jù)滿足[15]以下3個(gè)條件:

1) 源IP地址符合模擬的攻擊IP地址;

2) 目的IP地址符合模擬攻擊的受害機(jī)IP地址;

3) 報(bào)警的時(shí)間戳在模擬攻擊所發(fā)生的時(shí)間窗之內(nèi)。

則該條報(bào)警被標(biāo)記為真報(bào)警,否則就被稱為誤報(bào)警。

經(jīng)標(biāo)定后,數(shù)據(jù)集含有45 002條真報(bào)警和18 004條誤報(bào)警。以70%隨機(jī)抽取作為訓(xùn)練數(shù)據(jù)集,30%作為測(cè)試數(shù)據(jù)集。類似Pietraszek[15]定義的反映報(bào)警處理性能的指標(biāo),給出了一個(gè)混合矩陣C,如表6所示,表中“+”代表真報(bào)警(攻擊報(bào)警),“-”代表誤報(bào)警。

表6 混合矩陣C

基于此,定義一組反映報(bào)警處理性能的指標(biāo)。

Snort報(bào)警數(shù)據(jù)檢測(cè)系統(tǒng)的系統(tǒng)檢測(cè)率(TPsnort)計(jì)算公式為

TPsnort=C11+C22/(C11+C12+C21+C22)。

(6)

Snort報(bào)警數(shù)據(jù)檢測(cè)系統(tǒng)的系統(tǒng)誤報(bào)率(FPsnort)計(jì)算公式為

FPsnort=C21/(C21+C22)。

(7)

使用SPSS里的CHAID樹(shù)算法作為Snort報(bào)警數(shù)據(jù)檢測(cè)系統(tǒng)的檢測(cè)方法,系統(tǒng)分別采用本方法(簡(jiǎn)稱方法1)和文獻(xiàn)[13]的聚合方法(簡(jiǎn)稱方法2)進(jìn)行檢測(cè)性能比較。兩者的系統(tǒng)檢測(cè)率和誤報(bào)率對(duì)比情況如表7所示。

表7 系統(tǒng)檢測(cè)率與誤報(bào)率對(duì)比 %

由表7可知,方法1的檢測(cè)率為89.64%,高出方法2的檢測(cè)率13%左右,在一定程度上說(shuō)明對(duì)真報(bào)警還是誤報(bào)警的判定有著明顯的作用,而且誤報(bào)率也有所降低。

同時(shí),為了對(duì)比2種方法的運(yùn)行效率,定義了系統(tǒng)檢測(cè)平均運(yùn)行時(shí)間為

TA=T/n。

(8)

其中:T為檢測(cè)方法運(yùn)行的總時(shí)間;n為測(cè)試數(shù)據(jù)樣本總數(shù)。2種方法的平均運(yùn)行時(shí)間對(duì)比如表8所示。

表8 平均運(yùn)行時(shí)間對(duì)比

由表8可知,方法1比方法2的系統(tǒng)檢測(cè)平均運(yùn)行時(shí)間略少,可以稍微加快系統(tǒng)檢測(cè)運(yùn)行效率。

3 結(jié)束語(yǔ)

針對(duì)現(xiàn)有的Snort報(bào)警數(shù)據(jù)聚合方法中報(bào)警數(shù)據(jù)讀取方法單一,進(jìn)而影響聚合效果的問(wèn)題,提出了一種基于角標(biāo)隨機(jī)讀取的Snort報(bào)警數(shù)據(jù)聚合方法。該方法通過(guò)角標(biāo)隨機(jī)讀取算法實(shí)現(xiàn)報(bào)警數(shù)據(jù)隨機(jī)打散讀取,并靈活計(jì)算屬性相似度。實(shí)驗(yàn)結(jié)果表明,提出的方法有效地提高了Snort報(bào)警數(shù)據(jù)的聚合率,而且提高了入侵檢測(cè)系統(tǒng)的檢測(cè)性能。針對(duì)動(dòng)態(tài)復(fù)雜情況下持續(xù)性攻擊引發(fā)的多個(gè)報(bào)警事件時(shí)間間隔變化的問(wèn)題,如何進(jìn)一步有效地提高報(bào)警數(shù)據(jù)聚合效果,將是后續(xù)研究的主要內(nèi)容。

猜你喜歡
精簡(jiǎn)IP地址代碼
基于區(qū)域分割的多視角點(diǎn)云精簡(jiǎn)算法
鐵路遠(yuǎn)動(dòng)系統(tǒng)幾種組網(wǎng)方式IP地址的申請(qǐng)和設(shè)置
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
時(shí)常精簡(jiǎn)多余物品
IP地址切換器(IPCFG)
一種面向應(yīng)用的流量監(jiān)測(cè)精簡(jiǎn)架構(gòu)設(shè)計(jì)
基于SNMP的IP地址管理系統(tǒng)開(kāi)發(fā)與應(yīng)用
论坛| 芜湖市| 海原县| 阜宁县| 兴和县| 桃江县| 本溪市| 莱芜市| 基隆市| 灌南县| 陆河县| 乳源| 法库县| 乡城县| 阿拉善右旗| 云南省| 图片| 大田县| 辽阳市| 湘乡市| 宁德市| 临邑县| 宜兴市| 北票市| 都安| 西华县| 乌拉特后旗| 冀州市| 阿勒泰市| 中西区| 泰安市| 策勒县| 吉安县| 安远县| 崇州市| 海兴县| 石棉县| 巫山县| 信阳市| 上林县| 连云港市|