專利名稱:過濾用戶數據報協議數據包的方法和裝置的制作方法
技術領域:
本發(fā)明涉及通信技術,尤其涉及一種過濾用戶數據報協議數據包的方法 和裝置。
背景技術:
用戶數據報協議(User Datagram Protocol,以下簡稱UDP )是開放式 系統(tǒng)互聯參考模型(Open System Interconnect Reference Model,筒稱OSI) 中一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務。攻 擊者偽造源互聯網協議(Internet Protocol,以下筒稱IP)地址,然后組成 UDP數據包發(fā)送給受害主機的隨機端口 ,受害主機接收到該UDP數據包后, 確定目的端口正在等待中的應用程序,當其發(fā)現該目的端口并不存在正在等 待的應用程序,其會產生一個目的端口無法連接的網間控制報文協議(Internet Control Messages Protocol,以下簡稱ICMP)數據包發(fā)送給該偽造的源IP地 址。如果攻擊者向受害主機發(fā)送足夠多的UDP數據包,該受害主機發(fā)出大量 的ICMP包,最后導致受害主機的資源耗盡而癱瘓,從而形成拒絕服務(Denial of Service,以下簡稱DOS)攻擊。如果攻擊者攻擊足夠多的受害主機,則 形成分布式拒絕服務(DistributedDOS,以下簡稱DDOS)攻擊。盡管受害 主機可以設置防火墻,但是由于UDP數據包是完整和正常的,防火墻很難防 范;并且由于UDP數據包的源IP地址為虛假的, 一定時間的攻擊后,會將防火墻的會話表打滿,從而導致防火墻無法正常工作。
為了過濾DDOS攻擊中的UDP數據包,可以對源IP地址的發(fā)包頻率進行實 時統(tǒng)計,若源IP地址的發(fā)包頻率超過閾值,進行報警并丟棄該源IP地址的UDP 數據包;但是由于DDOS攻擊中的UDP數據包的源IP地址多為虛假IP地址,因 此無法統(tǒng)計源IP地址的發(fā)包頻率?,F有4支術中尚無有效過濾DDOS攻擊中的 UDP數據包的解決方案。
發(fā)明內容
本發(fā)明實施例提供了一種過濾用戶數據報協議數據包的方法和裝置,用
以實現有效過濾DDOS攻擊中的UDP數據包。
本發(fā)明實施例還提供了 一種過濾用戶數據報協議數據包的方法,包括 根據應用層協議的協議特征字,檢測用戶數據報協議數據包的包體;其
中,所述協必
共有的數據;
的數據,則丟棄所述用戶數據凈艮協議數據包。
本發(fā)明實施例還提供了 一種過濾用戶數據報協議數據包的裝置,包括
檢測模塊,用于根據應用層協議的協議特征字,檢測用戶數據報協議數 據包的包體;其中,所述協議特征字為使用所述應用層協議的用戶數據報協 議數據包的包體共有的數據;
第一過濾模塊,用于若所述用戶數據報協議數據包的包體中不存在與所 述協議特征字相匹配的數據,則丟棄所述用戶數據報協議數據包。
本發(fā)明實施例還提供了 一種網關設備,包括過濾用戶數據報協議數據包的裝置,用于根據應用層協議的協議特征字,檢測用戶數據報協議數據包的 包體,若所述用戶數據報協議數據包的包體中不存在與所述協議特征字相匹
配的數據,則丟棄所述用戶數據報協議數據包;其中,所述協議特征字為使
本發(fā)明實施例通過檢測UDP數據包的包體,當UDP數據包的包體中不 存在與應用層協議的協議特征字匹配的數據時,認為該UDP數據包為DDOS 攻擊的UDP數據包,因此丟棄該數據包,從而可以克服現有技術中無法有效 過濾DDOS攻擊的UDP數據包的缺陷,實現有效過濾DDOS攻擊的UDP 數據包。
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實 施例或現有技術描述中所需要使用的附圖作筒單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講, 在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。 圖1為本發(fā)明實施例一提供的過濾UDP數據包的方法的流程示意圖; 圖2為本發(fā)明實施例二提供的過濾UDP數據包的方法的流程示意圖; 圖3為本發(fā)明實施例二提供的過濾UDP數據包的方法中對未知協議的 UDP數據包進行指紋過濾的流程示意圖4為本發(fā)明實施例三提供的過濾UDP數據包的裝置的結構示意圖; 圖5為本發(fā)明實施例四提供的過濾UDP數據包的裝置的結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行 清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而
不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有偶: 出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。 下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。
可以通過識別UDP數據包的應用將DDOS攻擊與UDP協議的正常應用 區(qū)分開來。"普通報文檢測"分析UDP數據包的包頭中層4以下的內容來識 別UDP數據包的應用,包括五元組源IP地址、目的IP地址、源端口號、 目的端口號以及協議號。當通過檢測UDP數據包的目的端口號來識別該UDP 數據包的應用時,例如檢測到UDP數據包的目的端口號為80時,則認為 該UDP數據包的應用為普通上網應用。而DDOS攻擊的UDP數據包會采用 仿冒目的端口號的方式躲避檢測。因此用L2 L4層的普通報文檢測無法將 DDOS攻擊與UDP協議的正常應用區(qū)分開來。
深度包檢測(Deep Packet Inspection,以下簡稱DPI)與普通報文檢測 的分析相比較,除了對IP數據包L2 L4層的分析外,還增加了對IP數據包 的包體中的應用層的分析。由于非法應用可以隱藏目的端口號,但較難以隱 藏應用層的協議特征,因此,通過分析應用層,從而識別UDP^t據包的真正 應用,從而可以將DDOS攻擊與UDP協議的正常應用區(qū)分開來。
進一步地,不同的應用通常依賴于不同的應用層協議,因此,可以通過 識別應用層協議來識別應用。而應用層協議都有其特殊的協議特征字,這些 協議特征字可以是特定的字符串或者特定的位(Bit)序列。例如Bittorrent 協議的識別,通過反向工程的方法對其對等協議進行分析,所謂對等協議指 的是peer與peer之間交換信息的協議,其由一個握手開始,后面是循環(huán)的消
8息流,消息流中的每個消息前面,都有一個數字來表示該消息的長度。在其
握手過程中,首先是先發(fā)送"19",然后是字符串"BitTorrentprotocol"。那么 "19BitTorrent Protocol"就是Bittorrent協議的"協議特征字"。
如圖l所示,為本發(fā)明實施例一提供的過濾UDP數據包的方法的流程示意 圖,可以包括如下步驟
步驟ll、根據應用層協議的協議特征字,檢測UDP數據包的包體;其中, 協議特征字為使用應用層協議的UDP數據包的包體共有的數據;
步驟12、若UDP數據包的包體中不存在與協議特征字相匹配的數據,丟 棄UDP數據包。
本實施例通過檢測UDP數據包的包體,當UDP^:據包的包體中不存在與 應用層協議的協議特征字匹配的數據時,認為該UDP數據包為DDOS攻擊的 UDP數據包,因此丟棄該數據包,從而可以克服現有技術中無法有效過濾 DDOS攻擊的UDP數據包的缺陷,實現有效過濾DDOS攻擊的UDP數據包。
如圖2所示,為本發(fā)明實施例二提供的過濾UDP數據包的方法的流程示意 圖,可以包括如下步驟
步驟21、根據應用層協議的協議特征字,檢測UDP數據包的包體;其中, 協議特征字為使用應用層協議的UDP數據包的包體共有的數據;
若UDP數據包的包體中不存在與協議特征字相匹配的數據,執(zhí)行步驟23,否 則執(zhí)行步驟24;
步驟23、將UDP數據包的指紋與目的指紋相比較,判斷UDP數據包的指 紋與目的指紋是否匹配,若UDP數據包的指紋與目的指紋匹配,執(zhí)行步驟25, 否則執(zhí)行步驟24;其中,UDP數據包的指紋可以包括UDP數據包的源IP地址或目的IP地址。 目的指紋由報文長度、數據偏移和數據字段三部分組成。 步驟24、放行該UDP數據包; 步驟25、丟棄UDP數據包;
具體地,步驟23-25對未知協議的UDP數據包進行指紋過濾,對于與目的 指紋匹配的UDP數據包進行丟棄處理。
在本實施例中,目的指紋可以包括靜態(tài)指紋和/或動態(tài)指紋,其中,靜態(tài) 指紋通過外部設備輸入,動態(tài)指紋通過對UDP數據包之前的UDP數據包進行 檢測得到。靜態(tài)指紋可以保存在靜態(tài)指紋表中,動態(tài)指紋可以保存在動態(tài)指 紋表中。將UDP數據包的指紋與靜態(tài)指紋和/或動態(tài)指紋相比較,若UDP數據 包的指紋與靜態(tài)指紋和/或動態(tài)指紋相匹配,丟棄UDP凄t據包。
如圖3所示,為本發(fā)明實施例二提供的過濾UDP數據包的方法中對未知協 議的UDP數據包進行指紋過濾的流程示意圖,可以包括如下步驟
步驟31、判斷靜態(tài)指紋是否有效,若靜態(tài)指紋有效,執(zhí)行步驟32,否則 執(zhí)行步驟33;
優(yōu)選地,可以為靜態(tài)指紋提供一標志位,當該標志位有效時,表示該靜 態(tài)指紋有效。
步驟32、判斷UDP數據包的指紋與靜態(tài)指紋是否匹配,若UDP數據包的 指紋與靜態(tài)指紋匹配,執(zhí)行步驟38,否則執(zhí)行步驟33;
步驟33、判斷動態(tài)指紋是否有效,若動態(tài)指紋有效,執(zhí)行步驟34,否則 執(zhí)行39;
優(yōu)選地,可以為動態(tài)指紋設置一標志位,當該標志位有效時,表示該動 態(tài)指紋有效;步驟34、判斷UDP數據包的指紋與動態(tài)指紋是否匹配,若UDP數據包的 指紋與動態(tài)指紋匹配,執(zhí)行步驟38,否則執(zhí)行步驟35;
步驟35、判斷是否需要學習動態(tài)指紋,若需要學習動態(tài)指紋,執(zhí)行步驟 36,否則執(zhí)行步驟39;
優(yōu)選地,可以設置一標志位,當該標志位有效時,表示需要學習動態(tài)指
紋;
步驟36,學習動態(tài)指紋,判斷動態(tài)指紋學習是否成功,若動態(tài)指紋學習 成功,執(zhí)行步驟37,否則執(zhí)行步驟39;
具體地,學習動態(tài)指紋指的是檢測UDP數據包,提取其中的源IP地址或 目的IP地址;
步驟37、更新指紋,執(zhí)行步驟39;
具體地,將學習的動態(tài)指故存儲到動態(tài)指紋表中;
步驟38、丟棄UDP數據包,執(zhí)行步驟39;
步驟39、結束。
再參見圖2,步驟25之后還可以包括如下步驟
步驟26、對目標IP地址的UDP數據包的流量進行統(tǒng)計,若流量大于設定 閾值,丟棄目標IP地址的UDP數據包。
優(yōu)選地,經過步驟21-25的處理后,但防范的效果不佳或者并不存在 DDOS攻擊后,對某一目標IP地址的UDP數據包的流量進行實時統(tǒng)計,該目 標IP地址的UDP數據包的流量仍超過設定閾值,將對該目標IP地址的UDP數 據包進行隨機丟包處理,以保證目標IP地址盡可能少地受到DDOS攻擊。
本實施例通過檢測UDP數據包的包體,當UDP數據包的包體中不存在與
應用層協議的協議特征字匹配的數據時,將UDP數據包的指紋與目的指紋進
ii行匹配,當該UDP數據包的指紋與目的指紋匹配時,認為該UDP數據包為 DDOS攻擊的UDP數據包,將其過濾掉,最后,對目標IP地址的UDP流量進 行限流處理,將應用協議分析、指纟丈檢測、限流幾種方式結合,克服現有技 術中無法有效過濾DDOS攻擊的UDP數據包的缺陷,實現有效過濾DDOS攻擊 的UDP數據包。
本實施例可以用于網關類設備,例如防火墻、抗DDOS設備、統(tǒng)一威 脅管理(Unified Threat Management,筒稱UTM)設備、入侵防護系統(tǒng) (Intrusion Prevention System, 筒稱IPS )設備等。
如圖4所示,為本發(fā)明實施例三提供的過濾UDP數據包的裝置的結構示意 圖,可以包括檢測模塊41和第一過濾模塊42。
其中,檢測模塊41用于根據應用層協議的協議特征字,檢測UDP數據包 的包體;其中,協議特征字為使用應用層協議的UDP數據包的包體共有的數 據。
第一過濾模塊42用于若UDP數據包的包體中不存在與協議特征字相匹配 的數據,.丟棄UDP數據包。
本實施例通過檢測模塊41檢測UDP數據包的包體,當UDP數據包的包體 中不存在與應用層協議的協議特征字匹配的數據時,認為該UDP數據包為 DDOS攻擊的UDP數據包,因此第一過濾模塊42丟棄該數據包,從而可以克 服現有技術中無法有效過濾DDOS攻擊的UDP數據包的缺陷,實現有效過濾 DDOS攻擊的UDP數據包。
如圖5所示,為本發(fā)明實施例四提供的過濾UDP數據包的裝置的結構示意 圖,可以包括檢測模塊41、匹配才莫塊51、第一過濾才莫塊42。
檢測模塊41用于根據應用層協議的協議特征字,檢測UDP數據包的包體。其中,協議特征字為使用應用層協議的UDP數據包的包體共有的數據。
匹配模塊5l用于若UDP數據包的包體中不存在與協議特征字相匹配的數 據,將UDP數據包的指紋與目的指紋相比較;其中,UDP數據包的指紋包括 UDP數據包的源IP地址或目的IP地址。
第一過濾模塊42用于若匹配模塊51確定UDP數據包的指紋與目的指紋相 匹配,丟棄UDP數據包。
在本實施例中,目的指紋可以包括靜態(tài)指紋和/或動態(tài)指紋,其中,靜態(tài) 指紋通過外部設備輸入,動態(tài)指紋通過對UDP數據包之前的UDP數據包進行 檢測得到。匹配模塊51還可以用于若UDP數據包的包體中不存在與協議特征 字相匹配的數據,將UDP數據包的指紋與靜態(tài)指紋和/或動態(tài)指故相比較。第 一過濾模塊42還用于若匹配模塊51確定UDP數據包的指紋與靜態(tài)指紋和/或 動態(tài)指紋相匹配,丟棄UDP數據包。
本實施例還可以包括第二過濾模塊52,與第一過濾模塊42連接,用于對 目標IP地址的UDP數據包的流量進行統(tǒng)計,若流量大于設定閾值,丟棄目標 IP地址的UDP數據包。
本實施例通過檢測模塊41檢測UDP數據包的包體,當確定UDP數據包的 包體中不存在與應用層協議的協議特征字匹配的數據時,匹配模塊51將UDP 數據包的指紋與目的指紋進行匹配,當該UDP數據包的指紋與目的指紋匹配 時,認為該UDP數據包為DDOS攻擊的UDP數據包,第一過濾才莫塊42將其過 濾掉,最后,第二過濾模塊52對目標IP地址的UDP流量進行限流處理。本實 施例將應用協議分析、指纟丈^r測、限流幾種方式結合,克服現有技術中無法 有效過濾DDOS攻擊的UDP數據包的缺陷,實現有效過濾DDOS攻擊的UDP 數據包。
13本發(fā)明實施例還提供了一種網關設備,包括過濾UDP數據包的裝置,用 于根據應用層協議的協議特征字,檢測UDP數據包的包體,若UDP數據包的 包體中不存在與協議特征字相匹配的數據,丟棄UDP數據包;其中,協議特 征字為使用應用層協議的UDP數據包的包體共有的數據。
需要說明的是,該過濾UDP數據包的裝置可以包括前述過濾UDP數據包 的裝置實施例中任一模塊,在此不再贅述。
本實施例通過過濾UDP數據包的裝置檢測UDP數據包的包體,當UDP數 據包的包體中不存在與應用層協議的協議特征字匹配的數據時,認為該UDP 數據包為DDOS攻擊的UDP數據包,因此丟棄該數據包,從而可以克服現有 技術中無法有效過濾DDOS攻擊的UDP數據包的缺陷,實現有效過濾DDOS 攻擊的UDP數據包。
分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計 算機可讀存儲介質中,存儲介質可以包括ROM、 RAM、》茲盤或光盤等。 最后應說明的是以上實施例僅用以說明本發(fā)明的技術方案而非限制,盡管 參照較佳實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解, 可以對本發(fā)明的技術方案進行修改或者等同替換,而不脫離本發(fā)明技術方案 的精神和范圍。
權利要求
1、一種過濾用戶數據報協議數據包的方法,其特征在于,包括根據應用層協議的協議特征字,檢測用戶數據報協議數據包的包體;其中,所述協議特征字為使用所述應用層協議的用戶數據報協議數據包的包體共有的數據;若所述用戶數據報協議數據包的包體中不存在與所述協議特征字相匹配的數據,則丟棄所述用戶數據報協議數據包。
2、 根據權利要求l所述的方法,其特征在于,所述丟棄所述用戶數據4艮 協議數據包之前還包括將所述用戶數據報協議數據包的指紋與目的指紋相比較;其中,所述用 戶數據l艮協議數據包的指紋包括所述用戶數據報協議數據包的源互耳關網協議 地址或目的互聯網協議地址;所述丟棄所述用戶數據報協議數據包包括若所述用戶數據報協議數據 包的指紋與所述目的指紋相匹配,則丟棄所述用戶數據報協議數據包。
3、 根據權利要求2所述的方法,其特征在于,所述目的指紋包括靜態(tài)指 紋和/或動態(tài)指紋,其中,所述靜態(tài)指紋通過外部設備輸入,所述動態(tài)指紋通 過對所述用戶數據報協議數據包之前的用戶數據報協議數據包進行檢測得 到。
4、 根據權利要求1或2所述的方法,其特征在于,還包括對目標互聯網協議地址的用戶數據報協議數據包的流量進行統(tǒng)計,若所 述流量大于設定閾值,則丟棄所述目標互聯網協議地址的用戶數據報協議數 據包。
5、 一種過濾用戶數據報協議數據包的裝置,其特征在于,包括 檢測模塊,用于根據應用層協議的協議特征字,檢測用戶數據報協議數據包的包體;其中,所述協議特征字為^f吏用所述應用層協議的用戶數據才艮協 議數據包的包體共有的數據;第一過濾模塊,用于若所述用戶數據報協議數據包的包體中不存在與所 述協議特征字相匹配的數據,則丟棄所述用戶數據4艮協i義^:據包。
6、 根據權利要求5所述的裝置,其特征在于,還包括匹配模塊,用于若所述用戶數據報協議數據包的包體中不存在與所述協 議特征字相匹配的數據,將所述用戶數據報協議數據包的指紋與目的指紋相 比較;其中,所述用戶數據報協議數據包的指紋包括所述用戶數據報協議數 據包的源互聯網協議地址或目的互聯網協議地址;所述第 一過濾模塊還用于若所述匹配模塊確定所述用戶數據報協議數據 包的指紋與所述目的指故相匹配,則丟棄所述用戶數據報協議數據包。
7、 根據權利要求6所述的裝置,其特征在于,所述目的指紋包括靜態(tài)指 紋和/或動態(tài)指紋,其中,所述靜態(tài)指紋通過外部i殳備輸入,所述動態(tài)指紋通 過對所述用戶數據報協議數據包之前的用戶數據報協議數據包進行檢測得到。
8、 根據權利要求5或6所述的裝置,其特征在于,還包括第二過濾模塊,用于對目標互聯網協議地址的用戶數據報協議數據包的 流量進行統(tǒng)計,若所述流量大于設定閾值,則丟棄所述目標互聯網協議地址 的用戶數據報協議數據包。
9、 一種網關設備,其特征在于,包括過濾用戶數據報協議數據包的裝置, 用于根據應用層協議的協議特征字,檢測用戶數據報協議數據包的包體,若據,則丟棄所述用戶數據才艮協議數據包;其中,所述協議特征字為使用所述 應用層協議的用戶數據報協議數據包的包體共有的數據。
10、根據權利要求9所述的網關設備,其特征在于,所述過濾用戶數據才艮 協議數據包的裝置包括檢測模塊,用于根據所述應用層協議的協議特征字,檢測用戶數據報協 議數據包的包體;第一過濾模塊,用于若所述用戶數據報協議數據包的包體中不存在與所 述協議特征字相匹配的數據,則丟棄所述用戶數據報協議數據包。
全文摘要
本發(fā)明實施例涉及一種過濾用戶數據報協議數據包的方法和裝置。其中,所述方法包括根據應用層協議的協議特征字,檢測用戶數據報協議數據包的包體;其中,所述協議特征字為使用所述應用層協議的用戶數據報協議數據包的包體共有的數據;若所述用戶數據報協議數據包的包體中不存在與所述協議特征字相匹配的數據,則丟棄所述用戶數據報協議數據包。本發(fā)明實施例通過檢測UDP數據包的包體,當UDP數據包的包體中不存在與應用層協議的協議特征字匹配的數據時,認為該UDP數據包為DDOS攻擊的UDP數據包,因此丟棄該數據包,從而可以克服現有技術中無法有效過濾DDOS攻擊的UDP數據包的缺陷,實現有效過濾DDOS攻擊的UDP數據包。
文檔編號H04L12/56GK101599976SQ20091015220
公開日2009年12月9日 申請日期2009年7月10日 優(yōu)先權日2009年7月10日
發(fā)明者莉 楊, 武 蔣 申請人:成都市華為賽門鐵克科技有限公司