• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      改進(jìn)的雙重特征協(xié)議識(shí)別方法研究

      2014-08-27 09:38王欣徐智黃其新
      網(wǎng)絡(luò)空間安全 2014年8期

      王欣+++徐智+++黃其新

      【 摘 要 】 傳統(tǒng)識(shí)別方法難以滿(mǎn)足現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境的實(shí)際需要。文章利用協(xié)議的端口和特征串雙重特征進(jìn)行識(shí)別,并且根據(jù)實(shí)際的網(wǎng)絡(luò)統(tǒng)計(jì)所需要識(shí)別協(xié)議的真實(shí)流量,正確化簡(jiǎn)正則表達(dá)式來(lái)實(shí)現(xiàn)對(duì)協(xié)議識(shí)別的加速。結(jié)果證明,與L7-filter正則表達(dá)式識(shí)別方法比較,采用方法能有效降低資源消耗和匹配時(shí)間,提高識(shí)別率。

      【 關(guān)鍵詞 】 協(xié)議識(shí)別;正則表達(dá)式;特征串

      1 引言

      快速準(zhǔn)確地對(duì)網(wǎng)絡(luò)進(jìn)行流量控制、網(wǎng)絡(luò)計(jì)費(fèi)及內(nèi)容過(guò)濾識(shí)別是當(dāng)今計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展面臨的重要問(wèn)題,這對(duì)政府管理部門(mén)、網(wǎng)絡(luò)管理員、運(yùn)營(yíng)商等都有十分重要的意義。協(xié)議識(shí)別技術(shù)解決了這一問(wèn)題,尤其在網(wǎng)絡(luò)安全監(jiān)控領(lǐng)域,通過(guò)協(xié)議識(shí)別技術(shù)對(duì)捕獲的數(shù)據(jù)包進(jìn)行分析,判斷協(xié)議類(lèi)型,分析其特征,從而在入侵檢測(cè)或網(wǎng)絡(luò)攻擊等方面起到很大作用。本文在對(duì)傳統(tǒng)識(shí)別方法分析的基礎(chǔ)上,以識(shí)別正確率高、速度快、算法復(fù)雜度小為基本原則,提出了一種基于數(shù)據(jù)分類(lèi)和正則表達(dá)式匹配的應(yīng)用層協(xié)議識(shí)別方法。

      2 傳統(tǒng)的協(xié)議識(shí)別算法

      2.1 基于端口的協(xié)議識(shí)別算法

      這種識(shí)別算法使用IANA規(guī)定的固定端口號(hào)來(lái)進(jìn)行相應(yīng)的應(yīng)用層協(xié)議識(shí)別,僅能識(shí)別固定端口的應(yīng)用層協(xié)議識(shí)別率高。但是大量的應(yīng)用層協(xié)議為了避免識(shí)別, 逃避防火墻的檢查,使用隨機(jī)端口進(jìn)行通信。大量涌現(xiàn)的新協(xié)議都不在IANA中注冊(cè)其端口號(hào), 因此算法所能識(shí)別的協(xié)議在總協(xié)議數(shù)量中所占的比重越來(lái)越少,已不能適應(yīng)于當(dāng)前網(wǎng)絡(luò)環(huán)境。該算法簡(jiǎn)單, 消耗系統(tǒng)資源少,時(shí)空復(fù)雜度是所有算法中最低的。

      2.2 基于特征串的協(xié)議識(shí)別算法

      這種識(shí)別算法是對(duì)檢測(cè)到的每一個(gè)數(shù)據(jù)包按照特征串進(jìn)行搜索,和應(yīng)用層協(xié)議中出現(xiàn)的多個(gè)特征串進(jìn)行精確匹配,此方式在所有識(shí)別算法中準(zhǔn)確率最高。由于需要逐報(bào)文的匹配所有協(xié)議的特征以及額外的存儲(chǔ)報(bào)文的負(fù)載部分,該類(lèi)算法的時(shí)空復(fù)雜度是目前所有算法中最高的,并且隨著待識(shí)別協(xié)議數(shù)量的增長(zhǎng)而增長(zhǎng)。正則表達(dá)式是當(dāng)前比較流行的特征串匹配語(yǔ)言,利用正則表達(dá)式進(jìn)行協(xié)議識(shí)別可以將原來(lái)復(fù)雜且繁瑣的報(bào)文數(shù)據(jù)特征串匹配過(guò)程變成可自動(dòng)處理的工作。該類(lèi)算法通常只被用在需準(zhǔn)確識(shí)別數(shù)量較少的協(xié)議時(shí),且需要有相當(dāng)?shù)墓ぷ髁浚瑹o(wú)法應(yīng)用在高速網(wǎng)絡(luò)環(huán)境下進(jìn)行大規(guī)模的協(xié)議識(shí)別。

      2.3 基于行為特征的協(xié)議識(shí)別算法

      這種識(shí)別方法是利用協(xié)議規(guī)范的不同所造成的流特征差異區(qū)別各個(gè)協(xié)議。它需要有一個(gè)訓(xùn)練樣本數(shù)據(jù)集作為輸入,構(gòu)建一個(gè)分類(lèi)器或者分類(lèi)模型,該模型能夠把網(wǎng)絡(luò)上的數(shù)據(jù)流映射到指定類(lèi)別中的一種。該方法較端口識(shí)別方法有較高的準(zhǔn)確性,較特征串識(shí)別方法較小的復(fù)雜度,但是由于判別算法不成熟,識(shí)別不夠細(xì)致,制約了這種識(shí)別方法的使用。

      3 基于端口與正則表達(dá)式匹配的應(yīng)用層協(xié)議識(shí)別方法

      由于傳統(tǒng)識(shí)別方法難以滿(mǎn)足現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境的實(shí)際需要,本文提出利用協(xié)議的端口和特征串雙重特征進(jìn)行識(shí)別,并且根據(jù)實(shí)際的網(wǎng)絡(luò)中統(tǒng)計(jì)所需要識(shí)別協(xié)議的真實(shí)流量,正確化簡(jiǎn)正則表達(dá)式來(lái)實(shí)現(xiàn)對(duì)協(xié)議識(shí)別的加速。在此基礎(chǔ)上按幾個(gè)步驟完成識(shí)別:第一步基于端口的識(shí)別方式,進(jìn)行初步識(shí)別;第二步采用正則表達(dá)式的識(shí)別方法,將其轉(zhuǎn)化成DFA完成匹配;第三步如果匹配成功,識(shí)別結(jié)束。如果不成功,說(shuō)明該協(xié)議采用的隨機(jī)端口,放棄第一步篩選模式,轉(zhuǎn)入第二步,直至識(shí)別成功。

      3.1 基于端口的數(shù)據(jù)流初步識(shí)別

      利用端口進(jìn)行應(yīng)用層協(xié)議識(shí)別,主要原理就是因?yàn)榇嬖诠J(rèn)端口和注冊(cè)端口,從端口0到1023對(duì)應(yīng)著因特網(wǎng)上常見(jiàn)的服務(wù)和應(yīng)用程序,有確切的定義。HTTP(Web服務(wù)器)、POP3/SMTP(電子郵件服務(wù)器)以及Telnet等常用應(yīng)用程序通常使用這些端口號(hào)。一旦檢測(cè)到網(wǎng)絡(luò)中具有這些端口的流量,即可識(shí)別出其對(duì)應(yīng)的協(xié)議。但是由于很大一部分協(xié)議都使用隨機(jī)端口,因此,初步識(shí)別的正確性要在下面的識(shí)別過(guò)程中進(jìn)一步證實(shí)。

      3.2 正則表達(dá)式協(xié)議識(shí)別方法

      正則表達(dá)式(Regular Expression)作為一種表示語(yǔ)言,定義了自己的一套描述方式,來(lái)描述各種的字符類(lèi),由普通字符以及特殊字符組成的字符模式,然后將字符模式與所搜索的字符串進(jìn)行匹配。典型的使用正則表達(dá)式進(jìn)行協(xié)議識(shí)別的軟件為L(zhǎng)-7 Filter,它是基于Linux的Netfilter/Iptables上一個(gè)開(kāi)放源代碼的軟件,實(shí)現(xiàn)了應(yīng)用層協(xié)議的識(shí)別。它通過(guò)對(duì)報(bào)文的依次解封,直接提取應(yīng)用層數(shù)據(jù)內(nèi)容,利用提供的正則表達(dá)式對(duì)提取出的數(shù)據(jù)內(nèi)容進(jìn)行匹配,從而識(shí)別協(xié)議類(lèi)型。為了降低協(xié)議識(shí)別的假陽(yáng)性及提高識(shí)別正確性,L-7 Filter也在不斷更新其正則表達(dá)式模式。

      正則表達(dá)式的匹配是建立在自動(dòng)機(jī)的理論基礎(chǔ)上的,正則引擎會(huì)按照表達(dá)式構(gòu)建相應(yīng)的自動(dòng)機(jī)。若輸入一串文本之后,自動(dòng)機(jī)抵達(dá)了接受狀態(tài),則這串文本可以匹配用戶(hù)指定的正則表達(dá)式,否則為不能匹配。正則表達(dá)式通常用有限自動(dòng)機(jī)完成匹配,按照轉(zhuǎn)移函數(shù)的不同,有限自動(dòng)機(jī)表示有非確定的有窮狀態(tài)自動(dòng)機(jī)(NFA)和確定的有窮狀態(tài)自動(dòng)機(jī)(DFA)兩種。

      在L-7 Filter中提供了常見(jiàn)應(yīng)用層協(xié)議的正則表達(dá)式以及正則式模式編譯轉(zhuǎn)換成NFA和DFA的實(shí)現(xiàn)。我們通過(guò)實(shí)驗(yàn)證明流量達(dá)到90Mbps時(shí),對(duì)幾十種常見(jiàn)協(xié)議全部進(jìn)行NFA匹配,L7-filter系統(tǒng)接近死機(jī)。造成系統(tǒng)性能低下的原因主要為使用NFA匹配引擎進(jìn)行過(guò)多的正則表達(dá)式匹配。正則表達(dá)式匹配引擎必須滿(mǎn)足兩個(gè)條件:一是足夠快的處理速度,即每個(gè)輸入字符只帶來(lái)很少的狀態(tài)轉(zhuǎn)移;二是為每個(gè)流維護(hù)的中間狀態(tài)盡可能少,DFA引擎完全滿(mǎn)足這兩個(gè)條件。

      因此在系統(tǒng)中,首先通過(guò)端口的方法進(jìn)行協(xié)議識(shí)別,通過(guò)使用基于DFA匹配引擎的正則表達(dá)式匹配進(jìn)行協(xié)議識(shí)別,這樣不僅能提高系統(tǒng)準(zhǔn)確性,還能夠加快協(xié)議識(shí)別速度。

      3.3 正則表達(dá)式的簡(jiǎn)化

      正則表達(dá)式的正確性是保證基于正則表達(dá)式的應(yīng)用層協(xié)議識(shí)別準(zhǔn)確率的前提,它在很大程度上影響協(xié)議識(shí)別的效率。我們也根據(jù)實(shí)際環(huán)境,通過(guò)在實(shí)際的網(wǎng)絡(luò)中統(tǒng)計(jì)所需要識(shí)別協(xié)議的真實(shí)流量,修改部分正則表達(dá)式以滿(mǎn)足自己的需要,同時(shí)也達(dá)到了減小DFA的數(shù)目和資源消耗的目的。部分協(xié)議正則表達(dá)式修改示例見(jiàn)表1。

      4 實(shí)驗(yàn)結(jié)果

      本文采用DARPA2000的數(shù)據(jù)集進(jìn)行測(cè)試,總大小為79M,總報(bào)文為394096個(gè)。利用測(cè)試數(shù)據(jù)集得到的測(cè)試結(jié)果如表所示,端口與正則表達(dá)式匹配雙重方法進(jìn)行識(shí)別加速,對(duì)與Linux的L-7 filter識(shí)別結(jié)果進(jìn)行對(duì)比見(jiàn)表2。采用本文識(shí)別方法比L-7 filter節(jié)省了46%的平均消耗時(shí)間和38.9% 的平均消耗空間,并且識(shí)別率也有提高。

      5 結(jié)束語(yǔ)

      針對(duì)傳統(tǒng)協(xié)議識(shí)別技術(shù)的局限性,提出了一種基于端口和正則表達(dá)式的雙重特征協(xié)議識(shí)別方法,并根據(jù)網(wǎng)絡(luò)中所需要識(shí)別協(xié)議的真實(shí)流量,合理的簡(jiǎn)化其正則表達(dá)式,基于DFA匹配引擎實(shí)現(xiàn)協(xié)議的識(shí)別過(guò)程。實(shí)驗(yàn)證明,該文提出的識(shí)別可以在減少系統(tǒng)消耗和匹配時(shí)間的基礎(chǔ)上,提高協(xié)議的識(shí)別效率,具有較好的可用性。

      參考文獻(xiàn)

      [1] 陳亮,龔儉,徐選.基于特征串的應(yīng)用層協(xié)議識(shí)別.計(jì)算機(jī)工程與應(yīng)用,2006,24(4):16~19.

      [2] Jeffrey E.F.Freidl. Mastering Regular Expressioin. CA:O`Reilly Media,Inc.,2006.

      [3] 正則表達(dá)式參考文檔[EB/OL]. http://www.regexlab.com/zh/regref.htm.

      [4] Wiki protocol info, http://www.protocolinfo.org/wiki/Main_page.

      [5] Application Layer Packet Classifier for Linux, http://L7-filter.sourceforge.net.

      作者簡(jiǎn)介:

      王欣(1981-),女,遼寧葫蘆島人,碩士研究生,講師;主要研究方向和關(guān)注領(lǐng)域:智能控制、計(jì)算機(jī)網(wǎng)絡(luò)控制。

      徐智(1981-),男,南京工業(yè)大學(xué),碩士研究生,實(shí)驗(yàn)師;主要研究方向和關(guān)注領(lǐng)域:工業(yè)自動(dòng)化、控制理論與控制工程。

      黃其新(1980-),女,河海大學(xué),碩士研究生,講師;主要研究方向和關(guān)注領(lǐng)域:電力電子與電力傳動(dòng)。endprint

      【 摘 要 】 傳統(tǒng)識(shí)別方法難以滿(mǎn)足現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境的實(shí)際需要。文章利用協(xié)議的端口和特征串雙重特征進(jìn)行識(shí)別,并且根據(jù)實(shí)際的網(wǎng)絡(luò)統(tǒng)計(jì)所需要識(shí)別協(xié)議的真實(shí)流量,正確化簡(jiǎn)正則表達(dá)式來(lái)實(shí)現(xiàn)對(duì)協(xié)議識(shí)別的加速。結(jié)果證明,與L7-filter正則表達(dá)式識(shí)別方法比較,采用方法能有效降低資源消耗和匹配時(shí)間,提高識(shí)別率。

      【 關(guān)鍵詞 】 協(xié)議識(shí)別;正則表達(dá)式;特征串

      1 引言

      快速準(zhǔn)確地對(duì)網(wǎng)絡(luò)進(jìn)行流量控制、網(wǎng)絡(luò)計(jì)費(fèi)及內(nèi)容過(guò)濾識(shí)別是當(dāng)今計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展面臨的重要問(wèn)題,這對(duì)政府管理部門(mén)、網(wǎng)絡(luò)管理員、運(yùn)營(yíng)商等都有十分重要的意義。協(xié)議識(shí)別技術(shù)解決了這一問(wèn)題,尤其在網(wǎng)絡(luò)安全監(jiān)控領(lǐng)域,通過(guò)協(xié)議識(shí)別技術(shù)對(duì)捕獲的數(shù)據(jù)包進(jìn)行分析,判斷協(xié)議類(lèi)型,分析其特征,從而在入侵檢測(cè)或網(wǎng)絡(luò)攻擊等方面起到很大作用。本文在對(duì)傳統(tǒng)識(shí)別方法分析的基礎(chǔ)上,以識(shí)別正確率高、速度快、算法復(fù)雜度小為基本原則,提出了一種基于數(shù)據(jù)分類(lèi)和正則表達(dá)式匹配的應(yīng)用層協(xié)議識(shí)別方法。

      2 傳統(tǒng)的協(xié)議識(shí)別算法

      2.1 基于端口的協(xié)議識(shí)別算法

      這種識(shí)別算法使用IANA規(guī)定的固定端口號(hào)來(lái)進(jìn)行相應(yīng)的應(yīng)用層協(xié)議識(shí)別,僅能識(shí)別固定端口的應(yīng)用層協(xié)議識(shí)別率高。但是大量的應(yīng)用層協(xié)議為了避免識(shí)別, 逃避防火墻的檢查,使用隨機(jī)端口進(jìn)行通信。大量涌現(xiàn)的新協(xié)議都不在IANA中注冊(cè)其端口號(hào), 因此算法所能識(shí)別的協(xié)議在總協(xié)議數(shù)量中所占的比重越來(lái)越少,已不能適應(yīng)于當(dāng)前網(wǎng)絡(luò)環(huán)境。該算法簡(jiǎn)單, 消耗系統(tǒng)資源少,時(shí)空復(fù)雜度是所有算法中最低的。

      2.2 基于特征串的協(xié)議識(shí)別算法

      這種識(shí)別算法是對(duì)檢測(cè)到的每一個(gè)數(shù)據(jù)包按照特征串進(jìn)行搜索,和應(yīng)用層協(xié)議中出現(xiàn)的多個(gè)特征串進(jìn)行精確匹配,此方式在所有識(shí)別算法中準(zhǔn)確率最高。由于需要逐報(bào)文的匹配所有協(xié)議的特征以及額外的存儲(chǔ)報(bào)文的負(fù)載部分,該類(lèi)算法的時(shí)空復(fù)雜度是目前所有算法中最高的,并且隨著待識(shí)別協(xié)議數(shù)量的增長(zhǎng)而增長(zhǎng)。正則表達(dá)式是當(dāng)前比較流行的特征串匹配語(yǔ)言,利用正則表達(dá)式進(jìn)行協(xié)議識(shí)別可以將原來(lái)復(fù)雜且繁瑣的報(bào)文數(shù)據(jù)特征串匹配過(guò)程變成可自動(dòng)處理的工作。該類(lèi)算法通常只被用在需準(zhǔn)確識(shí)別數(shù)量較少的協(xié)議時(shí),且需要有相當(dāng)?shù)墓ぷ髁?,無(wú)法應(yīng)用在高速網(wǎng)絡(luò)環(huán)境下進(jìn)行大規(guī)模的協(xié)議識(shí)別。

      2.3 基于行為特征的協(xié)議識(shí)別算法

      這種識(shí)別方法是利用協(xié)議規(guī)范的不同所造成的流特征差異區(qū)別各個(gè)協(xié)議。它需要有一個(gè)訓(xùn)練樣本數(shù)據(jù)集作為輸入,構(gòu)建一個(gè)分類(lèi)器或者分類(lèi)模型,該模型能夠把網(wǎng)絡(luò)上的數(shù)據(jù)流映射到指定類(lèi)別中的一種。該方法較端口識(shí)別方法有較高的準(zhǔn)確性,較特征串識(shí)別方法較小的復(fù)雜度,但是由于判別算法不成熟,識(shí)別不夠細(xì)致,制約了這種識(shí)別方法的使用。

      3 基于端口與正則表達(dá)式匹配的應(yīng)用層協(xié)議識(shí)別方法

      由于傳統(tǒng)識(shí)別方法難以滿(mǎn)足現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境的實(shí)際需要,本文提出利用協(xié)議的端口和特征串雙重特征進(jìn)行識(shí)別,并且根據(jù)實(shí)際的網(wǎng)絡(luò)中統(tǒng)計(jì)所需要識(shí)別協(xié)議的真實(shí)流量,正確化簡(jiǎn)正則表達(dá)式來(lái)實(shí)現(xiàn)對(duì)協(xié)議識(shí)別的加速。在此基礎(chǔ)上按幾個(gè)步驟完成識(shí)別:第一步基于端口的識(shí)別方式,進(jìn)行初步識(shí)別;第二步采用正則表達(dá)式的識(shí)別方法,將其轉(zhuǎn)化成DFA完成匹配;第三步如果匹配成功,識(shí)別結(jié)束。如果不成功,說(shuō)明該協(xié)議采用的隨機(jī)端口,放棄第一步篩選模式,轉(zhuǎn)入第二步,直至識(shí)別成功。

      3.1 基于端口的數(shù)據(jù)流初步識(shí)別

      利用端口進(jìn)行應(yīng)用層協(xié)議識(shí)別,主要原理就是因?yàn)榇嬖诠J(rèn)端口和注冊(cè)端口,從端口0到1023對(duì)應(yīng)著因特網(wǎng)上常見(jiàn)的服務(wù)和應(yīng)用程序,有確切的定義。HTTP(Web服務(wù)器)、POP3/SMTP(電子郵件服務(wù)器)以及Telnet等常用應(yīng)用程序通常使用這些端口號(hào)。一旦檢測(cè)到網(wǎng)絡(luò)中具有這些端口的流量,即可識(shí)別出其對(duì)應(yīng)的協(xié)議。但是由于很大一部分協(xié)議都使用隨機(jī)端口,因此,初步識(shí)別的正確性要在下面的識(shí)別過(guò)程中進(jìn)一步證實(shí)。

      3.2 正則表達(dá)式協(xié)議識(shí)別方法

      正則表達(dá)式(Regular Expression)作為一種表示語(yǔ)言,定義了自己的一套描述方式,來(lái)描述各種的字符類(lèi),由普通字符以及特殊字符組成的字符模式,然后將字符模式與所搜索的字符串進(jìn)行匹配。典型的使用正則表達(dá)式進(jìn)行協(xié)議識(shí)別的軟件為L(zhǎng)-7 Filter,它是基于Linux的Netfilter/Iptables上一個(gè)開(kāi)放源代碼的軟件,實(shí)現(xiàn)了應(yīng)用層協(xié)議的識(shí)別。它通過(guò)對(duì)報(bào)文的依次解封,直接提取應(yīng)用層數(shù)據(jù)內(nèi)容,利用提供的正則表達(dá)式對(duì)提取出的數(shù)據(jù)內(nèi)容進(jìn)行匹配,從而識(shí)別協(xié)議類(lèi)型。為了降低協(xié)議識(shí)別的假陽(yáng)性及提高識(shí)別正確性,L-7 Filter也在不斷更新其正則表達(dá)式模式。

      正則表達(dá)式的匹配是建立在自動(dòng)機(jī)的理論基礎(chǔ)上的,正則引擎會(huì)按照表達(dá)式構(gòu)建相應(yīng)的自動(dòng)機(jī)。若輸入一串文本之后,自動(dòng)機(jī)抵達(dá)了接受狀態(tài),則這串文本可以匹配用戶(hù)指定的正則表達(dá)式,否則為不能匹配。正則表達(dá)式通常用有限自動(dòng)機(jī)完成匹配,按照轉(zhuǎn)移函數(shù)的不同,有限自動(dòng)機(jī)表示有非確定的有窮狀態(tài)自動(dòng)機(jī)(NFA)和確定的有窮狀態(tài)自動(dòng)機(jī)(DFA)兩種。

      在L-7 Filter中提供了常見(jiàn)應(yīng)用層協(xié)議的正則表達(dá)式以及正則式模式編譯轉(zhuǎn)換成NFA和DFA的實(shí)現(xiàn)。我們通過(guò)實(shí)驗(yàn)證明流量達(dá)到90Mbps時(shí),對(duì)幾十種常見(jiàn)協(xié)議全部進(jìn)行NFA匹配,L7-filter系統(tǒng)接近死機(jī)。造成系統(tǒng)性能低下的原因主要為使用NFA匹配引擎進(jìn)行過(guò)多的正則表達(dá)式匹配。正則表達(dá)式匹配引擎必須滿(mǎn)足兩個(gè)條件:一是足夠快的處理速度,即每個(gè)輸入字符只帶來(lái)很少的狀態(tài)轉(zhuǎn)移;二是為每個(gè)流維護(hù)的中間狀態(tài)盡可能少,DFA引擎完全滿(mǎn)足這兩個(gè)條件。

      因此在系統(tǒng)中,首先通過(guò)端口的方法進(jìn)行協(xié)議識(shí)別,通過(guò)使用基于DFA匹配引擎的正則表達(dá)式匹配進(jìn)行協(xié)議識(shí)別,這樣不僅能提高系統(tǒng)準(zhǔn)確性,還能夠加快協(xié)議識(shí)別速度。

      3.3 正則表達(dá)式的簡(jiǎn)化

      正則表達(dá)式的正確性是保證基于正則表達(dá)式的應(yīng)用層協(xié)議識(shí)別準(zhǔn)確率的前提,它在很大程度上影響協(xié)議識(shí)別的效率。我們也根據(jù)實(shí)際環(huán)境,通過(guò)在實(shí)際的網(wǎng)絡(luò)中統(tǒng)計(jì)所需要識(shí)別協(xié)議的真實(shí)流量,修改部分正則表達(dá)式以滿(mǎn)足自己的需要,同時(shí)也達(dá)到了減小DFA的數(shù)目和資源消耗的目的。部分協(xié)議正則表達(dá)式修改示例見(jiàn)表1。

      4 實(shí)驗(yàn)結(jié)果

      本文采用DARPA2000的數(shù)據(jù)集進(jìn)行測(cè)試,總大小為79M,總報(bào)文為394096個(gè)。利用測(cè)試數(shù)據(jù)集得到的測(cè)試結(jié)果如表所示,端口與正則表達(dá)式匹配雙重方法進(jìn)行識(shí)別加速,對(duì)與Linux的L-7 filter識(shí)別結(jié)果進(jìn)行對(duì)比見(jiàn)表2。采用本文識(shí)別方法比L-7 filter節(jié)省了46%的平均消耗時(shí)間和38.9% 的平均消耗空間,并且識(shí)別率也有提高。

      5 結(jié)束語(yǔ)

      針對(duì)傳統(tǒng)協(xié)議識(shí)別技術(shù)的局限性,提出了一種基于端口和正則表達(dá)式的雙重特征協(xié)議識(shí)別方法,并根據(jù)網(wǎng)絡(luò)中所需要識(shí)別協(xié)議的真實(shí)流量,合理的簡(jiǎn)化其正則表達(dá)式,基于DFA匹配引擎實(shí)現(xiàn)協(xié)議的識(shí)別過(guò)程。實(shí)驗(yàn)證明,該文提出的識(shí)別可以在減少系統(tǒng)消耗和匹配時(shí)間的基礎(chǔ)上,提高協(xié)議的識(shí)別效率,具有較好的可用性。

      參考文獻(xiàn)

      [1] 陳亮,龔儉,徐選.基于特征串的應(yīng)用層協(xié)議識(shí)別.計(jì)算機(jī)工程與應(yīng)用,2006,24(4):16~19.

      [2] Jeffrey E.F.Freidl. Mastering Regular Expressioin. CA:O`Reilly Media,Inc.,2006.

      [3] 正則表達(dá)式參考文檔[EB/OL]. http://www.regexlab.com/zh/regref.htm.

      [4] Wiki protocol info, http://www.protocolinfo.org/wiki/Main_page.

      [5] Application Layer Packet Classifier for Linux, http://L7-filter.sourceforge.net.

      作者簡(jiǎn)介:

      王欣(1981-),女,遼寧葫蘆島人,碩士研究生,講師;主要研究方向和關(guān)注領(lǐng)域:智能控制、計(jì)算機(jī)網(wǎng)絡(luò)控制。

      徐智(1981-),男,南京工業(yè)大學(xué),碩士研究生,實(shí)驗(yàn)師;主要研究方向和關(guān)注領(lǐng)域:工業(yè)自動(dòng)化、控制理論與控制工程。

      黃其新(1980-),女,河海大學(xué),碩士研究生,講師;主要研究方向和關(guān)注領(lǐng)域:電力電子與電力傳動(dòng)。endprint

      【 摘 要 】 傳統(tǒng)識(shí)別方法難以滿(mǎn)足現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境的實(shí)際需要。文章利用協(xié)議的端口和特征串雙重特征進(jìn)行識(shí)別,并且根據(jù)實(shí)際的網(wǎng)絡(luò)統(tǒng)計(jì)所需要識(shí)別協(xié)議的真實(shí)流量,正確化簡(jiǎn)正則表達(dá)式來(lái)實(shí)現(xiàn)對(duì)協(xié)議識(shí)別的加速。結(jié)果證明,與L7-filter正則表達(dá)式識(shí)別方法比較,采用方法能有效降低資源消耗和匹配時(shí)間,提高識(shí)別率。

      【 關(guān)鍵詞 】 協(xié)議識(shí)別;正則表達(dá)式;特征串

      1 引言

      快速準(zhǔn)確地對(duì)網(wǎng)絡(luò)進(jìn)行流量控制、網(wǎng)絡(luò)計(jì)費(fèi)及內(nèi)容過(guò)濾識(shí)別是當(dāng)今計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展面臨的重要問(wèn)題,這對(duì)政府管理部門(mén)、網(wǎng)絡(luò)管理員、運(yùn)營(yíng)商等都有十分重要的意義。協(xié)議識(shí)別技術(shù)解決了這一問(wèn)題,尤其在網(wǎng)絡(luò)安全監(jiān)控領(lǐng)域,通過(guò)協(xié)議識(shí)別技術(shù)對(duì)捕獲的數(shù)據(jù)包進(jìn)行分析,判斷協(xié)議類(lèi)型,分析其特征,從而在入侵檢測(cè)或網(wǎng)絡(luò)攻擊等方面起到很大作用。本文在對(duì)傳統(tǒng)識(shí)別方法分析的基礎(chǔ)上,以識(shí)別正確率高、速度快、算法復(fù)雜度小為基本原則,提出了一種基于數(shù)據(jù)分類(lèi)和正則表達(dá)式匹配的應(yīng)用層協(xié)議識(shí)別方法。

      2 傳統(tǒng)的協(xié)議識(shí)別算法

      2.1 基于端口的協(xié)議識(shí)別算法

      這種識(shí)別算法使用IANA規(guī)定的固定端口號(hào)來(lái)進(jìn)行相應(yīng)的應(yīng)用層協(xié)議識(shí)別,僅能識(shí)別固定端口的應(yīng)用層協(xié)議識(shí)別率高。但是大量的應(yīng)用層協(xié)議為了避免識(shí)別, 逃避防火墻的檢查,使用隨機(jī)端口進(jìn)行通信。大量涌現(xiàn)的新協(xié)議都不在IANA中注冊(cè)其端口號(hào), 因此算法所能識(shí)別的協(xié)議在總協(xié)議數(shù)量中所占的比重越來(lái)越少,已不能適應(yīng)于當(dāng)前網(wǎng)絡(luò)環(huán)境。該算法簡(jiǎn)單, 消耗系統(tǒng)資源少,時(shí)空復(fù)雜度是所有算法中最低的。

      2.2 基于特征串的協(xié)議識(shí)別算法

      這種識(shí)別算法是對(duì)檢測(cè)到的每一個(gè)數(shù)據(jù)包按照特征串進(jìn)行搜索,和應(yīng)用層協(xié)議中出現(xiàn)的多個(gè)特征串進(jìn)行精確匹配,此方式在所有識(shí)別算法中準(zhǔn)確率最高。由于需要逐報(bào)文的匹配所有協(xié)議的特征以及額外的存儲(chǔ)報(bào)文的負(fù)載部分,該類(lèi)算法的時(shí)空復(fù)雜度是目前所有算法中最高的,并且隨著待識(shí)別協(xié)議數(shù)量的增長(zhǎng)而增長(zhǎng)。正則表達(dá)式是當(dāng)前比較流行的特征串匹配語(yǔ)言,利用正則表達(dá)式進(jìn)行協(xié)議識(shí)別可以將原來(lái)復(fù)雜且繁瑣的報(bào)文數(shù)據(jù)特征串匹配過(guò)程變成可自動(dòng)處理的工作。該類(lèi)算法通常只被用在需準(zhǔn)確識(shí)別數(shù)量較少的協(xié)議時(shí),且需要有相當(dāng)?shù)墓ぷ髁?,無(wú)法應(yīng)用在高速網(wǎng)絡(luò)環(huán)境下進(jìn)行大規(guī)模的協(xié)議識(shí)別。

      2.3 基于行為特征的協(xié)議識(shí)別算法

      這種識(shí)別方法是利用協(xié)議規(guī)范的不同所造成的流特征差異區(qū)別各個(gè)協(xié)議。它需要有一個(gè)訓(xùn)練樣本數(shù)據(jù)集作為輸入,構(gòu)建一個(gè)分類(lèi)器或者分類(lèi)模型,該模型能夠把網(wǎng)絡(luò)上的數(shù)據(jù)流映射到指定類(lèi)別中的一種。該方法較端口識(shí)別方法有較高的準(zhǔn)確性,較特征串識(shí)別方法較小的復(fù)雜度,但是由于判別算法不成熟,識(shí)別不夠細(xì)致,制約了這種識(shí)別方法的使用。

      3 基于端口與正則表達(dá)式匹配的應(yīng)用層協(xié)議識(shí)別方法

      由于傳統(tǒng)識(shí)別方法難以滿(mǎn)足現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境的實(shí)際需要,本文提出利用協(xié)議的端口和特征串雙重特征進(jìn)行識(shí)別,并且根據(jù)實(shí)際的網(wǎng)絡(luò)中統(tǒng)計(jì)所需要識(shí)別協(xié)議的真實(shí)流量,正確化簡(jiǎn)正則表達(dá)式來(lái)實(shí)現(xiàn)對(duì)協(xié)議識(shí)別的加速。在此基礎(chǔ)上按幾個(gè)步驟完成識(shí)別:第一步基于端口的識(shí)別方式,進(jìn)行初步識(shí)別;第二步采用正則表達(dá)式的識(shí)別方法,將其轉(zhuǎn)化成DFA完成匹配;第三步如果匹配成功,識(shí)別結(jié)束。如果不成功,說(shuō)明該協(xié)議采用的隨機(jī)端口,放棄第一步篩選模式,轉(zhuǎn)入第二步,直至識(shí)別成功。

      3.1 基于端口的數(shù)據(jù)流初步識(shí)別

      利用端口進(jìn)行應(yīng)用層協(xié)議識(shí)別,主要原理就是因?yàn)榇嬖诠J(rèn)端口和注冊(cè)端口,從端口0到1023對(duì)應(yīng)著因特網(wǎng)上常見(jiàn)的服務(wù)和應(yīng)用程序,有確切的定義。HTTP(Web服務(wù)器)、POP3/SMTP(電子郵件服務(wù)器)以及Telnet等常用應(yīng)用程序通常使用這些端口號(hào)。一旦檢測(cè)到網(wǎng)絡(luò)中具有這些端口的流量,即可識(shí)別出其對(duì)應(yīng)的協(xié)議。但是由于很大一部分協(xié)議都使用隨機(jī)端口,因此,初步識(shí)別的正確性要在下面的識(shí)別過(guò)程中進(jìn)一步證實(shí)。

      3.2 正則表達(dá)式協(xié)議識(shí)別方法

      正則表達(dá)式(Regular Expression)作為一種表示語(yǔ)言,定義了自己的一套描述方式,來(lái)描述各種的字符類(lèi),由普通字符以及特殊字符組成的字符模式,然后將字符模式與所搜索的字符串進(jìn)行匹配。典型的使用正則表達(dá)式進(jìn)行協(xié)議識(shí)別的軟件為L(zhǎng)-7 Filter,它是基于Linux的Netfilter/Iptables上一個(gè)開(kāi)放源代碼的軟件,實(shí)現(xiàn)了應(yīng)用層協(xié)議的識(shí)別。它通過(guò)對(duì)報(bào)文的依次解封,直接提取應(yīng)用層數(shù)據(jù)內(nèi)容,利用提供的正則表達(dá)式對(duì)提取出的數(shù)據(jù)內(nèi)容進(jìn)行匹配,從而識(shí)別協(xié)議類(lèi)型。為了降低協(xié)議識(shí)別的假陽(yáng)性及提高識(shí)別正確性,L-7 Filter也在不斷更新其正則表達(dá)式模式。

      正則表達(dá)式的匹配是建立在自動(dòng)機(jī)的理論基礎(chǔ)上的,正則引擎會(huì)按照表達(dá)式構(gòu)建相應(yīng)的自動(dòng)機(jī)。若輸入一串文本之后,自動(dòng)機(jī)抵達(dá)了接受狀態(tài),則這串文本可以匹配用戶(hù)指定的正則表達(dá)式,否則為不能匹配。正則表達(dá)式通常用有限自動(dòng)機(jī)完成匹配,按照轉(zhuǎn)移函數(shù)的不同,有限自動(dòng)機(jī)表示有非確定的有窮狀態(tài)自動(dòng)機(jī)(NFA)和確定的有窮狀態(tài)自動(dòng)機(jī)(DFA)兩種。

      在L-7 Filter中提供了常見(jiàn)應(yīng)用層協(xié)議的正則表達(dá)式以及正則式模式編譯轉(zhuǎn)換成NFA和DFA的實(shí)現(xiàn)。我們通過(guò)實(shí)驗(yàn)證明流量達(dá)到90Mbps時(shí),對(duì)幾十種常見(jiàn)協(xié)議全部進(jìn)行NFA匹配,L7-filter系統(tǒng)接近死機(jī)。造成系統(tǒng)性能低下的原因主要為使用NFA匹配引擎進(jìn)行過(guò)多的正則表達(dá)式匹配。正則表達(dá)式匹配引擎必須滿(mǎn)足兩個(gè)條件:一是足夠快的處理速度,即每個(gè)輸入字符只帶來(lái)很少的狀態(tài)轉(zhuǎn)移;二是為每個(gè)流維護(hù)的中間狀態(tài)盡可能少,DFA引擎完全滿(mǎn)足這兩個(gè)條件。

      因此在系統(tǒng)中,首先通過(guò)端口的方法進(jìn)行協(xié)議識(shí)別,通過(guò)使用基于DFA匹配引擎的正則表達(dá)式匹配進(jìn)行協(xié)議識(shí)別,這樣不僅能提高系統(tǒng)準(zhǔn)確性,還能夠加快協(xié)議識(shí)別速度。

      3.3 正則表達(dá)式的簡(jiǎn)化

      正則表達(dá)式的正確性是保證基于正則表達(dá)式的應(yīng)用層協(xié)議識(shí)別準(zhǔn)確率的前提,它在很大程度上影響協(xié)議識(shí)別的效率。我們也根據(jù)實(shí)際環(huán)境,通過(guò)在實(shí)際的網(wǎng)絡(luò)中統(tǒng)計(jì)所需要識(shí)別協(xié)議的真實(shí)流量,修改部分正則表達(dá)式以滿(mǎn)足自己的需要,同時(shí)也達(dá)到了減小DFA的數(shù)目和資源消耗的目的。部分協(xié)議正則表達(dá)式修改示例見(jiàn)表1。

      4 實(shí)驗(yàn)結(jié)果

      本文采用DARPA2000的數(shù)據(jù)集進(jìn)行測(cè)試,總大小為79M,總報(bào)文為394096個(gè)。利用測(cè)試數(shù)據(jù)集得到的測(cè)試結(jié)果如表所示,端口與正則表達(dá)式匹配雙重方法進(jìn)行識(shí)別加速,對(duì)與Linux的L-7 filter識(shí)別結(jié)果進(jìn)行對(duì)比見(jiàn)表2。采用本文識(shí)別方法比L-7 filter節(jié)省了46%的平均消耗時(shí)間和38.9% 的平均消耗空間,并且識(shí)別率也有提高。

      5 結(jié)束語(yǔ)

      針對(duì)傳統(tǒng)協(xié)議識(shí)別技術(shù)的局限性,提出了一種基于端口和正則表達(dá)式的雙重特征協(xié)議識(shí)別方法,并根據(jù)網(wǎng)絡(luò)中所需要識(shí)別協(xié)議的真實(shí)流量,合理的簡(jiǎn)化其正則表達(dá)式,基于DFA匹配引擎實(shí)現(xiàn)協(xié)議的識(shí)別過(guò)程。實(shí)驗(yàn)證明,該文提出的識(shí)別可以在減少系統(tǒng)消耗和匹配時(shí)間的基礎(chǔ)上,提高協(xié)議的識(shí)別效率,具有較好的可用性。

      參考文獻(xiàn)

      [1] 陳亮,龔儉,徐選.基于特征串的應(yīng)用層協(xié)議識(shí)別.計(jì)算機(jī)工程與應(yīng)用,2006,24(4):16~19.

      [2] Jeffrey E.F.Freidl. Mastering Regular Expressioin. CA:O`Reilly Media,Inc.,2006.

      [3] 正則表達(dá)式參考文檔[EB/OL]. http://www.regexlab.com/zh/regref.htm.

      [4] Wiki protocol info, http://www.protocolinfo.org/wiki/Main_page.

      [5] Application Layer Packet Classifier for Linux, http://L7-filter.sourceforge.net.

      作者簡(jiǎn)介:

      王欣(1981-),女,遼寧葫蘆島人,碩士研究生,講師;主要研究方向和關(guān)注領(lǐng)域:智能控制、計(jì)算機(jī)網(wǎng)絡(luò)控制。

      徐智(1981-),男,南京工業(yè)大學(xué),碩士研究生,實(shí)驗(yàn)師;主要研究方向和關(guān)注領(lǐng)域:工業(yè)自動(dòng)化、控制理論與控制工程。

      黃其新(1980-),女,河海大學(xué),碩士研究生,講師;主要研究方向和關(guān)注領(lǐng)域:電力電子與電力傳動(dòng)。endprint

      丹巴县| 沈丘县| 江达县| 平谷区| 全椒县| 疏附县| 涿州市| 济阳县| 紫云| 孟连| 新乡市| 赫章县| 临朐县| 宣恩县| 通河县| 惠安县| 三穗县| 雅安市| 专栏| 新绛县| 泸水县| 鄄城县| 六盘水市| 偏关县| 扬中市| 阳东县| 宁晋县| 安徽省| 象州县| 清丰县| 庄浪县| 攀枝花市| 桦南县| 吉隆县| 洛宁县| 邯郸县| 南川市| 洛浦县| 雅安市| 津南区| 巴彦县|