本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,具體來說涉及網(wǎng)絡(luò)安全領(lǐng)域的橫向移動(dòng)流量檢測(cè)技術(shù),更具體地說,涉及一種橫向移動(dòng)流量檢測(cè)方法。
背景技術(shù):
1、隨著容器化技術(shù)的快速發(fā)展,容器化集群在各個(gè)領(lǐng)域的應(yīng)用日益增多。然而,這種技術(shù)的廣泛應(yīng)用也吸引了攻擊者的關(guān)注,使得及時(shí)檢測(cè)攻擊行為變得尤為重要。容器化集群面臨的攻擊通常分為五個(gè)階段:偵察、立足、橫向移動(dòng)、攻擊、維持訪問和清理。在這些階段中,橫向移動(dòng)是攻擊行為檢測(cè)的關(guān)鍵階段,也是最具可行性的階段。
2、由于容器化環(huán)境包含多種組件,攻擊面廣泛,任何組件的缺陷都可能成為容器化環(huán)境的安全隱患,帶來安全挑戰(zhàn)。因此,在容器化環(huán)境中需要通過獲取網(wǎng)絡(luò)流量來進(jìn)行橫向移動(dòng)檢測(cè),進(jìn)而實(shí)現(xiàn)攻擊行為檢測(cè)。
3、目前,在容器化環(huán)境下進(jìn)行橫向移動(dòng)檢測(cè)還存在兩方面的問題,一方面是:可用于橫向移動(dòng)檢測(cè)的特征不明確,難以實(shí)現(xiàn)橫向移動(dòng)檢測(cè);另一方面是:橫向移動(dòng)檢測(cè)任務(wù)的分類難度大,且樣本不均衡,難以達(dá)到高檢測(cè)率和低誤報(bào)率的要求。
4、需要說明的是:本背景技術(shù)僅用于介紹本發(fā)明的相關(guān)信息,以便于幫助理解本發(fā)明的技術(shù)方案,但并不意味著相關(guān)信息必然是現(xiàn)有技術(shù)。在沒有證據(jù)表明相關(guān)信息已在本發(fā)明的申請(qǐng)日以前公開的情況下,相關(guān)信息不應(yīng)被視為現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)思路
1、因此,本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺陷,提供一種橫向移動(dòng)流量檢測(cè)方法。
2、本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的。
3、根據(jù)本發(fā)明的第一方面,提供一種橫向移動(dòng)流量檢測(cè)方法,用于檢測(cè)目標(biāo)容器化集群中產(chǎn)生的待檢測(cè)流量序列中是否存在橫向移動(dòng)流量,其中,待檢測(cè)流量序列中包括時(shí)序連續(xù)的多個(gè)網(wǎng)絡(luò)流量,橫向移動(dòng)流量為目標(biāo)容器化集群遭受攻擊時(shí)產(chǎn)生的流量數(shù)據(jù),所述方法包括:預(yù)處理階段:獲取目標(biāo)容器化集群產(chǎn)生的包含多個(gè)良性流量的良性流量序列,對(duì)良性流量序列進(jìn)行特征提取以獲取包含多個(gè)目標(biāo)特征的目標(biāo)特征集合,并遍歷良性流量序列中每個(gè)良性流量中的每個(gè)目標(biāo)特征以獲得每個(gè)目標(biāo)特征對(duì)應(yīng)的取值范圍,以及基于良性流量序列進(jìn)行拓?fù)涮崛∫垣@取目標(biāo)容器化集群的拓?fù)浣Y(jié)構(gòu);第一檢測(cè)階段:最值檢測(cè):分析待檢測(cè)流量序列中每一個(gè)網(wǎng)絡(luò)流量是否為橫向移動(dòng)流量;其中,每個(gè)網(wǎng)絡(luò)流量包括多個(gè)目標(biāo)特征,任意一個(gè)目標(biāo)特征值不在該目標(biāo)特征的取值范圍內(nèi)的網(wǎng)絡(luò)流量為橫向移動(dòng)流量;待檢測(cè)流量序列經(jīng)最值檢測(cè)獲得的所有橫向移動(dòng)流量組成第一檢測(cè)結(jié)果;拓?fù)錂z測(cè):分析待檢測(cè)流量序列中每一個(gè)網(wǎng)絡(luò)流量的傳輸過程是否滿足目標(biāo)容器化集群的拓?fù)浣Y(jié)構(gòu),若不滿足,則該網(wǎng)絡(luò)流量為橫向移動(dòng)流量;其中,待檢測(cè)流量序列經(jīng)拓?fù)錂z測(cè)獲得的所有橫向移動(dòng)流量組成第二檢測(cè)結(jié)果;第二檢測(cè)階段:采用預(yù)訓(xùn)練的橫向移動(dòng)檢測(cè)模型對(duì)待檢測(cè)流量序列進(jìn)行流量檢測(cè)以分析待檢測(cè)流量序列中的橫向移動(dòng)流量得到第三檢測(cè)結(jié)果;檢測(cè)結(jié)果輸出階段:去除第一檢測(cè)結(jié)果、第二檢測(cè)結(jié)果和第三檢測(cè)結(jié)果中被重復(fù)判定為橫向移動(dòng)流量的網(wǎng)絡(luò)流量后,將剩下的所有橫向移動(dòng)流量作為待檢測(cè)流量序列的最終檢測(cè)結(jié)果。
4、在本發(fā)明的一些實(shí)施例中,所述方法包括按照如下方式對(duì)良性流量序列進(jìn)行特征提取以獲取包含多個(gè)目標(biāo)特征的目標(biāo)特征集合:良性流量序列中的每個(gè)良性流量中均包括多個(gè)數(shù)據(jù)包,基于任意一個(gè)良性流量的所有數(shù)據(jù)包對(duì)該良性流量進(jìn)行數(shù)據(jù)包級(jí)別的特征提取,以獲取該良性流量對(duì)應(yīng)的多個(gè)數(shù)據(jù)包級(jí)流量特征;以及基于數(shù)據(jù)包連接協(xié)議將該良性流量中的所有數(shù)據(jù)包聚合為多個(gè)會(huì)話以提取該良性流量對(duì)應(yīng)的多個(gè)會(huì)話級(jí)流量特征;其中,所有數(shù)據(jù)包級(jí)流量特征和所有會(huì)話級(jí)流量特征構(gòu)成初始特征集合;采用預(yù)設(shè)的評(píng)估方式對(duì)初始特征集合中的每個(gè)流量特征進(jìn)行重要度評(píng)估,以獲取每個(gè)流量特征的重要度評(píng)估結(jié)果;按照從高到低的順序?qū)χ匾仍u(píng)估結(jié)果進(jìn)行排序,并選擇排序在前的預(yù)設(shè)個(gè)數(shù)的流量特征作為目標(biāo)特征。
5、在本發(fā)明的一些實(shí)施例中,所述預(yù)設(shè)的評(píng)估方式為:采用梯度提升決策樹、隨機(jī)森林和互信息量分別對(duì)初始特征集合中的每個(gè)流量特征進(jìn)行重要度評(píng)估,并計(jì)算每個(gè)流量特征重要度的均值以獲取每個(gè)流量特征的重要度評(píng)估結(jié)果。
6、在本發(fā)明的一些實(shí)施例中,所述預(yù)設(shè)個(gè)數(shù)為57。
7、在本發(fā)明的一些實(shí)施例中,所述目標(biāo)特征包括:連續(xù)空閑時(shí)長(zhǎng)標(biāo)準(zhǔn)差、前向批量數(shù)據(jù)包傳輸字節(jié)數(shù)平均值、前向數(shù)據(jù)包長(zhǎng)度最小值、前向批量數(shù)據(jù)包速率平均值、前向rst標(biāo)志、前向主動(dòng)數(shù)據(jù)包數(shù)量、后向幀間到達(dá)時(shí)間最小值、后向psh標(biāo)志、前行報(bào)文段大小最小值、后向窗口初始值、tcp流總時(shí)間、psh標(biāo)志計(jì)數(shù)、ack標(biāo)志計(jì)數(shù)、前向幀間到達(dá)時(shí)間平均值、fin標(biāo)志計(jì)數(shù)、后向首部長(zhǎng)度、流間到達(dá)時(shí)間最小值、前向幀間到達(dá)時(shí)間最小值、前向數(shù)據(jù)包數(shù)量、數(shù)據(jù)包到達(dá)時(shí)間間隔平均值、后向數(shù)據(jù)包總長(zhǎng)度、syn標(biāo)志計(jì)數(shù)、數(shù)據(jù)包長(zhǎng)度最大值、后向幀間到達(dá)時(shí)間平均值、后向與前向數(shù)據(jù)包比例、后向數(shù)據(jù)包數(shù)量、前向首部長(zhǎng)度、流持續(xù)毫秒數(shù)、前向數(shù)據(jù)包到達(dá)時(shí)間間隔總和、后向數(shù)據(jù)包到達(dá)時(shí)間間隔總和、前向數(shù)據(jù)包長(zhǎng)度平均值、前向報(bào)文段大小平均值、前向psh標(biāo)志、數(shù)據(jù)包到達(dá)時(shí)間間隔標(biāo)準(zhǔn)差、前向數(shù)據(jù)包到達(dá)時(shí)間間隔標(biāo)準(zhǔn)差、后向子流字節(jié)數(shù)、前向窗口初始值、后向數(shù)據(jù)包長(zhǎng)度標(biāo)準(zhǔn)差、數(shù)據(jù)包長(zhǎng)度平均值、后向數(shù)據(jù)包長(zhǎng)度平均值、數(shù)據(jù)包長(zhǎng)度變化、后向數(shù)據(jù)包到達(dá)時(shí)間間隔標(biāo)準(zhǔn)差、數(shù)據(jù)包到達(dá)時(shí)間間隔最大值、后向報(bào)文段大小平均值、后向數(shù)據(jù)包到達(dá)時(shí)間間隔最大值、前向數(shù)據(jù)包到達(dá)時(shí)間間隔最大值、數(shù)據(jù)包長(zhǎng)度標(biāo)準(zhǔn)差、數(shù)據(jù)包長(zhǎng)度平均值、前向流速、前向數(shù)據(jù)包總長(zhǎng)度、前向數(shù)據(jù)包長(zhǎng)度標(biāo)準(zhǔn)差、前向子流字節(jié)數(shù)、后向數(shù)據(jù)包總長(zhǎng)度、數(shù)據(jù)包流速、字節(jié)流速、后向數(shù)據(jù)包流速和前向數(shù)據(jù)包長(zhǎng)度最大值。
8、在本發(fā)明的一些實(shí)施例中,所述方法包括按照如下方式基于良性流量序列進(jìn)行拓?fù)涮崛∫垣@取目標(biāo)容器化集群的拓?fù)浣Y(jié)構(gòu):良性流量序列中的每個(gè)良性流量對(duì)應(yīng)一個(gè)源節(jié)點(diǎn)和一個(gè)目標(biāo)節(jié)點(diǎn);其中,源節(jié)點(diǎn)表示在目標(biāo)容器化集群中發(fā)送該良性流量的節(jié)點(diǎn),目標(biāo)節(jié)點(diǎn)表示在目標(biāo)容器化集群中接收該良性流量的節(jié)點(diǎn);基于良性流量序列中每個(gè)良性流量對(duì)應(yīng)的源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的節(jié)點(diǎn)類型來獲取負(fù)載節(jié)點(diǎn)集合、api服務(wù)器集合、與api服務(wù)器通信的負(fù)載節(jié)點(diǎn)集合以及與外部節(jié)點(diǎn)通信的負(fù)載節(jié)點(diǎn)集合;其中,負(fù)載節(jié)點(diǎn)集合、api服務(wù)器集合、與api服務(wù)器通信的負(fù)載節(jié)點(diǎn)集合以及與外部節(jié)點(diǎn)通信的負(fù)載節(jié)點(diǎn)集合構(gòu)成目標(biāo)容器化集群的拓?fù)浣Y(jié)構(gòu)。
9、在本發(fā)明的一些實(shí)施例中,所述方法包括按照如下方式分析待檢測(cè)流量序列中每一個(gè)網(wǎng)絡(luò)流量的傳輸過程是否滿足目標(biāo)容器化集群的拓?fù)浣Y(jié)構(gòu):若網(wǎng)絡(luò)流量對(duì)應(yīng)的源節(jié)點(diǎn)或目標(biāo)節(jié)點(diǎn)是一個(gè)新的負(fù)載節(jié)點(diǎn)且不在負(fù)載節(jié)點(diǎn)集合中,則該網(wǎng)絡(luò)流量為橫向移動(dòng)流量;若網(wǎng)絡(luò)流量對(duì)應(yīng)的源節(jié)點(diǎn)不在與api服務(wù)器通信的負(fù)載節(jié)點(diǎn)集合中,且網(wǎng)絡(luò)流量對(duì)應(yīng)的目標(biāo)節(jié)點(diǎn)為api服務(wù)器,則該網(wǎng)絡(luò)流量為橫向移動(dòng)流量;若網(wǎng)絡(luò)流量對(duì)應(yīng)的目標(biāo)節(jié)點(diǎn)不在與api服務(wù)器通信的負(fù)載節(jié)點(diǎn)集合中,且網(wǎng)絡(luò)流量對(duì)應(yīng)的源節(jié)點(diǎn)為api服務(wù)器,則該網(wǎng)絡(luò)流量為橫向移動(dòng)流量;若網(wǎng)絡(luò)流量對(duì)應(yīng)的源節(jié)點(diǎn)不在與外部節(jié)點(diǎn)通信的負(fù)載節(jié)點(diǎn)集合中,且網(wǎng)絡(luò)流量對(duì)應(yīng)的目標(biāo)節(jié)點(diǎn)為外部節(jié)點(diǎn),則該網(wǎng)絡(luò)流量為橫向移動(dòng)流量;若網(wǎng)絡(luò)流量對(duì)應(yīng)的目標(biāo)節(jié)點(diǎn)不在與外部節(jié)點(diǎn)通信的負(fù)載節(jié)點(diǎn)集合中,且網(wǎng)絡(luò)流量對(duì)應(yīng)的源節(jié)點(diǎn)為外部節(jié)點(diǎn),則該網(wǎng)絡(luò)流量為橫向移動(dòng)流量。
10、在本發(fā)明的一些實(shí)施例中,預(yù)訓(xùn)練的橫向移動(dòng)檢測(cè)模型被配置為按照如下方式對(duì)待檢測(cè)流量序列進(jìn)行流量檢測(cè):以待檢測(cè)流量序列作為輸入,按照遞歸預(yù)測(cè)方式生成待檢測(cè)流量序列的目標(biāo)預(yù)測(cè)序列;其中,目標(biāo)預(yù)測(cè)序列中包括多個(gè)目標(biāo)預(yù)測(cè)網(wǎng)絡(luò)流量,且每一個(gè)目標(biāo)預(yù)測(cè)網(wǎng)絡(luò)流量對(duì)應(yīng)待檢測(cè)流量中的一個(gè)網(wǎng)絡(luò)流量;計(jì)算每一個(gè)目標(biāo)預(yù)測(cè)網(wǎng)絡(luò)流量與其對(duì)應(yīng)的實(shí)際網(wǎng)絡(luò)流量之間的誤差值,若誤差值大于或等于閾值,則判斷該網(wǎng)絡(luò)流量為橫向移動(dòng)流量。
11、在本發(fā)明的一些實(shí)施例中,預(yù)訓(xùn)練的橫向移動(dòng)檢測(cè)模型為按照如下方式訓(xùn)練獲得的模型:獲取訓(xùn)練用良性流量序列,其中,訓(xùn)練用良性流量序列中包括多個(gè)時(shí)序連續(xù)的多個(gè)良性流量,每個(gè)良性流量包括多個(gè)流量特征;對(duì)訓(xùn)練用良性流量序列進(jìn)行特征提取以獲取訓(xùn)練用良性流量序列中每個(gè)良性流量對(duì)應(yīng)的目標(biāo)特征集合;以特征提取處理后的良性流量序列為輸入、特征提取處理后的良性流量序列對(duì)應(yīng)的目標(biāo)預(yù)測(cè)序列為輸出,執(zhí)行多輪迭代訓(xùn)練直至橫向移動(dòng)檢測(cè)模型收斂。
12、在本發(fā)明的一些實(shí)施例中,所述預(yù)訓(xùn)練的橫向移動(dòng)檢測(cè)模型包括transformer模型和判斷模塊,其中:所述transformer模型用于預(yù)測(cè)待檢測(cè)流量序列對(duì)應(yīng)的目標(biāo)預(yù)測(cè)序列;所述判斷模塊用于計(jì)算每一個(gè)目標(biāo)預(yù)測(cè)網(wǎng)絡(luò)流量與其對(duì)應(yīng)的實(shí)際網(wǎng)絡(luò)流量之間的誤差值,且當(dāng)誤差值大于或等于閾值時(shí),判斷該網(wǎng)絡(luò)流量為橫向移動(dòng)流量。
13、在本發(fā)明的一些實(shí)施例中,所述預(yù)訓(xùn)練的橫向移動(dòng)檢測(cè)模型包括空間特征嵌入模塊、時(shí)間特征嵌入模塊、編解碼模塊、序列輸出模塊和判斷模塊;其中:所述空間特征嵌入模塊用于提取待檢測(cè)流量序列的空間特征以獲取待檢測(cè)流量序列中每個(gè)網(wǎng)絡(luò)流量的空間特征嵌入向量,并將每個(gè)網(wǎng)絡(luò)流量的空間特征嵌入向量與該網(wǎng)絡(luò)流量的流量特征進(jìn)行連接以獲取待檢測(cè)流量序列的初始特征;所述時(shí)間特征嵌入模塊用于基于待檢測(cè)流量序列的初始特征提取時(shí)間特征以獲取待檢測(cè)流量序列的時(shí)間特征嵌入向量;所述編解碼模塊包括編碼器、第一解碼器和第二解碼器,其中:編碼器用于基于待檢測(cè)流量序列的初始特征提取待檢測(cè)流量序列中各個(gè)網(wǎng)絡(luò)流量之間的依賴關(guān)系,以獲取待檢測(cè)流量序列的第一隱向量;以及基于待檢測(cè)流量序列的初始特征和序列輸出模塊得到的每一個(gè)初始預(yù)測(cè)網(wǎng)絡(luò)流量與其自身對(duì)應(yīng)的待檢測(cè)流量序列中的實(shí)際網(wǎng)絡(luò)流量之間的誤差,來重新提取待檢測(cè)流量序列中各個(gè)網(wǎng)絡(luò)流量之間的依賴關(guān)系以獲取待檢測(cè)流量序列的第二隱向量;第一解碼器用于基于待檢測(cè)流量序列的第一隱向量和時(shí)間特征嵌入向量進(jìn)行解碼處理以獲取待檢測(cè)流量序列的第一解碼特征向量;第二解碼器用于基于待檢測(cè)流量序列的第二隱向量和時(shí)間特征嵌入向量進(jìn)行解碼處理以獲取待檢測(cè)流量序列的第二解碼特征向量;所述序列輸出模塊用于基于待檢測(cè)流量序列的第一解碼特征向量生成待檢測(cè)流量序列的初始預(yù)測(cè)序列,以及基于待檢測(cè)流量序列的第二解碼特征向量生成待檢測(cè)流量序列的目標(biāo)預(yù)測(cè)序列;其中,初始預(yù)測(cè)序列中包括多個(gè)初始預(yù)測(cè)網(wǎng)絡(luò)流量,且每一個(gè)初始預(yù)測(cè)網(wǎng)絡(luò)流量對(duì)應(yīng)待檢測(cè)流量序列中的一個(gè)網(wǎng)絡(luò)流量;所述判斷模塊用于計(jì)算每一個(gè)目標(biāo)預(yù)測(cè)網(wǎng)絡(luò)流量與其對(duì)應(yīng)的實(shí)際網(wǎng)絡(luò)流量之間的誤差值,且當(dāng)誤差值大于或等于閾值時(shí),判斷該網(wǎng)絡(luò)流量為橫向移動(dòng)流量。
14、與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:(1)提取數(shù)據(jù)包級(jí)流量特征和會(huì)話級(jí)流量特征,還基于流量特征的重要度排序結(jié)果來剔除重要性較低的流量特征,解決了容器化集群中橫向移動(dòng)檢測(cè)特征不明確的問題;(2)設(shè)置兩階段檢測(cè)來篩選橫向移動(dòng)流量,進(jìn)而在提高檢測(cè)率的同時(shí)降低了誤報(bào)率;(3)橫向移動(dòng)檢測(cè)模型通過兩步預(yù)測(cè)來使良性流量預(yù)測(cè)誤差盡可能小,同時(shí)使橫向移動(dòng)流量的預(yù)測(cè)誤差盡可能大,進(jìn)而實(shí)現(xiàn)更加準(zhǔn)確的橫向移動(dòng)流量檢測(cè)。