鄒連英,熊源遠,高 寧
武漢工程大學電氣信息學院,湖北 武漢 430205
隨著互聯網的普及,網絡應用越來越豐富,對網絡應用進行有效的識別控制[1]也變得越來越復雜。傳統的方法基于數據包的地址、端口等信息對網絡應用予以識別控制已經不能有效識別網絡應用[2]。目前許多網絡防火墻產品釆用簡單的基于端口、測度、負載等方式,已經不能阻止應用層的復雜的攻擊,更不能發現新的攻擊。這種情況下,人們迫切需要采用新的防火墻技術來防范基于應用層的攻擊和威脅。基于這樣的背景,筆者對企業所面臨的網絡安全問題提出的一種全面的解決方案,設計并實現一個將端口及負載的識別方法進行綜合運用的智能協議識別系統。
基于端口的協議識別使用IANA規定[3]的固定端口號來進行相應的應用層協議識別[4],是大家都非常熟悉的,也是常用的。但缺點是對于識別采用隨機端口通信的應用層協議無能為力,其識別準確度也越來越低,無法滿足需求。
基于測度的協議識別理論上可以識別所有的協議,但是不同的協議其規范不同,目前所研究的算法只能將流分類,并不能精準識別。基于測度識別協議無需分析報文體的內容,其根據事先已有的標準集來判斷當前流所屬的分類[5],其優點是不需要檢測報文體的內容,消耗計算機資源相對較小,但是對于行為相似的應用協議分辨率較差,不適合在線處理的應用環境。
對每一個到來的數據包進行精準匹配[6],當有新的協議到來時,必須對協議的每一負載值重新匹配一次。其優點是匹配精確,而缺點是工作量非常大,對特征碼識別的算法要求高。
三類協議識別技術各有優缺點,其性能的比較如表1所示。基于端口的協議識別技術雖然實現簡單,但是隨著網絡的快速發展,其識別準確度也越來越低,無法滿足需求;而基于測度的協議識別易于管理與維護[7],但該算法實時性低,限制了其在具體環境中的應用;基于負載的協議識別技術在識別的準確性和實時性上較好,但開發和維護需要很大的工作量,且復雜度過高,不適宜在實際環境中使用。

表1 協議識別技術性能比較Tab.1 Performance comparison of protocol identification technologies
在對三種識別技術的綜合應用進行研究后,將對各應用協議傳輸的端口、報文內容等特征進行識別,準確性、實時性、吞吐量都有所提高。
首先可以對應用層不同功能及類型的應用進行分類,并對每種類型的應用進行編碼。由于網絡的快速發展,應用層軟件層出不窮,且無時不刻不在更新。為了協議分析人員能夠清晰明了的分辨某一應用的所屬分類,可以簡單地將功能不同,版本不同的應用進行歸納[9],可通過應用名字和ID來唯一確定該規則適用的應用類型,如表2所示。

表2 應用場景分類Tab.2 Classification of application scenarios
然后,每一個應用特征碼后加入相應的應用特征字段。特征字段是對不同協議的具體描述及歸納,由于每個應用所適應的規則差別大,對每個應用的分類可以根據應用的類型和功能來進行細分。如果應用涉及多條規則,則可以通過多個字段來進行控制,此外,開發人員在編輯或更新防火墻規則時,可以通過名字、ID及字段規則進行一一對應來了解該規則的作用與意義[10],如表3所示。
每一個類別中包含了不同的應用,而每一個應用在規則表中用不同的字段進行表示,各字段的內容限定了它們各自的特征,字段的表示如表3所示。
表3中最后一項Sign_detail內容由多種因素構成,其中包括:
1)IP類型:表示為×××.×××.×××.×××的字符串格式,如果有多個IP用|分隔,如192.168.1.3|192.168.1.4,最多可以同時表示的IP為20個;
2)端口類型[11]:S關鍵字后跟著是源端口;D關鍵字后跟著是目的端口,如S777|D888;
一是政治意識,就是要堅定信仰,砥礪品性,以德樹道義。對高校領導來說最主要的政治意識就是堅定對馬克思主義的信仰,對社會主義的信念,對改革開放和現代化建設的信心,對黨和政府的信任,堅持正確的政治方向、政治立場、政治紀律和黨性原則。

表3 特征字段定義Tab.3 Definition of feature field
3)DNS類型[12]:字符串類型,不超過 64個字節,不含通配符等,如www.baidu.com;
4)特征值類型:根據每個報文的不同,通過正則表達式的表示方法將報文內容表示出來,如^H*6+[4:+30]*+x30$ 。
騰訊采用OICQ協議對登陸過程進行保護[13]。客戶端會先給服務器發送一個數據包請求登錄,服務器會返回一個數據包包括了客戶端的IP地址,版本信息等內容。在客戶端收到此數據包后,緊接著會給服務器發送一個包含登錄信息的登錄請求。服務器會首先看看客戶端的號碼、IP址和版本是否合法,如果可以的話,就驗證客戶端的登錄信息是否與服務器上保存的登錄信息一致,如果匹配成功就向客戶端返回一個登錄成功的數據包,不匹配返回登錄失敗[14]。
QQ協議登錄時首選的是UDP,如果UDP不可登陸,那么會再嘗試使用TCP進行傳輸。UDP使用的端口是8000,TCP使用的端口是443,應用協議基本一樣,只是在通過TCP進行傳輸時,前兩個字節為協議內容的長度。
在保證網絡條件正常的情況下,沒有添加禁用應用的時候,對QQ客戶端進行測試,QQ客戶端都能正常登錄,登陸過程中對其登錄的數據包進行截取如圖1所示。

圖1 QQ登陸報文Fig.1 Packets of QQ login
對QQ登陸過程中的某一個數據包進行分析,可以看見包頭是十六進制0x02開始,以十六進制0x03結束。在規則表中可以用正則表達式[15]的語法添加,當特征內容為02 03 00 00 01 01…………5b 07 03時,可用正則表達式^0x02*+0x03$表示。
根據表2和表3的設計,QQ軟件屬于即時通信類;分類碼為4 ;App_id為 0x401;App_name為QQ;Datalen_check為0,表示不需要檢查報文長度;Datalen_mask為0,表示報文長度在一個區間范圍;Datalen為0,表示不判斷報文長度;Sign_seq為 1;Weight為 1 000;Proto為 0,表示 tcp協議;Sign_type為 0x08,表示特征值匹配;Sign_detail為^0x02*+0x03$,其中^x02表示第一個字節為十六進制數0x02,*+表示匹配任何的字符,*+x30$表示最后一個字節為數字0x30。(一行中間以空格符隔開,所以當特征碼中間出現空格時需要用x20代替。)
因此,QQ應用軟件的特征字段表值為:

將此特征字段表項值保存到配置文件,執行命令,對進行的配置下發,添加禁用應用的規則。
網絡應用識別控制系統的流程分為兩大步:首先開發人員需要打開防火墻Web界面,輸入正確的賬號與密碼,登錄到防火墻配置界面;然后防火墻界面進行配置,對相應的規則進行增加與刪除,并確認相應的網絡連接是否正確,最后再進行測試。
在配置了上述QQ應用特征禁用規則后,登錄QQ。對QQ客戶端進行測試,觀察是否能夠使用軟件,經過測試客戶端不能登錄。
經過測試網絡應用識別系統,可以正確識別QQ應用,使其不能正常使用,可以實現較為精細、準確的控制,對軟件的登錄進行封堵。
對QQ應用軟件分別用傳統的協議識別方法進行測試,其結果均不能達到預期的目標。在對端口進行封堵后,并不能有效的控制QQ的登錄;而對負載的控制會使識別時間變長,最后也不能使QQ得到控制。綜上所述,對傳統應用識別技術的改進已取得了良好的效果,在有效性及實時性方面有很大的改善。
通過對基于端口、測度、負載三種識別方法的研究,發現這三種方式均不能滿足當下的網絡需求。基于端口的應用識別方式雖然實現簡單,但是隨著網絡的快速發展,其識別準確度也越來越低,無法滿足需求;而基于測度的協議識別算法實時性低,限制了其在具體環境中的應用;基于負載的協議識別技術在識別的準確性和實時性上較好,但開發和維護需要很大的工作量,且復雜度過高。通過對這三種最常用的應用識別方法的算法進行綜合運用,研究出了一套高效率及高準確率的應用識別方案。論文通過實例的QQ登錄過程,對該系統設計進行具體的測試驗證。實驗證明本系統實際運行效果顯著,具有良好的實用和推廣價值。
參考文獻:
[1]吳鵬沖.非默認端口網絡協議識別系統的研究與實現[D].北京:北京郵電大學,2009.
[2]陳亮,龔儉,徐選.基于特征串的應用層協議識別[J].計算機工程與應用,2006(24):16-19.
[3]朱迪.互聯網號碼分配機構(IANA)管理權移交進展[J].中國教育網絡,2016(7):31-33.
[4]劉萌.基于下一代防火墻技術的網絡應用識別控制系統設計與實現[D].北京:中國科學院大學,2014.
[5]張洛什,王大偉,薛一波.基于流感知的復雜網絡應用識別模型[J].通信學報,2015,36(3):192-200.
[6]杜大躍.基于深度包數據檢測技術的應用特征識別系統的設計與實現[D].北京:北京交通大學,2012.
[7]陳琳,孔華鋒,沈開心.P2P應用多層次識別方法研究[J].華中科技大學學報(自然科學版),2014,42(11):117-120.
[8]陳佳.應用層協議快速識別的研究與實現[D].北京:北京郵電大學,2010.
[9]鄭偉.基于防火墻的網絡安全技術的研究[D].長春:吉林大學,2012.
[10]范慧萍,宣蕾,陳曙暉,等.基于正則表達式的應用層協議識別加速[J].計算機研究與發展,2008(增刊1):438-443.
[11]周亞建,薛超,平源.基于端口特征的P2P應用識別方 案[J].北 京 工 業 大 學 學 報 ,2013,39(11):1667-1672.
[12]趙雷.基于DNS的惡意域名識別系統的設計與開發[D].濟南:山東大學,2013.
[13]李梅,楊傳斌.OICQ的攻擊與預防[J].微機發展,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應用防火墻的研究與實現[D].合肥:安徽大學,2014.