李芳
摘 要: 针对传统分析日志数据方法无法有效检测出分布式拒绝服务攻击存在的海量攻击,对异常网络数据包的检测精度低,并且检测效果不够直观的问题,研究了基于数据方块图的网络数据包安全可视化过程,通过数据采集统计模块采集并分析网络中的随机数据包,采用节点坐标运算模块选择合理的算法原则运算网络数据包的图形元素的属性,利用图形显示模块呈现网络数据包的图形元素,采用基于用户的参数调控性能对显示模型效果进行调控,获取网络数据包中的详细信息。给出数据采集统计模块和图形显示模块的实现过程,采用数据方块图对网络数据包中的攻击和端口进行检测,显示出网络中不同主机的端口、连接频率和传递数据包的数量以及其中存在的攻击,实现网络数据包安全的可视化控制。实验结果说明,所研究方法能够准确检测出网络中存在的攻击,准确显示异常数据包。
关键词: 数据方块图; 网络数据包; 安全; 可视化
中图分类号: TN711?34; TP319 文献标识码: A 文章编号: 1004?373X(2017)15?0083?04
Abstract: The traditional log data analysis method can′t detect the mass attacks existing in distributed denial of service attack effectively, has low detection precision of abnormal network data packet, and its detection effect is not intuitive enough. Aiming at the above problems, the data block diagram based security visualization process of network data packet is studied. The data acquisition and statistics module is used to collect and analyze the random data packet in the network. The node coordinate operation module is adopted to choose the reasonable algorithm principle to operate the attribute of graphical element of the network data packet. The graphic display module is employed to present the graphical element of network data packet. The parameter control performance based on user is used to control the effect of the display model, and get the detail information in the network data packet. The implementation processes of data acquisition and statistics module and graphic display module are given. The data block diagram is used to test the attack and port of the network data packet, display the port and connection frequency of different host computers in the network, transmit the quantity of data packet, and detect its attacks to realize the visualization control of network data packet safety. The experimental results show that the method can detect the attack existing in the network accurately, and display the abnormal data packet precisely.
Keywords: data block diagram; network data packet; safety; visualization
0 引 言
網络安全可视化是当前研究的热门行业,其同传统分析日志数据方法存在较高的差异,极大地增强了网络安全检测的质量[1]。网络安全可视化方法能够对网络中的海量数据进行处理和分析,采用图形图像模式协助网络管理人员快速辨识网络攻击,对网络安全事故进行准确监控,确保网络数据包的有效传递。传统分析日志数据方法无法有效地检测出分布式拒绝服务攻击存在的海量攻击,对异常网络数据包的检测精度低,并且检测效果不够直观[2]。因此,研究面向网络数据包安全检测的可视化技术具有重要的应用意义。
1 数据方块图的网络数据包安全可视化设计
1.1 数据源选取
网络数据包安全分析过程中进行分析的数据包主要来自于主机的日志记录和系统报警信息等。采用tcpdump抓包工具采集网络数据包,并对数据包进行降维和过滤处理[3]。用户输入目的IP地址能够检索想要分析的中心主机网络状况信息。通过目的端口能够分析出异常网络数据包,通过颜色描述端口信息。
1.2 数据方块图算法原则
采用可视化显示工具——数据方块图对网络数据包中的攻击和端口进行检测,实现网络数据包的安全可视化监控。其运算原理为:
(1) 节点同核心节点间的距离同该节点与主机间的通信频率一致。
(2) 主机节点同中心节点间的连线用于描述时间间隔中通信的数据包量,采用不同灰度描述数据包量,颜色越深说明通信数据包量越高。
(3) 主机节点包括不同的同心圆,颜色间的差异强度说明连接中相关的端口数量。
数据采集统计模块按照合理算法规则将获取的有价值信息进行分类并存储[4];再运算节点坐标、节点间连线粗细和颜色组成,确保准确呈现异常网络数据包;图形显示模块将网络数据包呈现到屏幕上。若默认参数形成的图像内存在异常活动,并且该活动显示模糊时,应及时调整参数,继续从数据采集统计模块开始再次检测异常网络数据包[5]。系统的运行流程图如图1所示。
通过图1中数据方块图中全部模块的处理后,显示模块能够进行不规律网络数据包的可视化呈现,并且可直观看到其中的异常网络数据包,实现网络数据包的准确监控。数据方块图中各模块的算法原则如下所述。
1.2.1 数据采集统计模块
数据采集统计模块对初始数据进行统计,结果如图2所示。可以看出,该模块通过哈希表保存数据包,表中的Key通过字符串方式描述数据,字符串由源IP、端口号和用户设置的时间间隔构成的时间签构成,各元素对应于图形化描述中的各节点,用于描述同对应主機间的关系;Key对应的值用于描述当前连接通信过程中的全部数据包量[6]。如果用户设置时间间隔则数据采集统计模块将作为窗口,从初始数据向末尾数据进行遍历分析。
1.2.2 节点坐标运算模块
系统通过图形描述网络状态,需要对节点坐标进行运算,节点坐标运算模块的算法设计原则是:节点同中心节点间的距离同该节点与中心主机间的通信频率一致[7]。该主机同中心节点距离更远,将短时间内不存在频繁连接的主机部署在中心主机附近。
1.2.3 图形显示模块
系统将节点坐标以及其他信息保存到程序内,同时通过图形显示模块依据节点坐标制作图形。图形显示模块的算法原则为:主机节点同中心节点间的连线用于描述时间间隔中全部网络数据包。采用合理的系数完成映射,通过不同颜色描述网络数据包量,红色对应的网络数据包量最多[8]。主机节点包括不同的同心圆,不同颜色对照强度描述了对应连接包含的端口数量。若统计出的节点内同一IP相关的端口数量较大,则该节点颜色对比度较高。而异常节点同主机节点间的连线同其他连线混合,会使得颜色模糊。
主机节点同中心主机节点间的连线描述了网络的通信数据包量,采用图形描述主机节点位置。端口在网络前期特征以及攻击特征检测过程中具有重要作用,因此,应对端口进行可视化处理[9]。如图3所示,将各节点均等划分成个等宽的同心圆环,圆环内的颜色会映射到对应的色彩带内,不同颜色间的距离是同主机节点与中心主机节点通信过程中包含的端口数量相关。网络数据包通信过程中采用的端口数量越大,不同颜色间的距离越大,颜色的对比度也越高;而端口数量越小,不同颜色间的距离越小,则颜色更为相近。
2 数据方块图的网络数据包安全可视化实现
2.1 数据采集统计模块实现
数据采集统计模块的运行流程如图4所示。其中map1塑造在源文件的操作过程上,读入源文件后,从文件首行开始采集数据,此时用户输入时间间隔在map1中的任意时刻若新元素(新源IP以及端口)的时间签小于则会被统计到以“源IP、端口以及时刻t”为key的value值中,结束map1的统计后,将统计结果作为map2的初始值,map2的key为“源IP;时间签”,map2用户绘制节点,其中各元素同图形中的节点相对应。
2.2 图形显示模块实现
图形显示模块包括节点绘制、主机节点和中心主机节点连线绘制以及鼠标事件。该模块调用节点函数Draw()存储节点位置,如果端口数量高于1,则继续绘制,节点端口数量同其他节点中相关度最低的端口数量间的差距越高,level也越大[10]。采用不同的灰度绘制主机节点同中心主机节点间的连线,用于描述二者间进行通信的网络数据包,各节点乘以该单位值能够获取灰度值。鼠标事件是用户采用鼠标点击节点过程中显示节点各端口产生的网络数据包量以及连接频率。系统采用GraphicsPanel类实现鼠标事件。如果鼠标点击的位置同图形中任何节点的距离低于节点半径,则驱动鼠标事件,并通过迭代器从map1中采集相关的节点信息,存储在ArrayList 中,将ArrayList输入到JScrollPane对象中进行显示,再绘制表格,最终获取的节点显示效果见表1,其中的各行是当前节点同主机间通信所需的端口、间隔时间中连接频率以及数据量。
3 实验结果与分析
实验采用某大学图形图像研究所中局域网捕获的网络数据,对本文系统的性能进行检测。本文系统对网络数据中的Sumrf类攻击的检测结果如图5所示。可以看出,本文系统很容易检测到一个网络攻击,中心主机外存在三个独立节点,节点3与中心主机的连线颜色深于节点1和节点2与中心主机的连线,说明该用户通过端口同主机间进行更多的信息交互。中心主机附近排列着很密的节点,节点都具有一致的IP,都是在短时间内产生的小数量的网络数据包,依据经验判断其是Echo信息,属于Smurf 类攻击类型。而本文系统准确检测并显示了这些在极短时间中形成了大规模IP进行连接的攻击类型。
本文系统能够准确检测到网络数据包存在的端口扫描攻击,检测结果如图6所示。从中可以看出,节点1和节点2是两个异常节点,这两个节点距离中心主机较远,节点颜色层次较多,同中心主机节点存在较高的连接网络数据包量。从图6中还可以看出不同节点同中心主机间的连线较深,而过多的端口连接会导致节点颜色混乱。依据这些特征,本文方法检测出了网络数据包存在端口扫描攻击。
本文系统面向大规模网络数据可以更好地显示异常网络数据包,从图7可以看出,节点1进行了文件传递,使用了较多的带宽,导致传递的网络数据包量较高,不是网络攻击。而本文系统检测出的异常是节点2、节点3以及节点群可以看出,本文系统能够准确将网络异常数据包和正常数据包分开,确保用户更容易对网络异常数据包进行观测,具有较高的网络异常数据包检测精度。
4 结 语
本文研究了基于数据方块图的网络数据包安全可视化过程,实验结果说明,所研究方法能够准确检测网络异常数据包,并具有较高的交互性。
参考文献
[1] 赵颖,樊晓平,周芳芳,等.网络安全数据可视化综述[J].计算机辅助设计与图形学学报,2014,26(5):687?697.
[2] 范开元,米西峰.网络数据包安全指标关联规则挖掘应用与研究[J].科学技术与工程,2014,14(7):216?218.
[3] 彭國金,刘嫚婷,韩璐.基于飞行试验采集的FC数据检测分析技术[J].现代电子技术,2016,39(2):92?94.
[4] 刘真,吴向阳,郑秋华.动态网络可视化与可视分析综述[J].计算机辅助设计与图形学学报,2016,28(5):693?701.
[5] 陈红倩,李慧,方艺,等.一种农残检测数据的融合对比可视化方法[J].系统仿真学报,2016,28(2):354?360.
[6] 黄国兵,金勇,贾荣兴,等.某电能量远方终端双平面网络接口设计[J].西安工程大学学报,2016,30(1):102?106.
[7] 翟永杰,李冰,常启诚.风机滑动偏航系统的在线监测系统数据分析[J].现代电子技术,2015,38(21):123?126.
[8] 胡华全,吴玲达,杨超,等.卫星时变拓扑网络多视图可视化分析框架[J].系统工程与电子技术,2014,36(2):312?316.
[9] 董重,魏迎梅.运用平行坐标系的多变元时序数据可视化方法[J].小型微型计算机系统,2015,36(10):2408?2411.
[10] 韩丹,王劲松,宋密.基于Snort的多视图网络流量可视化系统[J].天津理工大学学报,2014,30(2):42?45.