專利名稱:一種網絡入侵場景圖的布局方法
技術領域:
本發明涉及一種可視化的數據結構的處理方法,特別涉及一種對網絡入侵 場景圖的布局方法,應用于網絡的入侵檢測與分析。
背景技術:
入侵檢測作為一種網絡安全技術能夠檢測網絡中出現的入侵行為,使網絡 管理人員及時發現網絡入侵和攻擊并采取相應的處理措施。而入侵場景圖是一 種以清晰直觀的方法來表示入侵行為的方法,圖中的各節點對應于表示每一個 入侵行為的動作,各個動作之間的先后關系用節點之間的連接箭頭(有向邊) 表示,它是一個有向無環圖。將入侵行為以入侵場景圖的方式呈現給網絡管理 員,能夠幫助他們避免海量數據的困擾,以便快速高效地分析入侵行為,為采 取補救措施爭取寶貴的時間。由此可見,如何快速、可靠、高效地對入侵場景 圖進行布局,成為及時分析査看的關鍵因素之一。現有的處理方法如采用的 Graphviz算法進行布局處理時,通常需要進行反復的回溯和迭代,耗費較長 的處理時間,無法滿足快速高效的要求。
發明內容
為了克服現有技術存在的不足,本發明提供一種處理速度快,數據結構簡
單可靠,便于閱讀的網絡入侵場景圖的布局方法。
本發明所采用的技術方案是提供一種網絡入侵場景圖的布局方法,其特
征在于它包括以下步驟
(l)將每一個入侵行為的動作對應于一個節點放到平面圖中,以行和列的方
式進行布局,同一行的節點處于同一水平線上,同一列的節點處于同一垂直線
上,各行從上到下依次排列,各列從左到右依次排列,各個動作之間的先后關
系用節點之間的箭頭表示,連接各個節點的邊的連接方向為從左邊列中的節點
指向右邊列中的節點;(2) 采用最長路徑算法或網絡單純型算法中的一種,對各節點進行分層處
理;
(3) 獲取本層中所有節點的后件集,對與本層節點相連的節點未出現在下一 層中,則在下一層中添加一個虛節點,通過虛節點與后面層中的實際節點相連, 從第一層開始依次對各層的節點進行層內排序處理;
(4) 將排序處理后同一層的節點組織成一個列,層內順序相同的節點組成一 個行,設定節點的幾何尺寸(寬、高)和節點的間距,計算各個節點在直角坐 標系中的坐標值,布局各節點,得到網絡入侵場景圖。
步驟(3)所述的層內排序處理方法為,先獲取該節點與后面節點的后件集之 間的交集,如果后件集中的節點不出現在所有交集中,則它在下一層的層內順 序靠最前排列,否則它在下一層的層內順序根據本層的節點順序進行排列;如 果下一層的某個節點不出現在本層節點的后件集中,則它在下一層的層內順序 靠最后排列。
與現有技術相比,本發明的優點在于根據有向無環圖的特點,采用先進 行分層處理,將各個節點放到各個列中,再對同一列中的各個節點進行層內排 列順序處理,對圖中的各個節點進行布局,將圖數據結構進行可視化展示,以 取得良好的可視效果,該方法處理速度快,數據結構簡單可靠,便于人們的閱 讀和分析。
所述的節點的后件集是該節點通過邊與下一層中所有相連的節點的集合;
圖1是按本發明實施例技術方案提供的入侵場景圖,其中,a p為節點, 對應各個入侵動作,aj和bj為虛節點;
圖2是按本發明實施例層內排序處理步驟的流程示意圖。
具體實施方式
下面結合實施例和附圖對本發明作進一步描述。 實施例
參見附圖1,它是本實施例技術方案提供的入侵場景圖,其中,a p為節 點,對應各個入侵動作。將每一個入侵行為的動作對應于一個節點放到平面圖
4中,以行和列的方式進行布局,同一行的節點處于同一水平線上,同一列的節 點處于同一垂直線上,各行從上到下依次排列,各列從左到右依次排列,各個 動作之間的先后關系用節點之間的箭頭表示,連接各個節點的邊的連接方向為 從左邊列中的節點指向右邊列中的節點。入侵場景圖布局方法的具體步驟為 節點分層
用最長路徑算法。*算法,DSLevelProvider)得到結果為
Cl={a, b, c, d} C2={e, f, g, h, C3={j, k, 1}; C4={m, n, o, p} {Cl, C2, C3,…Cn 層內排序
參見附圖2,它是本步驟流程的示意圖。 從第一層(CI)開始依次對各列進行下列操作
(1) 得到本層中所有節點的后件集,所述的節點的后件集是該節點通過邊與 下一層中所有相連的節點的集合。
CI中各個節點的后件集為 Sa={i,虛節點aj, e, f}; Sb={e,虛節點bj, g}; Sc={ g }; Sd={f, h}.
(2) 確定下一層中節點的順序
從本層的第一個節點開始依次對各個節點進行分析,以確定下一層中節點 的順序。
先從a開始。經過按順序比較,發現SanSb = { e }, SaDSc =空集, San Sd = {f},則Sa和Sb、 Sa和Sc、 Sa和Sd的交集都不包含的部分為{i, 虛節點ajh便將i和虛節點aj分別確定為第二層中的第一個和第二個位置(因 為不是交集中的元素,所以a和i, a和aj的邊便不會和其它邊發生交叉)。
對于Sa中屬于任何一個交集的元素,即(e, f},在比較時,首先發現e
,它是節點的集合,其中,Cn表示第n層。屬于Sa與Sb的交集中的元素,接著發現f屬于Sa與Sc的交集中的元素,所 以確定e為第二層中的第三個位置,f為第二層中的第四個位置。
由于已經盡量減少了 a與b、 c、 d這三者連線的交叉。所以,在分析b時, 只需盡量減少b與c以及b與d的連線的交叉,不需再考慮Sb與Sa的關系, 即只用分析Sb與Sc以及Sb與Sd的關系,分析原理同上。
節點e不屬于Sb與Sc以及Sb與Sd的交集,但節點e的位置已經確定, 所以只需依次確定虛節點bj和g的位置即可,bj為第五個位置,g為第六個位 置。同理確定d的后件集中的元素在第二列中的位置。
假設第二列中還有兩個節點x和y,這兩個節點沒有出現在后件集中,則
將它們安排在第二列的最后面。
在根據第一層的順序確定了第二層的位置后,可以再用同樣的方法根據第
二層的順序確定第三層的順序,以此類推完成所有層的層內排序。
坐標計算
根據參數節點的大小和節點之間的距離,計算各個節點在直角坐標系中的 坐標。如果節點大小為寬w,高h;水平方向(X方向)節點之間的距離為i, 垂直方向(Y方向)節點之間的距離為j,則第m行n列的節點的水平坐標為 (n-l)*(w+i);垂直坐標為(m-l)*(h+j)。
將同一層的節點組織成一個列
第 一 歹ij : a, b , c , d;
第二列i,虛節點aj, e, f,虛節點bj, g, h;
第三列j, k, 1;
第四列m, n, o, p。
層內順序相同的節點組中成一個行
第一行a, i, j, m; 第二行b,虛節點aj, k, n; 第三行c, e, 1, 第四行d, f, p; 第五行虛節點bj; 第六行g;第七行h。
依據本實施例提供的網絡入侵場景圖的布局方法,經上述步驟的處理,如 果節點的大小設定為寬20,高10;水平方向(X方向)節點之間的距離為10,
垂直方向(Y方向)節點之間的距離為5;則節點e (第2列第3行)的水平坐 標為(2-1)*(20+10)=30;垂直坐標為(3-1) * (10+5) =30 。其他節點也可以采
用相同的計算方法得到各節點在直角坐標系中的坐標,得到網絡入侵場景圖。
權利要求
1、一種網絡入侵場景圖的布局方法,其特征在于它包括如下步驟(1)將每一個入侵行為的動作對應于一個節點放到平面圖中,以行和列的方式進行布局,同一行的節點處于同一水平線上,同一列的節點處于同一垂直線上,各行從上到下依次排列,各列從左到右依次排列,各個動作之間的先后關系用節點之間的箭頭表示,連接各個節點的邊的連接方向為從左邊列中的節點指向右邊列中的節點;(2)采用最長路徑算法或網絡單純型算法中的一種,對各節點進行分層處理;(3)獲取本層中所有節點的后件集,對與本層節點相連的節點未出現在下一層中,則在下一層中添加一個虛節點,通過虛節點與后面層中的實際節點相連,從第一層開始依次對各層的節點進行層內排序處理;(4)將排序處理后同一層的節點組織成一個列,層內順序相同的節點組成一個行,設定節點的幾何尺寸(寬、高)和節點的間距,計算各個節點在直角坐標系中的坐標值,布局各節點,得到網絡入侵場景圖。
2、 根據權利要求1所述的一種網絡入侵場景圖的布局方法,其特征在于 步驟(3)所述的層內排序處理方法為,先獲取該節點與后面節點的后件集之間的 交集,如果后件集中的節點不出現在所有交集中,則它在下一層的層內順序靠 最前排列,否則它在下一層的層內順序根據本層的節點順序進行排列;如果下 一層的某個節點不出現在本層節點的后件集中,則它在下一層的層內順序靠最 后排列。
全文摘要
本發明涉及一種可視化的數據結構的處理方法,特別涉及一種對網絡入侵場景圖的布局方法,應用于網絡的入侵檢測與分析。本發明將每一個入侵行為的動作對應于一個節點放到平面圖中,各個動作之間的先后關系用節點之間的連接箭頭表示,先采用最長路徑算法或網絡單純型算法進行節點分層處理,再對同一列中的各個節點進行層內排列順序處理,經計算得到各節點在直角坐標系中的坐標,從而完成網絡入侵場景圖的布局。本發明將圖數據結構進行可視化展示,以取得良好的可視效果。該方法處理速度快,數據結構簡單可靠,便于人們的閱讀和分析。
文檔編號H04L12/26GK101499927SQ20091003030
公開日2009年8月5日 申請日期2009年3月18日 優先權日2009年3月18日
發明者孫明明, 楊曉峰, 趙武濤, 顧立明 申請人:蘇州盛世陽科技有限公司