鄒連英,熊源遠(yuǎn),高 寧
武漢工程大學(xué)電氣信息學(xué)院,湖北 武漢 430205
隨著互聯(lián)網(wǎng)的普及,網(wǎng)絡(luò)應(yīng)用越來越豐富,對(duì)網(wǎng)絡(luò)應(yīng)用進(jìn)行有效的識(shí)別控制[1]也變得越來越復(fù)雜。傳統(tǒng)的方法基于數(shù)據(jù)包的地址、端口等信息對(duì)網(wǎng)絡(luò)應(yīng)用予以識(shí)別控制已經(jīng)不能有效識(shí)別網(wǎng)絡(luò)應(yīng)用[2]。目前許多網(wǎng)絡(luò)防火墻產(chǎn)品釆用簡單的基于端口、測(cè)度、負(fù)載等方式,已經(jīng)不能阻止應(yīng)用層的復(fù)雜的攻擊,更不能發(fā)現(xiàn)新的攻擊。這種情況下,人們迫切需要采用新的防火墻技術(shù)來防范基于應(yīng)用層的攻擊和威脅。基于這樣的背景,筆者對(duì)企業(yè)所面臨的網(wǎng)絡(luò)安全問題提出的一種全面的解決方案,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)將端口及負(fù)載的識(shí)別方法進(jìn)行綜合運(yùn)用的智能協(xié)議識(shí)別系統(tǒng)。
基于端口的協(xié)議識(shí)別使用IANA規(guī)定[3]的固定端口號(hào)來進(jìn)行相應(yīng)的應(yīng)用層協(xié)議識(shí)別[4],是大家都非常熟悉的,也是常用的。但缺點(diǎn)是對(duì)于識(shí)別采用隨機(jī)端口通信的應(yīng)用層協(xié)議無能為力,其識(shí)別準(zhǔn)確度也越來越低,無法滿足需求。
基于測(cè)度的協(xié)議識(shí)別理論上可以識(shí)別所有的協(xié)議,但是不同的協(xié)議其規(guī)范不同,目前所研究的算法只能將流分類,并不能精準(zhǔn)識(shí)別?;跍y(cè)度識(shí)別協(xié)議無需分析報(bào)文體的內(nèi)容,其根據(jù)事先已有的標(biāo)準(zhǔn)集來判斷當(dāng)前流所屬的分類[5],其優(yōu)點(diǎn)是不需要檢測(cè)報(bào)文體的內(nèi)容,消耗計(jì)算機(jī)資源相對(duì)較小,但是對(duì)于行為相似的應(yīng)用協(xié)議分辨率較差,不適合在線處理的應(yīng)用環(huán)境。
對(duì)每一個(gè)到來的數(shù)據(jù)包進(jìn)行精準(zhǔn)匹配[6],當(dāng)有新的協(xié)議到來時(shí),必須對(duì)協(xié)議的每一負(fù)載值重新匹配一次。其優(yōu)點(diǎn)是匹配精確,而缺點(diǎn)是工作量非常大,對(duì)特征碼識(shí)別的算法要求高。
三類協(xié)議識(shí)別技術(shù)各有優(yōu)缺點(diǎn),其性能的比較如表1所示?;诙丝诘膮f(xié)議識(shí)別技術(shù)雖然實(shí)現(xiàn)簡單,但是隨著網(wǎng)絡(luò)的快速發(fā)展,其識(shí)別準(zhǔn)確度也越來越低,無法滿足需求;而基于測(cè)度的協(xié)議識(shí)別易于管理與維護(hù)[7],但該算法實(shí)時(shí)性低,限制了其在具體環(huán)境中的應(yīng)用;基于負(fù)載的協(xié)議識(shí)別技術(shù)在識(shí)別的準(zhǔn)確性和實(shí)時(shí)性上較好,但開發(fā)和維護(hù)需要很大的工作量,且復(fù)雜度過高,不適宜在實(shí)際環(huán)境中使用。
表1 協(xié)議識(shí)別技術(shù)性能比較Tab.1 Performance comparison of protocol identification technologies
在對(duì)三種識(shí)別技術(shù)的綜合應(yīng)用進(jìn)行研究后,將對(duì)各應(yīng)用協(xié)議傳輸?shù)亩丝凇?bào)文內(nèi)容等特征進(jìn)行識(shí)別,準(zhǔn)確性、實(shí)時(shí)性、吞吐量都有所提高。
首先可以對(duì)應(yīng)用層不同功能及類型的應(yīng)用進(jìn)行分類,并對(duì)每種類型的應(yīng)用進(jìn)行編碼。由于網(wǎng)絡(luò)的快速發(fā)展,應(yīng)用層軟件層出不窮,且無時(shí)不刻不在更新。為了協(xié)議分析人員能夠清晰明了的分辨某一應(yīng)用的所屬分類,可以簡單地將功能不同,版本不同的應(yīng)用進(jìn)行歸納[9],可通過應(yīng)用名字和ID來唯一確定該規(guī)則適用的應(yīng)用類型,如表2所示。
表2 應(yīng)用場(chǎng)景分類Tab.2 Classification of application scenarios
然后,每一個(gè)應(yīng)用特征碼后加入相應(yīng)的應(yīng)用特征字段。特征字段是對(duì)不同協(xié)議的具體描述及歸納,由于每個(gè)應(yīng)用所適應(yīng)的規(guī)則差別大,對(duì)每個(gè)應(yīng)用的分類可以根據(jù)應(yīng)用的類型和功能來進(jìn)行細(xì)分。如果應(yīng)用涉及多條規(guī)則,則可以通過多個(gè)字段來進(jìn)行控制,此外,開發(fā)人員在編輯或更新防火墻規(guī)則時(shí),可以通過名字、ID及字段規(guī)則進(jìn)行一一對(duì)應(yīng)來了解該規(guī)則的作用與意義[10],如表3所示。
每一個(gè)類別中包含了不同的應(yīng)用,而每一個(gè)應(yīng)用在規(guī)則表中用不同的字段進(jìn)行表示,各字段的內(nèi)容限定了它們各自的特征,字段的表示如表3所示。
表3中最后一項(xiàng)Sign_detail內(nèi)容由多種因素構(gòu)成,其中包括:
1)IP類型:表示為×××.×××.×××.×××的字符串格式,如果有多個(gè)IP用|分隔,如192.168.1.3|192.168.1.4,最多可以同時(shí)表示的IP為20個(gè);
2)端口類型[11]:S關(guān)鍵字后跟著是源端口;D關(guān)鍵字后跟著是目的端口,如S777|D888;
一是政治意識(shí),就是要堅(jiān)定信仰,砥礪品性,以德樹道義。對(duì)高校領(lǐng)導(dǎo)來說最主要的政治意識(shí)就是堅(jiān)定對(duì)馬克思主義的信仰,對(duì)社會(huì)主義的信念,對(duì)改革開放和現(xiàn)代化建設(shè)的信心,對(duì)黨和政府的信任,堅(jiān)持正確的政治方向、政治立場(chǎng)、政治紀(jì)律和黨性原則。
表3 特征字段定義Tab.3 Definition of feature field
3)DNS類型[12]:字符串類型,不超過 64個(gè)字節(jié),不含通配符等,如www.baidu.com;
4)特征值類型:根據(jù)每個(gè)報(bào)文的不同,通過正則表達(dá)式的表示方法將報(bào)文內(nèi)容表示出來,如^H*6+[4:+30]*+x30$ 。
騰訊采用OICQ協(xié)議對(duì)登陸過程進(jìn)行保護(hù)[13]。客戶端會(huì)先給服務(wù)器發(fā)送一個(gè)數(shù)據(jù)包請(qǐng)求登錄,服務(wù)器會(huì)返回一個(gè)數(shù)據(jù)包包括了客戶端的IP地址,版本信息等內(nèi)容。在客戶端收到此數(shù)據(jù)包后,緊接著會(huì)給服務(wù)器發(fā)送一個(gè)包含登錄信息的登錄請(qǐng)求。服務(wù)器會(huì)首先看看客戶端的號(hào)碼、IP址和版本是否合法,如果可以的話,就驗(yàn)證客戶端的登錄信息是否與服務(wù)器上保存的登錄信息一致,如果匹配成功就向客戶端返回一個(gè)登錄成功的數(shù)據(jù)包,不匹配返回登錄失?。?4]。
QQ協(xié)議登錄時(shí)首選的是UDP,如果UDP不可登陸,那么會(huì)再嘗試使用TCP進(jìn)行傳輸。UDP使用的端口是8000,TCP使用的端口是443,應(yīng)用協(xié)議基本一樣,只是在通過TCP進(jìn)行傳輸時(shí),前兩個(gè)字節(jié)為協(xié)議內(nèi)容的長度。
在保證網(wǎng)絡(luò)條件正常的情況下,沒有添加禁用應(yīng)用的時(shí)候,對(duì)QQ客戶端進(jìn)行測(cè)試,QQ客戶端都能正常登錄,登陸過程中對(duì)其登錄的數(shù)據(jù)包進(jìn)行截取如圖1所示。
圖1 QQ登陸報(bào)文Fig.1 Packets of QQ login
對(duì)QQ登陸過程中的某一個(gè)數(shù)據(jù)包進(jìn)行分析,可以看見包頭是十六進(jìn)制0x02開始,以十六進(jìn)制0x03結(jié)束。在規(guī)則表中可以用正則表達(dá)式[15]的語法添加,當(dāng)特征內(nèi)容為02 03 00 00 01 01…………5b 07 03時(shí),可用正則表達(dá)式^0x02*+0x03$表示。
根據(jù)表2和表3的設(shè)計(jì),QQ軟件屬于即時(shí)通信類;分類碼為4 ;App_id為 0x401;App_name為QQ;Datalen_check為0,表示不需要檢查報(bào)文長度;Datalen_mask為0,表示報(bào)文長度在一個(gè)區(qū)間范圍;Datalen為0,表示不判斷報(bào)文長度;Sign_seq為 1;Weight為 1 000;Proto為 0,表示 tcp協(xié)議;Sign_type為 0x08,表示特征值匹配;Sign_detail為^0x02*+0x03$,其中^x02表示第一個(gè)字節(jié)為十六進(jìn)制數(shù)0x02,*+表示匹配任何的字符,*+x30$表示最后一個(gè)字節(jié)為數(shù)字0x30。(一行中間以空格符隔開,所以當(dāng)特征碼中間出現(xiàn)空格時(shí)需要用x20代替。)
因此,QQ應(yīng)用軟件的特征字段表值為:
將此特征字段表項(xiàng)值保存到配置文件,執(zhí)行命令,對(duì)進(jìn)行的配置下發(fā),添加禁用應(yīng)用的規(guī)則。
網(wǎng)絡(luò)應(yīng)用識(shí)別控制系統(tǒng)的流程分為兩大步:首先開發(fā)人員需要打開防火墻Web界面,輸入正確的賬號(hào)與密碼,登錄到防火墻配置界面;然后防火墻界面進(jìn)行配置,對(duì)相應(yīng)的規(guī)則進(jìn)行增加與刪除,并確認(rèn)相應(yīng)的網(wǎng)絡(luò)連接是否正確,最后再進(jìn)行測(cè)試。
在配置了上述QQ應(yīng)用特征禁用規(guī)則后,登錄QQ。對(duì)QQ客戶端進(jìn)行測(cè)試,觀察是否能夠使用軟件,經(jīng)過測(cè)試客戶端不能登錄。
經(jīng)過測(cè)試網(wǎng)絡(luò)應(yīng)用識(shí)別系統(tǒng),可以正確識(shí)別QQ應(yīng)用,使其不能正常使用,可以實(shí)現(xiàn)較為精細(xì)、準(zhǔn)確的控制,對(duì)軟件的登錄進(jìn)行封堵。
對(duì)QQ應(yīng)用軟件分別用傳統(tǒng)的協(xié)議識(shí)別方法進(jìn)行測(cè)試,其結(jié)果均不能達(dá)到預(yù)期的目標(biāo)。在對(duì)端口進(jìn)行封堵后,并不能有效的控制QQ的登錄;而對(duì)負(fù)載的控制會(huì)使識(shí)別時(shí)間變長,最后也不能使QQ得到控制。綜上所述,對(duì)傳統(tǒng)應(yīng)用識(shí)別技術(shù)的改進(jìn)已取得了良好的效果,在有效性及實(shí)時(shí)性方面有很大的改善。
通過對(duì)基于端口、測(cè)度、負(fù)載三種識(shí)別方法的研究,發(fā)現(xiàn)這三種方式均不能滿足當(dāng)下的網(wǎng)絡(luò)需求?;诙丝诘膽?yīng)用識(shí)別方式雖然實(shí)現(xiàn)簡單,但是隨著網(wǎng)絡(luò)的快速發(fā)展,其識(shí)別準(zhǔn)確度也越來越低,無法滿足需求;而基于測(cè)度的協(xié)議識(shí)別算法實(shí)時(shí)性低,限制了其在具體環(huán)境中的應(yīng)用;基于負(fù)載的協(xié)議識(shí)別技術(shù)在識(shí)別的準(zhǔn)確性和實(shí)時(shí)性上較好,但開發(fā)和維護(hù)需要很大的工作量,且復(fù)雜度過高。通過對(duì)這三種最常用的應(yīng)用識(shí)別方法的算法進(jìn)行綜合運(yùn)用,研究出了一套高效率及高準(zhǔn)確率的應(yīng)用識(shí)別方案。論文通過實(shí)例的QQ登錄過程,對(duì)該系統(tǒng)設(shè)計(jì)進(jìn)行具體的測(cè)試驗(yàn)證。實(shí)驗(yàn)證明本系統(tǒng)實(shí)際運(yùn)行效果顯著,具有良好的實(shí)用和推廣價(jià)值。
參考文獻(xiàn):
[1]吳鵬沖.非默認(rèn)端口網(wǎng)絡(luò)協(xié)議識(shí)別系統(tǒng)的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2009.
[2]陳亮,龔儉,徐選.基于特征串的應(yīng)用層協(xié)議識(shí)別[J].計(jì)算機(jī)工程與應(yīng)用,2006(24):16-19.
[3]朱迪.互聯(lián)網(wǎng)號(hào)碼分配機(jī)構(gòu)(IANA)管理權(quán)移交進(jìn)展[J].中國教育網(wǎng)絡(luò),2016(7):31-33.
[4]劉萌.基于下一代防火墻技術(shù)的網(wǎng)絡(luò)應(yīng)用識(shí)別控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].北京:中國科學(xué)院大學(xué),2014.
[5]張洛什,王大偉,薛一波.基于流感知的復(fù)雜網(wǎng)絡(luò)應(yīng)用識(shí)別模型[J].通信學(xué)報(bào),2015,36(3):192-200.
[6]杜大躍.基于深度包數(shù)據(jù)檢測(cè)技術(shù)的應(yīng)用特征識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2012.
[7]陳琳,孔華鋒,沈開心.P2P應(yīng)用多層次識(shí)別方法研究[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,42(11):117-120.
[8]陳佳.應(yīng)用層協(xié)議快速識(shí)別的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2010.
[9]鄭偉.基于防火墻的網(wǎng)絡(luò)安全技術(shù)的研究[D].長春:吉林大學(xué),2012.
[10]范慧萍,宣蕾,陳曙暉,等.基于正則表達(dá)式的應(yīng)用層協(xié)議識(shí)別加速[J].計(jì)算機(jī)研究與發(fā)展,2008(增刊1):438-443.
[11]周亞建,薛超,平源.基于端口特征的P2P應(yīng)用識(shí)別方 案[J].北 京 工 業(yè) 大 學(xué) 學(xué) 報(bào) ,2013,39(11):1667-1672.
[12]趙雷.基于DNS的惡意域名識(shí)別系統(tǒng)的設(shè)計(jì)與開發(fā)[D].濟(jì)南:山東大學(xué),2013.
[13]李梅,楊傳斌.OICQ的攻擊與預(yù)防[J].微機(jī)發(fā)展,2002(2):29-31.
[14]LEE S H,SEOK S J,KANG C G,et al.The two markerssystem for TCP and UDP flows in a differentiated services network [J]. Computer Communications,2003,26(4):338-350.
[15]方爽.基于特征匹配的WEB應(yīng)用防火墻的研究與實(shí)現(xiàn)[D].合肥:安徽大學(xué),2014.