防止組播源攻擊的方法及系統的製作方法
2023-07-22 04:28:11 1
專利名稱:防止組播源攻擊的方法及系統的製作方法
技術領域:
本發明涉及網絡通信中的防範網絡攻擊技術,尤其涉及一種防止組播源攻 擊的方法及系統。
背景技術:
隨著網際網路協議(IP)網絡的高速發展,組播技術的應用也越來越廣泛。 現有的組播網絡中,中高端網絡交換路由設備基本上都採用專用集成電路
(ASIC)硬體轉發與CPU軟體處理相結合的架構。在對組糹番報文的處理上, CPU先運行組4番協議生成組播路由表,並將組播路由表保存到底層的ASIC芯 片中,之後組播源發送的組播報文按照ASIC中保存的組播路由表進行轉發。 但是,ASIC晶片的硬體資源非常有限,不能保存大量的組播路由表表項。如果 有組播源惡意地發送組播才艮文,且CPU在處理這些組糹番才艮文時生成對應的組播 路由表表項,並將所生成的組播路由表表項均寫入組播路由表,就會導致組播 路由表被這些無效的組播路由表表項佔滿。當有新的組播源發送組播報文時, 組播路由表就無法保存新的組播路由表表項,從而會導致新的組播報文丟失。 可見,防止組播源的惡意攻擊成為網絡設備中急需解決的重要問題。 為防止組播源的惡意攻擊,現有技術主要有以下幾種解決方式
1、 採用訪問控制列表(ACL)來限制對特定組播地址發送組播報文的組播 源的地址範圍,進而控制發送組播報文的組播源。但是,網絡設備中的ACL是 靜態的,當需要更改對組播源的限制時,則需要人工參與,因而此方法不適合 組播網絡對組播源的自動實時管理。
2、 釆用組播源認證伺服器對組播源進行實時控制管理。此方法需要在組播 阿絡的接入層中增加新的網絡設備,還要求操作人員熟悉設備的控制管理,因而增加了網絡的成本以及組網的複雜度。
由以上分析可知,現有技術還未能充分、有效地利用現有網絡設備來防止 組播源對組播系統的惡意攻擊。
發明內容
有鑑於此,本發明的主要目的在於提供一種防止組播源攻擊的方法及系統, 阻止生成過多的與未知組播報文對應的組播路由表表項,進而有效預防組播源 的攻擊。
為達到上述目的,本發明的技術方案是這樣實現的
一種防止組播源攻擊的方法,其包括
專用集成電路晶片的埠接收組播源發來的組播報文;
判斷所接收的組糹番才艮文是否為未知組播報文,若所述組糹番報文為已知組播 報文,則將已知組播才艮文上送組播協議進程處理,結束當前處理流程;
若所述組4番才艮文為未知組播"R文,則記錄所述未知組^^艮文,並將接收所 述未知組播報文的埠的計數器加1;判斷所述計數器記錄的埠接收的未知 組播報文的個數是否超過預設閾值,若未超過閾值,則將當前接收的未知組播 報文上送組播協議進程處理,否則,將當前接收的未知組播報文丟棄。
其中,所述判斷組播報文是否為未知組播報文具體為將當前接收到的組 播報文的關鍵字與已記錄的組播報文的關鍵字進行匹配。
其中,所述記錄未知組播報文具體為記錄所述未知組一番報文的關鍵字。
其中,所述關鍵字包括組播報文的源地址、組播報文的目的組地址以及接 收該組播才艮文的埠。
其中,所述閾值為每個埠允許接收的未知組播報文的最大個數。
其中,所述防止組播源攻擊的方法還包括
設置定時器;
定時器時間到時,遍歷專用集成電路晶片埠的計數器; 判斷所述計數器的自動清零使能開關是否開啟,若所述計數器的自動清零使能開關開啟,則該計數器清零;若所述計數器的自動清零使能開關未開啟, 則該計數器不清零。
其中,所述定時器為l秒定時器。
一種防止組播源攻擊的系統,其包括
組播報文類型判斷模塊,用於判斷專用集成電路晶片的埠接收的組播報 文是否為未知組播報文,並將判斷結果送至組播報文記錄模塊或未知組播報文 處理模塊;
組播報文記錄模塊,用於根據組播報文類型判斷模塊的判斷結果記錄未知 組播報文;
計數器,用於記錄所述計數器對應的埠接收的未知組播報文的個數;
未知組播報文數目比較模塊,用於比較所述計數器記錄的埠接收的未知 組播報文的個數與預設的閾值,並將比較結果送至未知組播報文處理模塊;
未知組糹番才艮文處理才莫塊,用於根據收到的比較模塊的比較結果,決定將未 知組播報文丟棄或者上送組播協議進程處理;或者用於根據組播報文類型判斷 模塊的判斷結果,將已知組播報文上送組播協議進程處理。
其中,所述系統還包括定時器,用於決定是否將計數器清零。
其中,所述定時器為l秒定時器。
由以上才支術方案可以看出,本發明通過監控一定時間內在ASIC晶片埠 上接收的未知組播報文的數目,並將該未知組播報文的數目與預設的閾值進行 比較,來判斷源網段是否存在惡意的組播源攻擊,從而保護組播系統。如果某 一埠上接收的未知組播報文的數目超過了預設的閾值,則丟棄數目超過閾值 的那部分未知組播報文,相應地,CPU也就不會生成對應這部分未知組播報文 的組播路由表表項,因此不會佔用大量的CPU資源,/人而減少未知組播淨艮文對 CPU的攻擊,提高CPU資源的有效利用率。綜上所述,與現有技術相比,本 發明更有效地預防了組播源對組播系統的攻擊,簡化了組網的複雜度,加強了 對網絡設備的保護。
圖1為本發明防止組播源攻擊的方法的實現流程圖; 圖2為本發明定時器的處理流程圖。
具體實施例方式
為使本發明所屬技術領域的技術人員更清楚地了解本發明,現結合附圖詳 細說明。
本發明方法的基本思想是通過控制進入ASIC晶片埠的未知組播報文 的個數來防止組^"源攻擊。
本發明方法的實現流程如圖l所示,包括以下步驟
步驟101,組播源發送組播報文,ASIC晶片的埠接收該組播報文。
步驟102,判斷該組播報文是否為未知組播報文;
該步驟的具體實現過程為首先提取該組播報文的關鍵字,所述關鍵字包 括組播寺艮文的源地址(source )、組播淨艮文的目的組地址(group)以及接收該 組播報文的埠 (port),然後將所提取的組播報文的這些關鍵字與之前已記錄 的組播報文的關鍵字進行匹配。其中,需將組播報文的源地址、目的組地址以 及接收埠均匹配上才能確定其是已知組播報文,這樣處理的目的是為了防止 源網段不斷出現新的源地址對組播系統進行攻擊,從而提高組播系統的安全性。
步驟103,若該組播報文的關鍵字與已記錄的某一組播報文的關鍵字匹配, 則該組播報文為已知組播報文,因此將該已知組播報文直接上送組播協議進程 處理,之後結束當前處理流程;
其中,所述上送組播協議進程處理具體是將其按照已有的組播路由表進 行轉發,或者由CPU進行其他處理,具體如何轉發、CPU如何進行其他處理 為已有技術,這裡不再贅述。
步驟104,若該組播報文的關鍵字與已記錄的任一組播報文的關鍵字均不 匹配,則該組^番4艮文為未知組播報文,因此記錄該未知組^番才艮文,並將接收該 未知組播報文的埠的計數器加1;這裡,所述計數器是為了對埠接收的未知組播報文進行計數而預先設置
的,對於每個埠,都要設置相應的計數器;
記錄未知組播才艮文具體為記錄該未知組播^艮文的關鍵字,即記錄該未知 組播報文的源地址、組播報文的目的組地址以及接收埠 。
步驟105-106,判斷上述計數器記錄的埠接收的未知組播報文的個數是 否超過預設的閾值;若未超過閾值,則返回步驟103,將該未知組播報文上送 組播協議進程處理,生成與其對應的組播路由表表項;否則,將該未知組播報 文丟棄,結束當前處理流程。
其中,該閾值為每個埠允許接收的未知組播報文的最大個數,其可根據 組網規模以及用戶規模確定。
由以上分析可知,假設某一埠允許接收的未知組播報文的最大個數為 500個,則從501個開始未知組播報文將都被丟棄,而不會被上送組播協議進 程處理,也不會生成相應的組播路由表表項。因此,為了控制是否要永遠禁止 超過預設閾值的未知組播報文進入,本發明防止組播源攻擊的方法還包括以下 步驟設置定時器。相應地,定時器處理流程如圖2所示,包括以下步驟
步驟201,當定時器時間到時,遍歷ASIC晶片所有埠的計數器;
步驟202-204,判斷每個計數器的自動清零使能開關是否開啟,若計數器 的自動清零使能開關開啟,則該計數器清零;若計數器的自動清零使能開關未 開啟,則該計數器不清零。
其中,採用的定時器較佳為1秒定時器,這樣即可瞬時判斷埠的計數器 是否清零。
如果計數器清零,則在下一定時時間開始後將立即重新計數。因此,如果 在某一定時時間內未知組播報文的個數過多,超過預設的閾值,也不會影響下 一定時時間內埠對未知組4番淨艮文的接收。
如果計數器不清零,若在某一定時時間內未知組播報文的個數過多,超過 預設的閾值,則以後組播源發送來的未知組播報文都將被丟棄,而不會被上送 組播協議處理。為實現上述方法,本發明還提出了一種防止組播源攻擊的系統,包括 組播報文類型判斷模塊,用於判斷專用集成電路晶片的埠接收的組播報
文是否為未知組播報文,並將判斷結果送至組播報文記錄模塊或未知組播報文
處理糹莫塊;
組播報文記錄模塊,用於根據組播報文類型判斷模塊的判斷結果記錄未知 組播糹艮文;
計數器,用於記錄計數器對應的埠接收的未知組播報文的個數; 未知組播報文數目比較模塊,用於比較上述計數器記錄的埠接收的未知
組播報文的個數與預設的閾值,並將比較結果送至未知組播報文處理模塊; 未知組播報文處理模塊,用於根據收到的比較模塊的比較結果,決定將未
知組播報文丟棄或者上送組播協議進程處理,生成與其對應的組播路由表表項;
或者用於根據組播報文類型判斷模塊的判斷結果,將已知組播報文上送組播協
議進程處理。
為了使上述系統能實現定時自動清零功能,使埠能夠接收更多的未知組 播報文,上述系統還可包括定時器,用於決定當定時器時間到時,是否將計數 器清零。
以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。
權利要求
1、一種防止組播源攻擊的方法,其特徵在於,該方法包括專用集成電路晶片的埠接收組播源發來的組播報文;判斷所接收的組播報文是否為未知組播報文,若所述組播報文為已知組播報文,則將已知組播報文上送組播協議進程處理,結束當前處理流程;若所述組播報文為未知組播報文,則記錄所述未知組播報文,並將接收所述未知組播報文的埠的計數器加1;判斷所述計數器記錄的埠接收的未知組播報文的個數是否超過預設閾值,若未超過閾值,則將當前接收的未知組播報文上送組播協議進程處理,否則,將當前接收的未知組播報文丟棄。
2、 根據權利要求l所述的防止組播源攻擊的方法,其特徵在於,所述判斷 組播報文是否為未知組播報文具體為將當前接收到的組播報文的關鍵字與已 記錄的組播報文的關鍵字進行匹配。
3、 根據權利要求1所述的防止組播源攻擊的方法,其特徵在於,所述記錄 未知組播報文具體為記錄所述未知組播報文的關鍵字。
4、 根據權利要求2或3所述的防止組播源攻擊的方法,其特徵在於,所述 關鍵字包括組播報文的源地址、組播報文的目的組地址以及接收該組播報文的 埠。
5、 根據權利要求1所述的防止組播源攻擊的方法,其特徵在於,所述閾值 為每個埠允許接收的未知組播報文的最大個數。
6、 根據權利要求1所述的防止組播源攻擊的方法,其特徵在於,該方法還 包括設置定時器;定時器時間到時,遍歷專用集成電路晶片埠的計數器; 判斷所述計數器的自動清零使能開關是否開啟,若所述計數器的自動清零使能開關開啟,則該計數器清零;若所述計數器的自動清零使能開關未開啟,則該計數器不清零。
7、 根據權利要求6所述的防止組播源攻擊的方法,其特徵在於,所述定時 器為1秒定時器。
8、 一種防止組^"源攻擊的系統,其特徵在於,該系統包括 組播報文類型判斷模塊,用於判斷專用集成電路晶片的埠接收的組播報文是否為未知組播報文,並將判斷結果送至組播報文記錄模塊或未知組播報文 處理模塊;組播報文記錄模塊,用於根據組播報文類型判斷模塊的判斷結果記錄未知 組播糹艮文;計數器,用於記錄所述計數器對應的埠接收的未知組播報文的個數; 未知組播報文數目比較模塊,用於比較所述計數器記錄的埠接收的未知組播報文的個數與預設的閾值,並將比較結果送至未知組播報文處理模塊; 未知組播報文處理模塊,用於根據收到的比較模塊的比較結果,決定將未知組播報文丟棄或者上送組播協議進程處理;或者用於根據組播報文類型判斷模塊的判斷結果,將已知組播報文上送組播協議進程處理。
9、 根據權利要求8所述的防止組播源攻擊的系統,其特徵在於,所述系統 還包括定時器,用於決定是否將計數器清零。
10、 根據權利要求9所述的防止組播源攻擊的系統,其特徵在於,所述定 時器為1秒定時器。
全文摘要
本發明公開了一種防止組播源攻擊的方法,包括專用集成電路晶片的埠接收組播源發來的組播報文;判斷該組播報文是否為未知組播報文,若該組播報文為已知組播報文,將該已知組播報文上送組播協議進程處理,結束當前處理流程;若該組播報文為未知組播報文,則記錄該未知組播報文,並將接收該未知組播報文的埠的計數器加1;判斷計數器記錄的埠接收的未知組播報文的個數是否超過預設閾值,若未超過閾值,則將該當前接收的未知組播報文上送組播協議進程處理;否則,將當前接收的未知組播報文丟棄,結束當前處理流程。本發明還公開了一種防止組播源攻擊的系統。採用本發明的方法及系統,能有效預防組播源的攻擊,最終提高CPU的資源利用率。
文檔編號H04L12/56GK101426014SQ20081022793
公開日2009年5月6日 申請日期2008年12月2日 優先權日2008年12月2日
發明者旭 杜 申請人:中興通訊股份有限公司