專利名稱:一種可定制的ids通訊方法和系統的制作方法
技術領域:
本發明涉及作為網絡安全的重要產品之一的入侵監測系統(IDSIntrusion Detection System)的一種可定制的IDS通訊方法和系統,屬于計算機網絡技術領域。
背景技術:
在分布式入侵檢測系統中,數據是是分層處理的,這需要多次數據傳輸。但每個數據處理單元的功能不同,或者可以根據用戶的操作而變化,因此所需要的數據也不相同。以往由于IDS功能弱,生成事件少,采用全部傳輸的方式,由數據處理端完成數據的分類處理。但目前多功能IDS所生成的數據量巨大,不可能,也無必要全部傳輸,因此,需要可定制的IDS通訊系統。
當選擇的過濾條件比較復雜時,如果沒有一種良好的表示方式,那么實現通訊和處理將比較困難。
發明內容
本發明目的是提供一種可定制的IDS通訊方法和系統。一種可定制的IDS通訊方法,包含如下的步驟①封裝命令串數據請求端根據需求,生成一個數據請求命令串。
②發送命令串數據請求端通過TCP連接,向數據生成端發送該命令串。
③接收命令串數據生成端接收命令串,并進行解析,生成內部使用的過濾處理規則。
④循環數據發送數據生成端把接收到的數據,按照過濾處理規則,對數據進行各類處理緩存、運算、排序、過濾等,符合條件的數據,進行重組成新的事件,發送出去,其他事件丟棄,或者轉存。
一種可定制的IDS通訊系統,該系統包括1)根據用戶要求(可以是界面輸入,或者系統固定),選擇要求查詢的數據,即查詢條件,并將此查詢條件封裝成命令串,發送給數據生成單元的數據請求模塊;2)接收上述命令串,并進行解析處理,便于后續處理的命令處理模塊;3)按照解析的命令,把接收到的數據,進行過濾等處理,并重新組合成新的數據,發送給數據請求端的事件處理模塊;4)數據請求端接收事件數據的數據接收模塊。
本發明具有如下優點1.減少模塊間的通訊量;2.提高了整個系統的處理速度;3.提高了系統的靈活性;4.命令串為可讀的字符串,便于閱讀與調試。
5.命令串按照節組成,便于擴充。
圖1是本發明通訊系統的組成框架圖。
圖2是本發明的軟件實現流程。
圖3是本發明通訊系統的系統工作環境。
具體實施例方式實施例1;一種可定制的IDS通訊方法,包括如下步驟1)客戶端按照用戶要求,根據通訊格式封裝數據請求命令串;
2)客戶端通過TCP發送命令串;3)服務端接收命令串并解析;4)服務端對接收到的入侵檢測數據進行處理,按照命令串的要求,進行過濾、重組數據;5)服務端發送過濾、重組后的事件數據;6)客戶端接收事件數據。
它提供一種“數據請求命令串”的表示方式,來實現入侵檢測系統中數據的可定制通訊。
數據請求命令串格式定義如下{tasktype1;type2}{filter1XXX}{filter2XXX,XXX-XXX}…其中1.各節采用{}進行分隔;2.第一節task為任務節,表示查詢任務等;3.{filter1XXX}、{filter2XXX,…等為過濾條件節,表示查詢使用的過濾條件,過濾條件之間的邏輯關系為“與”;4.命令串中有且只有一個任務節。可以有多個過濾條件節;5.每個過濾表達式的分號“;”,表明2個數據間為或關系;6.每個過濾表達式中的減號“-”,表明2個數據為范圍數值。
如果“-”號缺少左邊的數值,默認為0;如果“-”號缺少右邊的數值,默認為無窮大。
Task的關鍵字的范圍如下
過濾條件的關鍵字的范圍如下
實施例2;系統工作環境本系統工作在百兆或千兆網絡的以太網絡環境中,數據請求端與數據發送端在不同的機器上實現,它們之間采用TCP進行通訊。
如圖1所示,本系統主要包括數據請求端與數據發送端兩部分。
數據請求端生成命令串,并與數據發送端進行TCP連接,數據請求端為CLIENT端,數據發送端為SERVER端。
連接建立后,數據請求端調用TCP的發送函數,將命令串發出,數據發送端接收此命令串,即完成命令傳輸。
數據發送端解析命令串,并處理接收到的數據,把符合要求的數據,經過整理后發送給數據請求端,即完成數據的傳輸。
此方法的核心部分是命令串的格式,以下對命令串的格式進行舉例說明。
●示例1{tasksign}{id0x80223301}{Sign_security攻擊}{time2006/8/6-2006/8/7}含義查詢在2006-8-6到2006-8-7這段時間內,事件id號為0x80223301,所發生的攻擊類的信息。
●示例2{tasksignst}{time2006/8/1-}{Sign_security蠕蟲}{topn50}含義查詢自2006/8/1以來,排名前50的所有蠕蟲類的信息。
●示例3{tasksign}{Sign_security賬號}{srcip192.168.1.1;192.168.1.2;192.168.1.3}含義查詢192.168.1.1;192.168.1.2;192.168.1.3這三臺機器的賬號信息。
●示例4{taskflow}{idtcp_port}{topn30}含義查詢流量事件中,TCP端口流量事件中流量最大的前30個端口的信息。
如圖2表示,可定制的入侵檢測通訊系統的軟件實現流程,數據請求端與數據發送端采用TCP SOCKET進行通訊。數據請求端為CLIENT端,數據發送端為SERVER端。它們之間的軟件實現流程如下1.數據發送端實現服務偵聽,等待TCP連接,即等待數據請求端的連接。
2.數據請求端根據系統的需求或用戶命令,生成請求命令串。
3.數據請求端與數據發送端建立TCP連接,如果連接失敗,則進行重試,如果多次重試(默認為10次)均失敗,則此軟件流程終止。如果成功,執行下一步操作。
4.連接成功后,數據發送端建立新線程,用于處理與數據請求端的數據通訊。數據請求端將“第2步”生成的命令串,發送到數據發送端。
5.數據請求端發送命令串后,進入循環接收數據的狀態,并將接收到的數據輸出給其它模塊,用于顯示,存儲等功能。當接收到數據終止符命令,或需要停止接收數據時,則退出循環接收數據狀態。
6.與5步同時進行,數據發送端對接收到的命令串,進行解析等處理,生成符合條件的數據,并將此數據發送到數據請求端,當數據量較大時,需要分為多個數據包進行發送,即循環發送。
7.當數據請求端接收到數據終止符命令,或者因為用戶干預,需要停止接收數據時,則退出循環接收數據狀態,并發出SOCKET關閉命令。
8.數據發送端關閉TCP連接。即完成整個數據通訊流程。如圖3表示,定制的入侵檢測通訊系統的系統工作環境;IDS事件生成系統,用于網絡報警事件的發現、生成,并將檢測到的IDS事件數據進行本地存儲。
通訊服務端根據通訊客戶端系統的要求,對所有的IDS事件數據進行過濾、分析,將符合客戶端系統要求的數據,返回給客戶端。
通訊客戶端系統主要包括“生成查詢命令”和“事件數據接收”兩部分。
“生成查詢命令”用于處理用戶交互命令,并將交互命令翻譯成“命令串”,然后使用此命令串與通訊服務器端通訊。
“事件數據接收”用于接收來自通訊服務器端的數據,并將接收到的數據輸出給其它模塊,用于顯示,存儲等功能。
權利要求
1.一種可定制的IDS通訊方法,其特征在于包括如下步驟①封裝命令串數據請求端根據需求,生成一個數據請求命令串;②發送命令串數據請求端通過TCP連接,向數據生成端發送該命令串;③接收命令串數據生成端接收命令串,并進行解析,生成內部使用的過濾處理規則;④循環數據發送數據生成端把接收到的數據,按照過濾處理規則,對數據進行各類處理緩存、運算、排序、過濾等,符合條件的數據,進行重組成新的事件,發送出去,其他事件丟棄,或者轉存。
2.根據權利要求1所述的一種可定制的IDS通訊方法,其特征在于,數據請求命令串為字符串,且由若干個“節”組成,每節包含一個數據要求,多個數據要求以“與”的關系,組成一個完整的數據查詢要求。
3.根據權利要求1或2所述的一種可定制的IDS通訊方法,其特征在于,數據請求命令串,節由鍵名,鍵值組成,鍵名與鍵值之間采用冒號分隔,鍵名為數據查詢的類別,鍵值為數據查詢要求的數值。
4.根據權利要求3所述的一種可定制的IDS通訊方法,其特征在于,數據請求命令串,當節中的鍵值有多個時,可以采用分號、減號連接,分號“;”表示數據間為“或”關系;減號“-”表示數據為“范圍數值”,此時前一個數據或后一個數據可以省略,但只能省略一個,省略的數據含義為“最小”,或者“最大”。
5.根據權利要求3所述的一種可定制的IDS通訊方法,其特征在于,數據請求命令串,以下字符為特殊字符,不能作為鍵名,也不能作為鍵值■大括號(包括左大括號與右大括號)。“{”與“}”。■冒號“”■分號“;“■減號“-”。
6.一種可定制的IDS通訊系統,其特征在于,該系統包括1)根據用戶要求(可以是界面輸入,或者系統固定),選擇要求查詢的數據,即查詢條件,并將此查詢條件封裝成命令串,發送給數據生成單元的數據請求模塊;2)接收上述命令串,并進行解析處理,便于后續處理的命令處理模塊;3)按照解析的命令,把接收到的數據,進行過濾等處理,并重新組合成新的數據,發送給數據請求端的事件處理模塊;4)數據請求端接收事件數據的數據接收模塊。
7.根據權利要求6所述的一種可定制的IDS通訊系統,其特征在于,可定制的IDS通訊系統中的命令處理模塊,把數據請求命令串,進行解析,并生成對應事件的過濾數據,保存在內部數據結構中。
8.根據權利要求6所述的一種可定制的IDS通訊系統,其特征在于,可定制的IDS通訊系統中的數據請求模塊,把用戶要求,按照數據請求命令格式,生成相應的命令字符串。
9.根據權利要求6所述的一種可定制的IDS通訊系統,其特征在于,可定制的IDS通訊系統中的事件處理模塊,按照事件過濾規則,對接收到的事件數據,進行過濾判斷,符合過濾條件的事件,發送給數據請求方;否則忽略該事件。
全文摘要
本發明涉及一種可定制的IDS通訊方法和系統,該方法包括如下步驟1客戶端按照用戶要求,根據通訊格式封裝數據請求命令串;2客戶端通過TCP發送命令串;3服務端接收命令串并解析;4服務端對接收到的入侵檢測數據進行處理,按照命令串的要求,進行過濾、重組數據;5服務端發送過濾、重組后的事件數據;6客戶端接收該數據。該方法通過可定制的命令串,實現對入侵檢測數據的選擇性讀取,減少數據通訊量,提高系統的靈活性、實時性、可擴充性。
文檔編號H04L29/02GK1972288SQ20061011336
公開日2007年5月30日 申請日期2006年9月25日 優先權日2006年9月25日
發明者肖成民, 張文貴, 張智勇, 許金鵬 申請人:北京啟明星辰信息技術有限公司