本發(fā)明涉及網(wǎng)絡(luò)安全中的內(nèi)網(wǎng)安全防護(hù)技術(shù)領(lǐng)域,特別是一種發(fā)現(xiàn)內(nèi)網(wǎng)被控重路由節(jié)點(diǎn)的主動(dòng)流量分析方法。
背景技術(shù):
隨著信息化和網(wǎng)絡(luò)化的不斷深入,現(xiàn)代企業(yè)的組織、管理和業(yè)務(wù)運(yùn)轉(zhuǎn)越來(lái)越依賴(lài)計(jì)算機(jī)網(wǎng)絡(luò)的支持。同時(shí),針對(duì)企業(yè)辦公網(wǎng)絡(luò)、工業(yè)控制網(wǎng)絡(luò)以及其他物聯(lián)網(wǎng)絡(luò)的攻擊也日益嚴(yán)重。攻擊者尤其是有組織的攻擊者在發(fā)起網(wǎng)絡(luò)攻擊的時(shí)候,為了隱匿其身份,通常會(huì)采用各種重路由的匿名手段。利用公共網(wǎng)絡(luò)的VPN服務(wù)、代理服務(wù)來(lái)隱匿身份是一種選擇,但是由于公共服務(wù)器上通常記錄大量的日志信息,攻擊者的行蹤在很難躲過(guò)細(xì)致的調(diào)查。類(lèi)似洋蔥路由的匿名通信網(wǎng)絡(luò),是另外一種進(jìn)行重路由隱匿的選擇,但由于匿名通信網(wǎng)絡(luò)中的大部分的節(jié)點(diǎn)可能被組織結(jié)構(gòu)控制,因此攻擊者也容易暴露自己的身份。出于以上考慮,有組織的攻擊者往往通過(guò)控制網(wǎng)絡(luò)個(gè)中的“肉雞”節(jié)點(diǎn)作為重路由的跳板來(lái)實(shí)施攻擊。
檢測(cè)被外部的攻擊者控制了的主機(jī),通常是內(nèi)網(wǎng)安全防護(hù)的基本任務(wù)。為了實(shí)現(xiàn)這一目標(biāo),傳統(tǒng)的做法主要采用終端上的木馬和惡意軟件查殺工具。這種方式對(duì)類(lèi)似高級(jí)持續(xù)威脅這種具有終端隱匿能力的軟件工具往往失去效用,業(yè)界和學(xué)界普遍采用網(wǎng)絡(luò)流量和網(wǎng)絡(luò)通信行為分析的手段來(lái)進(jìn)行輔助檢測(cè)。攻擊行為中滲透和遠(yuǎn)程控制等方式,都會(huì)出現(xiàn)流入被控重路由節(jié)點(diǎn)的數(shù)據(jù)和流出該節(jié)點(diǎn)的數(shù)據(jù)在內(nèi)容上是一致的,尤其是在將肉雞節(jié)點(diǎn)直接作為代理、VPN、SSH隧道時(shí)。因此,通過(guò)比較流入和流出數(shù)據(jù)流的相似性,可以一定程度上找到節(jié)點(diǎn)被控重路由的線索。但遺憾的是,進(jìn)出網(wǎng)絡(luò)的數(shù)據(jù)往往都進(jìn)行了加密保護(hù),因此在數(shù)據(jù)包的形式即內(nèi)容和尺寸方面可能并不一致。使用數(shù)據(jù)包的時(shí)間信息進(jìn)行流入/流出數(shù)據(jù)流的一致性分析,是一種可行的流量分析方法,但是節(jié)點(diǎn)中的存儲(chǔ)、處理和轉(zhuǎn)發(fā)可能導(dǎo)致時(shí)間信息的損壞。因此,直接利用時(shí)間信息的被動(dòng)流量分析技術(shù),不得不利用較長(zhǎng)的流量數(shù)據(jù)才能得到相對(duì)穩(wěn)定的判斷結(jié)果,對(duì)網(wǎng)絡(luò)攻擊的響應(yīng)速度較慢。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種發(fā)現(xiàn)內(nèi)網(wǎng)被控重路由節(jié)點(diǎn)的主動(dòng)流量分析方法,以提高對(duì)網(wǎng)絡(luò)攻擊的響應(yīng)速度。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)解決方案為:一種發(fā)現(xiàn)內(nèi)網(wǎng)被控重路由節(jié)點(diǎn)的主動(dòng)流量分析方法,包括以下步驟:
步驟1,網(wǎng)絡(luò)流水印標(biāo)記設(shè)備監(jiān)視流入系統(tǒng)的TCP或UDP連接,其中TCP連接從TCP的握手協(xié)議判斷起始,UDP連接以新的UDP流的第一個(gè)包為起始時(shí)間,假設(shè)一個(gè)數(shù)據(jù)流F的起始時(shí)間為t0,則將F按照時(shí)間跨度T為時(shí)隙窗口進(jìn)行分割;
步驟2,對(duì)通過(guò)網(wǎng)絡(luò)邊界設(shè)備的流入數(shù)據(jù)流進(jìn)行網(wǎng)絡(luò)流水印標(biāo)記操作;
步驟3,在流出數(shù)據(jù)流中檢測(cè)是否包含與標(biāo)記水印相應(yīng)的水印信息;
步驟4,根據(jù)水印信息的檢測(cè)情況,確定內(nèi)網(wǎng)中是否存在被控重路由節(jié)點(diǎn),并根據(jù)檢出存在水印的數(shù)據(jù)流的IP地址和端口來(lái)定位內(nèi)網(wǎng)主機(jī)。
進(jìn)一步地,步驟2所述對(duì)通過(guò)網(wǎng)絡(luò)邊界設(shè)備的流入數(shù)據(jù)流進(jìn)行網(wǎng)絡(luò)流水印標(biāo)記操作,具體如下:
對(duì)任一流入的數(shù)據(jù)流Fin,跳過(guò)M-1個(gè)時(shí)隙窗口,從第M個(gè)時(shí)隙分組開(kāi)始進(jìn)行連續(xù)N個(gè)時(shí)隙窗口W上的水印標(biāo)記,標(biāo)記方法如下:
對(duì)具有起始時(shí)間ti,0的時(shí)隙窗口Wi,i為時(shí)隙組的標(biāo)號(hào),設(shè)時(shí)隙窗口Wi中的ni個(gè)數(shù)據(jù)包的到達(dá)時(shí)間為ti,1,ti,2,…,ti,ni,則將ti,j-ti,0≤T/2的數(shù)據(jù)包均做T/2-ε的延遲,其中ε是一個(gè)大于0的偏移量,保證數(shù)據(jù)包不移出該時(shí)隙窗口;若該時(shí)隙窗口Wi中不存在數(shù)據(jù)包,則該窗口標(biāo)記失敗。
進(jìn)一步地,步驟3所述在流出數(shù)據(jù)流中檢測(cè)是否包含與標(biāo)記水印相應(yīng)的水印信息,具體如下:
(1)記錄從第M個(gè)時(shí)隙窗口起到第M+N個(gè)時(shí)隙窗口的共p個(gè)數(shù)據(jù)包的流出時(shí)間,N為該時(shí)隙窗口內(nèi)的時(shí)隙個(gè)數(shù),記第i個(gè)時(shí)隙窗口Wi中n個(gè)數(shù)據(jù)包的流經(jīng)檢測(cè)節(jié)點(diǎn)的時(shí)間分別為ti,1,ti,2,…,ti,n,τ0為第M個(gè)時(shí)隙窗口起始時(shí)間;
(2)令δ=T/20,k=0,1,…,O,O為試探檢測(cè)組數(shù),以τ0+kδ為連續(xù)N個(gè)時(shí)隙窗口的起始時(shí)間,分別計(jì)算O+1個(gè)起始時(shí)間選擇下,連續(xù)N個(gè)時(shí)隙窗口的時(shí)隙質(zhì)心;設(shè)求得的第k個(gè)起始時(shí)間選擇下的N個(gè)時(shí)隙窗口的質(zhì)心為Ck1,Ck2,…,CkN,進(jìn)一步求取Jk=Sgn(Ck1-T/2)+Sgn(Ck2-T/2)+…+Sgn(CkN-T/2),其中Sgn為符號(hào)函數(shù);
(3)求取J=max{k=0,1,…,O}(Jk),若J>αN,α∈(0,1)為檢測(cè)閾值,則判定水印檢測(cè)成功,否則判定水印檢測(cè)不成功。
本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點(diǎn)為:(1)對(duì)所有流入網(wǎng)絡(luò)的數(shù)據(jù)都進(jìn)行網(wǎng)絡(luò)流水印標(biāo)記處理,并通過(guò)對(duì)所有流出數(shù)據(jù)流進(jìn)行水印檢測(cè)以快速的完成流入/流出一致性比對(duì),實(shí)現(xiàn)了對(duì)受控重路由節(jié)點(diǎn)的精確發(fā)現(xiàn);(2)需要很少的網(wǎng)絡(luò)數(shù)據(jù)即可發(fā)現(xiàn)存在一致性的流入和流出數(shù)據(jù)流,大大提高了對(duì)跳板利用攻擊的響應(yīng)速度;(3)亦可作為功能模塊,提升網(wǎng)絡(luò)針對(duì)高級(jí)持續(xù)威脅的發(fā)現(xiàn)能力。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明具體實(shí)施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)具體實(shí)施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些事實(shí)方式,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明典型部署應(yīng)用示意圖。
圖2為網(wǎng)絡(luò)流水印標(biāo)記示意圖。
圖3為網(wǎng)絡(luò)流水印檢測(cè)流程圖。
具體實(shí)施方式
下面將結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
結(jié)合圖1~3,本發(fā)明發(fā)現(xiàn)內(nèi)網(wǎng)被控重路由節(jié)點(diǎn)的主動(dòng)流量分析方法,包括以下步驟:
步驟1,網(wǎng)絡(luò)流水印標(biāo)記設(shè)備監(jiān)視流入系統(tǒng)的TCP或UDP連接,其中TCP連接從TCP的握手協(xié)議判斷起始,UDP連接以新的UDP流的第一個(gè)包為起始時(shí)間,假設(shè)一個(gè)數(shù)據(jù)流F的起始時(shí)間為t0,則將F按照時(shí)間跨度T為時(shí)隙窗口進(jìn)行分割;
步驟2,對(duì)通過(guò)網(wǎng)絡(luò)邊界設(shè)備的流入數(shù)據(jù)流進(jìn)行網(wǎng)絡(luò)流水印標(biāo)記操作,具體如下:
對(duì)任一流入的數(shù)據(jù)流Fin,跳過(guò)M-1個(gè)時(shí)隙窗口,從第M個(gè)時(shí)隙分組開(kāi)始進(jìn)行連續(xù)N個(gè)時(shí)隙窗口W上的水印標(biāo)記,標(biāo)記方法如下:
對(duì)具有起始時(shí)間ti,0的時(shí)隙窗口Wi,i為時(shí)隙組的標(biāo)號(hào),設(shè)時(shí)隙窗口Wi中的ni個(gè)數(shù)據(jù)包的到達(dá)時(shí)間為ti,1,ti,2,…,ti,ni,則將ti,j-ti,0≤T/2的數(shù)據(jù)包均做T/2-ε的延遲,其中ε是一個(gè)大于0的偏移量,保證數(shù)據(jù)包不移出該時(shí)隙窗口;若該時(shí)隙窗口Wi中不存在數(shù)據(jù)包,則該窗口標(biāo)記失?。?/p>
步驟3,在流出數(shù)據(jù)流中檢測(cè)是否包含與標(biāo)記水印相應(yīng)的水印信息,具體如下:
(1)記錄從第M個(gè)時(shí)隙窗口起到第M+N個(gè)時(shí)隙窗口的共p個(gè)數(shù)據(jù)包的流出時(shí)間,N為該時(shí)隙窗口內(nèi)的時(shí)隙個(gè)數(shù),記第i個(gè)時(shí)隙窗口Wi中n個(gè)數(shù)據(jù)包的流經(jīng)檢測(cè)節(jié)點(diǎn)的時(shí)間分別為ti,1,ti,2,…,ti,n,τ0為第M個(gè)時(shí)隙窗口起始時(shí)間;
(2)令δ=T/20,k=0,1,…,O,O為試探檢測(cè)組數(shù),通過(guò)以不同的時(shí)間偏移量進(jìn)行試探檢測(cè),選擇其中最佳的結(jié)果為最終結(jié)果,減小網(wǎng)絡(luò)中時(shí)間擾動(dòng)的影響,增加檢測(cè)的可靠性;以τ0+kδ為連續(xù)N個(gè)時(shí)隙窗口的起始時(shí)間,分別計(jì)算O+1個(gè)起始時(shí)間選擇下,連續(xù)N個(gè)時(shí)隙窗口的時(shí)隙質(zhì)心;設(shè)求得的第k個(gè)起始時(shí)間選擇下的N個(gè)時(shí)隙窗口的質(zhì)心為Ck1,Ck2,…,CkN,進(jìn)一步求取Jk=Sgn(Ck1-T/2)+Sgn(Ck2-T/2)+…+Sgn(CkN-T/2),其中Sgn為符號(hào)函數(shù);
(3)求取J=max{k=0,1,…,O}(Jk),若J>αN,α∈(0,1)為檢測(cè)閾值,則判定水印檢測(cè)成功,否則判定水印檢測(cè)不成功。
步驟4,根據(jù)水印信息的檢測(cè)情況,確定內(nèi)網(wǎng)中是否存在被控重路由節(jié)點(diǎn),并根據(jù)檢出存在水印的數(shù)據(jù)流的IP地址和端口來(lái)定位內(nèi)網(wǎng)主機(jī)。
實(shí)施例1
本發(fā)明發(fā)現(xiàn)內(nèi)網(wǎng)被控重路由節(jié)點(diǎn)的主動(dòng)流量分析方法,其典型部署應(yīng)用的示意圖如圖1所示。對(duì)于需要保護(hù)的企業(yè)網(wǎng)絡(luò)來(lái)說(shuō),本方法相關(guān)聯(lián)的網(wǎng)絡(luò)流水印標(biāo)記設(shè)備以串接的方式部署在企業(yè)網(wǎng)出口的路由器后面,網(wǎng)絡(luò)流水印檢測(cè)設(shè)備以旁路的方式部署在流水印標(biāo)記設(shè)備或出口路由器旁邊。為了發(fā)現(xiàn)受控的重路由節(jié)點(diǎn),網(wǎng)絡(luò)流水印標(biāo)記設(shè)備對(duì)所有進(jìn)入網(wǎng)絡(luò)的流Fin都進(jìn)行水印標(biāo)記,標(biāo)記了水印后的數(shù)據(jù)流流入相應(yīng)的內(nèi)網(wǎng)主機(jī)。如某主機(jī)Host為受控用于重路由的節(jié)點(diǎn),那么從Host流出的Fout就應(yīng)該包含標(biāo)記在Fin上的水印信息。通過(guò)網(wǎng)絡(luò)流水印檢測(cè)設(shè)備檢測(cè)到Fout中包含水印則可以判定主機(jī)Host為受控重路由節(jié)點(diǎn)。
下面分別介紹網(wǎng)絡(luò)流水印的標(biāo)記和檢測(cè)方法的具體實(shí)施方法。在討論網(wǎng)絡(luò)流水印標(biāo)記和檢測(cè)方法之前,值得指出的是為了減少水印標(biāo)記負(fù)擔(dān),可以在水印標(biāo)記設(shè)備上,配備一個(gè)可信外部IP地址庫(kù),這個(gè)地址庫(kù)中的地址包括常用桌面和移動(dòng)應(yīng)用的IP地址以及主要網(wǎng)絡(luò)服務(wù)器地址,這個(gè)可信地址庫(kù),這個(gè)地址庫(kù)的構(gòu)建可以參考第三方的地址庫(kù)構(gòu)建方法;也可以采取針對(duì)企業(yè)網(wǎng)絡(luò)的數(shù)據(jù)分析的方法,如跟蹤所有的DNS查詢,根據(jù)域名的合法性來(lái)確定DNS返回的IP地址的可信性。通過(guò)可信的IP地址庫(kù),可以在標(biāo)記和檢測(cè)水印的過(guò)程中過(guò)濾掉連接可信IP的所有流量。
1.網(wǎng)絡(luò)流水印標(biāo)記方法
網(wǎng)絡(luò)流水印標(biāo)記設(shè)備監(jiān)視流入系統(tǒng)的TCP或UDP連接,其中TCP連接可以從TCP的握手協(xié)議判斷起始,UDP連接以某新的UDP流的第一個(gè)包為起始時(shí)間。采用T=200ms的時(shí)隙寬度,從數(shù)據(jù)流開(kāi)始后的第26個(gè)時(shí)隙窗口開(kāi)始對(duì)連續(xù)50個(gè)窗口進(jìn)行標(biāo)記。
如圖2所示。設(shè)窗口Wi中的ni個(gè)數(shù)據(jù)包的到達(dá)時(shí)間為ti,1,ti,1,…,ti,ni,則將ti,j-ti,0≤T/2的數(shù)據(jù)包進(jìn)行T/2-ε的延遲,其中ε采用T/50,以盡量保證數(shù)據(jù)包不移出該窗口。若該時(shí)隙窗口Wi中不存在數(shù)據(jù)包,則該窗口跳過(guò)。
2.網(wǎng)絡(luò)流水印檢測(cè)方法
對(duì)某條流出網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行網(wǎng)絡(luò)流水印檢測(cè)的流程如圖3所示。該過(guò)程包含以下流程:
步驟1,記錄流出的數(shù)據(jù)流開(kāi)始后的第26個(gè)時(shí)隙窗口,其窗口起始時(shí)間計(jì)為τ0,到第76個(gè)時(shí)隙窗口的p個(gè)數(shù)據(jù)包的流出時(shí)間,計(jì)其為t1,t2,…,tp,τ0為第M個(gè)時(shí)隙窗口起始時(shí)間
步驟2,令δ=10ms,k=0,1,…,100,以τ0+k×10為連續(xù)50個(gè)時(shí)隙窗口的起始時(shí)間,分別計(jì)算101個(gè)起始時(shí)間選擇下,連續(xù)50個(gè)時(shí)隙窗口的時(shí)隙質(zhì)心。對(duì)具有起始時(shí)間ti,0的時(shí)隙窗口Wi,設(shè)其中的ni個(gè)數(shù)據(jù)包的到達(dá)時(shí)間為ti,1,ti,1,…,ti,ni,其時(shí)隙質(zhì)心的計(jì)算公式為Ci=1/ni[(ti,1-ti,0)+(ti,2-ti,0)+….+(ti,ni-ti,0)]。若ni=0,直接令Ci=T/2。
設(shè)第k個(gè)起始時(shí)間選擇下的N個(gè)時(shí)隙窗口的質(zhì)心為Ck1,Ck2,…,CkN,進(jìn)一步求取Jk=Sgn(Ck1-T/2)+Sgn(Ck2-T/2)+…+Sgn(CkN-T/2),其中Sgn為符號(hào)函數(shù);
步驟3,求取J=max{k=0,1,…,,100}(Jk),選取檢測(cè)閾值α=0.8,若J>40,則判定水印檢測(cè)成功,否則水印檢測(cè)不成功。
綜上,本發(fā)明僅需要很少的網(wǎng)絡(luò)數(shù)據(jù)即可發(fā)現(xiàn)存在一致性的流入和流出數(shù)據(jù)流,大大提高了對(duì)跳板利用攻擊的響應(yīng)速度,亦可作為功能模塊,提升網(wǎng)絡(luò)針對(duì)高級(jí)持續(xù)威脅的發(fā)現(xiàn)能力。