专利名称:一种网络入侵场景图的布局方法
技术领域:
本发明涉及一种可视化的数据结构的处理方法,特别涉及一种对网络入侵 场景图的布局方法,应用于网络的入侵检测与分析。
背景技术:
入侵检测作为一种网络安全技术能够检测网络中出现的入侵行为,使网络 管理人员及时发现网络入侵和攻击并采取相应的处理措施。而入侵场景图是一 种以清晰直观的方法来表示入侵行为的方法,图中的各节点对应于表示每一个 入侵行为的动作,各个动作之间的先后关系用节点之间的连接箭头(有向边) 表示,它是一个有向无环图。将入侵行为以入侵场景图的方式呈现给网络管理 员,能够帮助他们避免海量数据的困扰,以便快速高效地分析入侵行为,为采 取补救措施争取宝贵的时间。由此可见,如何快速、可靠、高效地对入侵场景 图进行布局,成为及时分析査看的关键因素之一。现有的处理方法如采用的 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日
发明者孙明明, 杨晓峰, 赵武涛, 顾立明 申请人:苏州盛世阳科技有限公司