基于熵的入侵检测研究综述

2020-04-19 07:25王昌达
计算机应用与软件 2020年4期
关键词:网络流量信息熵IP地址

韦 尧 王昌达

(江苏大学计算机科学与通信工程学院 江苏 镇江 212013)

0 引 言

网络通信技术的高速发展使得网络安全问题日益突出。据统计,近年来,安全事件的数量出现了成倍增长的趋势。目前网络攻击的手段大约有两三千种,为了应对这些事件,确保网络的安全,市面上出现了各种各样的安全产品和技术,例如:防火墙,身份认证系统,VPN设备等。但这些都属于静态检测的方法,当面对突发事件或是需要实时监控时,入侵检测系统将会发挥重要作用。

入侵检测系统的原理是通过收集并分析网络中关键点的信息来判断网络是否被攻击或网络中是否有违反安全策略的现象,并对这些异常现象作出反应,从而保证网络的安全性。

由于网络流量具有自相似、重尾分布和长相关[1]等特征,而熵值正好可以用来描述此类特征并分析网络流量的分布规律,所以基于熵的入侵检测系统的研究成为近年来入侵检测研究的一个热点。

1 入侵检测系统

1.1 系统分类

入侵检测系统(Intrusion Detection Systems,IDS)是指检测入侵的软件加硬件。入侵检测系统有别于防火墙,它对于网络的监测并不影响网络的整体性能。一般根据信息源、检测方式,以及响应方式三个不同的方面对IDS进行分类[2]。依据信息来源的不同,将入侵检测系统分为基于网络的IDS和基于主机的IDS。依据检测的方式不同,将IDS分为误用IDS和异常IDS。依据对入侵攻击的响应方式不同,将入侵检测系统分为主动IDS和被动IDS。这也是目前对于入侵检测系统一种常用的分类方式。

1.2 常见方法

基于特征选择的入侵检测可以做到实时地分析和检测网络中的异常流量,但对未知的攻击类型检测率低。基于统计的入侵检测方法适用于离线的非实时性的入侵检测,但不能确定产生入侵的原因和异常的属性。基于模型的入侵检测系统一般用于监测重要的审计事件,并在事件发生后再进行具体的审计分析来减少系统的负荷。基于机器学习的入侵检测方法在数据量较少时和动态的检测方面效果不理想。

2 基于熵的入侵检测研究

熵值可以定量地描述网络流量特征,并且检测的实时性好,对异常流量反应的灵敏度高。此外,基于熵的入侵检测识别网络行为只依赖于数据包本身,不需要很多安全背景知识或用户干预,在入侵检测领域显示出巨大优势。用熵值来检测网络中异常流量或是评估网络攻击效果的原理是:一旦有异常流量或是网络中有攻击发生,网络整体流量特征的熵值就会随之改变,通过熵值的变化程度来检测出异常,甚至可以用来判断攻击的效果和类型。而这里所说的熵值不只是信息熵,还引申出了活跃熵、相对熵、条件熵等。

2.1 基于信息熵的入侵检测

德国物理学家T.Clausius在1865年提出了熵这个概念,将熵定义为:在一个可逆的过程中,输入热量相对于温度的变化率。1877年左右Boltzmann将熵的概念应用到热力学中。Boltzmann在热力学中对熵的定义为:

(1)

式中:i标记所有可能的微观态,而Pi表示微观态i的出现的概率,k是玻尔兹曼常数。一个系统中微观状态分布越均匀,那么这个系统就越混乱。

1948年C.E.Shannon将熵的概念引入到信息论中,被称为信息熵或香农熵。热力学中的熵度量了微观状态的多样性或均匀性,将其引入到信息理论中来看,信息熵也是对一个系统不确定性的度量,但它更标志着一个系统不确定性信息量的大小,反映了信息源信号出现的机率。

假设系统处于不同的状态,每种状态i出现的概率为Pi(i=1,2,…,n),则该系统的信息熵可以定义为:

(2)

熵值具有极值性,当各特征分布状态等概率时,熵值最大,即分布得越均匀,熵值越大,反之则越小。熵值用来表示特征分布的集中或离散程度,因此信息熵可以用来表示网络流量特征值(如源/目的IP地址,源/目的端口号,数据包长度等)的分布特征。将网络中网络流的会话和数据包看成是离散的特征序列,并根据这些序列求得的信息熵可以反映网络的通信状态。当攻击到来时,某些特征的分布状态会发生改变,这个特征的信息熵值就可以作为一种标识来判断攻击的发生。例如:源IP地址的熵值在某一时间点突然变大,即说明在该时间点上出现的源IP地址的数分布是较为分散的,这种情况有可能出现了DDoS攻击。相反,如果在该时间点信息熵值突然变小,则说明在该时间点上源IP地址的分布较为集中,这可能是由于蠕虫病毒试图感染大批量其余主机造成的。如果在该点多个指标的熵值同时出现异常,那么该时间点存在异常的可能性极大。

用网络流量的特征分布计算其信息熵值,并用信息熵值来判断网络异常流量的方法相比传统入侵检测方法,效率和准确率更高,且可识别多种入侵类型。当前国内外相关研究如下:文献[4]用NetFlow流量采集信息作为测试数据,测试数据包括:源/目的IP地址,源/目的端口号四个属性。将这四个属性的状态分布看成一组随机的事件,并计算不同属性的信息熵,再设定阈值并判断入侵。陈锶奇等[8]发现源/目的IP与端口、入度与出度、Flow流大小分布(FSD)、数据包的总数量(PKTS)这四个指标的联合使用是有效的异常检测方案。

用信息熵来进行入侵检测也有一定的局限性,它只能体现某一固定时间节点的网络状况,而对于网络流量动态的变化过程则不能很好体现。对低速DoS攻击这种对网络流量分布变化不明显的攻击类型,信息熵往往检测效果较差。

2.2 基于相对熵的入侵检测

相对熵又称KL散度(Kullback-Leibler divergence),是一种用来描述两种不同的概率分布差异的值。信息熵可以识别网络异常,但存在两个不同的属性概率分布可以共享相同熵值的问题,这意味着两个截然不同的概率向量可能具有相同的熵。因此,文献[6]引入了描述两个概率分布差异的相对熵。假设有两个概率分布P和Q,则它们之间的差异即相对熵可定义为:

(3)

式中:P是当前时段的属性概率分布;Q可以表示上一时段的属性概率分布,也可以表示系统正常的属性概率分布,用作基线。当且仅当P=Q时,D(P‖Q)=0,表示P和Q的概率分布相同时它们的相对熵值等于0。D(P‖Q)值越小,表示P和Q的差异越小,D(P‖Q)值越大,表示P和Q差异越大。

相对熵检测网络入侵的原理:当攻击出现时,当前时段的网络流量分布相较于上一时段的网络流量分布有较大差距,于是相对熵的差会急剧变化,当超出或低于设定的阈值后,就认定攻击发生。

文献[9]基于相对熵的概念,并类比了方差的概念,提出一种归一化相对网络熵(NRNE)。NRNE其实是来自不同属性的所有个体相对网络熵的和求平均。改进的NRNE的优点在于可以同时考虑更多的属性,以便提高检测的精度。文献[11]将相对熵引入会话初始化协议(SIP)网络中,用来反映网络流量中的动态变迁。张登银等[12]对网络流量数据集进行多维分层,划定时间窗口并计算各个分析视图上的相对熵从而判断入侵的发生。

基于信息熵的检测算法往往只能检测出来自多个IP的DoS攻击,一但发起攻击的IP数量非常少,信息熵检测效果较差。而在基于相对熵的检测算法中,任何一个IP的流量变化都会引起整个流量分布的显著变化,所以对以上的两种情况,相对熵检测算法都适用。相对熵检测算法复杂度低,对DDoS、Probe等网络异常流量检测效果较好。不同的攻击类型具有不同的特征属性,这些特征属性在攻击发生时具有一定的内在联系,而相对熵却不能表现出这种联系,所以基于相对熵的检测算法在区分正常的突发性流量和攻击流量方面效果较差。

2.3 基于条件熵和联合熵的入侵检测

信息熵和相对熵理论的应用一般缺少内在相关性的考虑,且特征属性的选择对入侵检测的结果具有很大的影响。条件熵的提出就是为了解决不同特征属性相关性的问题,从而达到提高入侵检测精度的目的。假设有两个概率分布X和Y,它们的联合概率空间为:

(4)

则XY的联合熵为:

(5)

则Y关于X的条件熵为:

(6)

由式(5)和式(6)得到Y关于X的条件熵为:

H(Y|X)=H(XY)-H(X)

(7)

H(Y|X)可以理解为:在X给定条件下,Y的条件概率分布的熵相对于X的数学期望,也可以解释为在已知X的条件下Y的不确定性。即已知H(X)这个信息量,在H(XY)中除去H(X)剩下的信息量就是条件熵H(Y|X)。

例如:合法用户的突发流量对网络的影响,经常会被入侵检测系统当成网络中发生了DDoS攻击。在被DDoS攻击的网络中的,攻击者将源IP地址改为随机生成的伪IP地址,使得网络中的源IP地址比正常网络状态下的源IP地址更加分散。在路由稳定性原理中,固定的路由跳数(TTL值)对应的源IP地址不易变化。所以当网络存在DDoS攻击时,数据包经过的路由跳数(TTL值)基本不变,但由于伪造源IP地址使得源IP地址的分布更加分散了,那么关于TTL的源IP地址的条件熵值会变大,从而更易判断出入侵。因此,基于TTL的源IP条件熵检测方法对比传统的流量检测方法在区分DDoS攻击和合法用户的突发流量上效果更好。

文献[13]提出了一种基于加权条件熵的检测方法,在现有条件熵理论基础上,选取具备内在相关性的网络特征属性,将属性变量的主观意义和实际价值作为度量标准,根据不同事件产生的影响来为这个事件赋予不同的权值。加权熵的引用可以放大重要属性的熵值来提高检测的灵敏性。崔锡鑫等[14]通过实验对比基于信息熵的异常流量检测和基于联合熵的异常流量检测,发现由于联合熵是根据攻击特性选取数据包数和连接数作为分析对象,这是一种针对DoS攻击的检测策略,而基于联合熵的异常流量检测结果更加精确。

用单一特征属性作为检测的标准,准确率很低,而条件熵可以反映某种属性不变的条件下,另一种属性分布的情况,直观地体现出它们的内在联系,对于端口扫描和非法访问等攻击手段和未知攻击方面有良好的识别效率。但选择更有效的特征属性会对入侵检测的性能和效率有极大的提升,所以根据不同的攻击类型选择不同的特征属性将是条件熵检测算法的一个难点。

2.4 基于活跃熵的入侵检测

基于活跃熵入侵检测算法的模型定义如下:整个网络系统包含n台主机,设为S={s1,s2,…,sn},每台主机的一次交互动作记作一个动作单元v。当系统内主机和系统外主机有交互动作时,动作单元v的变化如下:系统外主机访问系统内主机时,v值加1,系统内主机访问系统外主机时,v值减1。经过n次动作后,系统的状态序列的集合定义为U={μ1,μ2,…,μn},则活跃度集合定义为A={a1,a2,…,ak},其中ai表示系统经过一定的时间后,状态μi出现的次数。用概率Pi可以表示状态μi出现的概率,那么可以定义出相关各状态的活跃度概率集合P={P1,P2,…,Pk}。结合信息熵理论,则活跃熵的定义如下:

(8)

当某一节点主机的重要服务突然停止或这台主机遭到攻击时,其他主机对该主机访问却无法应答报文的数量会急剧地增加。这样会使系统产生大量的奇异状态,动作单元v值一直增加,致使活跃熵值发生突变。

刘衍珩等[16]基于活跃通信理论将网络会话间的相关性和信息熵理论结合。用活跃熵来检测DoS攻击,与基于信息熵的入侵检测方法相比,误报率更低,检测率更高。文献[17]用活跃熵理论对Web模型进行检测,通过截获HTTP协议的数据包,并在协议头中提取关键数据,例如GET、POST请求参数,最后对提取数据的活跃熵值进行计算分析。通过实验证明,它只对特定的Web攻击如SQL注入、DoS攻击和暴力破解密码等有效,对XSS、CSRF、文件上传漏洞等方面检测能力不足。穆祥昆等[18]根据网络流量大小来控制流窗口区间的大小,对进出系统的数据流统计后生成NetFlow记录数据,并对进和出两者的统计数据进行活跃熵的计算,从而判断异常流量。

基于活跃熵的入侵检测方法是在流层面进行操作的,对比基于学习模型的检测方法,它无需进行大量的特征训练,提升了整体流量指标下检测的效率,适用于分析整体流量概念下对大流量异常的检测,同时对于新出现的DoS变种攻击也能有效检测。但这种方法对于XSS、CSRF、文件上传漏洞等方面的检测还有欠缺。

2.5 熵值理论与其他算法结合的入侵检测

运用机器学习、数据挖掘等算法来进行熵的入侵检测研究的例子也非常多。文献[26]利用EWMA控制图理论对时间序列的熵值进行检测和异常的筛选,并利用行为特征向量对三种网络攻击进行分析和表征,进行攻击识别,最后,提出了一种基于特征相似性的攻击识别方法。文献[27]将时间数据的离群点检测问题重新表述为基于熵和时间序列动态时间翘曲的加权聚类问题,并通过一个新的成本函数优化问题来检测异常值。文献[28]提出了一种新的DDoS攻击检测模型,将Takagi-Sugeno-Kang模糊系统方法和累积和(CUSUM)检测方法应用于时间序列熵值的计算,检测灵敏度高,鲁棒性好。文献[29]对初始聚类中心的选择进行优化,并将信息熵与改进K-means算法进行融合,自动确定聚类数量,输出稳定的聚类结果。经过主成分分析预处理后,改进的K-means的对异常检测的适应性和精度更好,非常适用于移动网络的异常检测。

2.6 基于其他熵值理论的入侵检测

除了以上的熵值理论研究,还有更多新的基于熵值理论的入侵检测方法被提出。文献[30]将Renyi交叉熵方法应用于信息熵向量检测网络攻击。李向军等[31]将邻域关系概念引入直推式入侵检测中,用相对邻域的信息熵取代原本的特征向量距离,并提出一种抗噪性能强的TCM-RNE异常检测算法来降低误测率。文献[47]提出了一种新的潜在拉普拉斯最大熵辨识方法(LatLapMED),该方法利用EM算法结合几何熵最小化原理识别统计异常,并利用最大熵判别原理结合效用标签来识别异常。

2.7 常见基于熵入侵检测方法的优缺点汇总

常见的基于熵入侵检测方法的优缺点,如表1所示。

表1 常见基于熵入侵检测方法的优缺点

续表1

3 结 语

本文探讨了入侵检测的分类并简述了传统的入侵检测方法在网络安全领域内的应用,分析了入侵检测系统使用的各方法的缺点和不足。强调了基于熵值理论的入侵检测系统的优势,即可以比传统的入侵检测系统在流量分析方面得到更精细的结果。最后总结了基于不同熵值的入侵检测研究,并归纳出它们相对应的文献研究。

虽然基于熵值理论的入侵检测具有实时性高、敏感性高、误报率低等特点,但现有研究工作还存在以下问题:(1) 基于熵值的入侵检测一般应用于大规模的IP骨干网络中,对小规模网络或其他网络类型的适用性不强;(2) 选取不同的特征属性将对基于熵的入侵检测的准确率和效率产生显著影响,需要根据不同的攻击类型,选择合适的特征属性;(3) 各种熵值算法的效率需要进一步提升,一些阈值的计算不够精确;(4) 对于未知攻击的异常流量识别效率不高,需要进一步改进。这些问题也是基于熵的入侵检测邻域未来研究的方向。

猜你喜欢
网络流量信息熵IP地址
大数据驱动和分析的舰船通信网络流量智能估计
基于信息熵可信度的测试点选择方法研究
基于双向长短期记忆循环神经网络的网络流量预测
近似边界精度信息熵的属性约简
一种用于敏感图像快速加密的图像注入技术仿真
基于信息熵的承运船舶短重风险度量与检验监管策略研究
信息熵及其在中医“证症”关联中的应用研究
《IP地址及其管理》教学设计
计算机的网络身份IP地址
轻松明白网络IP地址以及子网划分问题