專(zhuān)利名稱(chēng)::一種網(wǎng)絡(luò)成分協(xié)調(diào)控制方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于網(wǎng)絡(luò)安全檢測(cè)與防御
技術(shù)領(lǐng)域:
,特別是涉及一種網(wǎng)絡(luò)成分協(xié)調(diào)控制方法。
背景技術(shù):
:網(wǎng)絡(luò)遭受的網(wǎng)絡(luò)攻擊,可以發(fā)生在網(wǎng)絡(luò)的各個(gè)協(xié)議層次,形式也是多種多樣的。對(duì)于已知的網(wǎng)絡(luò)攻擊,可以通過(guò)其特征來(lái)發(fā)現(xiàn)和防御它;但對(duì)于未知的網(wǎng)絡(luò)攻擊和所謂的零日攻擊,則網(wǎng)絡(luò)缺乏必要的檢測(cè)手段和應(yīng)對(duì)措施。但如果我們把網(wǎng)絡(luò)正常運(yùn)行情況下的各種可統(tǒng)計(jì)的量作為網(wǎng)絡(luò)的構(gòu)成成分,把各種成分的比例分布作為網(wǎng)絡(luò)正常的參考標(biāo)準(zhǔn),則我們可以以此參考標(biāo)準(zhǔn)檢驗(yàn)每個(gè)時(shí)刻網(wǎng)絡(luò)的異常狀況,并且在發(fā)現(xiàn)網(wǎng)絡(luò)異常時(shí),對(duì)網(wǎng)絡(luò)各成分進(jìn)行控制,使得網(wǎng)絡(luò)各成分保持協(xié)調(diào)比例,以抑制潛在的網(wǎng)絡(luò)攻擊。這種系統(tǒng)的突出優(yōu)點(diǎn)是,釆取主動(dòng)防御的方式,防范已知和未知的各種網(wǎng)絡(luò)攻擊。而且這種系統(tǒng)是基于數(shù)據(jù)包的網(wǎng)絡(luò)層頭部和傳輸層頭部的信息,不需要對(duì)應(yīng)用層的數(shù)據(jù)進(jìn)行解析,所以即便是對(duì)數(shù)據(jù)內(nèi)容加密型的網(wǎng)絡(luò)攻擊也適用。
發(fā)明內(nèi)容本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種網(wǎng)絡(luò)成分協(xié)調(diào)控制系統(tǒng)。為了實(shí)現(xiàn)本發(fā)明目的,采用的技術(shù)方案如下-一種網(wǎng)絡(luò)成分協(xié)調(diào)控制方法,它從數(shù)據(jù)包頭部信息獲取各種統(tǒng)計(jì)量和各種統(tǒng)計(jì)分布;把這些統(tǒng)計(jì)分布相對(duì)于正常網(wǎng)絡(luò)構(gòu)成成分的偏離作為網(wǎng)絡(luò)異常程度;把對(duì)網(wǎng)絡(luò)異常分量的速率限制作為對(duì)網(wǎng)絡(luò)構(gòu)成成分的協(xié)調(diào)控制。它的從數(shù)據(jù)包頭部獲取信息的方法,是從數(shù)據(jù)包的網(wǎng)絡(luò)層和傳輸層頭部獲取各字段的取值,然后對(duì)這些取值進(jìn)行分段處理,其方法具體如下設(shè)數(shù)據(jù)包頭部總共有M個(gè)字段,每個(gè)字段的取值為A,/=1,…,M;如果^只有不太多個(gè)可能的取值,則不做分段處理,即令其索引值/叔=如果",有數(shù)千至數(shù)億個(gè)可能取值,則根據(jù)情況選擇進(jìn)行如下分段處理-a)除以一個(gè)整數(shù)2"并取整,即把",右移"位/血,=^>>"b)取l0g2對(duì)數(shù)并取整,即求A的最高不為0比特/A.=MW(fl,+Al)c)求相對(duì)于整數(shù)m的余數(shù)/血,=a,,modwd)令&為/血,.實(shí)際取值的集合,/=1,...,M。它的從數(shù)據(jù)包頭部獲取信息的方法,還可以把多個(gè)字段的值0/,q,...,w組合在一起使用,并采用散列函數(shù)hash()把它映射成一個(gè)索引值/血M+;^hash(力,q,…,&),并令S似"為Z血脅;t實(shí)際取值的集合,…,K;令A(yù)^M+K。它的從數(shù)據(jù)包頭部信息獲取各種統(tǒng)計(jì)量的方法,就是當(dāng)一個(gè)數(shù)據(jù)包達(dá)到時(shí),由其頭部各字段變換得到的索引值/血i,/血2,z'血w,對(duì)計(jì)數(shù)器C,[/血,]進(jìn)行累加統(tǒng)計(jì),即令Cp成]=C,.[z'血,]+片l,2,...,tv,其中c^'由Cp血,]的統(tǒng)計(jì)對(duì)象來(lái)確定,它可以是包數(shù)和、載荷長(zhǎng)度和、到達(dá)時(shí)間間隔和,則對(duì)應(yīng)的o^'分另寸等于1、(total—length—head—length*4)、(current—time—last—arrival—time)。它的從數(shù)據(jù)包頭部信息獲取各種統(tǒng)計(jì)分布的方法,就是在每個(gè)單位時(shí)間結(jié)束時(shí),由該單位時(shí)間內(nèi)的累加結(jié)果(C,[/血,],/血,£&}進(jìn)一步計(jì)算得到統(tǒng)計(jì)分布AW,z'=l,2,…,tv,艮卩a)如果&的取值>256,則對(duì)C,[/]取log2對(duì)數(shù)并取整,即令^=厘^((^[/]+G.[/]l),乂e然后求直方圖AW]=A化]+1,7e并記錄落在每個(gè)區(qū)間的^c,.的取值4化]uj》'e&;b)如果&的取值。56,則直接令卩[/]=^[/],4{/]={/},^&;c)重置G.[/],即令G[/]=0,forall/and乂。它的測(cè)量網(wǎng)絡(luò)異常程度的方法如下設(shè)均值A(chǔ)閱和方差A(yù)閱是網(wǎng)絡(luò)正常情況下的構(gòu)成成分,在每個(gè)單位時(shí)間結(jié)束時(shí),對(duì)所獲得的統(tǒng)計(jì)分布A閱用下式檢測(cè)它與正常情況的偏離程度^^越大異常程度越大。當(dāng)所有^4<3時(shí),認(rèn)為網(wǎng)絡(luò)處于正常狀態(tài),可以把數(shù)據(jù)A閱保存起來(lái),用做后續(xù)的參數(shù)更新,即令叫M=W狀]+A閱,=+1,forall/,A:。它的對(duì)網(wǎng)絡(luò)異常分量進(jìn)行速率限制的方法,具體如下把前一單位時(shí)間獲得的^4}和{^閱}用于對(duì)當(dāng)前數(shù)據(jù)包的控制a)如果采用多屬性排隊(duì)調(diào)度控制方式,則當(dāng)數(shù)據(jù)包的/血^AW時(shí),把該數(shù)據(jù)包的屬性f的優(yōu)先權(quán)設(shè)為A4,A&越小優(yōu)先權(quán)越高,該數(shù)據(jù)包越有可能在第/組優(yōu)先權(quán)隊(duì)列中優(yōu)先獲得發(fā)送權(quán);b)如果采用硬判決過(guò)濾方式,則當(dāng)max(MJ^3時(shí),由F=argmax{Ms}找到異常集4^'];如果當(dāng)前數(shù)據(jù)包的/血^4[f],則把當(dāng)前數(shù)據(jù)包丟棄,直到當(dāng)前的單位時(shí)間結(jié)束。它的確定網(wǎng)絡(luò)正常構(gòu)成成分的描述參數(shù){^閱}和{。閱}的方法如下設(shè)典型的網(wǎng)絡(luò)穩(wěn)定時(shí)間為r,則在每一個(gè)參數(shù)更新時(shí)間r結(jié)束時(shí),進(jìn)行參數(shù)更新,即令A(yù)[*]=m,[W〃,=V&[W〃—//,[W2,^伙]=o,=o,=0,foraiH,t與現(xiàn)有方法相比,本發(fā)明的網(wǎng)絡(luò)成分協(xié)調(diào)控制方法,只需要采集數(shù)據(jù)包的網(wǎng)絡(luò)層頭部和傳輸層頭部的信息,通過(guò)統(tǒng)計(jì)得到各種分布,并根據(jù)正常情況下的分布來(lái)發(fā)現(xiàn)異常網(wǎng)絡(luò)成分,再通過(guò)對(duì)異常成分的速率控制來(lái)抑制各種網(wǎng)絡(luò)攻擊。由于該系統(tǒng)采取的是一種主動(dòng)防御的方式,因而可以防御未知的網(wǎng)絡(luò)攻擊以及零日攻擊。該系統(tǒng)不需要復(fù)雜的人工分析和系統(tǒng)編程,具有易于實(shí)現(xiàn)的特占。八"o圖1為本發(fā)明的一個(gè)實(shí)施例的示意圖。具體實(shí)施方式下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的說(shuō)明。本發(fā)明如附圖1所示。其具體實(shí)施例如下一、預(yù)先確定各字段值的分段處理方法在在線運(yùn)行網(wǎng)絡(luò)成分協(xié)調(diào)控制系統(tǒng)之前,確定網(wǎng)絡(luò)層頭部和傳輸層頭部各字段取值的分段處理方法。設(shè)數(shù)據(jù)包頭部總共有M個(gè)字段,每個(gè)字段的取值為A,/=1,...,M;如果",只有不太多個(gè)可能的取值,例如<28,則不做分段處理,即令其索引值/血,=",;如果a,有數(shù)千至數(shù)億個(gè)可能取值,例如2213,則根據(jù)情況選擇進(jìn)行如下分段處理a)除以一個(gè)整數(shù)2"并取整,即把^右移"位/血,=^>>"b)取log2對(duì)數(shù)并取整,即求A的最高不為0比特=M)"O,+A>>1)c)求相對(duì)于整數(shù)w的余數(shù)/血,;a,.modmd)令&為Z我實(shí)際取值的集合,f=l,...,M;還可以把多個(gè)字段的值ay,...,&組合在一起使用,并采用散列函數(shù)hash()把它映射成一個(gè)索引值/血脅fhash(》,afoa》,并令5W;t為/血^娃實(shí)際取值的集合,hl,…,《;令A(yù)^M+《。具體的例子是把IP地址與端口組合形成socketaddress,得到a脅產(chǎn)hash(srcIP,srcPort)orhash(dstIP,dstPort),把源目IP與端口以及協(xié)議組成流的五元組,得到<3^+2=hash(srcIP,srcPort,dstIP,dstPort,Proto)=hash(dstIP,dstPort,srcIP,srcPort,Proto)。所以7V=Af+2。下面是對(duì)各字段取值進(jìn)行分段處理的一個(gè)可行的方案:字段編號(hào)字段a,的取值范圍分段處理方法/A,的取值個(gè)數(shù)1Version{4,6}1:122HeaderLength{5,>5}1:123ServiceType26x》384TotalLength通常<2"X<=0x7ffx》5:雄《x+x》l)+43695Identification21686FlagsDbit{0,1}1:17FlagsMbit{0,1}1:128FragmentOffset213她.《x+x》1)149Timetolive28x》斗1610Protocol281:125611SourceIPAddress232^內(nèi)網(wǎng)IPx:;c24variable12DestinationIPAddress232義內(nèi)網(wǎng)IPjc:x24variable13IPOptions281614UDPSourcePort2'6X<1024x:(x10)+1024108815UDPDestinationPort216K024x:(x》10)+1024108816TCPSourcePort216X<1024x:(jc10)+1024108817TCPDestinationPort216K024;c:Cx10)+1024108818SequenceNumber232x266419AcknowledgementNumber232x266420TCPURG{0,1}1:1221TCPACK{0,1}1:1222TCPPSH{0,1}1:1223TCPRST{0,1}1:12<formula>formulaseeoriginaldocumentpage10</formula>其中,M)雄)代表求二進(jìn)制數(shù);c的最高比特;代表"如果x成立,則取值》否則取值z(mì)"。二、在每個(gè)數(shù)據(jù)包到達(dá)時(shí)執(zhí)行的操作(1)從數(shù)據(jù)包頭部信息獲取各種統(tǒng)計(jì)量當(dāng)一個(gè)數(shù)據(jù)包到達(dá)時(shí),獲得可以用于統(tǒng)計(jì)的信息包括數(shù)據(jù)包數(shù)(l)、載荷長(zhǎng)度(bytes)、到達(dá)時(shí)間間隔(ns);設(shè)oZy'是這三者中的某一項(xiàng);由數(shù)據(jù)包解析獲得網(wǎng)絡(luò)層頭部和傳輸層頭部各字段的取值;由各字段的取值用前述的分段處理方法得到索引值/血"'血2,...,/血w然后進(jìn)行累加統(tǒng)計(jì),即令<^[/成]=6^'血,〗+。6乂,forf=l,2,…,iV;每個(gè)數(shù)據(jù)包到達(dá)時(shí)可獲得的累加項(xiàng)的例子如下:<formula>formulaseeoriginaldocumentpage10</formula><table>tableseeoriginaldocumentpage11</column></row><table>(2)對(duì)屬于網(wǎng)絡(luò)異常分量的數(shù)據(jù)包進(jìn)行速率限制把前一單位時(shí)間獲得的{714}和{^伙]}用于對(duì)當(dāng)前數(shù)據(jù)包的控制a)如果采用多屬性排隊(duì)調(diào)度控制方式,則當(dāng)數(shù)據(jù)包的法,."諷時(shí),把該數(shù)據(jù)包的屬性/的優(yōu)先權(quán)設(shè)為^^,A&越小優(yōu)先權(quán)越高,該數(shù)據(jù)包越有可能在第/組優(yōu)先權(quán)隊(duì)列中優(yōu)先獲得發(fā)送權(quán);b)如果采用硬判決過(guò)濾方式,則當(dāng)max(MJ^3時(shí),由F=argmax(風(fēng)J找到異常集4[^];如果當(dāng)前數(shù)據(jù)包的z'血^4W'],則把當(dāng)前數(shù)據(jù)包丟棄,直到當(dāng)前的單位時(shí)間結(jié)束;三、在每個(gè)單位時(shí)間結(jié)束時(shí)執(zhí)行的操作典型情況下可以設(shè)單位時(shí)間長(zhǎng)度為1秒。(1)得到各種統(tǒng)計(jì)分布在每個(gè)單位時(shí)間結(jié)束時(shí),由該單位時(shí)間內(nèi)的累加結(jié)果(C,[/血,],i血,eSJ進(jìn)一步計(jì)算得到統(tǒng)計(jì)分布A閱,一l,2,…,見(jiàn)艮口a)如果&的取值>256,則對(duì)Q/]取log2對(duì)數(shù)并取整,即令&=Mh'《G[/]+c,[/]e然后求直方圖=A化]+i,j'e并記錄落在每個(gè)區(qū)間的/血,的取值4化]uy,y'eb)如果&的取值《56,則直接令A(yù)[/hQ/]"[/]-W,J'e&;c)重置C,[/],即令Q/]=0,foralH,力在每個(gè)單位時(shí)間結(jié)束時(shí)可獲得的統(tǒng)計(jì)分布的例子為當(dāng)/血,的取值>256時(shí):<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>(2)測(cè)量網(wǎng)絡(luò)異常程度設(shè)均值/Z,伙]和方差CT,閱是網(wǎng)絡(luò)正常情況下的構(gòu)成成分,在每個(gè)單位時(shí)間結(jié)束時(shí),對(duì)所獲得的統(tǒng)計(jì)分布A閱用下式測(cè)量它與正常情況的偏離程度Ma=max、0,~「'LM^越大異常程度越大。該測(cè)量結(jié)果用于對(duì)下一單位時(shí)間內(nèi)的數(shù)據(jù)包的控制。(3)保存正常數(shù)據(jù)如果所有^14<3,則認(rèn)為網(wǎng)絡(luò)處于正常狀態(tài),把此時(shí)獲得的數(shù)據(jù)A閱保存起來(lái),用做后續(xù)的參數(shù)更新,即令m諷-m,[A]+A伙],A閱"諷+A[W2,+1,forall/,A:;四、在每個(gè)更新周期結(jié)束時(shí)更新模型參數(shù)典型的網(wǎng)絡(luò)穩(wěn)定時(shí)間至少30分鐘,所以可以把參數(shù)更新周期時(shí)間r設(shè)為30分鐘;在一個(gè)參數(shù)更新周期時(shí)間r結(jié)束時(shí),進(jìn)行參數(shù)更新,即令=附,[W〃,(T,[/t]=+,[,-〃,時(shí),w,閱=0,=0,f=0,forall/,A:所獲得的結(jié)果{}和(CT,閱}將被用于對(duì)下一個(gè)周期內(nèi)的網(wǎng)絡(luò)異常檢測(cè)。權(quán)利要求1、一種網(wǎng)絡(luò)成分協(xié)調(diào)控制方法,其特征在于從接收到的數(shù)據(jù)包頭部信息中獲取各種數(shù)據(jù)特征統(tǒng)計(jì)量以及統(tǒng)計(jì)量的統(tǒng)計(jì)分布,再測(cè)量這些統(tǒng)計(jì)分布相對(duì)于正常網(wǎng)絡(luò)構(gòu)成成分的偏離值,該偏離值作為網(wǎng)絡(luò)異常程度,最后對(duì)產(chǎn)生網(wǎng)絡(luò)異常的數(shù)據(jù)分量進(jìn)行速率限制。2、根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)成分協(xié)調(diào)控制方法,其特征在于所述數(shù)據(jù)包頭部信息,是從數(shù)據(jù)包的網(wǎng)絡(luò)層和傳輸層頭部獲取各字段的取值,然后對(duì)這些取值進(jìn)行分段處理,其具體處理方法如下數(shù)據(jù)包頭部總共有M個(gè)字段,每個(gè)字段的取值為",,/=1,...,M;令其索引值/血f化;或進(jìn)行如下分段處理1)除以一個(gè)整數(shù)2"并取整,即把a(bǔ),右移"位/血產(chǎn)。,》";2)取log2對(duì)數(shù)并取整,即求fl,.的最高不為0比特/血尸她"0汁",》1);3)求相對(duì)于整數(shù)m的余數(shù)/血產(chǎn)a,modm;4)令&為/血,實(shí)際取值的集合,戶1,…,M。3、根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)成分協(xié)調(diào)控制方法,其特征在于數(shù)據(jù)包頭部信息,還包括把多個(gè)字段的值"_/,^...,^組合在一起使用,并采用散列函數(shù)hash()把它映射成一個(gè)索引值/血脅產(chǎn)hash(力,...,"》,并令5"m化為實(shí)際取值的集合,令A(yù)^M+K。4、根據(jù)權(quán)利要求3所述的網(wǎng)絡(luò)成分協(xié)調(diào)控制方法,其特征在于所述的從數(shù)據(jù)包頭部信息獲取各種統(tǒng)計(jì)量的方法,就是當(dāng)一個(gè)數(shù)據(jù)包達(dá)到時(shí),由其頭部各字段變換得到的索引值z(mì)'&,/血2,法w,對(duì)計(jì)數(shù)器G[/成]進(jìn)行累加統(tǒng)計(jì),即令C,[/血,]=C&血,]+o^,/=1,2,iV,其中o&'由Cp血,]的統(tǒng)計(jì)對(duì)象來(lái)確定,選取包數(shù)和、或載荷長(zhǎng)度和、或到達(dá)時(shí)間間隔和。5、根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò)成分協(xié)調(diào)控制方法,其特征在于所述的從數(shù)據(jù)包頭部信息獲取各種統(tǒng)計(jì)分布的方法,就是在每個(gè)單位時(shí)間結(jié)束時(shí),由該單位時(shí)間內(nèi)的累加結(jié)果(G[/成],/血,eW進(jìn)一步計(jì)算得到統(tǒng)計(jì)分布A閱,/=1,2,…,見(jiàn)即1)如果&的取值>256,則對(duì)G[/]取log2對(duì)數(shù)并取整,即令y^M^(C,[/]+G[/]》1),然后求直方圖A化]-A偽]+l,并記錄落在每個(gè)區(qū)間的/血,的取值4伐]uy'Je&;2)如果&的取值《56,則直接令幾[/]=0/],為[/]={/},^&;3)重置G[/']。6、根據(jù)權(quán)利要求5所述的網(wǎng)絡(luò)成分協(xié)調(diào)控制方法,其特征在于所述的測(cè)量網(wǎng)絡(luò)異常程度的方法如下令均值A(chǔ)閱和方差。估]是網(wǎng)絡(luò)正常情況下的構(gòu)成成分,在每個(gè)單位時(shí)間結(jié)束時(shí),對(duì)所獲得的統(tǒng)計(jì)分布A仏]用下式測(cè)量它與正常情況的偏離程度^;i越大表示異常程度越大,如果所有^4<3,則認(rèn)為網(wǎng)絡(luò)處于正常狀態(tài),把此時(shí)獲得的數(shù)據(jù)A伙]保存起來(lái),用做后續(xù)的參數(shù)更新,即令附,閱=附,伙]+A諷湖=孝]+A[tf,f="1;所述的確定網(wǎng)絡(luò)正常構(gòu)成成分的描述參數(shù){/4巧}和{。仏]}的方法如下令典型的網(wǎng)絡(luò)穩(wěn)定時(shí)間為r,在每一個(gè)參數(shù)更新時(shí)間r結(jié)束時(shí),進(jìn)行參數(shù)更新,即令//,[們=附,[^〃,,=扭]〃-//,時(shí)。7、根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)成分協(xié)調(diào)控制方法,其特征在于所述的對(duì)網(wǎng)絡(luò)異常分量進(jìn)行速率限制的方法,具體如下把前一單位時(shí)間獲得的(MW和(A[印用于對(duì)當(dāng)前單位時(shí)間內(nèi)收到的數(shù)據(jù)包的控制1)如果采用多屬性排隊(duì)調(diào)度控制方式,則當(dāng)數(shù)據(jù)包的/血,",閱時(shí),把該數(shù)據(jù)包的屬性/的優(yōu)先權(quán)設(shè)為71^,Tl^越小優(yōu)先權(quán)越高,該數(shù)據(jù)包越有可能在第/組優(yōu)先權(quán)隊(duì)列中優(yōu)先獲得發(fā)送權(quán);或者2)如果采用硬判決過(guò)濾方式,則當(dāng)max(M,J^3時(shí),由=argrnaX{M,.J找到異常集j,"'];如果當(dāng)前數(shù)據(jù)包的/血,e4[r],則把當(dāng)前數(shù)據(jù)包丟棄,直到當(dāng)前的單位時(shí)間結(jié)束。全文摘要本發(fā)明提供一種網(wǎng)絡(luò)成分協(xié)調(diào)控制方法,它通過(guò)采集數(shù)據(jù)包的網(wǎng)絡(luò)層和傳輸層頭部的信息,統(tǒng)計(jì)得到各種統(tǒng)計(jì)量和各種統(tǒng)計(jì)分布,把這些統(tǒng)計(jì)分布相對(duì)于正常網(wǎng)絡(luò)構(gòu)成成分的偏離作為網(wǎng)絡(luò)異常程度,把對(duì)網(wǎng)絡(luò)異常分量的速率限制作為對(duì)網(wǎng)絡(luò)構(gòu)成成分的協(xié)調(diào)控制,以此抑制各種網(wǎng)絡(luò)攻擊。本發(fā)明是一種網(wǎng)絡(luò)安全的主動(dòng)防御系統(tǒng),可以防御未知的網(wǎng)絡(luò)攻擊以及零日攻擊。文檔編號(hào)H04L12/24GK101442536SQ20081022018公開(kāi)日2009年5月27日申請(qǐng)日期2008年12月19日優(yōu)先權(quán)日2008年12月19日發(fā)明者余順爭(zhēng)申請(qǐng)人:中山大學(xué)