本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,具體為一種網(wǎng)絡(luò)異常會(huì)話檢測方法及系統(tǒng)。
背景技術(shù):
1、隨著云計(jì)算、物聯(lián)網(wǎng)(iot)、5g通信等技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)環(huán)境呈現(xiàn)出高并發(fā)、大規(guī)模、異構(gòu)化的特點(diǎn),導(dǎo)致傳統(tǒng)的基于規(guī)則匹配和特征提取的異常檢測方法面臨挑戰(zhàn)。現(xiàn)有的異常檢測方法主要包括基于規(guī)則的入侵檢測如snort、基于統(tǒng)計(jì)分析的方法如時(shí)序統(tǒng)計(jì)、基于機(jī)器學(xué)習(xí)的異常檢測,以及近年來興起的基于深度學(xué)習(xí)的方法。然而,由于攻擊者不斷變化攻擊模式,且流量數(shù)據(jù)呈現(xiàn)高維度、強(qiáng)時(shí)序性和動(dòng)態(tài)變化的特點(diǎn),現(xiàn)有方法在檢測精度、實(shí)時(shí)性和計(jì)算復(fù)雜度方面仍然存在不足。例如,基于規(guī)則的檢測方法無法有效識(shí)別新型攻擊,基于統(tǒng)計(jì)的方法對(duì)流量分布的異常變化不敏感,而基于機(jī)器學(xué)習(xí)的方法受限于標(biāo)注數(shù)據(jù)的質(zhì)量和訓(xùn)練成本。近年來,提出了一系列流數(shù)據(jù)異常檢測方法,包括基于核密度估計(jì)kde、基于局部離群因子lof和基于深度學(xué)習(xí)的模型。然而,大多數(shù)方法采用滑動(dòng)窗口模型進(jìn)行異常檢測,這種方法雖然可以動(dòng)態(tài)更新流數(shù)據(jù),但由于窗口間存在數(shù)據(jù)重疊,會(huì)導(dǎo)致大量數(shù)據(jù)點(diǎn)重復(fù)計(jì)算;此外,對(duì)于短時(shí)高頻攻擊和長期隱藏攻擊,由于二者的攻擊方式不同,現(xiàn)有的異常檢測方法同時(shí)檢測的效果并不佳。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述問題,第一個(gè)方面提供一種網(wǎng)絡(luò)異常會(huì)話檢測方法,所述方法包括以下步驟:
2、獲取當(dāng)前獨(dú)立窗口存在時(shí)間內(nèi)的網(wǎng)絡(luò)會(huì)話,若所述會(huì)話開始時(shí)刻在當(dāng)前獨(dú)立窗口之前,則將會(huì)話標(biāo)識(shí)為已存在會(huì)話,否則,將會(huì)話標(biāo)識(shí)為新會(huì)話;
3、獲取已存在會(huì)話的特征,并和當(dāng)前獨(dú)立窗口所屬的聯(lián)合窗口中其他獨(dú)立窗口中同一個(gè)會(huì)話的特征比較,若特征沒有發(fā)生變化且會(huì)話在聯(lián)合窗口中其他獨(dú)立窗口中非異常和候選異常會(huì)話,將已存在會(huì)話從當(dāng)前獨(dú)立窗口中刪除;根據(jù)會(huì)話局部異常分?jǐn)?shù)確定當(dāng)前獨(dú)立窗口的異常會(huì)話和候選異常會(huì)話;
4、將聯(lián)合窗口作為一個(gè)獨(dú)立窗口,計(jì)算聯(lián)合窗口的候選異常會(huì)話;獲取聯(lián)合窗口中所有獨(dú)立窗口候選異常會(huì)話的并集,若并集中的一個(gè)會(huì)話在聯(lián)合窗口的多個(gè)獨(dú)立窗口中為候選異常會(huì)話或者為聯(lián)合窗口的候選異常會(huì)話,將會(huì)話標(biāo)記為異常會(huì)話。
5、可選地,所述會(huì)話局部異常分?jǐn)?shù)的計(jì)算過程是:
6、根據(jù)會(huì)話特征將獨(dú)立窗口的會(huì)話映射到數(shù)據(jù)空間的網(wǎng)格,計(jì)算每個(gè)網(wǎng)格的核心點(diǎn)和每個(gè)會(huì)話的局部密度,根據(jù)網(wǎng)格內(nèi)會(huì)話的局部密度計(jì)算獨(dú)立窗口對(duì)應(yīng)的網(wǎng)格密度;基于會(huì)話的局部密度和所述網(wǎng)格密度得到會(huì)話局部異常分?jǐn)?shù)。
7、可選地,所述根據(jù)會(huì)話局部異常分?jǐn)?shù)確定當(dāng)前獨(dú)立窗口的異常會(huì)話和候選異常會(huì)話,具體為:
8、獲取聯(lián)合窗口中每個(gè)獨(dú)立窗口中會(huì)話局部異常分?jǐn)?shù)的最大值,計(jì)算所述最大值的平均值,若當(dāng)前獨(dú)立窗口中會(huì)話的局部異常分?jǐn)?shù)大于所述平均值,則將所述會(huì)話作為當(dāng)前獨(dú)立窗口的異常會(huì)話;
9、根據(jù)當(dāng)前獨(dú)立窗口中剩余會(huì)話所在網(wǎng)格密度和剩余會(huì)話的局部異常分?jǐn)?shù)計(jì)算得到剩余會(huì)話的得分,按照所述得分從大到小的順序?qū)κS鄷?huì)話排序,將排序后前k個(gè)會(huì)話作為候選異常會(huì)話。
10、可選地,所述根據(jù)會(huì)話局部異常分?jǐn)?shù)確定當(dāng)前獨(dú)立窗口的異常會(huì)話和候選異常會(huì)話,具體為:
11、獲取聯(lián)合窗口中每個(gè)獨(dú)立窗口中會(huì)話局部異常分?jǐn)?shù)的最大值,計(jì)算所述最大值的平均值,若當(dāng)前獨(dú)立窗口中會(huì)話的局部異常分?jǐn)?shù)大于所述平均值,則將所述會(huì)話作為當(dāng)前獨(dú)立窗口的異常會(huì)話;
12、根據(jù)當(dāng)前獨(dú)立窗口中會(huì)話所在網(wǎng)格密度和會(huì)話的局部異常分?jǐn)?shù)計(jì)算得到會(huì)話的得分,獲取當(dāng)前獨(dú)立窗口異常會(huì)話的得分的最小值;
13、若非異常會(huì)話的得分大于所述最小值,則將非異常會(huì)話作為候選異常會(huì)話。
14、可選地,所述得分的計(jì)算過程是:
15、計(jì)算網(wǎng)格密度的負(fù)指數(shù)函數(shù)值,對(duì)所述負(fù)指數(shù)函數(shù)值和所述局部異常分?jǐn)?shù)進(jìn)行加權(quán)求和得到所述得分。
16、第二個(gè)方面提供一種網(wǎng)絡(luò)異常會(huì)話檢測系統(tǒng),所述系統(tǒng)包括以下模塊:
17、數(shù)據(jù)采集模塊,用于獲取當(dāng)前獨(dú)立窗口存在時(shí)間內(nèi)的網(wǎng)絡(luò)會(huì)話,若所述會(huì)話開始時(shí)刻在當(dāng)前獨(dú)立窗口之前,則將會(huì)話標(biāo)識(shí)為已存在會(huì)話,否則,將會(huì)話標(biāo)識(shí)為新會(huì)話;
18、初步識(shí)別模塊,用于獲取已存在會(huì)話的特征,并和當(dāng)前獨(dú)立窗口所屬的聯(lián)合窗口中其他獨(dú)立窗口中同一個(gè)會(huì)話的特征比較,若特征沒有發(fā)生變化且會(huì)話在聯(lián)合窗口中其他獨(dú)立窗口中非異常和候選異常會(huì)話,將已存在會(huì)話從當(dāng)前獨(dú)立窗口中刪除;根據(jù)會(huì)話局部異常分?jǐn)?shù)確定當(dāng)前獨(dú)立窗口的異常會(huì)話和候選異常會(huì)話;
19、候選異常識(shí)別模塊,用于將聯(lián)合窗口作為一個(gè)獨(dú)立窗口,計(jì)算聯(lián)合窗口的候選異常會(huì)話;獲取聯(lián)合窗口中所有獨(dú)立窗口候選異常會(huì)話的并集,若并集中的一個(gè)會(huì)話在聯(lián)合窗口的多個(gè)獨(dú)立窗口中為候選異常會(huì)話或者為聯(lián)合窗口的候選異常會(huì)話,將會(huì)話標(biāo)記為異常會(huì)話。
20、可選地,所述會(huì)話局部異常分?jǐn)?shù)的計(jì)算過程是:
21、根據(jù)會(huì)話特征將獨(dú)立窗口的會(huì)話映射到數(shù)據(jù)空間的網(wǎng)格,計(jì)算每個(gè)網(wǎng)格的核心點(diǎn)和每個(gè)會(huì)話的局部密度,根據(jù)網(wǎng)格內(nèi)會(huì)話的局部密度計(jì)算獨(dú)立窗口對(duì)應(yīng)的網(wǎng)格密度;基于會(huì)話的局部密度和所述網(wǎng)格密度得到會(huì)話局部異常分?jǐn)?shù)。
22、可選地,所述根據(jù)會(huì)話局部異常分?jǐn)?shù)確定當(dāng)前獨(dú)立窗口的異常會(huì)話和候選異常會(huì)話,具體為:
23、獲取聯(lián)合窗口中每個(gè)獨(dú)立窗口中會(huì)話局部異常分?jǐn)?shù)的最大值,計(jì)算所述最大值的平均值,若當(dāng)前獨(dú)立窗口中會(huì)話的局部異常分?jǐn)?shù)大于所述平均值,則將所述會(huì)話作為當(dāng)前獨(dú)立窗口的異常會(huì)話;
24、根據(jù)當(dāng)前獨(dú)立窗口中剩余會(huì)話所在網(wǎng)格密度和剩余會(huì)話的局部異常分?jǐn)?shù)計(jì)算得到剩余會(huì)話的得分,按照所述得分從大到小的順序?qū)κS鄷?huì)話排序,將排序后前k個(gè)會(huì)話作為候選異常會(huì)話。
25、可選地,所述根據(jù)會(huì)話局部異常分?jǐn)?shù)確定當(dāng)前獨(dú)立窗口的異常會(huì)話和候選異常會(huì)話,具體為:
26、獲取聯(lián)合窗口中每個(gè)獨(dú)立窗口中會(huì)話局部異常分?jǐn)?shù)的最大值,計(jì)算所述最大值的平均值,若當(dāng)前獨(dú)立窗口中會(huì)話的局部異常分?jǐn)?shù)大于所述平均值,則將所述會(huì)話作為當(dāng)前獨(dú)立窗口的異常會(huì)話;
27、根據(jù)當(dāng)前獨(dú)立窗口中會(huì)話所在網(wǎng)格密度和會(huì)話的局部異常分?jǐn)?shù)計(jì)算得到會(huì)話的得分,獲取當(dāng)前獨(dú)立窗口異常會(huì)話的得分的最小值;
28、若非異常會(huì)話的得分大于所述最小值,則將非異常會(huì)話作為候選異常會(huì)話。
29、可選地,所述得分的計(jì)算過程是:
30、計(jì)算網(wǎng)格密度的負(fù)指數(shù)函數(shù)值,對(duì)所述負(fù)指數(shù)函數(shù)值和所述局部異常分?jǐn)?shù)進(jìn)行加權(quán)求和得到所述得分。
31、本發(fā)明提供的網(wǎng)絡(luò)異常會(huì)話檢測方法,檢查已存在會(huì)話的特征,并將其與聯(lián)合窗口內(nèi)相同會(huì)話的歷史特征進(jìn)行比較,如果會(huì)話行為沒有變化,且此前未被標(biāo)記為異常或者候選異常,則刪除該會(huì)話,避免在每個(gè)獨(dú)立窗口重復(fù)計(jì)算。單個(gè)獨(dú)立窗口可能會(huì)誤判某些短時(shí)異常,但聯(lián)合窗口通過跨多個(gè)獨(dú)立窗口進(jìn)行積疊分析,可以更全面地觀察會(huì)話行為。而且短時(shí)高頻攻擊例如端口掃描,由于攻擊通常在短時(shí)間內(nèi)集中爆發(fā),局部異常分?jǐn)?shù)會(huì)迅速升高,會(huì)在獨(dú)立窗口中被確認(rèn);長期隱蔽攻擊如數(shù)據(jù)泄露、低頻ddos,即使單個(gè)獨(dú)立窗口無法判定,也能通過聯(lián)合窗口進(jìn)行積疊,最終識(shí)別異常,同時(shí)適用于短時(shí)劇烈異常和長期潛伏異常。