蔣天發(fā),滕召榮,蔣 巍
(1中南民族大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,武漢430074;2中國軟件測(cè)試中心(CSTC),北京100048)
高速網(wǎng)絡(luò)下基于負(fù)載均衡的協(xié)議分析的異常檢測(cè)算法設(shè)計(jì)
蔣天發(fā)1,滕召榮1,蔣 巍2
(1中南民族大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,武漢430074;2中國軟件測(cè)試中心(CSTC),北京100048)
研究了基于負(fù)載均衡技術(shù)的協(xié)議分析的入侵異常檢測(cè)系統(tǒng)并建立了系統(tǒng)模型,提出了一種基于靜態(tài)負(fù)載算法與動(dòng)態(tài)負(fù)載算法的混合負(fù)載算法,該算法對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行分流,能很好地保證同一源地址的同一類協(xié)議由同一服務(wù)器處理,并兼顧了所有服務(wù)器的負(fù)載均衡,能很好地發(fā)現(xiàn)并檢測(cè)網(wǎng)絡(luò)的異常行為與分布式攻擊等,這樣的改進(jìn)優(yōu)化了處理結(jié)果,提高了高速網(wǎng)絡(luò)環(huán)境下入侵檢測(cè)的準(zhǔn)確性和有效性.
負(fù)載均衡;協(xié)議分析;異常檢測(cè)
隨著網(wǎng)絡(luò)技術(shù)的高速發(fā)展,網(wǎng)絡(luò)信息受到的威脅也隨之增大.而作為網(wǎng)絡(luò)安全的第二道屏障入侵檢測(cè)系統(tǒng)(I DS,Intrusion Detection System)[1]也面臨著諸多的問題.傳統(tǒng)的I DS僅能工作在100M bit/s的網(wǎng)絡(luò)帶寬環(huán)境中,當(dāng)網(wǎng)速達(dá)到1000M bit/s,109M bit/s及更高的網(wǎng)絡(luò)環(huán)境下,入侵檢測(cè)將面臨著很多瓶頸,很難檢測(cè)到分布式攻擊,并且當(dāng)信息量過大的時(shí)候,無法及時(shí)處理信息,會(huì)開始大量丟棄數(shù)據(jù)包,這樣漏報(bào)或誤報(bào)率就會(huì)提高,很難實(shí)時(shí)將所有IP包截獲下來,影響了整個(gè)系統(tǒng)的準(zhǔn)確性和有效性.雖然基于協(xié)議分析的異常檢測(cè)能夠?qū)W(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)帶來一定的優(yōu)化,但這遠(yuǎn)遠(yuǎn)不能滿足今天的高速網(wǎng)絡(luò)的發(fā)展,鑒于這種情況,對(duì)高速網(wǎng)絡(luò)環(huán)境下基于協(xié)議分析的分布式的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的研究和分析具有十分重要的意義[2,3],而針對(duì)此類的算法的設(shè)計(jì)與研究就更是一項(xiàng)極有意義的課題.
這個(gè)數(shù)據(jù)包是IP包;第24字節(jié)處的一個(gè)字節(jié)0x06,表示這個(gè)數(shù)據(jù)包是基于TCP協(xié)議;繼續(xù)向下讀取第35個(gè)字節(jié)開始的2個(gè)字節(jié)0x0080,就得到了應(yīng)用層的http協(xié)議[7,8].
異常檢測(cè)[4]是根據(jù)系統(tǒng)或用戶的非正常行為和使用計(jì)算機(jī)資源的非正常情況來檢測(cè)入侵行為,異常檢測(cè)需要建立正常用戶行為特征輪廓,然后將實(shí)際用戶行為和這些輪廓相比較,并標(biāo)識(shí)正常的偏離.異常檢測(cè)方法的基本思路是構(gòu)造異常行為集合,從中發(fā)現(xiàn)入侵行為.異常檢測(cè)依賴于異常模型的建立,不同模型構(gòu)成不同的檢測(cè)方法.目前異常檢測(cè)是入侵檢測(cè)的一個(gè)很熱的研究點(diǎn).基于異常檢測(cè)的入侵檢測(cè)有:基于協(xié)議分析的異常檢測(cè),基于統(tǒng)計(jì)模型的異常入侵檢測(cè),基于數(shù)據(jù)挖掘的異常入侵檢測(cè),基于神經(jīng)網(wǎng)絡(luò)的異常入侵檢測(cè),基于免疫系統(tǒng)的異常入侵檢測(cè)等[5,6].
基于協(xié)議分析的異常檢測(cè)是利用網(wǎng)絡(luò)數(shù)據(jù)包按照TCP/IP分層協(xié)議規(guī)范進(jìn)行封裝的原理,把常用協(xié)議按照從底層到高層的方式生成一棵協(xié)議樹.每層上的協(xié)議都對(duì)應(yīng)一個(gè)特定的編號(hào),一個(gè)網(wǎng)絡(luò)數(shù)據(jù)包的分析過程就是一條從樹的根節(jié)點(diǎn)到某個(gè)葉子節(jié)點(diǎn)的路徑.例如對(duì)一個(gè)數(shù)據(jù)包分析過程,第13個(gè)字節(jié)開始的2個(gè)字節(jié)0x0800,根據(jù)協(xié)議封裝編號(hào)可知
負(fù)載均衡的作用只是把有可能擁塞于一個(gè)地方的負(fù)載交給多個(gè)地方處理.應(yīng)用負(fù)載均衡技術(shù)能夠有效地解決網(wǎng)絡(luò)擁塞的問題.它是一種動(dòng)態(tài)技術(shù),通過一些工具實(shí)時(shí)地分析數(shù)據(jù)包,掌握網(wǎng)絡(luò)中的數(shù)據(jù)流量狀況,把任務(wù)均衡地分配出去,用多個(gè)設(shè)備共同完成任務(wù),從而以較低的成本消除網(wǎng)絡(luò)瓶頸,提高網(wǎng)絡(luò)的靈活性和可靠性[9].理想環(huán)境下負(fù)載均衡的協(xié)議分析異常檢測(cè)需要達(dá)到的標(biāo)準(zhǔn)有:1)同一IP的同一類協(xié)議數(shù)據(jù)包必須由同一服務(wù)器進(jìn)行處理.2)保證各服務(wù)器負(fù)載的均衡.3)可擴(kuò)展與容錯(cuò)性.針對(duì)這些標(biāo)準(zhǔn),負(fù)載均衡算法的設(shè)計(jì)非常重要.
本文設(shè)計(jì)的基于負(fù)載均衡的協(xié)議分析的異常檢測(cè)系統(tǒng)模型如圖1所示.
圖1 高速網(wǎng)絡(luò)下基于負(fù)載均衡的協(xié)議分析的異常檢測(cè)系統(tǒng)模型Fig.1 Anomaly detection system model of protocol analysis of high-speed network based on load-balance
模型由4部分構(gòu)成,第1部分是數(shù)據(jù)捕獲,對(duì)數(shù)據(jù)包進(jìn)行捕獲.第2部分是負(fù)載均衡器,主要負(fù)責(zé)對(duì)數(shù)據(jù)包的簡(jiǎn)單分析與數(shù)據(jù)的分流.第3部分是探測(cè)器,主要對(duì)數(shù)據(jù)包的數(shù)據(jù)內(nèi)容進(jìn)行探測(cè)與流量監(jiān)控.第4部分是響應(yīng)模塊,對(duì)異常的行為發(fā)去警告信息,如提醒用戶,切斷網(wǎng)絡(luò)等.用戶接口查看相關(guān)的異常信息,對(duì)入侵進(jìn)行處理.
本文主要研究點(diǎn)是負(fù)載均衡器算法設(shè)計(jì),下面重點(diǎn)論述負(fù)載均衡器的設(shè)計(jì).
負(fù)載均衡器是本系統(tǒng)的關(guān)鍵點(diǎn),它的設(shè)計(jì)關(guān)系到整個(gè)系統(tǒng)的效率.理想情況下,保證了同一源地址的同一類型的協(xié)議由同一臺(tái)服務(wù)器處理,就不可能保證各服務(wù)器均衡;但保證了各服務(wù)器負(fù)載均衡了,就很難保證同一源地址的同一類協(xié)議由同一臺(tái)服務(wù)器處理,故用一種負(fù)載均衡算法很難保證達(dá)到兩標(biāo)準(zhǔn).為了盡可能達(dá)到理想環(huán)境下負(fù)載均衡協(xié)議分析異常檢測(cè)的標(biāo)準(zhǔn),這里采用了負(fù)載均衡靜態(tài)調(diào)度算法與動(dòng)態(tài)調(diào)度算法相結(jié)合的混合負(fù)載均衡算法.其中靜態(tài)調(diào)度算法采用源地址散列調(diào)度,動(dòng)態(tài)調(diào)度算法采用最小連接調(diào)度.
源地址散列調(diào)度(SHS,Source HashingScheduling)[10]是一種靜態(tài)的負(fù)載均衡算法,它根據(jù)請(qǐng)求的源IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對(duì)應(yīng)的服務(wù)器,它的優(yōu)勢(shì)就是能保證同一源地址的數(shù)據(jù)包分配到同一服務(wù)器上進(jìn)行處理,即保證了同一源地址的同一類協(xié)議的數(shù)據(jù)包由同一臺(tái)服務(wù)器處理.它的具體算法如下:
假設(shè)有一組服務(wù)器S={S0,S1,…,Sn-1},W(Si)表示服務(wù)器Si的權(quán)值,C(Si)表示服務(wù)器Si的當(dāng)前連接數(shù).ServerNode[]是一個(gè)有 256個(gè)桶(Bucket)的Hash表,一般來說服務(wù)器的數(shù)目會(huì)遠(yuǎn)小于256,當(dāng)然表的大小也是可以調(diào)整的.算法的初始化是將所有服務(wù)器按順序循環(huán)地放置到ServerNode表中.若服務(wù)器的連接數(shù)目大于2倍的權(quán)值,則表示服務(wù)器已超載.
在實(shí)現(xiàn)時(shí),素?cái)?shù)乘法Hash函數(shù),通過乘以素?cái)?shù)使得散列鍵值盡可能地達(dá)到較均勻的分布.所采用的素?cái)?shù)乘法Hash函數(shù)如下:
其中,2654435761UL是2到2^32(4294967296)間接近于黃金分割的素?cái)?shù),
最小連接調(diào)度(LCS,L east-Connection Scheduling)[10]是一種動(dòng)態(tài)調(diào)度算法,它通過服務(wù)器當(dāng)前所活躍的連接數(shù)來估計(jì)服務(wù)器的負(fù)載情況.調(diào)度器記錄各個(gè)服務(wù)器已建立連接的數(shù)目,當(dāng)一個(gè)請(qǐng)求被調(diào)度到某臺(tái)服務(wù)器,其連接數(shù)加1;當(dāng)連接中止或超時(shí),其連接數(shù)減1.它的優(yōu)勢(shì)是能保證服務(wù)任務(wù)均衡分配.其具體算法如下:
假設(shè)有一組服務(wù)器S={S0,S1,…,Sn-1},W(Si)表示服務(wù)器Si的權(quán)值,C(Si)表示服務(wù)器Si的當(dāng)前連接數(shù).
現(xiàn)在采取的是源地址散列調(diào)度與最小連接調(diào)度相結(jié)合的混合負(fù)載均衡算法,取各算法的優(yōu)勢(shì).首先是對(duì)捕獲的數(shù)據(jù)進(jìn)行協(xié)議分析,過濾異常數(shù)據(jù),然后運(yùn)用SHS算法對(duì)數(shù)據(jù)分流,然后對(duì)數(shù)據(jù)服務(wù)器進(jìn)行負(fù)載檢測(cè),檢測(cè)后決定是否用LCS算法調(diào)度到其他的服務(wù)器上.其算法的流程如下:
(1)對(duì)捕獲的數(shù)據(jù)包DA TA進(jìn)行協(xié)議分析,得到處理過的數(shù)據(jù);
(2)SHS算法對(duì)處理過的數(shù)據(jù)進(jìn)行分流,得到目標(biāo)服務(wù)器IP;
(3)對(duì)目標(biāo)服務(wù)器進(jìn)行TCP連接請(qǐng)求健康檢查;
(4)如果TCP連接成功,處理過的數(shù)據(jù)分流到目標(biāo)服務(wù)器.然后轉(zhuǎn)入第1步,進(jìn)行下一個(gè)數(shù)據(jù)包處理;
(5)否則對(duì)處理過的數(shù)據(jù)與目標(biāo)服務(wù)器正在處理的數(shù)據(jù)進(jìn)行關(guān)聯(lián)關(guān)系檢測(cè);
(6)若無關(guān),則用LCS算法重新分流到其他服務(wù)器進(jìn)行處理.然后轉(zhuǎn)入第1步,進(jìn)行下一個(gè)數(shù)據(jù)包處理;
(7)若有關(guān)聯(lián),則等待目標(biāo)服務(wù)器空閑再處理數(shù)據(jù).然后轉(zhuǎn)入第1步,進(jìn)行下一個(gè)數(shù)據(jù)包處理.
本文用5臺(tái)服務(wù)器ABCDE,50 000個(gè)相同的IP地址分別對(duì)SHS算法、LCS算法、混合算法作了模擬測(cè)試,測(cè)試結(jié)果如圖2,可以看出,經(jīng)SHS算法調(diào)度的IP 92%左右都進(jìn)入A服務(wù)器,進(jìn)入BCDE的很少;經(jīng)LCS算法調(diào)度 IP地址幾乎均勻分布于ABCDE服務(wù)器;經(jīng)混合算法調(diào)度的IP地址進(jìn)入ABC服務(wù)器比較多,DE服務(wù)器稍少.
故混合算法設(shè)計(jì)的分布式入侵系統(tǒng)與傳統(tǒng)的分布式入侵檢測(cè)系統(tǒng)具有以下的優(yōu)勢(shì):
(1)效率得到了明顯提升,能及時(shí)處理數(shù)據(jù).
(2)采用混合負(fù)載調(diào)度算法、分布式結(jié)構(gòu),具有一定的容錯(cuò)性.
(3)由于本身的特點(diǎn),能很好的抵抗SYN flood,LAND attack等分布式拒絕攻擊.
圖2 混合算法、LCS算法、SHS算法實(shí)驗(yàn)結(jié)果比較Fig.2 Comparison of hybrid algorithm,LCS algorithm,SHS algorithm experimental result
本文提出的高速網(wǎng)絡(luò)下基于協(xié)議分析的異常檢測(cè)算法的設(shè)計(jì),其中的負(fù)載均衡算法是以協(xié)議分析為基礎(chǔ),動(dòng)態(tài)調(diào)度算法與靜態(tài)調(diào)度算法相結(jié)合的方式.此方式能很好地保證同一源地址的同一類協(xié)議由同一服務(wù)器進(jìn)行處理,同時(shí)也兼顧了負(fù)載均衡效率.雖然此設(shè)計(jì)方案有一定的優(yōu)勢(shì),但還存在很多問題.例如當(dāng)網(wǎng)絡(luò)流量非常大的時(shí)候,有關(guān)聯(lián)關(guān)系的數(shù)據(jù)包的等待就有可能造成此服務(wù)器一直處于高負(fù)荷狀態(tài).此類問題為下一步研究的重點(diǎn).
[1] Dorothy E D.A n intrusion-detection model[J].IEEE T ransactions on Software Engineering,1987,13(2):222-232.
[2] 彭 川.基于移動(dòng)A gent的分布式入侵檢測(cè)系統(tǒng)[J].中南民族大學(xué)學(xué)報(bào):自然科學(xué)版,2006,25(3):73-76.
[3] 王振東,張鳳斌.基于協(xié)議分析的分布式入侵檢測(cè)系統(tǒng)研究[J].計(jì)算機(jī)安全,2008,10:55-57.
[4] 任勛益,王汝傳,孔 強(qiáng).基于主元分析和支持向量機(jī)的異常檢測(cè)[J].計(jì)算機(jī)應(yīng)用研究,2009,26(7):2719-2722.
[5] L uan Q inglin,L u Huibin.Research of intrusion detection based on neural network opt im ized by adaptive genetic algorithm [J]. Computer Engineering and Design,2008,29(19):3022-3025.
[6] 唐 菀,馬 杰,曾廣平.評(píng)測(cè)智能化入侵檢測(cè)方法的樣本庫分析[J].中南民族大學(xué)學(xué)報(bào):自然科學(xué)版,2010,29(2):84-87.
[7] 燕振剛,羅進(jìn)文.一種基于協(xié)議分析的入侵檢測(cè)模型[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(11):146-148.
[8] 陳 俊,陳孝威.基于IPv6的協(xié)議分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].貴州大學(xué)學(xué)報(bào):自然科學(xué)版,2010,27(3):76-80.
[9] 陸 磊,王 鋒.基于流負(fù)載均衡的入侵檢測(cè)系統(tǒng)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(11):136-138.
[10] 周瑩蓮,劉 甫.服務(wù)器負(fù)載均衡技術(shù)研究[J].計(jì)算機(jī)與數(shù)字工程,2010,38(4):11-14.
Anomaly Detection Algorithm Design of Protocol Analysis of High-Speed Network Based on Load-Balance
J iang T ianf a1,T eng Zhaorong1,J iang W ei2
(1 College of Computer Science,South-CentralU niversity for N ationalities,W uhan 430074,China;2 China Software Test Center,Beijing 100048,China)
This paper studies protocol analysis of intrusion anomaly detection system in high-speed network based on load-balance technique,establishes the model of system,proposes a method of hybrid load algorithm based on static load algorithm and dynam ic load algorithm. It stream s the network packets,and can guarantee the same class of protocol of the same source address to be processed by the same server,taking into account load balance of all the servers. It can easily discover and detect network abnormal behavior of normal and distributed attacks.These improvements opt im ize the result of processing and enhance the veracity and validity of the intrusion detection of high-speed network.
load-balance;protocol analysis;anomaly detection
TP393
A
1672-4321(2011)01-0092-04
2010-11-29
蔣天發(fā)(1954-),男,教授,研究生導(dǎo)師,研究方向:網(wǎng)絡(luò)信息安全,E-mail:jiangtianfa@163.com
國家民委重點(diǎn)科研基金資助項(xiàng)目(M ZY02004)