專利名稱:針對DDoS攻擊的實時可視化檢測方法
技術領域:
本發明屬于網絡安全可視化領域。提供一種實時可視化檢測方法。
背景技術:
DDoS是一種基于DoS的特殊形式的拒絕服務攻擊。是一種分布、協作的大規模攻擊 方式。主要目標是比較大的站點,如企業網站、搜索引擎和政府部門的站點。基本的DoS 攻擊只要一臺能連接Internet的單機就可實現,DDoS攻擊則是利用一批受控制的機器向 一臺機器發起攻擊,具有較大的破壞性。
信息可視化技術是在現代信息處理平臺的基礎上,根據用戶對信息的需要,利用適 當的可視化符號表示各種信息和信息內外部的關系,使人們更方便、迅速地與信息源進 行交互,發現隱藏在信息中的各類知識。信息的種類不同、信息應用領域的復雜性以及 用戶的不同需求的多樣性,導致人們研究開發了大量形式各異的可視化技術。
網絡安全可視化要處理的往往是高維、無結構化的多變量數據,同時這些數據具有 規模大、非數值型等特點;在數據的關聯關系上面臨著關系隱式化、時間依賴性強、類 型多等困難;在繪制方面也沒有統一的顯示模型。在網絡安全信息可視化技術中已經取 得了初步成果,首先,在顯示方式和繪制方法方面,提出了利用散點圖(Scatterplot)、 顏色映射(Color M邵)、圖元(Glyphs)、平行軸坐標(Parallel Coordinate)、自 組織映射(Self-Organizing M邵s)等方式進行網絡和系統監控、異常檢測、入侵發現、 模式的分析及報警。但是在以往的研究開發的工具模型中,網絡安全可視化的模型中, 圖像的生成沒有使用GPU加速,因此生成速度比較慢,而且占用大量的CPU時間,使得 系統模型反映緩慢,對于實時的網絡安全系統產生很大的影響。
發明內容
有鑒于此,本發明的目的是克服現有技術的上述不足,提供一種實時可視化檢測方 法,該種檢測方法,利用GPU加速可視化處理,能夠減輕CPU的負擔,能高效的分析并 顯示網絡數據,從而使用戶能夠發現DDoS攻擊前期所存在的主機掃描,端口掃描和正在 進行的DDoS攻擊。本發明采用如下的技術方案
一種基于網絡數據可視化的DDos攻擊的檢測方法,包括下列步驟
第一步從原始數據中提取源IP地址,目的IP地址,目的端口號,數據報接收時
間作為可視化模型的四個維度;
第二步創建顯示模型,把源IP地址映射到X軸,目的IP地址映射到Z軸,目的端口號映射到y軸,并對三個數據進行標準化,轉換到同一個值域中,對于每一個網絡
數據,在三維場景中創建一個包圍盒,利用場景圖來組織場景中的所有元素; 第三步設置八叉樹包圍盒的空間大小,建立和生成該場景的八叉樹結構; 第四步利用八叉樹結構,通過平截頭體與包圍盒的相交檢驗,進行場景顯示粒子
節點的添加,剔除,并利用GPU對處于平截頭體內的節點進行渲染顯示; 第五步通過交互操作檢測是否受到DDoS攻擊。
作為優選實施方式,本發明的針對DDoS攻擊的實時可視化檢測方法,其中的第二步 中,對三個數據進行如下的標準化處理
源IP地址在x軸上對應的位置的計算公式sIP. val/sIP.maxval*lengthX,其中, sIP. val為將要顯示的源IP地址轉換成的十進制數值;sIP. maxval為32位IP轉換成 十進制后的數值,即,將255.255.255.255轉換成十進制后的數值:2'32 - 1;lengthX 為場景的X軸長度;
目的端口號在y軸上對應的位置的計算公式dPort. val/dPort. maxval*lengthY, 其中,dPort.val為當前端口號,dPort. maxval為最大端口號,即65535, lengthY : 場景的Y軸長度;
目的IP地址在x軸上對應的位置的計算公式dip. val/dlp. maXVal*lengthZ,其中, dIP. val為將要顯示的目的IP地址轉換成的十進制數值,dIP. maxval為32位IP轉換 成十進制后的數值,即將255.255.255.255轉換成十進制后的數值:2'32_1, lengthZ 為場景的X軸長度。
按下列步驟對場景進行査詢
(4) 從八叉樹根開始,獲取該樹的包圍盒,并將其與査詢用包圍盒進行相交計算;
(5) 如果査詢包圍盒完全包含該樹的包圍盒,則遞歸到所有子樹,把子樹所包含 的場景節點添加到查詢結果列表;
(6) 如果包圍盒部分相交該樹的包圍盒,則對該樹的每一個子樹進行遞歸判斷。 按下列步驟添加八叉樹的節點
(O獲取要添加入場景的節點的包圍盒;
(2) 從八叉樹根開始,獲取該樹的包圍盒;
(3) 判斷該八叉樹的包圍盒大小是否為要添加的節點的包圍盒大小的兩倍;
(4) 如果八叉樹包圍盒大小為要添加的節點包圍盒大小的兩倍以上,則根據要添加 的節點的位置計算該八叉樹的八個子樹中哪個和該節點的中心相包含,遞歸調用該算法 將節點插入這棵子樹;否則說明該八叉樹為適合該節點大小的八叉樹,從而掛接該節點 于此八叉樹上;
所述的第四步,按下列步驟執行
(1) 獲取攝像機的平截頭體;
(2) 獲取八叉樹子樹的包圍盒;(3) 對平截頭體和包圍盒進行相交檢驗;
(4) 如果相交,獲取該八叉樹子樹下所掛接的八叉樹場景節點,分別對每個節點的
包圍盒與平截頭體進行相交檢驗,如果相交,加入渲染隊列;
(5) 對于該八叉子樹的八個子結點分別遞歸調用此算法;
(6) 利用GPU對處于平截頭體內的節點進行渲染。
與現有技術相比,本發明具有以下有益效果
1、 更高的實時性。本發明的檢測方法所依據的顯示模型采用的GPU硬件加速,更好 的均衡了負載,利用了CPU和GPU之間的并行性及GPU對浮點數據,矢量計算的高效性, 獲得了更好的實時顯示效果。
2、 檢測DDoS攻擊有效性。DDoS攻擊的前期特征——端口掃描,主機掃描和DDoS 攻擊特征都能夠在根據本發明的顯示模型和檢測方法建立的計算機軟件系統中表現出明 顯的幾何特征。并且在數據量極大的情況下,該系統所具有的高效的3D加速引擎也能非 常流暢的顯示。這充分證明了本發明的計算機軟件系統在DDoS攻擊檢測方面的有效性和 實用性,為進一步防御DDoS攻擊提供了有利的線索。
3、 系統交互性好。網絡管理員可以用鼠標轉動視角,縮放視角便于對數據全面的細 致的觀察。并且本計算機軟件系統把時間作為第四維加入可視化模型,允許網絡管理員 通過拖動滑動條的方法控制當前可視化模型內顯示的數據對數據進行篩選,便于對網絡 攻擊潛在的規律性攻擊,周期性攻擊進行發現預防。本計算機軟件系統還可以在三維空 間進行面査詢,網絡管理員可以以拖動滑動條的方式瀏覽整個目的IP段,源IP段或者 目的端口段。
圖1是利用系統模型檢測DDoS攻擊的流程; 圖2是八叉樹場景管理效果圖3是本發明的計算機軟件系統進行掃描査詢的界面;
圖4是本發明的計算機軟件系統進行數據讀取篩選過濾的界面;
圖5是端口掃描在本發明的計算機軟件系統中的顯示效果圖6是主機掃描和端口掃描在本發明的計算機軟件系統中的顯示效果圖7是兩種不同的DDoS攻擊在本發明的計算機軟件系統中的顯示效果圖。
具體實施例方式
本發明提出一種基于GPU加速的網絡安全可視化顯示模型和DDos攻擊檢測方法。發 明人根據此種顯示和檢測方法,建立了一套計算機軟件系統,利用該系統,能高效的分 析網絡數據,發現DDoS攻擊前期所存在的主機掃描,端口掃描和正在進行的DDoS攻擊。本發明的計算機軟件系統的顯示模型采用基于DirectX底層3D加速接口的XNA軟件包。 下面以計算機軟件系統為例,對本發明做詳細介紹。 第一步,網絡數據獲得和顯示
(1) 網絡數據的獲得
從原始數據中提取源IP地址,目的IP地址,目的端口號,數據報接收時間作為可 視化模型的四個維度。把IP地址轉換為十進制無符號整形數uint,把時間轉換為系統滴 答數并對數據進行排序。創建顯示模型可以使用的抽象數據類型Particle,把源IP映射 到x軸,目的IP映射到z軸,目的端口映射到y軸,并對三個數據進行標準化,轉換到 同一個值域中。對于每一個數據,在三維空間創建一個包圍盒,便于在八叉樹圖形場景 管理器中創建節點。
標準化的方法如下
源IP地址在x軸上對應的位置的計算公式sIP. val/sIP.maxval*lengthX,其中, sIP. val為將要顯示的源IP地址轉換成的十進制數值;sIP. maxval為32位IP轉換成 十進制后的數值,即,將255. 255. 255. 255轉換成十進制后的數值2"32 - l;lengthX 為場景的X軸長度;
目的端口號在y軸上對應的位置的計算公式dPort. val/dPort. maxval*lengthY, 其中,dPort. val為當前端口號,dPort. maxval為最大端口號,即65535, lengthY : 場景的Y軸長度;
目的IP地址在x軸上對應的位置的計算公式dip. val/dlp. maxval*lengthZ,其中, dIP. val為將要顯示的目的IP地址轉換成的十進制數值,dIP.脇xval為32位IP轉換 成十進制后的數值,即將255.255.255.255轉換成十進制后的數值2、2-1, lengthZ 為場景的X軸長度。
(2) 網絡數據的顯示模型 本發明的計算機軟件系統在顯示上采用了硬件加速,利用高性能圖形顯示卡來處理
各種網絡數據的顯示。傳統的可視化模型,所有數據的讀取,處理,顯示都放到了 CPU 上進行執行,增加的CPU的負擔,使可視化的實時性大打折扣,在顯示模型上采用的硬 件加速,更好的均衡了負載,利用了CPU和GPU之間的并行性及GPU對浮點數據,矢量 計算的高效性,獲得了更好的顯示效果。該顯示模型的建立包括下列步驟
1) 定義數據結構
2) 生成場景框架——立方體
3) 標記界面坐標軸的意義和對應的上界值
4) 定義粒子節點的顏色——黑色,和場景背景的顏色——藍色
5) 對系統的場景的操作——放縮,旋轉,節點交互
6) 生成在各種情景下的對話框,及其對話框中功能按鈕 GPU上的運算包括以下幾個方面1. 場景中節點的渲染。場景中節點的添加,剔除操作。由CPU準備待顯示數據的初 始值,然后送到GPU中進行標準化計算,并有GPU對節點進行渲染顯示。
2. 場景圖形的渲染。場景的放縮,旋轉變換操作。觀察視點固定且能夠平滑在距離視 點給定半徑的球面上移動,便于在不通角度觀測物體。攝像機可以改變和視點的距離即 球面的半徑,便于近距離觀測局部數據。距離的拉伸采用了物理特性,使攝像機進行平 滑的位移。
(3)八叉樹的場景管理原理 本發明計算機軟件系統,所采用的顯示模型使用了八叉樹場景管理器對每一個粒子 進行管理,便于用戶交互時能高速的顯示數據且高速的提取用戶需要的數據。
(a) 場景添加算法描述
1) .獲取要添加入場景管理器的節點的包圍盒(Axis Align Bounding Box)
2) .從八叉樹根開始,獲取該樹的包圍盒(Axis Align Bounding Box)
3) .判斷該八叉樹的包圍盒大小是否為要添加的節點的包圍盒大小的兩倍
4) .如果八叉樹包圍盒大小為要添加的節點包圍盒大小的兩倍以上,則根據要添加 的節點的位置計算該八叉樹的八個子樹中哪個和該節點的中心相包含,遞歸調用該算法 將節點插入這棵子樹
5) .否則說明該八叉樹為適合該節點大小的八叉樹,從而掛接該節點于此八叉樹上。
(b) 場景査詢算法描述
1) .從八叉樹根開始,獲取該樹的包圍盒(Axis Align Bounding Box),和査詢用 包圍盒進行相交計算
2) .如果査詢包圍盒完全包含該樹的包圍盒,則遞歸到所有子樹,把子樹所包含的 場景節點添加到查詢結果列表
3) .如果包圍盒部分相交該樹的包圍盒,則對該樹的每一個子樹進行遞歸判斷。
(c) 場景的剔除算法描述
1) .獲取攝像機的平截頭體(Frustum) —即可視范圍包圍體。
2) .獲取八叉樹子樹的包圍盒(Axis Align Bounding Box)
3) .對平截頭體和包圍盒進行相交檢驗
4) .如果相交,獲取該八叉樹子樹下所掛接的八叉樹場景節點,分別對每個節點的 包圍盒與平截頭體進行相交檢驗,如果相交,加入渲染隊列
5) .對于該八叉子樹的八個子結點分別遞歸調用此算法。
第二步,通過交互操作檢測DDoS攻擊
(a)窗口中每一個黑色的點為一個網絡數據,根據其源IP地址(x軸),目的IP 地址(z軸),目的端口 (y軸)來定位每個數據在三維空間的位置。主窗口中由三個面和三條坐標軸組成,每個坐標軸由ProjectGaia提供的UI庫的Label標注,并且允許用 戶拖動滑動條對三維空間進行面査詢,査詢面在可視化主窗口中顯示,査詢結果實時的 顯示在數據掃描窗口中。通過這個掃描查詢功能,網絡管理員可以結合可視化模型和查 詢數據更好的發現網絡攻擊事件;
(b) 數據過濾工具,網絡管理員可以拖動滑動條對顯示在可視化模型中的數據進行 篩選過濾。垂直的滑動條的選定值代表數據的起始時間,平行的滑動條的選定值表示從 起始時間開始的時間區間。網絡管理員可以通過這個數據過濾功能發現周期性的網絡攻 擊或者某時段的某網絡事件;
(c) 本系統模型還有旋轉和縮放功能,通過旋轉三維包圍空間,便于網絡管理員對 顯示數據模型的觀察,更好的判斷攻擊模式。
系統模型對DDoS的檢測效果
如圖5所示,本發明的計算機軟件系統能很容易探測到DDoS攻擊的前期特征之一端 口掃描。端口掃描通常是一臺主機對目的主機的各個端口進行全連接或者半連接掃描。 從圖中我們可以看出,通過本發明的計算機軟件系統提供的查詢掃描功能,我們把掃描 框移動到圖中很明顯的那條線段上,發現了來自主機222.30.24.26的從端口 0到最高 65535對IP為202. 113. 12. 9主機的掃描。
如圖6所示,本發明的計算機軟件系統發現了源自于IP為222.30.24.26的主機對 整個IP網段主機針對25端口,即FTP服務器端口的主機掃描。我們使用本發明的計算 機軟件系統的査詢掃描功能,通過定位源IP地址即發現了這種攻擊行為。
如圖7所示,本發明的計算機軟件系統能夠幫助網絡管理員發現DDoS攻擊的模式。 在第一種DDoS攻擊中,目的IP為123. 191. 88. 193的主機受到在來自于各個偽造的源IP 地址的針對常用端口空間約0到2000的DDoS攻擊。而另外一條平行于目的IP軸的線段 則是完全針對目的IP為202. 113. 12. 9,目的端口為25的FTP服務的DDoS攻擊。
9
權利要求
1.一種針對DDoS攻擊的實時可視化檢測方法,包括下列步驟第一步從原始數據中提取源IP地址,目的IP地址,目的端口號,數據報接收時間作為可視化模型的四個維度;第二步創建顯示模型,把源IP地址映射到x軸,目的IP地址映射到z軸,目的端口號映射到y軸,并對三個數據進行標準化,轉換到同一個值域中,對于每一個網絡數據,在三維場景中創建一個包圍盒,利用場景圖來組織場景中的所有元素;第三步設置八叉樹包圍盒的空間大小,建立和生成該場景的八叉樹結構;第四步利用八叉樹結構,通過平截頭體與包圍盒的相交檢驗,進行場景顯示粒子節點的添加,剔除,并利用GPU對處于平截頭體內的節點進行渲染顯示;第五步通過交互操作檢測是否受到DDoS攻擊。
2. 根據權利要求1所述的針對DDoS攻擊的實時可視化檢測方法,其特征在于,其 中的第二步中,對三個數據進行如下的標準化處理源IP地址在x軸上對應的位置的計算公式sIP. val/sIP. maxval*lengthX,其中, sIP. val為將要顯示的源IP地址轉換成的十進制數值;sIP. maxval為32位IP轉換成 十進制后的數值,即,將255.255.255.255轉換成十進制后的數值2'32 - 1; lengthX 為場景的X軸長度;目的端口號在y軸上對應的位置的計算公式dPort. val/dPort. maxval*lengthY, 其中,dPort.val為當前端口號,dPort. maxval為最大端口號,即65535, lengthY : 場景的Y軸長度;目的IP地址在x軸上對應的位置的計算公式dip. val/dlp. maxval*lengthZ,其中, dIP. val為將要顯示的目的IP地址轉換成的十進制數值,dIP. maxval為32位IP轉換 成十進制后的數值,即將255.255.255.255轉換成十進制后的數值2'32-1, lengthZ 為場景的X軸長度。
3. 根據權利要求1所述的針對DDoS攻擊的實時可視化檢測方法,其特征在于,按 下列步驟對場景進行査詢(1) 從八叉樹根開始,獲取該樹的包圍盒,并將其與査詢用包圍盒進行相交計算;(2) 如果查詢包圍盒完全包含該樹的包圍盒,則遞歸到所有子樹,把子樹所包含 的場景節點添加到查詢結果列表;(3) 如果包圍盒部分相交該樹的包圍盒,則對該樹的每一個子樹進行遞歸判斷。
4. 根據權利要求1所述的針對DDoS攻擊的實時可視化檢測方法,其特征在于,按 下列步驟添加八叉樹的節點(1) 獲取要添加入場景的節點的包圍盒;(2) 從八叉樹根開始,獲取該樹的包圍盒;(3) 判斷該八叉樹的包圍盒大小是否為要添加的節點的包圍盒大小的兩倍;(4) 如果八叉樹包圍盒大小為要添加的節點包圍盒大小的兩倍以上,則根據要添加的節點的位置計算該八叉樹的八個子樹中哪個和該節點的中心相包含,遞歸調用該算法 將節點插入這棵子樹;否則說明該八叉樹為適合該節點大小的八叉樹,從而掛接該節點 于此八叉樹上。
5.根據權利要求1所述的針對DDoS攻擊的實時可視化檢測方法,其特征在于,其 中的第四步,按下列步驟執行-(1) 獲取攝像機的平截頭體;(2) 獲取八叉樹子樹的包圍盒;(3) 對平截頭體和包圍盒進行相交檢驗;(4) 如果相交,獲取該八叉樹子樹下所掛接的八叉樹場景節點,分別對每個節點的 包圍盒與平截頭體進行相交檢驗,如果相交,加入渲染隊列;(5) 對于該八叉子樹的八個子結點分別遞歸調用此算法;(6) 利用GPU對處于平截頭體內的節點進行渲染。
全文摘要
本發明屬于計算機網絡安全技術領域,涉及一種針對DDoS攻擊的實時可視化檢測方法,包括下列步驟從原始數據中提取源IP地址,目的IP地址,目的端口號,數據報接收時間作為可視化模型的四個維度;創建顯示模型,對數據進行標準化,轉換到同一個值域中,對于每一個網絡數據,在三維場景中創建一個包圍盒,利用場景圖來組織場景中的所有元素;設置八叉樹包圍盒的空間大小,建立和生成該場景的八叉樹結構;利用八叉樹結構,進行場景顯示粒子節點的添加,剔除,并利用GPU對處于平截頭體內的節點進行渲染顯示;通過交互操作檢測是否受到DDoS攻擊。本發明提供多視圖,多角度,多種交互性能,極大可能的增加網絡管理人員發現網絡攻擊模式的可能。
文檔編號H04L29/06GK101557324SQ20081015420
公開日2009年10月14日 申請日期2008年12月17日 優先權日2008年12月17日
發明者呂良福, 孫濟洲, 張亞平, 張加萬, 亮 李, 楊國強, 陳國軍 申請人:天津大學