亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種實現(xiàn)關鍵字對匹配的系統(tǒng)及方法與流程

文檔序號:12719986閱讀:1101來源:國知局
一種實現(xiàn)關鍵字對匹配的系統(tǒng)及方法與流程

本發(fā)明屬于網(wǎng)絡防護技術領域,特別涉及一種實現(xiàn)關鍵字對匹配的系統(tǒng)及方法。



背景技術:

常見的網(wǎng)絡攻擊方式是在命令中帶有特定的攻擊代碼?,F(xiàn)有算法實現(xiàn)的基本原理是把經(jīng)過處理的數(shù)據(jù)包(“文本”)和定義好的規(guī)則相匹配,來搜索判斷是否有入侵發(fā)生。匹配的方式為一次性匹配所有規(guī)則(單個關鍵字匹配)。

現(xiàn)有的規(guī)則匹配方式是一次性匹配所有規(guī)則(單個關鍵字匹配),無法實現(xiàn)關鍵字對(多個關鍵字)匹配,有待改進。



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

本發(fā)明的目的,在于提供一種實現(xiàn)關鍵字對匹配的系統(tǒng)及方法,其可實現(xiàn)多個關鍵字匹配。

為了達成上述目的,本發(fā)明的解決方案是:

一種實現(xiàn)關鍵字對匹配的系統(tǒng),包括:

數(shù)據(jù)采集模塊,用于從web服務器獲取關鍵字對規(guī)則;以及,

數(shù)據(jù)分析模塊,用于將數(shù)據(jù)包與規(guī)則進行匹配,返回結果集,根據(jù)結果集分析是否匹配觸發(fā)。

一種實現(xiàn)關鍵字對匹配的方法,包括如下步驟:

步驟1,web服務器獲取定義好的關鍵字對形式的規(guī)則,并存入數(shù)據(jù)庫中;

步驟2,將步驟1中關鍵字對形式的規(guī)則拆分為單個關鍵字與間距,其中,間距表示兩個關鍵字間的字符數(shù);

步驟3,將數(shù)據(jù)包內(nèi)容逐詞與單個關鍵字進行匹配,根據(jù)高位運算判斷數(shù)據(jù)包內(nèi)容是否為漢字,得到匹配到的關鍵字末端在文本中所處的字符數(shù)byteNum,以及關鍵字在文本中所在的位置index,將結果保存到結果集;

步驟4,根據(jù)最近一次匹配到的關鍵字的位置byteNum1,以及遍歷中匹配到的關鍵字的位置byteNum2,得到distance=byteNum1-byteNum2+byteNum,判斷distance是否在定義的規(guī)則的間距范圍內(nèi),若是則表示匹配觸發(fā),上報結果,否則返回步驟3。

上述步驟3中,在逐詞匹配過程中,判斷最近一次匹配得到的關鍵字是否屬于子規(guī)則集合中,若是則遍歷之前匹配到的關鍵字組,判斷子規(guī)則集合中的另外一個關鍵字是否存在于遍歷得到的關鍵字組中,轉步驟4,否則返回步驟3。

上述步驟3中,高位運算的具體過程是:

(1)字符數(shù)byteNum自增1;

(2)判斷是否高位,如果不是高位則返回步驟(1);如果是高位,設置num值自增1,進一步判斷下一位是否為高位,如果下一位不是高位,num值置0,如果下一位是高位,判斷是否連續(xù)三個為高位,是的話為漢字,byteNum值不變,否則byteNum-1處理,表示還在判斷是否為漢字;

(3)返回步驟(1),繼續(xù)判斷。

采用上述方案后,本發(fā)明具有如下特點:

(1)解決多個關鍵字搜索匹配問題;

(2)解決在指定間距范圍內(nèi)關鍵字對的匹配;

(3)提出了符合數(shù)字/英文字母/中文/常見符號等字符為一個間距單位的算法補充;

(4)單個關鍵字(子規(guī)則)在文本中出現(xiàn)的位置前后不影響匹配結果。

附圖說明

圖1是本發(fā)明的流程圖;

圖2是本發(fā)明中高位運算的流程圖。

具體實施方式

以下將結合附圖,對本發(fā)明的技術方案及有益效果進行詳細說明。

本發(fā)明提供一種實現(xiàn)關鍵字對匹配的系統(tǒng),包括:

數(shù)據(jù)采集模塊,用于從web服務器獲取關鍵字對規(guī)則;

數(shù)據(jù)分析模塊,用于將數(shù)據(jù)包(文本)與規(guī)則進行匹配,返回結果集,根據(jù)結果集分析是否入侵(關鍵字匹配觸發(fā))。

如圖1所示,本發(fā)明提供一種實現(xiàn)關鍵字對匹配的方法,包括如下步驟:

步驟1,web服務器獲取定義好的關鍵字對形式的規(guī)則,并存入數(shù)據(jù)庫中,其中,所述規(guī)則是策略中已經(jīng)配置好的;

步驟2,將步驟1中關鍵字對形式的規(guī)則拆分為單個關鍵字(子規(guī)則)與間距,例如將”關鍵字1-關鍵字2-間距”拆分為”關鍵字1”,”關鍵字2”,”間距”,其中,間距表示兩個關鍵字間的字符數(shù);

步驟3,將數(shù)據(jù)包(文本)內(nèi)容逐詞與單個關鍵字(子規(guī)則)進行匹配,根據(jù)高位運算判斷數(shù)據(jù)包(文本)內(nèi)容是否為漢字,得到匹配到的關鍵字末端在文本中所處的字符數(shù)(byteNum),以及關鍵字在文本中所在的位置(index),將結果保存到結果集;

步驟4,在逐詞匹配過程中,判斷最近一次匹配得到的關鍵字是否屬于子規(guī)則集合中,若是則遍歷之前匹配到的關鍵字組,判斷子規(guī)則集合中的另外一個關鍵字是否存在于遍歷得到的關鍵字組中,轉步驟5,否則返回步驟3繼續(xù)匹配;

步驟5,引入間距處理:根據(jù)最近一次匹配到的關鍵字的位置(byteNum1),以及遍歷中匹配到的關鍵字的位置(byteNum2),得到distance=byteNum1-byteNum2+byteNum,判斷distance是否在定義的規(guī)則的間距范圍內(nèi),其中byteNum為文本中后匹配到的關鍵字本身長度(長度計算方法也是根據(jù)高位運算判斷是否為漢字,從而進行累計計數(shù)),若是則表示匹配觸發(fā),上報結果,否則返回步驟3。

配合圖2所示,是本發(fā)明中高位運算的流程圖,包括如下步驟:

(1)字符數(shù)byteNum自增1。

(2)判斷是否高位,如果不是高位則返回步驟(1);如果是高位,設置num值自增1(在后面判斷是否連續(xù)3個為高位),進一步判斷下一位是否為高位。如果下一位不是高位,num值置0,如果下一位是高位,判斷是否連續(xù)三個為高位,是的話為漢字,byteNum值不變,否則byteNum-1處理,表示還在判斷是否為漢字。

(3)返回步驟(1),繼續(xù)判斷。

綜合上述,本發(fā)明一種實現(xiàn)關鍵字對匹配的系統(tǒng)及方法,與現(xiàn)有方案相比有如下改進:

(1)現(xiàn)有方案只能匹配單個關鍵字,需要對這樣的數(shù)據(jù)判斷是否存在于關鍵字對的子規(guī)則(單個關鍵字)集里,同時判斷其他子規(guī)則存在于遍歷得到的歷史匹配關鍵字組中,本發(fā)明獲取到web的關鍵字對(如“key1-key2-distance”),在現(xiàn)有的基礎上匹配到多個關鍵字;

(2)現(xiàn)有方案沒有關鍵字間距的概念,本發(fā)明引入匹配到的關鍵字末端在數(shù)據(jù)包(文本)所處字符數(shù),根據(jù)高位運算判斷是否為漢字,彌補現(xiàn)有方案中無法智能識別漢字間距計數(shù)為1的不足。引入間距概念,實現(xiàn)在指定間距范圍內(nèi)是否存在匹配到多個關鍵字的判斷。

以上實施例僅為說明本發(fā)明的技術思想,不能以此限定本發(fā)明的保護范圍,凡是按照本發(fā)明提出的技術思想,在技術方案基礎上所做的任何改動,均落入本發(fā)明保護范圍之內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1