專利名稱:可檢測出異常網絡封包的方法
技術領域:
本發明涉及網絡安全技術,特別涉及一種可檢測出異常網絡封包的方法。
技術背景一個電子產業蓬勃發展的信息時代正與我們的生活逐漸融合,各種網絡 技術所衍生的電子產品著實為人類的科技發展帶來了莫大的突破性,隨著當 今網絡產品的不斷研發與精進,相關網絡安全的話題及考慮便顯得更加的重 要,尤其是當今網際網絡及各大企業及組織的服務器入口往往受到黑客(Hacker)釋放病毒(Virus )、網絡蠕蟲(Worm)或間諜軟件(Spyware如 特洛伊病毒Troy)欲竊取內部信息或加以破壞的行為屢見不窮,使得各大防 毒軟件企業于網絡安全市場上的竟爭也越來越激烈。目前各大防毒軟件企業針對一般黑客所發出的間諜軟件(Spyware ),都 有推出對應間諜軟件的病毒碼的檢測軟件,這些檢測軟件可將已發現的間諜 軟件予以檢測并對使用者發出警告,并予以解除,通常所述間諜軟件于服務 器內開始發作,經網管人員通報至各大防毒軟件企業后,依此種間諜軟件的 病毒碼再對癥下藥而完成的檢測軟件,然而,面對新一代完全新品種的間諜 軟件,必須要等到防毒軟件企業找到所述間諜軟件的相關信息再寫成病毒碼 時,數據已被竊取一段很長的時間,所造成的傷害往往無法彌補,因此,未 來各大企業及組織的服務器面對新一代的間諜軟件只能消極的等待植入的間 諜軟件發作,且被網管人員發現后,才能對所述間諜軟件采取對應手段,對 企業造成相當大的不便及困擾,因此,如何設計出一種可檢測出異常網絡封 包的方法,實乃目前刻不容緩而亟待解決的一重要課題。發明內容因此,本發明的主要目的在于提供一種可檢測出異常網絡封包的方法, 應用可對外部網絡的多個網絡裝置分別進行多個網絡封包的交換工作的一封 包分配單元,該封包分配單元分別至少記錄多個時段內特定輸出網絡封包的 一目的位置、目的端口號碼及輸出時間,再找出相同輸出時間且被重復輸出 至相同目的位置及目的端口號碼的網絡裝置的所述多個網絡封包,則所述封 包分配單元即發出一警告報告。一種可檢測出異常網絡封包的方法,應用在網絡上的—十包分配單元,該封包分酉傳元可與一夕h^網絡上的多個網絡裝置交換多個網絡封包,所述多個網,包內包含一目的位置、 一目的端口號碼、 一來源位置及一來源端口號碼;所述方法包 含下列步驟分別記錄至少兩個時段內特定的輸出網絡封包的所述目的位置、目的端 口號碼及一輸出時間;比對不同時段內是否具有相同輸出時間、相同目的位置及相同目的端口 號碼的數據;及若是,則所述封包分配單元即發出一警告報告。其中每一時段內的所述多個特定的輸出網絡封包的所述目的位置、目的 端口號碼及輸出時間,記錄至一輸出封包數據模塊內。 還包含下列步驟定義具有相同的目的位置、目的端口號碼及輸出時間的所述多個特定的 網絡封包為異常網絡封包;將所述多個異常網絡封包記錄至一異常警示模塊內;使所述異常警示模塊表示一畫面并顯示至一顯示器上。其中,所述不同時段的數據以取交集的方式進行比對。對比方法包括該封包分配單元還包括有一過濾表,該過濾表內的數據 用以供所述封包分配單元判斷不需記錄的正常網絡封包的依據,所述特定的輸出網絡封包,不符合所述過濾表的數據;或是,所述輸出網絡封包包含一 網絡封包序號(TCP Sequence Number),所述特定的輸出網絡封包,為任何 第一個具有相同所述網絡封包序號的輸出網絡封包。還有對所述至少兩個時段的所述多個特定的輸出網絡封包,還記錄所述 來源位置及來源端口號碼,本方法更進一步包含下列步驟將所述多個異常網絡封包的來源位置、來源端口號碼記錄至所述異常警 示才莫塊內;依據所述異常警示模塊內所述來源位置及來源端口號碼,找出發出所述 網絡封包的一應用程序;及將所述應用程序的 一存在位置輸入至所述異常警示模塊中。綜上所述,本發明開發設計出一種可檢測出異常網絡封包的方法,通過 提早防堵所述多種間諜軟件的動作,預防所帶來的傷害。并且,本發明的可 檢測出異常網絡封包的方法,還具有主動檢測、縮短發現問題的時間、方法 方便靈活等優點。
圖1為本發明的方塊示意圖;圖2為本發明輸出封包數據模塊的示意圖;圖3為本發明封包分配單元比對輸出網絡封包的流程圖;圖4為本發明封包分配單元利用暫存表比對輸出網絡封包的流程圖;圖5為本發明封包分配單元比對輸出網絡封包序號的流程圖;圖6為本發明過濾表的示意圖;圖7為本發明封包分配單元過濾表比對輸出網絡封包的流程圖; 圖8為本發明異常警示模塊的示意圖。 主要組件符號說明1封包分配單元10存儲器11驅動模塊12輸出封包數據模塊121序號字段122、 132、 152來源位置字段123、 133、 153來源端口號碼字段124、 134、 154目的位置字革炎125、 135、 155目的端口號碼字段126、 136輸出時間字段13異常警示模塊137應用程序字段14暫存表15過濾表30顯示器40輸入接口200外部網絡300網絡裝置具體實施方式
以下結合附圖對本發明進行詳細說明。圖l所示,應用在網絡上的一封包分配單元l,封包分配單元l (如服務器,server或網絡卡,Network Card )可接受多個網絡封包,并使其與一外 部網絡200 (如網際網絡)上的多個網絡裝置300 (如服務器,server) 分別進行交換工作,同時封包分配單元1在分配此多個網絡封包至這些網絡 裝置300時,分別逐一對各網絡封包進行解封裝(Decapsulation)以取得這 些網絡封包內的一前置數據(Header)的一序號(TCP Sequence Number), 一來源位置(Source IP Address )、 一來源端口號碼(Source Port Number)、 一目的位置(Destination IP Address)及一 目的端口號碼(Destination Port Number),并且分別記錄至少兩個時^殳內特定的輸出網絡封包的目的位置、目 的端口號碼及網絡封包的一輸出時間(Post Time),封包分配單元1同時比對不同時段內的網絡封包是否具有相同輸出時間、相同目的位置及相同目的 端口號碼的數據,若有,則封包分配單元1發出一警告報告,以警告異常網 絡封包的發生。本發明的一較佳實施例中,請參見圖1、 2所示,封包分配單元l包括有 一驅動模塊ll,驅動模塊11可為一驅動程序(Driver),設于封包分配單元 1內,且封包分配單元1于內或外接設有一存儲器10,存儲器10內可設有一 輸出封包數據模塊12及一異常警示模塊13,輸出封包數據模塊12用以記錄 所輸出的網絡封包的數據,例如一序號(TCP Sequence Number)字段121、 一來源位置(Source IP)字段122、 一來源端口號碼(Source Port Number) 字段123、 一目的位置(Destination IP)字段124、 一目的端口號碼 (Destination Port Number )字段125及一輸出時間(Post Time)字段126。 請參見圖3所示,封包分配單元l于所述多個時段內進行以下步驟(201)在第一時段內,若發生輸出網絡封包的事件,則封包分配單元1 將這些特定的輸出網絡封包的序號、來源位置、來源端口號碼、目的位置、 目的端口號碼及輸出時間記錄至輸出封包數據模塊12內;(202 )在第二時段內,若發生輸出網絡封包的事件,則封包分配單元1 將這些特定的輸出網絡封包的序號、來源位置、來源端口號碼、目的位置、 目的端口號碼及輸出時間至所述輸出封包數據模塊12內;(203 )以布爾邏輯(Boolean Logic)的模式中的交集(AND)的方式比對 第一時段與第二時段內輸出的網絡封包的目的位置、目的端口號碼及輸出時 間,判斷這些網絡封包是否具有相同的目的位置、目的端口號碼及輸出時間,
若是,則進行步驟(204 ),否則,結束本流程。(204 )將具有相同目的位置、目的端口號碼及輸出時間的各網絡封包定義為一異常網絡封包并記錄至一異常警示模塊13內;(205 )使異常警示模塊13表示一畫面并顯示至一顯示器30上。 由于輸出的網絡封包因巧合或種種原因,于兩時段內于相同時間輸出網 絡封包至相同的網絡裝置300時常發生,為避免巧合,或提高準確性,因此,本發明的方法可以對三個時段或更多時段內所記錄的輸出網絡封包的數據來 進行比對,其比對方法是將不同時段所記錄的數椐取交集來比對。本方法的另一實施方式,是比對三個時段所記錄的輸出網絡封包數據, 請參見圖4所示,封包分配單元1進行以下步驟(301)將第一時段內與第二時段內輸出網絡封包的封包的序號、來源位 置、來源端口號碼、目的位置、目的端口號碼及輸出時間等記錄進行比對, 并將交集后的結果(包含此多個網絡封包的目的位置、目的端口號碼及輸出時 間)記錄至存儲器10內的一暫存表14內;(302 )在第三時段內,若發生輸出網絡封包的亊件,則封包分配單元1 將輸出網絡封包的目的位置、目的端口號碼及輸出時間至輸出封包數據棋塊 12內;(303 )將暫存表14的數據與第三時段所記錄所述多個網絡封包的目的 位置、目的端口號碼及輸出時間進行比對,判斷是否有相同目的位置、目的 端口號碼及輸出時間的網絡封包,若是,則進行步驟(304 ),否則,結束本 流程。(304 )將具有相同目的位置、目的端口號碼及輸出時間的網絡封包定義 為異常網絡封包并記錄至異常警示模塊13內;(305 )使異常警示模塊表示一畫面并顯示至顯示器30上。 請參見圖1所示,由于欲傳送至各網絡裝置300的單一數據會切割成多 數個的網絡封包,且單一數據所切割成的網絡封包均具有相同的序號(TCPSequence Number),若為找出異常程序所發出的異常數據,而將所有具有相 同序號的所述多個網絡封包予以記錄于輸出封包數據模塊12內,將造成所述 封包分配單元1大量的資源浪費,為不需將所有屬于相同前置數據的所述多 個網絡封包均記錄于輸出封包數據模塊12,以防止浪費大量資源用以記錄相 同序號的重復,所述封包分配單元1依據各所述網絡封包的序號是否一致, 來判斷是否為同一數據的封包,上述特定的輸出網絡封包,可被定義為任何 第一個具有相同網絡封包序號的輸出網絡封包。請參見圖5所示,因此當所述封包分配單元1于各時段內記錄所述多個網絡封包的目的位置、目的端口 號碼及輸出時間前,所述封包分配單元1依以下步驟進行處理 (401)讀取對外輸出網絡封包的前置數據內的序號; (402 )讀取對外輸出另一網絡封包的前置數據內的序號; (403 )判斷所述多個網絡封包的序號是否相同,若是,則進行步驟(404 ), 否則,進行步驟(405 );(404)不記錄所述網絡封包的目的位置、目的端口號碼及輸出時間至輸 出封包數據模塊12內。(405 )記錄所述網絡封包的目的位置、目的端口號碼及輸出時間至輸出 封包數據模塊12內。上述的實施例中,請參見圖1、 6所示,為加速所述封包分配單元l本身 記錄各所述網絡封包數據的效率,所述存儲器10內還包括有一過濾表15,該 過濾表15內的數據用以供所述封包分配單元1判斷(如來源處位置或目地 處位置)不需記錄的正常網絡封包的依據,所述的特定的輸出網絡封包,可 被定義為任何不符合所述過濾表15內所記錄的數據,過濾表15包括一來源 位置(Source IP)字段152、 一來源端口號碼(Source Port Number)字段153、 一目的位置(Destination IP)字段154及一 目的端口號碼(Destination Port Number )字段155,過濾表15也可于顯示器30提供一輸入接口 40,以供使 用者隨時更改正常傳輸動作的網絡封包的數據,如此,請參見圖7所示,當 所述封包分配單元1對外輸出一網絡封包,依以下步驟進行處理(601)取得網絡封包的來源位置、來源端口號碼、目的位置及目的端口號碼;(602 )判斷欲輸出網絡封包的目的位置及目的端口號碼是否與過濾表15 內的數據相符,若是,則進行步驟(603 ),否則,進行步驟(604 );(603 )不使網絡封包的目的位置及目的端口號碼記錄至輸出封包數據模 塊12內。(604 )使網絡封包的數據記錄至輸出封包數據模塊12內。 請參見圖1、 8所示,異常警示模塊13可為存儲器10內的一異常警示表, 包括一來源位置字段132、 一來源端口號碼字段133、 一目的位置字段134、 一目的端口號碼字段135、 一輸出時間字段136及一應用程序(Program)字 段137,當封包分配單元l將各所述異常網絡封包的目的位置、目的端口號碼 及輸出時間記錄至異常警示模塊13時,對至少兩個時段的這些特定的輸出網 絡封包,還記錄來源位置及來源端口號碼,而封包分配單元1依據異常警示 模塊13內來源位置字段132及來源端口號碼字段133的目的位置及目的端口 號碼,找出發出網絡封包的一應用程序,將應用程序的一存在位置(File Path) 輸入至異常警示模塊的應用程序字段137中。以上具體實施方式
僅用于說明本發明,而非用于限定本發明。
權利要求
1.一種可檢測出異常網絡封包的方法,其特征在于,應用在網絡上的一封包分配單元,該封包分配單元可與一外部網絡上的多個網絡裝置交換多個網絡封包,所述多個網絡封包內包含一目的位置、一目的端口號碼、一來源位置及一來源端口號碼;所述方法包含下列步驟分別記錄至少兩個時段內特定的輸出網絡封包的所述目的位置、目的端口號碼及一輸出時間;比對不同時段內是否具有相同輸出時間、相同目的位置及相同目的端口號碼的數據;及若是,則所述封包分配單元即發出一警告報告。
2. 根據權利要求l所述方法,其特征在于,其中每一時段內的所述多個 特定的輸出網絡封包的所述目的位置、目的端口號碼及所述輸出時間,紀錄 至一輸出封包數據模塊內。
3. 根據權利要求2所述方法,其特征在于,進一步包含下列步驟定義具有相同的目的位置、目的端口號碼及輸出時間的所述多個特定的 網絡封包為異常網絡封包;將所述多個異常網絡封包記錄至一異常警示模塊內;及 使所述異常警示模塊表示一畫面并顯示至一顯示器上。
4. 根據權利要求2所述方法,其特征在于,其中所述不同時段的數據以 取交集的方式進行比對。
5. 根據權利要求4所述方法,其特征在于,其中所述封包分配單元還包 括有一過濾表,該過濾表內的數據用以提供所述封包分配單元判斷不需記錄 的正常網絡封包的依據,所述特定的輸出網絡封包,不符合所述過濾表的數 據。
6. 根據權利要求4所述方法,其特征在于,其中所述輸出網絡封包包含 一網絡封包序號,所述特定的輸出網絡封包,為任何第一個具有相同所述網 絡封包序號的輸出網絡封包。
7. 根據權利要求5所述方法,其特征在于,其中對所述至少兩個時段的 所述多個特定的輸出網絡封包,還記錄所述來源位置及來源端口號碼,本方 法更進一步包含下列步驟將所述多個異常網絡封包的來源位置、來源端口號碼記錄至所述異常警 示才莫塊內;依據所述異常警示模塊內所述來源位置及來源端口號碼,找出發出所述 網絡封包的一應用程序;及將該應用程序的 一存在位置輸入至所述異常警示模塊中。
8. 根據權利要求6所述方法,其特征在于,其中對所述至少兩個時段的 所迷多個特定的輸出網絡封包,還記錄所述來源位置及來源端口號碼,本方 法更進一步包含下列步驟將所述多個異常網絡封包的來源位置、來源端口號碼記錄至所述異常警 示才莫塊內;依據所述異常警示模塊內所述來源位置及來源端口號碼,找出發出所述 網絡封包的一應用程序;及將該應用程序的一存在位置輸入至所述異常警示模塊中。
全文摘要
本發明提供一種可檢測出異常網絡封包的方法,應用在一網絡上的封包分配單元,封包分配單元可對一外部網絡上的多個網絡裝置分別進行多個網絡封包的交換工作,同時封包分配單元分別記錄至少兩個時段內特定的輸出網絡封包的目的位置、目的端口號碼及網絡封包的一輸出時間,封包分配單元同時比對不同時段內的網絡封包是否具有相同輸出時間、相同目的位置及相同目的端口號碼的數據,若有,則封包分配單元發出一警告報告。
文檔編號H04L12/26GK101155082SQ20061014188
公開日2008年4月2日 申請日期2006年9月30日 優先權日2006年9月30日
發明者邱世華 申請人:英業達股份有限公司