欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種匹配正則集的生成及深度包檢測方法與流程

文檔序號:12068097閱讀:476來源:國知局
一種匹配正則集的生成及深度包檢測方法與流程

本發(fā)明涉及深度包檢測技術,具體涉及一種匹配正則集的生成及深度包檢測方法。



背景技術:

隨著移動互聯(lián)時代的到來,網(wǎng)絡數(shù)據(jù)流量出現(xiàn)了指數(shù)爆炸式的增長。由此產(chǎn)生了網(wǎng)絡攻擊防范、網(wǎng)絡包內(nèi)容安全等問題。為了解決這類問題,深度包檢測(DPI)技術應運而生。

深度包檢測技術是一種面向網(wǎng)絡數(shù)據(jù)的高速檢測方法,主要用于檢測網(wǎng)絡包的載荷字段內(nèi)容。該技術在入侵防御系統(tǒng)(IPS)、入侵檢測系統(tǒng)(IDS)中被廣泛應用。目前,在深度包檢測系統(tǒng)中,所使用的規(guī)則多為正則表達式規(guī)則,然而大多數(shù)正則表達式需要人工抓取數(shù)據(jù)包,并根據(jù)數(shù)據(jù)包特點,歸納其中規(guī)律并編寫相應正則規(guī)則。而對于新類型的攻擊模式和攻擊數(shù)據(jù),不能針對性地快速生成規(guī)則進行匹配和防御。



技術實現(xiàn)要素:

本發(fā)明的目的在于克服現(xiàn)有深度包檢測技術中存在的上述缺陷,提供了一種匹配正則集的生成方法,該方法能夠根據(jù)接收到的網(wǎng)絡數(shù)據(jù)包自動生成匹配正則集,基于該正則集,本發(fā)明還提供了一種深度包檢測方法。

為了實現(xiàn)上述目的,本發(fā)明提供了一種匹配正則集的生成方法,所述方法包括:

步驟101)對接收到的網(wǎng)絡數(shù)據(jù)包進行預處理;得到白名單數(shù)據(jù)集和黑名單數(shù)據(jù)集;

步驟102)基于白名單數(shù)據(jù)集和黑名單數(shù)據(jù)集,根據(jù)正則表達式基本規(guī)則,分別生成黑名單數(shù)據(jù)集的原子規(guī)則和白名單數(shù)據(jù)集的原子規(guī)則;

步驟103)基于白名單數(shù)據(jù)集的原子規(guī)則,構(gòu)造白名單數(shù)據(jù)集的修飾規(guī)則樹;基于黑名單數(shù)據(jù)集的原子規(guī)則,構(gòu)造黑名單數(shù)據(jù)集的修飾規(guī)則樹;

步驟104)基于白名單數(shù)據(jù)集的修飾規(guī)則樹和黑名單數(shù)據(jù)集的修飾規(guī)則樹,在滿足規(guī)則生成邊界條件前提下,生成白名單正則集S1和黑名單正則集S2;所述匹配正則集為所述白名單正則集S1和黑名單正則集S2的并集。

上述技術方案中,所述步驟1)的預處理包括分類和清洗,具體過程為:對已有帶標記的數(shù)據(jù)包進行黑白名單的分類,然后對黑名單和白名單中相同的數(shù)據(jù)包進行篩查和剔除得到黑名單數(shù)據(jù)集和白名單數(shù)據(jù)集。

上述技術方案中,所述步驟2)生成原子規(guī)則的過程為:對一個數(shù)據(jù)集的所有字符按照設定的正則匹配規(guī)則進行正則匹配。

上述技術方案中,所述步驟103)包括:

步驟103-1)根據(jù)白名單數(shù)據(jù)集各層對應的原子規(guī)則,生成初始規(guī)則樹;

步驟103-2)對初始規(guī)則樹按照修飾規(guī)則進行修飾;

所述修飾規(guī)則為:

(1)“.*”類葉子節(jié)點向根節(jié)點上移;

(2)添加同層級相同節(jié)點合并后的節(jié)點層;

步驟103-3)根據(jù)所述修飾規(guī)則對規(guī)則樹進行反復修飾,直至沒有可以修飾的節(jié)點;得到白名單的數(shù)據(jù)集修飾規(guī)則樹;

步驟103-4)根據(jù)黑名單數(shù)據(jù)集各層對應的原子規(guī)則,生成初始規(guī)則樹;

步驟103-5)對初始規(guī)則樹進行修飾;

步驟103-6)根據(jù)所述修飾規(guī)則對規(guī)則樹進行反復修飾,直至沒有可以修飾的節(jié)點;得到黑名單數(shù)據(jù)集的修飾規(guī)則樹。

上述技術方案中,所述步驟104)具體包括:

步驟104-1)構(gòu)造邊界條件;

步驟104-2)對白名單數(shù)據(jù)集內(nèi)所有N個修飾規(guī)則樹依次兩兩構(gòu)造最深共同正則規(guī)則子樹;

步驟104-3)對步驟104-2)生成的相同的最深共同正則規(guī)則子樹進行合并,得到白名單正則規(guī)則子樹;然后記錄每棵子樹對應的數(shù)據(jù)包編號index;

步驟104-4)將白名單正則規(guī)則子樹轉(zhuǎn)化為對應的白名單正則集,記作S1{r0,r1,…,rn};

步驟104-5)從白名單正則集S1中取出一個規(guī)則測試黑名單數(shù)據(jù)包,如果在S1中存在一個rk,能夠匹配黑名單的數(shù)據(jù),則對rk進行重構(gòu);

步驟104-6)判斷白名單正則集S1中所有的規(guī)則是否被匹配完,如果判斷結(jié)果是肯定的,轉(zhuǎn)入步驟104-7);否則,轉(zhuǎn)入步驟104-4);

步驟104-7)生成白名單正則集S1;

步驟104-8)對黑名單數(shù)據(jù)集內(nèi)所有M個修飾規(guī)則樹依次兩兩構(gòu)造最深共同正則規(guī)則子樹;

步驟104-9)對步驟104-8)生成的相同的最深共同正則規(guī)則子樹進行合并,得到黑名單正則規(guī)則子樹;然后記錄每棵子樹對應的數(shù)據(jù)包編號index;

步驟104-10)將黑名單正則規(guī)則子樹轉(zhuǎn)化為對應的黑名單正則集,記作S2{t0,t1,…,tn};

步驟104-11)從黑名單正則集S2中取出一個規(guī)則測試白名單數(shù)據(jù)包,如果在S2中存在一個tk,能夠匹配白名單的數(shù)據(jù),則對tk進行重構(gòu);

步驟104-12)判斷黑名單正則集S2中所有的規(guī)則是否被匹配完,如果判斷結(jié)果是肯定的,轉(zhuǎn)入步驟104-13);否則,轉(zhuǎn)入步驟104-10);

步驟104-13)生成黑名單正則集S2,所述匹配正則集為所述白名單正則集S1和黑名單正則集S2的并集。

上述技術方案中,所述步驟104-1)的邊界條件是全局控制最后合并子樹的數(shù)量的條件,所述邊界條件包括:

(1)設定樹的總量;在進行樹合并時,最終生成的正則規(guī)則子樹數(shù)量不得少于這個總量;

(2)設定子樹的深度臨界值,每個合并后的子樹的深度不得小于這個臨界值。

上述技術方案中,所述步驟104-5)的重構(gòu)的過程為:設規(guī)則rk對應的正則規(guī)則子樹數(shù)記作treek,分別對treek的每個具有相同父節(jié)點的葉子節(jié)點集合進行的刪去操作,重新生成新的子樹集合T{sub-tree0,sub-tree1,…,sub-treet}。

基于上述匹配正則集的生成方法生成的匹配正則集,本發(fā)明還提供了一種深度包檢測方法,該方法包括:

步驟201)根據(jù)黑名單正則集S2和白名單正則集S1,生成正則規(guī)則匹配自動狀態(tài)機,分別定義為黑名單狀態(tài)機A_b和白名單狀態(tài)機A_w;

步驟202)從外部網(wǎng)絡入口獲取待檢測的數(shù)據(jù)包;

步驟203)待檢測的數(shù)據(jù)包先通過黑名單狀態(tài)機A_b,若狀態(tài)機A_b檢測出該數(shù)據(jù)包為黑名單匹配數(shù)據(jù),則按照黑名單的正則規(guī)則進行過濾處理;轉(zhuǎn)入步驟206);否則,轉(zhuǎn)入步驟204);

步驟204)待檢測數(shù)據(jù)包進入白名單狀態(tài)機A_w進行檢測,若狀態(tài)機A_w檢測出該數(shù)據(jù)包為白名單匹配數(shù)據(jù),則按照白名單的正則規(guī)則進行過濾處理,轉(zhuǎn)入步驟206);否則,判定該數(shù)據(jù)包為灰名單數(shù)據(jù);轉(zhuǎn)入步驟205);

步驟205)按照系統(tǒng)的安全等級對灰名單數(shù)據(jù)包進行過濾處理;

步驟206)待檢測數(shù)據(jù)包檢測完畢。

本發(fā)明的優(yōu)點在于:

1、本發(fā)明的方法可以利用已標記的數(shù)據(jù)包,自動生成正則規(guī)則,為深度包檢測系統(tǒng)提供匹配規(guī)則;

2、本發(fā)明生成的匹配正則集,保證規(guī)則的準確性,可以有效減少誤判錯判的概率;

3、通過本發(fā)明的方法生成匹配正則集,可以減少人工歸納正則規(guī)則的工作量,節(jié)約人工成本。

附圖說明

圖1為本發(fā)明的匹配正則集的生成方法的流程圖;

圖2為本發(fā)明的黑名單數(shù)據(jù)集的修飾規(guī)則樹的生成流程。

具體實施方式

下面結(jié)合附圖和具體實施例對本發(fā)明做進一步詳細的說明。

如圖1所示,一種匹配正則集的生成方法,所述方法包括:

步驟101)對接收到的網(wǎng)絡數(shù)據(jù)包進行預處理;得到白名單數(shù)據(jù)集和黑名單數(shù)據(jù)集;

所述預處理包括分類和清洗,具體過程為:對已有帶標記的數(shù)據(jù)包進行黑白名單的分類,然后對黑名單和白名單中相同的數(shù)據(jù)包進行篩查和剔除得到黑名單數(shù)據(jù)集和白名單數(shù)據(jù)集;

步驟102)基于白名單數(shù)據(jù)集和黑名單數(shù)據(jù)集,根據(jù)正則表達式基本規(guī)則,分別生成黑名單數(shù)據(jù)集的原子規(guī)則和白名單數(shù)據(jù)集的原子規(guī)則;

所述生成原子規(guī)則的過程為:對一個數(shù)據(jù)集的所有字符按照正則匹配規(guī)則進行正則匹配,所述正則匹配規(guī)則見表1:

表1

步驟103)基于白名單數(shù)據(jù)集的原子規(guī)則,構(gòu)造白名單數(shù)據(jù)集的修飾規(guī)則樹;基于黑名單數(shù)據(jù)集的原子規(guī)則,構(gòu)造黑名單數(shù)據(jù)集的修飾規(guī)則樹;

所述步驟103)包括:

步驟103-1)根據(jù)白名單數(shù)據(jù)集各層對應的原子規(guī)則,生成初始規(guī)則樹;

步驟103-2)對初始規(guī)則樹按照修飾規(guī)則進行修飾;

所述修飾規(guī)則為:

(1):“.*”類葉子節(jié)點向根節(jié)點上移;

(2):添加同層級相同節(jié)點合并后的節(jié)點層。

步驟103-3)根據(jù)所述修飾規(guī)則對規(guī)則樹進行反復修飾,直至沒有可以修飾的節(jié)點;得到白名單的數(shù)據(jù)集修飾規(guī)則樹;

步驟103-4)根據(jù)黑名單數(shù)據(jù)集各層對應的原子規(guī)則,生成初始規(guī)則樹;

步驟103-5)對初始規(guī)則樹按照上述修飾規(guī)則進行修飾;

步驟103-6)根據(jù)所述修飾規(guī)則對規(guī)則樹進行反復修飾,直至沒有可以修飾的節(jié) 點;得到黑名單數(shù)據(jù)集的修飾規(guī)則樹;

步驟104)基于白名單數(shù)據(jù)集的修飾規(guī)則樹和黑名單數(shù)據(jù)集的修飾規(guī)則樹,在滿足規(guī)則生成邊界條件前提下,生成白名單正則集S1和黑名單正則集S2;所述匹配正則集為所述白名單正則集S1和黑名單正則集S2的并集。

具體包括:

如圖2所示,所述步驟104-1)到步驟104-7)的流程為:

步驟104-1)構(gòu)造邊界條件;

步驟104-2)對白名單數(shù)據(jù)集內(nèi)所有N個修飾規(guī)則樹依次兩兩構(gòu)造最深共同正則規(guī)則子樹;

步驟104-3)對步驟104-2)生成的相同的最深共同正則規(guī)則子樹進行合并,得到白名單正則規(guī)則子樹;然后記錄每棵子樹對應的數(shù)據(jù)包編號index;

步驟104-4)將白名單正則規(guī)則子樹轉(zhuǎn)化為對應的白名單正則集,記作S1{r0,r1,…,rn};

步驟104-5)從白名單正則集S1中取出一個規(guī)則測試黑名單數(shù)據(jù)包,如果在S1中存在一個rk,能夠匹配黑名單的數(shù)據(jù),則對rk進行重構(gòu);

步驟104-6)判斷白名單正則集S1中所有的規(guī)則是否被匹配完,如果判斷結(jié)果是肯定的,轉(zhuǎn)入步驟104-7);否則,轉(zhuǎn)入步驟104-4);

步驟104-7)生成白名單正則集S1;

步驟104-8)對黑名單數(shù)據(jù)集內(nèi)所有M個修飾規(guī)則樹依次兩兩構(gòu)造最深共同正則規(guī)則子樹;

步驟104-9)對步驟104-8)生成的相同的最深共同正則規(guī)則子樹進行合并,得到黑名單正則規(guī)則子樹;然后記錄每棵子樹對應的數(shù)據(jù)包編號index;

步驟104-10)將黑名單正則規(guī)則子樹轉(zhuǎn)化為對應的黑名單正則集,記作S2{t0,t1,…,tn};

步驟104-11)從黑名單正則集S2中取出一個規(guī)則測試白名單數(shù)據(jù)包,如果在S2中存在一個tk,能夠匹配白名單的數(shù)據(jù),則對tk進行重構(gòu);

步驟104-12)判斷黑名單正則集S2中所有的規(guī)則是否被匹配完,如果判斷結(jié)果是肯定的,轉(zhuǎn)入步驟104-13);否則,轉(zhuǎn)入步驟104-10);

步驟104-13)生成黑名單正則集S2;所述匹配正則集為所述白名單正則集S1和黑名單正則集S2的并集。

基于上述方法生成的匹配正則集,本發(fā)明還提供了一種深度包檢測方法,所述方法包括:

步驟201)根據(jù)黑名單正則集S2和白名單正則集S1,生成正則規(guī)則匹配自動狀態(tài)機,分別定義為黑名單狀態(tài)機A_b和白名單狀態(tài)機A_w;

步驟202)從外部網(wǎng)絡入口獲取待檢測的數(shù)據(jù)包;

步驟203)待檢測的數(shù)據(jù)包先通過黑名單狀態(tài)機A_b,若狀態(tài)機A_b檢測出該數(shù)據(jù)包為黑名單匹配數(shù)據(jù),則按照黑名單的正則規(guī)則進行過濾處理;轉(zhuǎn)入步驟206);否則,轉(zhuǎn)入步驟204);

步驟204)待檢測數(shù)據(jù)包進入白名單狀態(tài)機A_w進行檢測,若狀態(tài)機A_w檢測出該數(shù)據(jù)包為白名單匹配數(shù)據(jù),則按照白名單的正則規(guī)則進行過濾處理,轉(zhuǎn)入步驟206);否則,判定該數(shù)據(jù)包為灰名單數(shù)據(jù);轉(zhuǎn)入步驟205);

步驟205)按照系統(tǒng)的安全等級對灰名單數(shù)據(jù)包進行過濾處理;

步驟206)待檢測數(shù)據(jù)包檢測完畢。

最后所應說明的是,以上實施例僅用以說明本發(fā)明的技術方案而非限制。盡管參照實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解,對本發(fā)明的技術方案進行修改或者等同替換,都不脫離本發(fā)明技術方案的精神和范圍,其均應涵蓋在本發(fā)明的權利要求范圍當中。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
澄江县| 武夷山市| 南雄市| 睢宁县| 萝北县| 巴中市| 海兴县| 永城市| 安岳县| 景东| 开化县| 屯昌县| 深泽县| 汉寿县| 韶关市| 收藏| 桃江县| 尼木县| 东阳市| 阿勒泰市| 永年县| 贵港市| 博湖县| 晋城| 永清县| 芦山县| 万州区| 海南省| 铜川市| 仁怀市| 和林格尔县| 济南市| 阿拉善左旗| 扎兰屯市| 明星| 肥东县| 洪洞县| 读书| 蒙自县| 宁陵县| 兴义市|