白 雪,努尔布力
(新疆大学 信息科学与工程学院,乌鲁木齐 830046)
E-mail:409429237@qq.com
随着网络应用的普及,使用网络的人群越来越多,网络规模在日益增长的趋势下网络安全隐患也在不断增大.在当前大规模的网络环境中,如何对网络安全进行保障成为了热门的研究课题.目前对于网络安全的研究从单一的入侵检测技术到目前的网络态势感知,都对网络安全数据分析的方法提出了更高的要求[1].
信息可视化与可视分析是一门通过用户交互手段,对海量、复杂数据分析的新兴领域,利用人的认识能力和感知能力,进行高效数据分析.目前网络安全分析引入可视化为网络安全工作提出了新的思路,通过可视化图形可大大提高分析人员的主观判断,提高网络异常判别的准确率与判别速度.
大多数网络异常数据都来源于安全维护系统或原始网络跟踪记录生成的系统日志,这种特殊类型的数据源允许大量的数据特性共存,可根据不同的特性进行可视化与分析.并且网络流量数据可视化为分析人员提供了交互式的可视化工具,将人的感知能力集成到了网络安全分析过程中.网络异常涉及多种攻击类型,使用可视化方法可发现不同攻击类型的攻击模式,在一个或多个视图中同时展示不同特征的网络流量数据,以帮助网络安全分析人员进行比较和关联.
目前网络安全可视化研究面临着一些问题:
1)网络规模逐渐增大,拓扑结构日益复杂,产生的安全数据也呈海量增长.
2)多源异构的网络安全数据给网络安全诊断带来了较高的困难,可视化技术如何融合多源数据、发挥自身优势是当前的研究热点.
3)可视化技术可以提高人们对网络异常的认知效率,但是如何帮助网络管理人员快速建立对所监管的网络整体情况的有效认知,甚至是态势评估,显得尤为重要[2].
本文通过网络安全可视化技术,使用网络流量数据,从网络分析人员角度出发,通过分析网络态势、流量状况和网络节点连接,定位到网络异常时刻,针对异常数据进行细节展示,最终聚焦到具体的主机或端口,达到识别网络异常状况的目的.
网络安全的发展,首先是对于入侵检测技术的改进,到目前大规模网络情况下的实时态势感知,不断改进数据融合算法使其在降低网络负载的前提下,能够提高数据融合的准确性与可用性.随着网络安全研究的不断深入,网络安全可视化近年来也成为了识别网络异常的热门方法.网络安全数据通常包括网络流量数据与网络日志数据,分析人员主要通过网络安全数据来进行监测,检测其中异常的数据来识别网络异常.但随着网络的使用范围不断扩大,网络安全数据量持续增长,数据复杂度也不断提高,给网络安全分析检测带来了巨大的困难.研究人员通过多种方法来理解网络安全数据,其中人的视觉对于数据的判断占据优势地位,网络安全可视化则利用了人类的视觉优势,通过图形的方式呈现网络安全数据的规律,从中快速发掘网络异常节点,分析得出其中隐含的信息;通过可交互的可视化方式,提高人的认知与判断能力,进一步完善网络安全研究.
网络安全可视化是由Becker在1995年提出,IEEE Vis在2004年举办了第一届国际网络安全可视化会议VizSec(visualization for cyber security),自该会议之后,网络安全可视化领域内的研究逐渐深入.赵颖等人从异常检测、特征分析、关联分析和态势感知等不同层次的安全需求的角度对相关研究进行了综述[3],陈为[4]等人从可视化任务流程、网络警报可视化、异常网络流量可视化、网络攻击模式可视化进行了分类,针对不同的数据类型给出了一定的可视分析方法综述.大多数网络异常数据最初来源于安全维护系统或原始网络跟踪记录生成的系统日志,这种特殊类型的数据源允许一定数量的数据特性共存,其中每个特性都需要不同的可视化和分析方法.
Zhou等人在2005年设计了ENTVis[5],将基于熵的流量分析从时间空间扩展到视觉聚类空间,从而快速识别出发生相似网络流量特征时的线性时间跨度.Abdullah K[6]设计使用水平时间轴叠加直方图来可视化不同协议从不同端口发送的数据包数量.Yelizarov和Gamayunov[7]使用由透明四边形连接的圆柱形符号来表示复杂攻击中不同阶段的攻击.每个圆柱体大小和颜色的不同分别描述了严重性级别和攻击类型.这些研究都是对单一的数据类型,针对该数据类型提出了相应的可视化分析图形,并未针对不同的数据类型特性进行分析,得出的分析结果不能全面的覆盖数据间内在的联系.
综上所述,网络安全可视化在经过十多年的发展,对网络安全数据可视分析已经有了一定的研究成果,但目前主要是针对单一数据类型的分析与基于此的可视化图形提高,在对于网络安全数据特性与可视化图形交互功能的结合上有一定的缺失,并没有大量的研究对网络流量数据提出系统的分析方法,在如何通过多视图协同交互分析方面还有一定的提升空间.
目前有研究人员提出了针对不同数据源的交互分析方法,中南大学赵颖[8]等人在2014年提出了一个自顶向下的网络流量时序分析流程模型,对网络安全数据进行了事件元组与统计元组融合的数据处理模型,设计了雷达图与对比堆叠流图对网络安全数据进行可视分析;并设计了时序可视分析方法,通过对比堆叠流图进行网络异常定位;Wettach R[9]等人提出了让网络安全分析人员主动进行探索的交互式可视分析系统,通过主动搜索挖掘日志数据间的关系.提出一种针对大规模网络的拓扑可视化算法,何辉[10]等人通过将大规模数据分解为多个小规模数据,通过力导引算法进行拓扑结构进行网络异常检测,并进行可视化展示.尽管现有的网络安全分析方法能够实现基本的异常数据展示与分析,但过多的交互操作使网络安全检测不能及时响应,未具有流程化的分析过程,只对单一数据源进行可视分析,缺乏网络安全综合分析.
图1 网络流量数据可视分析方法流程Fig.1 Flow of visual analysis method for network traffic data
目前对网络安全分析不仅需要分析与展示网络安全动态,更需要对数据间的联系进行分析,将可视化图形与网络流量数据特性进行结合,最终达到一定的网络发展趋势预测.故本文提出了多视图协同的网络流量数据可视分析方法,方法流程如图1所示.通过流程化的分析让网络分析人员快速得到当前网络发展态势,并达到网络异常检测与分析的目的,从整体态势到具体的异常节点进行分析,并通过多视图全面展示网络当前的动态,通过多种可视化图形与恰当的交互手段使网络分析人员更加精准的获取网络走向,分析网络发展态势.
网络流量数据是典型的时间序列数据,并且具有多维特征数据.进行网络状态分析时,首先需要把握流量数据的整体态势走向,通过网络流量数据核心特征具体展示当前网络状况,直观的得到网络异常时间段.
在整体时序分析中,使用了堆叠流图.普通的直方图显示的数据单一,且显示数据数值不连贯;而堆叠图可以显示多个维度,通常用在表示多个事件在整体中所占的比例和某个时间段的变化走势的比较[11].针对网络流量数据的特性,我们需要显示多维度数据且数据密度较大,将堆叠直方图改为堆叠流图可以使数据的过度更加平滑.在网络安全中,使用对比堆叠流图可以比较不同主机在一段时间内的流量变化情况,本文通过对比堆叠流图,可以表示多类数据在整体态势中的变化趋势.
在此视图中,以时间为横轴,选取重点监测的时序数据,以1分钟为度量单位进行求和统计,更加精准的定位异常发生的时间段,直观显示出网络流量的波动情况并掌握网络态势.
根据整体时序分析得出异常时间段后,再进行异常状态分析,进一步对异常时段细节数据进行展示,初步判断网络异常原因.网络流量数据是典型的多维度数据,其中含有大量数据信息,仅靠单个数据难以判断网络异常类型,如果不对原始数据进行处理,从中获取有效信息较为困难.
本文使用平行坐标轴图,通过多轴显示网络流量的多维数据,但因网络流量并没有统一的维度,当多维度数据在同一视图中展示时,不能达到直观辨识的目的.故首先计算流量数据的信息熵,再通过归一化处理将计算结果标准化.在大量的文献研究中显示[12],信息熵对于网络安全研究有较大的作用.信息熵作为可以度量数据稳定值得计量方式,数值越大,数据越是无序;在网络安全研究中,采用信息熵作为数据处理方式,可以有效的区分有序数据与无序数据.信息熵的大小可以判断网络连接和流量是否有序,归一化处理可以使数值落在0~1之间.
在平行坐标轴图中,各轴线体现出时间,源IP地址,目的IP地址,源端口、目的端口以及主要维度,都经过信息熵与归一化处理后分析.对于网络流量数据中的特征值,当目的IP地址熵值越大,则代表活跃状态的IP地址越多,网络活动越无序;而熵值越小,则代表当前的网络活动越有序[13].根据对于熵值与已知的异常时间段分析,就可初步分析异常时间段.
在异常状态分析中通过多维数据对异常时刻进行分析后,异常主体分析可以针对异常时刻进行细节展示,比如说异常时间段的主机或端口连接.异常主体分析主要针对网络连接的可视化,通过分析主机的连接状况,确定网络异常发生节点.
复杂网络的可视化通常由力导引算法来实现.通过设置视图中的点与边的权重,力导引图能够自动进行聚类,显示出各点之间的相似关系[14].本文通过使用力导引图根据网络连接状态自动完成聚类,通过统计不同节点之间的连接数,根据图标大小判断该节点的活跃程度.在力导引图中可以直观看出主机或端口的连接关系,将节点使用的情况通过图标大小映射,图标越大代表该节点越活跃.
在力导引图中对IP地址和端口连接数分别进行统计,计算出异常时间段内IP地址和端口的连接数.可以得出连接数最高的节点,图标越大代表该节点越活跃,快速找出被攻击的网络节点.
本文选用的实验数据为加拿大网络安全研究所提出的入侵检测数据集CICIDS2017[15],数据捕获期从2017年7月3日星期一上午9点开始,到2017年7月7日星期五下午5点结束,共计5天,其中包含良性网络和7个常规攻击数据流.测试基础设施被划分为两个完全独立的网络,即受害网络和攻击网络.在受害网络中,覆盖了所有常见和必要的设备,包括路由器、防火墙、交换机,以及常见的三种操作系统Windows、Linux和Macintosh的不同版本.加拿大网络安全研究所使用CICFlowMeter软件进行网络流量特征提取,该软件生成的网络流量数据集具有时间戳,源和目标IP,源和目标端口,协议和攻击的标记流.其标记流是通过网络流量生成器和分析器,生成双向流数据,其中数据包有前向(源到目的地)和后向(目标到源)方向,因此可提取超过80个网络流量特征.如持续时间,数据包数,字节数,可以在前后方向上分别计算分组长度等.
加拿大网络安全研究所对提取的80个流量特征进行评估,为不同的攻击类型选择最佳短特征集.该评估方案,首先计算整个数据集中每个特征的重要性,然后将每个类上每个特征分割的标准化平均值与相应的特征重要性值相乘,得到初步结果.然后,用7种常用的机器学习算法对所选特征的性能和精度进行检验.最后,基于加拿大网络安全研究所(CIC)最新提出的网络安全数据集评估框架中的11个标准,综合创建数据集的常见错误和批评,评估得到最终的最佳短特征集.
根据加拿大网络研究所对网络安全数据集的评估,本文实验数据为CICIDS2017中星期五下午DDoS攻击数据,数据集特征包含有网络流量数据常规特征与DDoS攻击最佳短特征集(见表1),其中常规特征:Flow ID、Source IP、Source Port、Destination IP、Destination Port、Protocol、Timestamp和Label,DDoS攻击最佳短特征集:Flow Duration、Bwd Packet Length Std、Flow IAT Std和Average Packet Size.
表1 DDoS攻击数据指标Table 1 DDoS attack data indicators
分布式拒绝服务攻击(Distributed denial of service,DDoS)是当今网络最严重的威胁之一,已经引起了世界各国的极大关注.DDoS攻击是指消耗受害服务器资源,阻止目标为合法用户提供服务的行为[16].在DDoS中,攻击者利用仅存在于网络和传输层的漏洞,向受害主机发送大量虚假数据包,耗尽服务器的带宽和资源,导致目标对象的某些网络服务无法正常工作甚至直接宕机.由于DDoS的攻击特性可知,在攻击时刻网络数据流量有明显增大[17],现通过可视分析方法于数据集中星期五下午DDoS攻击的数据进行分析.
Step 1.整体时序分析.如图2所示,在对比堆叠流图中,将DDoS攻击最佳短特征集流量数据进行分析,可直观看到在星期五下午的某一时间段内有明显峰值堆叠,通过交互操作可得出时间段为2017年7月7日3:56-4:16,在此期间数据呈异常状态.
Step 2.异常状态分析.在整体时序分析中得出异常时间短后,通过异常状态分析对比正常状态与异常状态差别,初步判定攻击类型.通过图3所示,在平行坐标轴图中分析结果明显分为两部分数据内容;再进一步选择已得出的数据异常时间段(见图4),异常时间段的多项数值与正常时间段区别较大.可以观察得到目的IP的熵值对比明显较小,源IP地址熵值也较小,证明发起攻击的主机较少,集中对单一IP地址发起攻击,而源端口的熵值明显较大.
图2 (Step 1)对比堆叠流图Fig.2 (Step 1)Comparative stacked stream graph
Step 3.异常节点分析.通过力导引图对于具体的IP地址进行分析得出图5,可以明显观察到图中中间位置有多个节点图标较大,判断为活跃节点群组;再通过交互操作,选中活跃节点群组得到图6,通过对图6节点查看得知其群组中核心节点为192.168.10.50,在异常时间段内连接数达到159936次,有大量主机通过网关172.16.0.1对于该IP地址进行了攻击.
图3 (Step 2)整体数据平行坐标图Fig.3 (Step 2)Overall data of parallel coordinate graph
图4 (Step 2)异常时段数据平行坐标图Fig.4 (Step 2)Anomaly period data of parallel coordinate graph
图5 (Step 3)整体力导引图Fig.5 (Step 3)Overall of force directed graph
图6 (Step 3)细节力导引图Fig.6 (Step 3)Details of force directed graph
以上的攻击模式符合DDoS攻击的特征,判断为DDoS攻击,后在该数据集官方文档中得到验证.
本文以分析流程为主的网络安全可视化研究思路,通过整体时序分析、异常状态分析和异常节点分析,由整体到细节的方式对网络流量数据进行了分析检测.最终用CICIDS数据集中的DDoS攻击数据进行了验证,证明该分析方法可以较好的支持分析人员从网络流量时序数据中检测网络异常的整个过程.
该分析方法目前只能通过网络安全数据集进行测试,并没有应用到真实的网络环境之中,如果将其使用在真实的网络环境中,还需要做大量的改进效率和可用性.本文主要是通过从整体到细节的方式进行了网络流量分析,在可视化方法上没有进行过多的改进,在以后的工作中,可以结合完整分析流程与加深细节的可视化方法,不断完善该分析方法,融合入网络态势感知,将其应用在真实网络环境中.