[發明專利]一種基于二叉樹檢測UDP Flood攻擊和防御的方法無效
| 申請號: | 201010208893.0 | 申請日: | 2010-06-25 |
| 公開(公告)號: | CN102299901A | 公開(公告)日: | 2011-12-28 |
| 發明(設計)人: | 唐歡容;李勇周;王輝;李宇;歐陽建權 | 申請(專利權)人: | 湘潭大學 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 41110*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 二叉 檢測 udp flood 攻擊 防御 方法 | ||
技術領域
本發明涉及一種網絡安全技術領域,具體涉及一種基于二叉樹檢測來判定UDP?Flood攻擊和防御的方法。?
背景技術
拒絕服務攻擊(DoS)和分布式拒絕服務攻擊(DDoS)是目前常用的網絡攻擊方式,這種攻擊通過發送大量偽造的服務請求,消耗被攻擊網絡的帶寬和受攻擊主機的服務資源,從而使得正常的服務請求得不到響應。特別是UDP?Flood攻擊,由于它利用了UDP協議(User?Datagram?Protocol的簡稱,用戶數據報協議)存在的固有的漏洞,所以現有的協議體系對此攻擊免疫力非常弱。當前對這種攻擊采取的防御手段主要有禁用或過濾監控和響應服務、禁用或過濾未啟用的UDP服務、禁用某些容易遭受UDP?Flood攻擊的端口、過濾UDP碎片、拒絕接受所有UDP數據報(某些極端情況下)、建立UDP連接規則,要求所有去往該端口的UDP包,必須首先與TCP端口建立TCP連接、如果用戶必須提供一些對外的UDP服務,那么需要使用代理機制來保護這些服務,使它不會被濫用、對用戶的網絡進行監控以了解哪些系統在使用這些服務,并對濫用的跡象進行監控,在一定的情況下,這些措施有可能起到一定的效果,但是這些方法絕大部分非常被動、防御面窄、防御效果差,并且可能誤傷正常業務和降低網絡傳輸效率,比如禁用某些端口會嚴重干擾某些正常UDP業務的進行并且只能防御針對被禁用的端口的UDP?Flood攻擊;禁用或過濾響應服務有時會嚴重降低網絡的傳輸效率。綜上可以看出,當產生大規模UDP類型的DDoS攻擊時,常規的防御方法基本束手無策。?
發明內容
本發明的目的是提供一種防御UDP?Flood攻擊的方法。?
本發明是通過如下方式實現的:?
一種基于二叉樹檢測UDP?Flood攻擊和防御的方法,按如下步驟進行;?
第一步構建環境變量?
創建二叉樹A和二叉樹B,樹A用來存儲等待分析的UDP數據包,樹B用來存儲已被檢測出來的正在進行UDP?Flood攻擊的主機IP,分別初始化樹A和樹B,使每個節點都為空;轉第二步;?
第二步判斷收到IP數據包是否為UDP數據包?
從網卡隊列中讀取一個IP數據包,基于libnids抓包,檢查其IP協議字段代號,若為17,則該數據包是UDP數據包,轉第三步;否則轉第十五步;?
第三步判斷UDP數據包是否為第一分片或者完整的UDP數據包?
檢查并判斷該IP數據包內的分段偏移量字段的值是否為0,若為0,則該數據包為UDP數據包的第一分片或完整的UDP數據包,轉第四步;否則轉第十五步;?
第四步對IP數據包的源IP地址和其中的UDP數據包的數據部分進行預存儲?
首先,取IP數據包的源IP地址和其中的UDP數據包的數據部分,并設置兩個標記字段分別記錄匹配次數和不匹配次數,初始化為0;分別存入一個字符數組S1中,該數組大小為1500字節;然后,檢查樹A的根節點是否為空,如果是,則將S1存入該根節點,轉第十五步;如果不是,將S1的源IP地址與樹A根節點中IP地址比較;若S1的源IP地址小,轉第五步;若大,轉第六步;若相等,轉第七步;?
第五步訪問樹A當前節點的左孩子,若不存在,創建一個空節點作為左孩子,并將該左孩子設為當前節點;檢查該節點是否為空,如果是,則將S1存入當前節點,轉第十五步;如果不是,將其中IP地址與S1的源IP地址比較,若S1的源IP地址小,轉第五步;若大,轉第六步;若相等,轉第七步;?
第六步訪問樹A當前節點的右孩子,若不存在,創建一個空節點作為右孩子,并將該右孩子設為當前節點;檢查該節點是否為空,如果是,則將S1存入當前節點,轉第十五步;如果不是,將其中IP地址與S1的源IP地址比較,若S1的源IP地址小,轉第五步;若大,轉第六步;若相等,轉第七步;?
第七步將S1內UDP數據包的數據部分與樹A當前節點中的UDP數據包的?數據部分進行匹配,若完全匹配,轉第八步;否則,轉第九步;?
第八步樹A當前節點中的匹配次數標記字段加1并判斷其值是否大于等于規定的數值(一般為4~8),如果是,則可判定IP地址為當前節點內存儲的源IP地址的主機正在進行UDP?Flood攻擊,轉第十步;否則,轉第十五步;?
第九步樹A當前節點中的不匹配次數標記字段加1并判斷其值是否大于等于規定的數值(一般設為4~8),如果是,則可判定IP地址為當前節點內存儲的源IP地址的主機沒有進行UDP?Flood攻擊,轉第十四步;否則,轉第十五步;?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湘潭大學,未經湘潭大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010208893.0/2.html,轉載請聲明來源鉆瓜專利網。





