業務規則庫升級方法及裝置制造方法
【專利摘要】本發明公開了一種業務規則庫升級方法及裝置,屬于計算機領域,所述方法包括:確定待升級業務;生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級。本發明實施例通過確定待升級業務,生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級,從而能夠縮短業務規則庫的升級時間。
【專利說明】業務規則庫升級方法及裝置
【技術領域】
[0001]本發明涉及計算機領域,尤其涉及一種業務規則庫升級方法及裝置。
【背景技術】
[0002]防火墻基于一體化報文檢測引擎,該引擎的多模匹配狀態機是一個整體,其包含多種業務的狀態機,如果升級其中一種業務狀態機中的業務規則庫,則其他業務需一起進行升級流程。
[0003]可見,這種方法如果對某一業務的規則庫進行升級,其他所有業務都一起進行升級流程,將增加升級的時間。
【發明內容】
[0004]本發明實施例提供一種業務規則庫升級方法及裝置,能夠縮短業務規則庫的升級時間。
[0005]本發明實施例采用如下技術方案:
[0006]一種業務規則庫升級方法,包括:
[0007]確定待升級業務;
[0008]生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級。
[0009]可選的,所述確定待升級業務包括:
[0010]接收用戶發出的升級指令,根據所述升級指令確定所述待升級業務。
[0011]可選的,所述生成所述待升級業務的多模匹配狀態機包括:
[0012]獲取所述待升級業務的業務規則庫文件,并將所述業務規則庫文件加載到內存,所述業務規則庫文件包含多條業務規則;
[0013]按每條業務規則的解析流程,逐條解析所述業務規則庫中的每條業務規則,得到每條業務規則的特征和SID信息;
[0014]在鏈表中存儲每條業務規則的特征和SID信息;
[0015]對所述鏈表中存儲的每條業務規則的特征和SID信息進行模式編譯,得到所述待升級業務的多模匹配狀態機。
[0016]可選的,所述待升級業務的多模匹配狀態機為非確定性有限自動機NFA,所述其他業務的多模匹配狀態機為NFA。
[0017]可選的,還包括:
[0018]將升級后的業務規則庫中的NFA轉化為確定性有限自動機DFA。
[0019]一種業務規則庫升級裝置,包括:
[0020]確定模塊,用于確定待升級業務;
[0021]升級模塊,用于生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級。
[0022]可選的,所述確定模塊具體用于,接收用戶發出的升級指令,根據所述升級指令確定所述待升級業務。
[0023]可選的,所述升級模塊具體用于,獲取所述待升級業務的業務規則庫文件,并將所述業務規則庫文件加載到內存,所述業務規則庫文件包含多條業務規則;按每條業務規則的解析流程,逐條解析所述業務規則庫中的每條業務規則,得到每條業務規則的特征和SID信息;在鏈表中存儲每條業務規則的特征和SID信息;對所述鏈表中存儲的每條業務規則的特征和SID信息進行模式編譯,得到所述待升級業務的多模匹配狀態機。
[0024]可選的,所述待升級業務的多模匹配狀態機為非確定性有限自動機NFA,所述其他業務的多模匹配狀態機為NFA。
[0025]可選的,所述升級模塊還用于將升級后的業務規則庫中的NFA轉化為確定性有限自動機DFA。
[0026]基于上述技術方案,本發明實施例的業務規則庫升級方法及裝置,通過確定待升級業務,生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級。這樣,將各業務編譯出來的狀態機預先保留在系統內存中,如果一個業務規則庫變化,執行該業務的升級流程,合并其他的狀態機成為一體的多模匹配狀態機,從而能夠縮短業務規則庫的升級時間。
【專利附圖】
【附圖說明】
[0027]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0028]圖1為本發明實施例的業務規則庫升級方法的流程圖;
[0029]圖2為本發明實施例業務規則庫升級方法的流程示意圖
[0030]圖3為本發明實施例業務規則庫升級裝置的結構示意圖。
【具體實施方式】
[0031]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0032]發明實施例可以應用于下一代防火墻,所謂下一代防火墻為應用安全業務規則庫升級流程是基于一體化報文檢測引擎的,所謂一體化,就是各應用層安全業務的規則或規則庫的字符串匹配(包括純字符串和正則)統一整合到一個多模匹配狀態機中。
[0033]如圖1所示,本發明實施例提供一種業務規則庫升級方法,包括:
[0034]11、確定待升級業務;
[0035]12、生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級。
[0036]本發明實施例的業務規則庫升級方法,通過確定待升級業務,生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級。這樣,將各業務編譯出來的狀態機預先保留在系統內存中,如果一個業務規則庫變化,執行該業務的升級流程,合并其他的狀態機成為一體的多模匹配狀態機,從而能夠縮短業務規則庫的升級時間。
[0037]可選的,所述確定待升級業務包括:
[0038]接收用戶發出的升級指令,根據所述升級指令確定所述待升級業務。
[0039]具體的,如圖2所示,本發明實施例可以設置Web/Cli模塊負責接收用戶的升級請求,如通過Web請求方式和命令行方式接收用戶的升級請求。
[0040]可選的,所述生成所述待升級業務的多模匹配狀態機包括:
[0041]111、獲取所述待升級業務的業務規則庫文件,并將所述業務規則庫文件加載到內存,所述業務規則庫文件包含多條業務規則。
[0042]具體的,如圖2所示,本發明實施例可以通過加載規則庫模塊將待升級的規則庫文件加載到內存。
[0043]112、按每條業務規則的解析流程,逐條解析所述業務規則庫中的每條業務規則,得到每條業務規則的特征和SID信息。
[0044]具體的,如圖2所示,本發明實施例可以通過規則解析模塊逐條解析業務規則庫中的每條規則,該模塊的解析方式遵循各應用安全業務的規則解析流程,比如應用層業務IPS (入侵防御系統),它將解析IPS規則端口、方向、危險級別等字段到RTN(規則數節點)、OTN(選項數節點)的樹形結構中去。
[0045]113、在鏈表中存儲每條業務規則的特征和SID信息。
[0046]具體的,如圖2所示,本發明實施例可以通過模式添加模塊完成對規則中特征和SID (特征ID)的解析和模式存儲,該模塊業務逐行解析規則,特征和SID信息以鏈表節點的方式存儲下來。
[0047]114、對所述鏈表中存儲的每條業務規則的特征和SID信息進行模式編譯,得到所述待升級業務的多模匹配狀態機。
[0048]具體的,如圖2所示,本發明實施例可以通過模式編譯模塊完成待升級應用安全業務的整體模式的編譯。形成模式鏈表中的所有模式,對其進行模式編譯,形成該業務的多模匹配狀態機,通常是NFA (非確定性有限自動機)。
[0049]具體的,如圖2所示,本發明實施例可以通過合并模塊完成狀態機的合并和轉換。由于其它的應用安全業務規則庫沒有變化,所以其它業務的多模狀態機(通常是NFA)不需要重新編譯,該模塊合并各應用層安全業務的多模匹配狀態機成合并的狀態機。
[0050]可選的,還包括:
[0051]將升級后的業務規則庫中的NFA轉化為確定性有限自動機DFA。
[0052]具體的合并流程為,各業務NFA----->合并的NFA----->DFA。
[0053]本發明實施例的方法,通過確定待升級業務,生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級。這樣,將各業務編譯出來的狀態機預先保留在系統內存中,如果一個業務規則庫變化,執行該業務的升級流程,合并其他的狀態機成為一體的多模匹配狀態機,從而能夠縮短業務規則庫的升級時間。
[0054]與上述本發明實施例的業務規則庫升級方法相對應,本發明實施例還提供一種業務規則庫升級裝置,如圖3所示,該裝置包括:
[0055]確定模塊31,用于確定待升級業務;
[0056]升級模塊32,用于生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級。
[0057]可選的,所述確定模塊31具體用于,接收用戶發出的升級指令,根據所述升級指令確定所述待升級業務。
[0058]可選的,所述升級模塊32具體用于,獲取所述待升級業務的業務規則庫文件,并將所述業務規則庫文件加載到內存,所述業務規則庫文件包含多條業務規則;按每條業務規則的解析流程,逐條解析所述業務規則庫中的每條業務規則,得到每條業務規則的特征和SID信息;在鏈表中存儲每條業務規則的特征和SID信息;對所述鏈表中存儲的每條業務規則的特征和SID信息進行模式編譯,得到所述待升級業務的多模匹配狀態機。
[0059]可選的,所述待升級業務的多模匹配狀態機為非確定性有限自動機NFA,所述其他業務的多模匹配狀態機為NFA。
[0060]可選的,升級模塊32,還用于將升級后的業務規則庫中的NFA轉化為確定性有限自動機DFA。
[0061]本發明實施例的業務規則庫升級裝置能夠實現上述方法實施例,裝置中各個模塊的功能僅為簡要描述,詳細實施方式請參閱上述方法實施例,此處不贅述。
[0062]本發明實施例的裝置,通過確定待升級業務,生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級。這樣,將各業務編譯出來的狀態機預先保留在系統內存中,如果一個業務規則庫變化,執行該業務的升級流程,合并其他的狀態機成為一體的多模匹配狀態機,從而能夠縮短業務規則庫的升級時間。
[0063]本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
【權利要求】
1.一種業務規則庫升級方法,其特征在于,包括: 確定待升級業務; 生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級。
2.根據權利要求1所述的方法,其特征在于,所述確定待升級業務包括: 接收用戶發出的升級指令,根據所述升級指令確定所述待升級業務。
3.根據權利要求1所述的方法,其特征在于,所述生成所述待升級業務的多模匹配狀態機包括: 獲取所述待升級業務的業務規則庫文件,并將所述業務規則庫文件加載到內存,所述業務規則庫文件包含多條業務規則; 按每條業務規則的解析流程,逐條解析所述業務規則庫中的每條業務規則,得到每條業務規則的特征和SID信息; 在鏈表中存儲每條業務規則的特征和SID信息; 對所述鏈表中存儲的每條業務規則的特征和SID信息進行模式編譯,得到所述待升級業務的多模匹配狀態機。
4.根據權利要求3所述的方法,其特征在于,所述待升級業務的多模匹配狀態機為非確定性有限自動機NFA,所述其他業務的多模匹配狀態機為NFA。
5.根據權利要求4所述的方法,其特征在于,還包括: 將升級后的業務規則庫中的NFA轉化為確定性有限自動機DFA。
6.一種業務規則庫升級裝置,其特征在于,包括: 確定模塊,用于確定待升級業務; 升級模塊,用于生成所述待升級業務的多模匹配狀態機,將所述待升級業務的多模匹配狀態機與保留在系統內存中的其他業務的多模匹配狀態機合并,實現所述待升級業務的業務規則庫升級。
7.根據權利要求6所述的裝置,其特征在于,所述確定模塊具體用于,接收用戶發出的升級指令,根據所述升級指令確定所述待升級業務。
8.根據權利要求6所述的裝置,其特征在于,所述升級模塊具體用于,獲取所述待升級業務的業務規則庫文件,并將所述業務規則庫文件加載到內存,所述業務規則庫文件包含多條業務規則;按每條業務規則的解析流程,逐條解析所述業務規則庫中的每條業務規則,得到每條業務規則的特征和SID信息;在鏈表中存儲每條業務規則的特征和SID信息;對所述鏈表中存儲的每條業務規則的特征和SID信息進行模式編譯,得到所述待升級業務的多模匹配狀態機。
9.根據權利要求6所述的裝置,其特征在于,所述待升級業務的多模匹配狀態機為非確定性有限自動機NFA,所述其他業務的多模匹配狀態機為NFA。
10.根據權利要求9所述的裝置,其特征在于,所述升級模塊還用于將升級后的業務規則庫中的NFA轉化為確定性有限自動機DFA。
【文檔編號】G06F9/445GK104182248SQ201410369313
【公開日】2014年12月3日 申請日期:2014年7月25日 優先權日:2014年7月25日
【發明者】胡波 申請人:漢柏科技有限公司