网络流量异常检测中的维数约简研究

2020-02-19 11:26陈良臣刘宝旭陶明峰
计算机工程 2020年2期
关键词:网络流量约简特征选择

陈良臣,高 曙,刘宝旭,陶明峰

(1.武汉理工大学 计算机科学与技术学院,武汉 430063; 2.中国科学院信息工程研究所,北京 100049;3.中国劳动关系学院 应用技术学院,北京 100048; 4.国网山东省电力公司 淄博供电公司,山东 淄博 255000)

0 概述

随着互联网技术的快速发展以及世界各国对网络信息化进程的加速推进,网络通信已渗透到各个领域,而互联网上的攻击手段也更隐蔽和智能,传统补丁式的网络安全解决方案无法完全解决日益暴露的安全问题[1]。针对网络流量的异常检测与监控已成为目前安全工具研究的主要方向。

在高速网络环境中,网络异常检测过程需要获取、处理和传输的大量网络流量数据,可能由大量特征来描述,通常这些特征中含有许多无关特征和冗余特征,会提高异常检测模型的复杂度,且各特征之间的相互干扰会导致检测性能急剧下降。因此,在对海量高维网络流量数据进行异常检测建模之前,需要对数据进行特征降维约简处理。攻击数据集的特征质量直接决定入侵检测系统的检测效率和稳定性,因此,分析网络流量以确定有助于识别攻击的维数约简方法至关重要。

针对基于网络流量的网络入侵异常检测模型,很多学者从网络流量特征选择和网络流量特征提取2个方面对维数约简问题进行研究。本文总结网络流量异常检测中流量数据常用特征和流量数据维数约简研究的最新进展,对网络流量异常检测中的网络流量特征选择方法和网络流量特征提取方法进行归纳分类,并列举常用算法、数据集和评价指标。在此基础上,阐述网络流量异常检测中维数约简技术研究面临的挑战,同时对未来发展方向进行展望。

1 网络流量异常检测与维数约简

网络流量指的是单位时间内网络上传输的信息量,即2个终端之间拥有相同通信五元组信息(源IP地址、源端口、目的IP地址、目的端口和传输层协议)的连续数据包[2]。在基于网络流量的异常检测过程中,需要对原始网络流量数据进行降维,从而有效提高异常检测算法的泛化能力[3]。

1.1 网络流量异常检测

入侵检测技术可分为误用检测和异常检测,其中异常检测基于与正常活动的显着偏差发现入侵[4]。网络流量异常检测就是分析从网络中采集的各种数据,挖掘结构中复杂和潜在的关系,从而推断出当前网络的安全状况,发现不可预见的攻击[5],其中主要包括两方面:1)提取网络流量数据中的关键信息作为异常检测的数据源;2)提取关键信息中的异常行为进行检测与识别[6]。通用的异常检测方法往往并不适用于网络流量。基于特征或行为、基于数理统计和基于流挖掘的网络流量异常检测方法已成为网络流量异常检测的主流和趋势。

网络流量异常检测过程如图1所示,可将其分为5个步骤,即网络流量数据获取、流量数据抽样、流量维数约简、异常检测建模以及异常检测结果与评估。

图1 高速网络环境下的网络流量异常检测过程

1.2 网络流量维数约简

维数约简又称为特征降维,网络流量维数约简一般包括网络流量特征选择和网络流量特征提取2种方式,两者都是为了从原始网络流量特征中找出最有效的特征[7],针对高维灾难都可以达到降维的目的,但是两者有所不同。网络流量特征选择是依据一定的规则从已有的网络流量特征中选取出部分特征来表示原始网络流量数据,如图2(a)所示。网络流量特征选择保留了训练样本的原始物理意义,但是当网络流量数据间相似性很强时,检测冗余信息对计算要求非常高。网络流量特征提取则是按照一定的规则将原始网络流量特征空间变换成一个维数更小的空间,是使用数学方法对某些特征进行融合产生了新的特征,新的特征只具有数学含义,难以找到其现实意义,如图2(b)所示。网络流量特征提取是在网络流量特征选择的基础上对网络流量数据集做进一步简化,去除剩余特征的冗余值[8-9]。

图2 网络流量特征降维的2种方式

网络流量维数约简可以使网络流量数据集更容易使用,减少数据存储并降低算法的计算开销,同时提高网络异常检测性能。为生成可靠的IDS模型,维数约简被认为是提高网络异常检测运算效率和发现数据模式的一项重要任务。

2 网络流量维数约简技术研究进展

维数约简算法中的“降维”,指的是降低特征矩阵中特征的数量。本节主要介绍网络流量异常检测中用到的特征归类研究和维数约简技术研究进展。

2.1 网络流量特征研究

网络流量异常检测中用到的网络流量特征大致可分为3类,即基于报文头部、基于网络流和基于连接图的网络流量特征[10],如图3所示,其中,基于报文头部的网络流量特征一般包含IP地址、端口地址等;基于网络流的网络流量特征主要是使用与网络流量相关的统计数据作为特征,即使用网络流的统计特征来表示网络流量,如包长、包到达间隔等,可进一步分为单流特征和多流特征;基于连接图的网络流量特征是图特征与网络流量特征相结合的网络流量特征。

图3 网络流量异常检测特征分类

网络流可分为单向流和双向流,网络流量特征也可分为单流特征和双流特征。单流特征即单个流的特征,只使用组成该网络流的所有报文集合的统计特征作为该网络流量的特征,通常包括包到达时间、报文大小、报文大小的均值/方差、网络流所包含的数据报文数量等。多流特征是针对具有某些相同特性的多条网络流量共同形成的一些统计特征,可在单流特征基础上表示出更多流量相关的信息。在网络流量异常检测过程中提取多流特征,一般先选择一个提取对象,如将主机地址作为对象的网络流量,或将网络段作为提取对象的网络流量等[10]。

2.2 网络流量维数约简技术研究

网络流量异常检测中的维数约简技术研究分类如图4所示。

图4 网络流量维数约简技术分类

网络流量维数约简方法可分为网络流量特征选择方法和网络流量特征提取方法。网络流量特征提取维数约简方法可分为监督学习(Supervised)特征提取方法和无监督学习(Unsupervised)特征提取方法。网络流量特征选择维数约简方法可分为嵌入式(Embedded)特征选择、过滤式(Filter)特征选择和封装式(Wrapper)特征选择3种[11]。

3 网络流量特征提取方法

网络流量特征提取是通过功能映射,从原始网络流量特征集中提取一组新特征,该方法能够通过转换获取最小的新特征集[12]。

3.1 网络流量特征提取方法分类

网络流量特征提取方法包括有监督特征学习方法和无监督特征学习方法,其中有监督学习方法包括监督字典学习、神经网络、多层感知机、线性判别分析等,无监督学习方法包括无监督字典学习、局部线性嵌入、等度量映射、主成分分析(Principal Component Analysis,PCA)、独立成分分析、深度学习和各种形式的聚类算法等。

文献[13]提出一种字典学习和稀疏特征结合的入侵检测模型,该模型包含数据预处理、稀疏特征提取、入侵分类检测和结果分析评估的完整数据处理流程。文献[14]提出深度图特征学习框架DeepGFL,在网络安全的上下文中提取高阶特征,从低阶网络流特征中导出高阶网络流特征,然后实现网络攻击检测。文献[3]提出一种嵌入二次特征选择的主成分分析特征提取模型。文献[15]通过PCA提取表示输入变量变化的相互独立潜在特征,采用基于MI特征选择方法选择与模型输出最相关的潜在变量。

3.2 网络流量主要特征提取算法

常用的无监督维数约简技术包括主成分分析、局部线性嵌入(Locally Linear Embedding,LLE)、等度规映射(ISOMAP)等降维算法;监督维数约简技术包括线性判别分析(Linear Discriminant Analysis,LDA)以及近年来比较受关注的度量学习。常用的网络流量特征提取算法及其优缺点和已有研究文献如表1所示。

表1 常用网络流量特征提取算法

4 网络流量特征选择方法

4.1 网络流量特征选择流程

网络流量特征选择是从原始网络流量特征集中选择出重要的特征,如何选择特征子集以及度量特征的重要性是影响特征选择结果的2个重要问题。网络流量特征选择的基本流程如图5所示,其中主要包括4个环节:生成特征子集,评估特征子集,终止条件判断,验证特征子集。

图5 网络流量特征选择基本流程

在图5中,原始网络流量数据集需要按照一定的搜索策略生成一个备选网络流量特征子集,根据某个评价准则可判断选出子集的优劣,根据终止条件决定网络流量特征选择算法何时停止,保证算法的有穷性[9]。如果评估结果满足终止条件则停止整个网络流量特征选择过程,否则重复生成网络流量特征子集,循环整个过程。当整个网络流量特征选择过程结束后,需要对所获得的网络流量特征子集进行验证,以证明该网络流量特征选择方法的有效性[30]。

4.2 网络流量特征选择方法分类

网络流量特征选择是指选择最能代表原始网络流量数据分布特性的最优特征子集,根据特征子集评价标准和特征选择形式又可以将网络流量特征选择方法分为3类:过滤式(Filter)特征选择方法,封装式(Wrapper)特征选择方法和嵌入式(Embedded)特征选择方法[31]。

1)过滤式特征选择方法。按照发散性或相关性对各网络流量特征进行评分,设定阈值,选择特征。先对网络流量数据进行特征选择,然后再训练学习模型,特征选择过程与后续学习模型无关。该方法优点是速度快、通用性强,而且对过拟合问题有较高的鲁棒性,缺点是特征评价结果有一定的偏差,且模型的组合特征选择能力较差。

2)封装式特征选择方法。从网络流量初始特征集中反复选择特征子集,训练学习模型,根据学习模型的性能对选择出的特征子集进行评价,直至选出最优特征子集。该方法优点是直接针对特定学习器进行优化,考虑到特征之间的关联性,可得到较高的分类精度,缺点是计算复杂度高、开销大,并且通用性不强。

3)嵌入式特征选择方法。使用机器学习算法和模型进行训练,得出网络流量各数据特征的权重,根据权重大小顺序选择特征。该方法与Filter方法类似,但其通过机器学习算法和模型训练来确定网络流量特征的优劣,而且算法本身作为组成部分嵌入到学习算法中。最典型的嵌入式特征选择算法是决策树算法,包括ID3、C4.5和CART算法等。

过滤式和封装式网络流量特征选择方法和分类算法可以与各种算法结合使用,网络流量特征选择过程与学习模型训练过程有明显分别,而嵌入式网络流量特征选择是将特征选择与学习模型训练过程融为一体,在学习模型训练过程中自动地进行特征选择。其中,封装式方法直接将学习器性能作为特征子集的评价标准,搜寻特征子集的分类准确性一般会优于过滤式和嵌入式[32]。

搜索最优网络流量特征子集是网络流量特征选择过程中最关键和最具挑战性的环节。基本搜索策略可根据网络流量特征子集的形成过程分为3类:全局最优搜索,随机搜索,启发式搜索。全局最优搜索策略是在所有可能空间中寻找最优子集,针对高维数据,算法的时间复杂度非常高;随机搜索策略使用随机重采样,根据迭代更新特征权重选择重要特征训练分类器,利用模拟退火算法可以避免陷入局部最优解的特性提高搜索性能;启发式搜索策略包括前向选择方法、后向选择方法、序列前向浮动搜索算法等。启发式搜索策略在选择速度上高于前两种搜索策略。一个具体的网络流量特征子集搜索算法可能会采用2种或多种基本搜索策略,例如遗传算法是一种随机搜索算法,同时也是一种启发式搜索算法。对于不同的搜索策略,网络流量特征选择方法又可被分为穷举法、启发式法、基于信息理论的方法、基于演化计算方法等[32]。

4.3 网络流量特征选择算法

将过滤式网络流量特征选择方法应用于回归问题时,可使用互信息法;应用于分类问题时,可使用卡方检验法、Relief方法、方差选择法、相关系数法、互信息法等。封装式网络流量特征选择方法包括LVW法、递归特征消除法、穷举法、随机法等。嵌入式网络流量特征选择方法包括正则化法、随机森林、决策树等。常用的网络流量特征选择算法及其优缺点和已有研究文献如表2所示。

表2 常用网络流量特征选择算法

5 网络流量维数约简数据集与评价指标

由于隐私和知识产权等原因,用于网络流量分析的相关数据集较少,很少有公开可用的数据集,且很少提供标记信息。

5.1 网络流量维数约简常用数据集

由于网络设备、流量配置和网络攻击的多样性,任何网络流量数据集的代表性都会被质疑。因此,找到适的标签数据集是很困难的。许多已发表的网络流量异常检测和网络流量维数约简分析的文章仍在使用DARPA 98和KDD CUP 99。常用来研究网络流量维数约简算法使用的网络流量数据集,以及针对该数据集的维数约简方法和已有研究文献如表3所示。

表3 网络流量主要维数约简算法

5.2 网络流量维数约简性能评价指标

通常采用分类器准确率(Overall Accuracy,OA)、特征压缩率(Feature Compression Rate,FCR)以及运行时间作为网络流量维数约简算法性能的评价指标。采用分类器准确率评判网络流量维数约简算法效果的好坏,其值为正确样本数与全部样本数的比值。用特征压缩率衡量网络流量维数约简算法对特征提取的效率,其值为选择的特征数与全部特征数的比值。运行时间为每种网络流量维数约简方法所运行的时间,使用每种算法的运行时间来考察其运行速度。

6 网络流量维数约简存在问题及发展趋势

6.1 存在问题分析

当前网络流量异常检测中的维数约简技术已有相关研究,并取得了一定的研究成果,但仍然存在一些尚未解决和完善的问题:传统的维数约简方法无法保留训练样本的原始意义,且对组合特征选择能力较差;网络流量多样性和网络流量数据的不平衡问题,以及复合攻击的普及对网络流量维数约简提出的更高要求;网络加密流量的快速增长需要研究如何从高速网络流量中提取反映加密流量内在规律的特征信息对应的特征提取方法;目前缺乏维数约简评价标准;现有网络流量数据维数约简方法不能正确反映移动无线网络的性能;网络流量的高动态性使得网络流量数据维数约简方法不能满足网络攻击检测的在线实时性要求。上述不足都制约了网络流量异常检测中维数约简技术的进一步发展。

6.2 研究方向展望

基于现阶段网络流量异常检测中维数约简技术的研究现状、网络流量维数约简所面临的挑战和未来研究方向主要概括以下方面:

1)在线实时网络异常检测中流量维数约简技术研究。网络特征建立在海量高速网络流量数据上面,为实现实时在线网络异常检测,需要研究提高网络流量在线时效性的维数约简方法。如何将实时多变量维数约简方法应用到大规模网络流量数据中并对数据进行高效处理成为一大难题。

2)维数约简后流量特征信息丢失问题研究。约简后的网络流量数据特征只是全部网络流量数据特征的一小部分,一些信息会被丢失。在网络流量异常检测中,如何选择维数约简技术弥补网络流量特征在约简后的信息丢失,使其能有效地进行网络流量异常检测仍是难点。

3)移动互联网应用异常检测中的网络流量特征提取技术研究。随着移动互联网的普及和网络技术的高速发展,移动新应用不断出现,攻击者更青睐于移动互联网应用。如何提取网络流量特征,细分和区别这些网络应用,对攻击检测非常重要。

4)网络流量维数约简评价标准研究。针对网络流量进行有效降维后的特征子集难以确定,缺乏可用于网络流量维数约简的通用和普适的评价标准。

5)网络加密流量的特征提取技术研究。目前缺乏可用于网络加密流量异常检测的公开标记数据集,越来越多的网络流量使用加密通信伪装或隐藏明文流量特征,如何选择待提取的候选特征集合,需对恶意软件加密通信具有全面的知识积累。

6)各种网络攻击检测场景中网络流量数据维数约简技术与方法的普适性问题。目前很多网络流量数据维数约简方法针对某个网络攻击检测场景的应用是最优的,但是针对其他网络攻击检测场景的应用可能就不是最优的。随着针对网络流量数据特征的研究不断深入,未来需要设计普适的网络流量维数约简方法。

7)多种网络流量维数约简方法和技术相结合的维数约简方法。将多种网络流量数据维数约简方法和技术相结合,实现更高效的网络流量数据维数约简和获得更准确的抽样结果。在进行网络流量维数约简时,尽可能地减少对网络的额外影响也是一个具有挑战的研究课题。

7 结束语

网络流量维数约简能够用于很多基于网络流量的机器学习和数据挖掘场景,是网络攻击检测中的重要分支。本文介绍网络流量异常检测和维数约简原理,分别对2种流量维数约简方式,即网络流量特征选择和网络流量特征提取的现有算法进行归纳分类,描述算法特点并分析优缺点。在此基础上,给出目前网络流量维数约简研究常用的数据集和评价指标,展望网络流量异常检测中维数约简技术发展方向,为研究和发展网络空间安全技术提供借鉴。

猜你喜欢
网络流量约简特征选择
基于多元高斯分布的网络流量异常识别方法
大数据驱动和分析的舰船通信网络流量智能估计
基于粗糙集不确定度的特定类属性约简
基于二进制链表的粗糙集属性约简
实值多变量维数约简:综述
AVB网络流量整形帧模型端到端延迟计算
广义分布保持属性约简研究
Kmeans 应用与特征选择
联合互信息水下目标特征选择算法
基于特征选择聚类方法的稀疏TSK模糊系统