电子科技大学学报  2015, Vol. 44 Issue (4): 594-598
网络安全数据3D可视化方法    [PDF全文]
吴亚东, 蒋宏宇, 赵思蕊, 李波    
西南科技大学计算机科学与技术学院 四川 绵阳 621010
摘要:针对大规模网络安全数据可视分析效率低下的问题,提出了一种异构树网络安全数据组织方法,提高了数据分析的实时性。为了增强分析系统的可交互性和提高对网络安全数据的分析效率,设计了一种针对大规模网络的三维多层球面空间可视化模型(MSVM);开发了基于以上技术的3D可视分析原型系统。实验结果表明,该方法针对大规模、高离散度的网络安全数据具有较强的分析能力,能够有效识别不同类型的入侵访问,便于网络取证。
关键词异常检测     大规模网络     网络安全     可视分析    
3D Visualization Method for Network Security Data
WU Ya-dong, JIANG Hong-yu, ZHAO Si-rui, LI Bo    
School of Computer Science and Technology, Southwest University of Science and Technology Mianyang Sichuan 621010
Abstract: To improve the efficiency of large-scale network security data visual analysis, a network security data organization method based on heterogeneous tree is proposed. A three-dimension multi-sphere visualization model(MSVM) which aims at large-scale network visualization is designed to enhance interactivity and efficiency of visualization system. Finally, a visual analytic prototype system based on MSVM is developed. Experiment results show that the proposed visualization method is very effective in analyzing large-scale and discrete network security data.
Key words: abnormal intrusion     large-scale network     network security     visual analytic    

随着网络复杂度的增加,网络安全事件呈现出快速增长的趋势。为了满足公司和机构在网络安全方面的需求,攻击防御系统、主机监控系统、异常检测系统和攻击预测系统常被用于保护网络安全。这些安全产品在长时间的运行中,产生了大量的日志信息等网络安全数据,这些数据包含网络用户行为信息、网络运行状态信息以及可能的入侵访问信息等,往往具有多维和非拓扑等特征。通过对这些网络安全数据进行挖掘分析,能够得到用户行为模式、网络拓扑结构以及网络通信模式等重要信息[1]

以往对网络安全数据的分析大都采用文本分析方式来识别网络活动和模式[2]。但是,随着网络安全数据量的增加和安全数据复杂度的增高,数据分析所需的时间也越来越长。目前,研究人员正在尝试将网络数据抽象为可视化形式进行表示,以快速的发现和识别各种网络行为[3],并且利用可视化系统[4]或者可视分析系统[5]处理大规模网络安全数据,以更有效地表征网络行为特征。与文本分析方法相比,可视化系统和可视分析系统能够将网络事件中的“Who、When、Where、Why、How”等特征更加快速呈现给用户,使得用户能够更迅速和更准确地评估网络安全态势。

目前,针对多维数据集存在多种二维(2D)可视化分析技术,包括Glyph、Color maps、ParallelCoordinate、Histogram及Scatter Plots[6]等。然而,随着数据量的增大,2D可视化方法往往出现图形之间互相遮挡或者过于密集,导致潜在的重要数据面临被忽略的可能[7]。此外,2D可视化技术如果处理不得当,还会导致信息过载和过多无用信息过度渲染等问题发 生[7]。文献[8]虽然利用过滤技术解决了上述问题,却仍有可能由于过滤技术引入的参数设置不准确导致重要数据被删除。因此,研究人员又提出了扩展可视化渲染区域的辅助策略,例如在可视化空间中,增加Z轴以显示更多的数据[9]

三维(3D)可视化模型与2D可视化模型相比,能够容纳更多的图像信息[10]。如果3D可视化模型设计合理,能够在相同时间内传递给用户更多数据,采用更清晰的表示以减少混乱信息[11]。此外,3D可视化方法在处理大规模分层数据时能够帮助用户建立空间记忆信息[12]。目前,研究人员正在使用3D立体技术增强用户对3D空间的可视化感知[13]。面向网络安全数据的3D可视化技术,不仅能够减少2D可视分析方法引起的误差,而且能够增强对特殊网络活动的识别能力,提高网络应急响应速率。目前,网络安全3D可视化技术在国内应用较少[14]。在国外,文献[15]将传统的ParallelCoordinate进行了拓展,提出采用3D Parallel Coordinate方法对安全数据进行可视化,并取得了较好的效果。但是,该方法在数据量过大时,线条之间会发生重叠,难以从中发现有用的信息。文献[16]提出了一种3DSVAT系统,使用一种新的可视化抽象建模来描述安全数据,但是其可视化模型难以被用户所理解。

针对以上不足,在分析网络安全数据特性的基础上,本文提出了一种异构树网络安全数据组织方法,实现了用户对感兴趣信息的快速检索,提高了用户的交互效率。同时,为了在相同时间内传递更多的信息给用户,更好地展示网络活动特征,一种新的多层球面空间3D可视化模型(MSVM)被提出。通过该3D可视化模型,用户能够有效识别不同类型的入侵访问,并进行网络取证。

1 异构树网络安全数据组织方法

网络安全数据属于非拓扑结构数据,主要包括防火墙数据、网络流量数据(netflow)和入侵检测系统(IDS)数据。如何对网络安全数据进行有效的组织和规范,是网络安全数据可视分析面临的首要问题。因此,针对网络安全数据的特点,综合不同安全数据的共同特征,对数据进行预处理显得尤为重要。

网络安全数据具有规模庞大、高维、无结构、非数值型等特点,并且在数据关系分析层面上具有关系隐式化、时间依赖性强等困难[1]。为了提高对大规模网络安全数据的访问效率,充分利用网络安全数据中的相同特征元素,如源地址、目标地址、记录时间等,提出了一种基于字典树(trie tree)和多叉树的异构树网络安全数据组织方法。

1.1 异构树构造方法

异构树由字典树和多叉数两部分组成,字典树用于存储和索引主机IP地址,多叉树用于存储和索引与主机节点相关的网络安全数据。异构树的构造如图 1所示。字典树又称为单词查找树。通常用于统计、排序和保存大量的字符串,常被搜索引擎系统用于文本词频的统计。它利用字符串的公共前缀减少查询时间。由于十进制的IP地址具有公共前缀,因此,在异构树的上部,采用字典树对主机IP地址进行分类,如图 1所示,建立数据索引,能够有效提高网络安全数据检索效率。

图1异构树示意图(图中A表示空域,H表示多叉树首部)

图2基于时间信息的多叉树(图中D表示时间节点,L表示日志信息地址)

由于网络安全数据具有时序特征,并且根据用户在检索时通常伴随筛选时间间隔的需求。因此,将所有的日志数据存储在系统内存之中,并且在异构树的下部,采用多叉树进行索引,如图 2所示,如将一天的日志数据地址存储在一个节点之下。这样构建的索引树,不仅能够加快用户的检索速度,还可以加快异构树的构造速度,进一步提高检索访问效率。

1.2 异构树的优化策略

当数据量过于庞大时,异构树下部的节点将无法保存在计算机的内存中,不利于快速访问。为解决这个问题,异构树组织结构需要进一步优化。为了充分利用内存访问速度快和磁盘存储容量大两者的优势,日志数据和异构树可被分离存储,异构树被存储在计算机的内存之中,以便访问全局数据。由于XML格式文件具有能够表示数据结构的优点[17],因此,将日志数据转换为XML格式的文件存储在计算机硬盘中。用户检索主机相关数据信息时,只需要从计算机内存中匹配异构树,从中找到XML对应的位置即可找到相应的日志信息。

利用这种数据预处理和存储方法,用户可以快速进行信息检索。由于该数据结构的特点,当网络安全日志中的地址信息量越大且分布越离散时,该方法的优势越为明显。

2 多层球面空间可视化模型

为了解决2D可视化方法中图形绘制之间互相遮挡或者过于密集,导致忽略重要信息的问题,提出一种基于3D技术的多层球面空间可视化模型(MSVM)对大规模网络安全数据进行可视化分析。该模型由多个球面组成,每层球面(sphere)对应一个网段;镶嵌在每层球面的球体代表相应的网络结点,球体的颜色映射球体在网络中的角色,如Web服务器、邮件服务器等。球体在球面的坐标使用IP地址映射算法进行计算。球体的半径表示结点的热度,球体结点间的连线表示主机之间的联系,运动的粒子表示数据的流动。多层球面空间可视化模型如图 3所示,用户能够从该模型中清晰地识别主机结点所在的网段、多个主机结点之间的关系,以及主机结点在网络中的角色等信息。

图3多层球面空间可视化模型
2.1 MSVM模型设计

为了直观展示网络拓扑中的潜在信息和网络节点之间的关系,主机IP地址映射为球体坐标,设IPi为输入IP地址集合S中第$i$个主机地址,$i = 1,2, \cdots ,n$,则${\rm{I}}{{\rm{P}}_i}$在MSVM中坐标的映射算法描述如下:

BEGIN

INPUT主机${\rm{I}}{{\rm{P}}_i}$地址

将输入${\rm{I}}{{\rm{P}}_i}$地址按照字节长度分割:

${\rm{IP}}{{\rm{A}}_{{i_1}}}{\rm{,IP}}{{\rm{A}}_{{i_2}}},{\rm{IP}}{{\rm{A}}_{{i_3}}},{\rm{IP}}{{\rm{A}}_{{i_4}}} \leftarrow {\mathop{\rm Split}\nolimits} ({\rm{I}}{{\rm{P}}_i})$

计算结点的球面坐标参数α,β:

$\alpha \leftarrow {\rm{IP}}{A_{{i_4}}}/{\rm{Max}}({\rm{IP}}{{\rm{A}}_{{1_4}}},{\rm{IP}}{{\rm{A}}_{{2_4}}}, \cdots ,{\rm{IP}}{{\rm{A}}_{{n_4}}})$

$\begin{array}{c} \beta \leftarrow \\ \frac{{{\rm{IP}}{{\rm{A}}_{{i_3}}} + 255{\rm{IP}}{{\rm{A}}_{{i_2}}}}}{{{\rm{Max}}({\rm{IP}}{{\rm{A}}_{{1_3}}} + 255{\rm{IP}}{{\rm{A}}_{{1_2}}}{\rm{IP}}{{\rm{A}}_{{2_2}}} \cdots {\rm{IP}}{{\rm{A}}_{{n_3}}} + 255{\rm{IP}}{{\rm{A}}_{{n_2}}})}} \end{array}$

设 ${R_{\max }}$为球面最大半径,则$I{P_i}$对应的球面半径为:

${R_i} \leftarrow {\rm{IP}}{{\rm{A}}_{{i_1}}}{\rm{Max}}({\rm{IP}}{{\rm{A}}_{{1_1}}},{\rm{IP}}{{\rm{A}}_{{2_1}}}, \cdots ,{\rm{IP}}{{\rm{A}}_{{n_1}}})/{R_{\max }}$

将$I{P_i}$对应的球面坐标转换为三维空间坐标:

${P_{(x,y,z)}} \leftarrow {R_i} \times (\sin \alpha \cos \beta ,\sin \alpha \sin \beta ,\cos \alpha )$

${\rm{OUTPUT }}{P_{(x,y,z)}}$

END

2.2 MSVM分析设计

MSVM分析设计包括:全局分析、关系分析和细节分析3种分析模式。全局分析主要针对主机热度进行分析;关系分析主要针对主机间关系进行分析;细节分析主要针对某时刻的数据进行详细分析。

2.2.1 全局分析

定义${t_i}$时刻k结点的热度函数为:

${f_k}({t_i}) = {\rm{Num}}({\rm{Receive}}{({\rm{I}}{{\rm{P}}_k})_{{t_i}}} + {\rm{Send}}{({\rm{I}}{{\rm{P}}_k})_{{t_i}}})$ (1)
式中,${t_1},{t_2}, \cdots {t_i},{t_{i + 1}},{t_{i + 2}}, \cdots ,{t_n},{t_{i + 1}} > {t_i}$为等间隔的离散时间点。热度函数描述了主机结点接收或者发送的数据量。

设时间区域的开始时刻为ts,截止时刻为te,则第k个结点,绘制的球体半径定义为:

${R_k} = {\lambda _{{\rm{scale}}}}\sum\limits_{{t_i} \in T({t_{\rm{s}}},{t_{\rm{e}}})} {{f_k}({t_i})} {\rm{ }}$ (2)
式中, $T({t_{\rm{s}}},{t_{\rm{e}}})$为用户感兴趣时间段;${\lambda _{{\rm{scale}}}}$为全局可视化空间的比例调整参数。在全局分析模式中,球体绘制的半径反映了网络结点的热度大小。

2.2.2 关系分析

采用球体之间的连线表示结点之间的联系,用不同的颜色表示当前主机是偏向于发起连接还是接收数据。结点之间的关系映射为结点连线宽度,定义为:

${W_{i,j}} = {\lambda _{{\rm{scale}}}}{N_{i,j}}(T({t_{\rm{s}}},{t_{\rm{e}}}))$ (3)
式中,${N_{i,j}}(T({t_{\rm{s}}},{t_{\rm{e}}}))$表示在时间段$T({t_{\rm{s}}},{t_{\rm{e}}})$,网络结点i和网络结点j的日志数量。

2.2.3 细节分析

细节分析中,使用粒子轨迹来描述网络结点之间数据的交互,粒子轨迹的起点和终点分别对应安全数据记录中的发起者和接受者。粒子轨迹的计算采用文献[18]提出的球体插值算法,从发送网络结点地址到接收网络结点地址,采用时间作为参数进行插值计算。粒子轨迹插值函数定义如下:

$q = \frac{{\sin (1 - \mu )\theta }}{{\sin \theta }}{q_0} + \frac{{\sin \mu \theta }}{{\sin \theta }}{q_1}$ (4)
式中,q0q1分别是发送和接收主机空间坐标的四元数; $\theta {\rm{ = }}{\cos ^{ - 1}}({q_0}{q_1})$为向量之间夹角;$\mu \in [0,1]$为绘制调节参数。

在细节分析中,采用粒子轨迹插值能够减少绘制遮挡,并在粒子绘制终止位置产生汇聚的效果,能够为用户直观展示网络拓扑结构和网络活动信息,达到网络安全评估的作用。

3 实验结果与分析 3.1 原型系统实现

采用C++开发语言,OpenGL图形API,本文设计并开发了基于多层球面空间结构的可视分析系统,系统界面可分为3个部分,如图 4所示。

图4MSVM原型系统界面

图中,左上区域为控制面板区域,为用户提供了分析模式选择,球面空间半径、球体颜色透明度等参数控制,以及参数配置文件保存和读取功能。中间区域为主绘制区,为用户提供了MSVM模型的显示和交互。该区域包含全局分析模式、关系分析模式及细节分析模式。右上区域为详细信息区域,该区域显示当前焦点网络结点的信息,同时,为用户提供了可拖曳信息栏,方便用户跟踪观察特定网络结点。下部区域为时间线区域。在该区域,用户可通过Focus+Contex交互方式,选择时间线内任何时段范围的网络安全数据,以便观察数据在较长时间跨度的时序变化情况。

3.2 实验结果

为了验证本文可视化方法的有效性,在Intel i7 (3.5 GHz)处理器,8 GB内存,MacOS10.10(64 bit)平台上对原型系统进行了实验。测试数据采用VAST Challenge 2013[19]中的网络安全数据集,数据详细信息如表 1所示。

表1 实验数据集

可视化结果如图 5所示。首先采用全局分析方式,使用时间线搜索4月7日~4月15日所有的Netflow日志数据,对该数据特点进行可视化分析。图 5a显示了MSVM模型的接收数据量状态。通过对时间线的观察,发现在4月11日12点及4月15日15点Netflow日志数据出现了两次极大峰值,特别是在4月11日12点左右,数据峰值最为明显。接着移动时间线,选择时间在4月11日12点~13点,观察MSVM模型,发现有3个结点半径远大于其他结点,这代表着该结点的接收数据量远高于其他结点。在对这些结点的属性进行详细观察后,发现这些结点都是Web服务器,并且都在同一个网段。为了观察结点发送数据情况,如图 5b给出了MSVM模型发送数据量的状态。通过对MSVM模型的详细观察,发现有20台左右的外网主机数据发送量异常巨大,将其加入关注列表对其重点关注。接着使用关系分析方式,从图 5c中可以发现,3台Web服务器都和先前列入关注列表的20台外网主机有大量的数据交互。最后使用细节分析方式,如图 5d所示,使用时间线搜索4月7日~4月15日所有的FireWall日志数据。在面板上选择4月11日12点~4月11日13点的FireWall警报数据,进行动态可视化显示。通过对MSVM模型进行一段时间的观察,可以发现,3台内网服务器和20余台外网服务器之间有长时间且数量庞大的警报信息,表现出很明显的Ddos攻击特征。

3.3 用户分析

为了得到用户对MSVM系统的反馈评价,对21名志愿者根据个人喜好对不同的表现方式的选择进行了统计。各选取了3个具有代表性的2D和3D可视化系统,2D系统来自文献[21]的网站实例,分别为Color Maps,Parallel Coordinate和Scatter Plots ,3D系统来自文献[15, 16, 21],并且选择了6个可视化系统常用评价指标对其进行评估。其中对方法的选择均为不定项选择,对于不同的2D或3D可视化系统,在表格中将其统一为2D或3D可视化方法,统计结果如表 2所示。从表 2可以发现,本文提出的3D可视化方法相比于其他可视化方法。具有更好的交互性,能够更好地表现网络活动,体现网络拓扑结构,具有较优的异常行为识别能力,更能引起用户的兴趣。

图5VASTChallenge 2013网络安全数据集实验结果

表2 原型系统用户反馈列表
4 结 论

本文在分析网络安全数据特点的基础上,提出了利用异构树结构进行数据组织,并提出了一种多层球面空间可视化模型。实验结果表明,与传统可视化方法相比,该3D可视化方法在网络拓扑结构表现和异常行为识别上具有很大的优势。今后工作将进一步深化本文研究课题,主要研究基于草图的网络安全数据可视分析方法。

参考文献
[1] 吕良福, 张加万, 孙济洲, 等. 网络安全可视化研究综述[J]. 计算机应用, 2008, 28(8): 1924-1927.LÜ Liang-fu, ZHANG Jia-wang, SUN Ji-zhou, et al. Review on the research of network security visualization[J]. Journal of Computer Application, 2008, 28(8): 1924-1927.
[2] KAKURU S. Behavior based network traffic analysis tool[C]//2011 IEEE 3rd International Conference on Communication Software and Networks (ICCSN). Xi'an: IEEE, 2011: 649-652.
[3] GOODALL J R. Visualization is better! a comparative evaluation[C]//6th International Workshop on Visualization for Cyber Security. Atlantic City, NJ: IEEE, 2009: 57-68.
[4] SESTAK K, HAVLICE Z. Visualization of critical properties of databases of information systems[C]//2015 IEEE 13th International Symposium on Applied Machine Intelligence and Informatics(SAMI). Herl'any: IEEE, 2015: 123-128.
[5] REN D, ZHANG X, WANG Z, et al. WeiboEvents: a crowd sourcing Weibo visual analytic system[C]//Pacific Visualization Symposium (PacificVis). Yokohama, Japan: IEEE, 2014: 330-334.
[6] KEIM D A. Information visualization and visual data mining[J]. IEEE Transactions on Visualization and Computer Graphics, 2002, 8(1): 1-8.
[7] CARVAJAL A. Quantitative comparison between the use of 3D vs 2D visualization tools to present building design proposals to non-spatial skilled end users[C]//9th International Conference on Information Visualisation. Washington DC, USA: IEEE Computer Society, 2005: 291-294.
[8] STOTT D T, GREENWALD L G, KREIDL O P, et al. Tolerating adversaries in the estimation of network parameters from noisy data: a nonlinear filtering approach[C]//Military Communications Conference, 2009. Boston, MA, USA: IEEE, 2009: 1-7.
[9] LAU S, RED C, NIMDA B, et al. The magazine archive includes every article published in communications of the ACM for over the past 50 years[J]. Communications of the ACM, 2004, 47(6): 25-26.
[10] WARE C. Information visualization: Perception for design[M]. Waltham, MA: Elsevier, 2013.
[11] KOIKE H, OHNO K. SnortView: Visualization system of snort logs[C]//Proceedings of the 2004 ACM Workshop on Visualization and Data Mining for Computer Security. New York, USA: ACM, 2004: 143-147.
[12] COCKBURN A. Revisiting 2D vs 3D implications on spatial memory[C]//Proceedings of the 5th Conference on Australasian User Interface. Sydney, Australia: Australian Computer Society Inc, 2004: 25-31.
[13] HUBONA G S, WHEELER P N, SHIRAH G W, et al. The relative contributions of stereo, lighting, and background scenes in promoting 3D depth visualization[J]. ACM Transactions on Computer-Human Interaction (TOCHI), 1999, 6(3): 214-242.
[14] SHIRAVI H, SHIRAVI A, GHORBANI A A. A survey of visualization systems for network security[J]. IEEE Transactions on Visualization and Computer Graphics, 2012, 18(8): 1313-1329.
[15] NUNNALLY T, CHI P, ABDULLAHK, et al. P3D: a parallel 3D coordinate visualization for advanced network scans[C]//2013 IEEE International Conference on Communications (ICC). Budapest, Hungary: IEEE, 2013: 2052- 2057.
[16] NUNNALLY T, ULUAGAC A S, COPELAND J A, et al. 3DSVAT: a 3D stereoscopic vulnerability assessment tool for network security[C]//2012 IEEE 37th conference on Local Computer. FL: IEEE. 2012: 111- 118.
[17] NAEDELE M. Standards for XML and Web services security[J]. Computer, 2003, 36(4): 96-98.
[18] SHOEMAKE K. Animating rotation with quaternion curves[C]//ACM SIGGRAPH computer graphics. New York, USA: ACM, 1985, 19(3): 245-254.
[19] Vacommunity.VAST challenge homepage in vacommuity [EB/OL]. [2014-10-11]. http://www. vacommuity.org/ VAST, 2013.
[20] BOSTOCK M. D3 Example[EB/OL]. [2014-10-11]. https://github.com/mbostock/d3/wiki/Gallery
[21] BODUROV V. VectorVisualizer[EB/OL]. [2014-10- 11]. http://www.bodurov.com/VectorVisualizer/.