APP下载

基于隐半马尔可夫模型的SWIM应用层DDoS攻击的检测方法

2019-09-04马兰崔博花刘轩岳猛吴志军

计算机应用 2019年7期

马兰 崔博花 刘轩 岳猛 吴志军

摘 要:針对广域信息管理(SWIM)系统受到应用层分布式拒绝服务(DDoS)攻击的问题,提出了一种基于隐半马尔可夫模型(HSMM)的SWIM应用层DDoS攻击的检测方法。首先采用改进后的前向后向算法,利用HSMM建立动态异常检测模型动态地追踪正常SWIM用户的浏览行为;然后通过学习和预测正常SWIM用户行为得出正常检测区间;最后选取访问包的大小和请求时间间隔为特征进行建模最后提取请求时间间隔和请求对象为特征模型此处是否应该为建模,因其与3.1节中的“最终选取访问包的大小和请求时间间隔为特征进行建模”的表述不一致?是否需要统一?请明确。若改动中文摘要中的表述,英文摘要处亦作相应修改,用被动句式来表达。,并训练模型进行异常检测。实验结果表明,所提方法在攻击1和攻击2情况下检测率分别为99.95%和91.89%,与快速前向后向算法构建的HSMM相比,检测率提升了0.9%。测试结果表明所提方法可以有效地检测SWIM系统应用层DDoS攻击。

关键词:广域信息管理系统;应用层分布式拒绝服务;隐半马尔可夫模型;SWIM用户行为;安全性分析

Abstract: Aiming at the problem that System Wide Information Management (SWIM) system is affected by Distributed Denial of Service (DDoS) attacks in the application layer, a detection approach of SWIM application layer DDoS attack based on Hidden Semi-Markov Model (HSMM) was proposed. Firstly, an improved forward-backward algorithm was adopted, and HSMM was used to establish dynamic anomaly detection model to dynamically track the browsing behaviors of normal SWIM users. Then, normal detection interval was obtained by learning and predicting normal SWIM user behaviors. Finally, access packet size and request time interval request object为与3.1节中的描述保持一致,request object是否应该为access packet sizewere extracted as feature modelas features for modelingas feature model是否应该为as features for modeling?请明确, and the model was trained to realize anomaly detection. The experimental results show that the detection rate of the proposed approach is 99.95% and 91.89% in the case of attack 1 and attack 2 respectively. Compared with the HSMM constructed by fast forward-backward algorithm, the detection rate is improved by 0.9%. It can be seen that the proposed approach can effectively detect the application layer DDoS attacks of SWIM system.

Key words: System Wide Information Management (SWIM); application-layer Distributed Denial of Service (DDoS); Hidden Semi-Markov Model (HSMM); SWIM user behavior; security analysis

0 引言

随着民航业务的迅速发展,以及信息智能化,实现民航“互联网+”的信息化发展战略,保障航空交通管理的各个单位的信息互通,民航广域信息管理(System Wide Information Management, SWIM)便因此诞生。它的提出为构建新一代空中交通管理(Air Traffic Management, ATM)信息化管理系统奠定了基础,以搭建高效、灵活、统一的数据交互平台为最终目标[1]。SWIM是信息化整合的下一代空中交通管理的核心,它是一个高度集成的大规模网络系统[2]。

SWIM为民航建立高效、灵活、统一的数据交互平台提供了可能[3],但是SWIM系统同样会面临着各种网络攻击的威胁,SWIM系统正常实时地为航空公司、空管局、机场等SWIM用户提供服务显得尤为关键。其中SWIM系统面临最常见的一种安全隐患就是分布式拒绝服务(Distributed Denial of Service, DDoS)攻击。Web服务器常常成为攻击者攻击对象,如损耗SWIM系统的CPU、内存、带宽等资源。DDoS攻击可以产生大量的攻击流量,超过SWIM网络的承受范围,导致SWIM网络性能大幅度下降,影响SWIM系统为用户提供服务,因此,保障SWIM系统的正常运行,基于SWIM系统针对应用层DDoS攻击的检测方法的研究具有重要的理论意义和应用价值。

SWIM作为未来新一代民航管理系统,国内外的专家针对SWIM系统安全方面作出了许多研究。如中国民航大学的吴志军教授对SWIM系统进行了较多的研究,提出一种用于SWIM的支持属性撤销的访问控制方案,保证SWIM系统的信息安全;以及通过对Diameter/EAP-MD5协议的改进,提出了一种SWIM用户身份认证的方法[4-5]。Smith[6]就怎么提高SWIM系统服务质量提出了一种用访问控制的方法,来解决流量拥堵问题。美国专家Stephens[7]基于SWIM网络构建了一个系统安全服务框架,而就SWIM系统应用层DDoS攻击还没有相关专家进行研究分析。

由于SWIM系统没有统一标准,处于研究的阶段,目前还没有专家基于SWIM系统研究应用层DDoS攻击的检测方法。本文主要借鉴普通网络应用层DDoS攻击检测方法,通过对现有方法的改进,结合SWIM系统进行初步的尝试,提出了一种基于SWIM系统的应用层DDoS攻击的检测方法。利用改进后的隐半马尔可夫模型(Hidden Semi-Markov Model, HSMM)建立了一个动态异常检测模型,动态地追踪正常用户的浏览行为,通过学习和预测正常用户的行为得出正常用户检测区间。

1 SWIM系统安全分析

SWIM作为未来民航的信息管理系统,可以便捷地获取基于网络的各种服务,通过把所有的民航信息标准化,转化为以数据和服务为中心,构建一个虚拟的信息池,为SWIM系统的服务提供者以及服务请求者提供了统一的通信平台。SWIM系统在传输模式方面发生了较大的改变,不再是以往的数据直连、网关中介和报文传输三种接口传输方式,而是通过广域信息平台以发布/订阅和请求/响应为传输方式,如图1所示。

通过虚化服务,使架构具有较强的低耦合度,形成了以SWIM系统为核心的共享架构,降低了通信成本,增强了接口管理能力,有利于空管系统之间的通信,提高了信息的利用率[8]。由图1的右图可以看出,SWIM系统的发布/订阅和请求/响应两种数据交换模式是相互独立的。Web服务利用请求/响应的通信方式,Java消息服务利用发布/订阅的通信方式,这两种通信方式都可以分布安装,不受技术和数据不同的约束达到低耦合性;并把Web服务归一化并进行打包实现独立性,同时可以根据实际SWIM需求动态的捆绑,实现SWIM数据的信息共享。两种传输方式应用在不同的场合,相互补充,共同为SWIM系统提供服务。

在SWIM系统中基于Web服务实现面向服务的体系结构(Service Oriented Architecture, SOA),航空数据以可扩展置标语言(Extensible Markup Language, XML)形式进行数据的交换,并使用统一描述、发现和集成协议(Universal Description Discovery and Integration, UDDI)来进行Web服务的注册和搜索,从而实现SWIM系统的松耦合性。SWIM系统中的Web服务通过超文本传输协议(Hyper Text Transfer Protocol, HTTP)来调用它,一般是一个网络服务描述语言(Web Services Description Language, WSDL)文档,SWIM用户可以阅读WSDL文档来使用这个Web服务。在飞机飞行的整个过程中需要SWIM系统的信息时,请求者发出HTTP请求到SWIM Web服务器。Web服务器收到SWIM用户的请求后,再转发给Web服务请求处理器,然后请求处理器对请求进行分析,找到SWIM用户需要的Web服务,并反馈给Web服务器。SWIM Web服务器得到响应后,再通过HTTP响应的方式把它送回到SWIM用户。SWIM Web服务流程如图2所示。

SWIM系统中存在海量的数据,涉及空管、机场以及航空公司等各个部门的重要数据,各种数据的通信都要基于Web服务器的请求/响应机制,因此,SWIM Web服务很容易成为应用层DDoS攻击的目标。应用层DDoS攻击是一种利用高层协议实现的面向Web服务的新型攻击方式,它可以用低速率的请求、少量的攻击节点来穿透基于底层协议的检测系统,达到攻击的目的。

在SWIM系统中信息的传输模式有两种:发布/订阅和请求/响应。它们均是基于Web的应用通过开放的TCP端口为航空用户提供服务,容易遭受应用层DDoS攻击。下面本文以SWIM的请求/响应传输模式为例,研究针对SWIM系统应用层的DDoS攻击的检测方法。

2 SWIM系统应用层DDoS攻击检测方法

飞机从等候滑行、起飞爬升、航迹中和下降落地各个阶段,航空公司、機场、空管局等单位的SWIM用户,他们使用SWIM系统的过程是由许多的HTTP请求/响应构成的。用户的请求频率、请求时间间隔、请求的对象以及请求数据包的大小等,隐藏着SWIM用户的访问行为,因此,对SWIM用户的访问行为进行建模,通过模型来得到正常用户的行为,从而与正常的行为对比来检测应用层DDoS攻击。

2.1 SWIM用户行为

SWIM用户的访问过程用户行为如图3所示。为了便于描述,图3中只列出了部分参考参量并简化了用户的访问过程。其中,参数d为SWIM用户状态的停留时间,ε为SWIM用户的请求时间间隔,O为SWIM用户访问行为的观测序列,S为SWIM用户行为的各个状态。

SWIM用户发出HTTP请求后到达Web服务器,该请求包括源地址、访问时间、访问对象以及访问包的大小等信息,并记录在Web服务器的日志中,因此,日志文件中隐藏着SWIM用户的行为;但是在实际情况下,日志文件并不能很好地反映SWIM用户的行为,首先日志记录通常并不全是SWIM用户点击所产生的,也有可能是SWIM终端自动发出的对内部链接对象的请求;其次,SWIM用户的响应有可能来自SWIM网络中的各级代理服务器以及SWIM用户浏览器的缓存,因此SWIM用户的HTTP请求可能不全部到达SWIM Web服务器,而且SWIM Web服务器不清楚有多少请求在高速缓存中,因此由于SWIM终端以及中间各级代理缓存情况不同,即使完全相同的SWIM用户行为,日志文件记录的HTTP请求序列也会存在区别,所以描绘SWIM用户的全部行为比较困难。从SWIM Web服务器的日志中可以研究SWIM用户的行为。当用户在使用SWIM系统的时候,他的状态停留时间有一定的随机性,所以选择隐半马尔可夫模型来描绘SWIM用户的访问行为。

2.2 隐半马尔可夫模型

在研究利用隐半马尔可夫模型分析SWIM用户行为中,采用了复旦大学的张纯信教授和同济大学唐克双教授等[9-10]复旦大学的Fuh等[9]和同济大学的Tang等[10]文献9的作者确认是复旦大学的Cheng-Der Fuh(中文名字:张纯信);文献10的作者是同济大学的唐克双教授等。标记方法是否改为:复旦大学的Cheng-Der Fuh等[9]和同济大学的唐克双教授等[10]提出的快速前向后向算法,该算法只选了一个观测量来建立隐半马尔可夫模型,为了提高检测的精度,本方法在该算法的基础上扩展为两个观测量来构建隐半马尔可夫模型。在建立模型的过程会用到的很多变量,定义变量如表1所示,对各个参量的含义进行了详细说明。

隐半马尔可夫模型的各个参数:λ=({amτ},{πm},{bm(vk)},{bm(r)},{pm(d)})。隐半马尔可夫模型的各个参数的估计公式如下,具体推导过程参考了复旦大学的张纯信教授和同济大学唐克双教授[9-10]复旦大学的Fuh等[9]和同济大学的Tang等[10]文献9的作者的不是唐,是否是指代错误,请作相应修改。注意文献的依次引用顺序的成果。

在模型中使用对数或然概率和作为度量值, 。其中,F为总的训练集序列的个数,而οTf1为第f个观测序列,通过训练得到正常SWIM用户的正常度量值。

2.3 攻击检测流程

基于构建的隐半马尔可夫模型,进行SWIM用户行为的异常检测,SWIM系统中的检流程如图4所示。

首先是采集SWIM用户的HTTP请求数据,通过预处理SWIM用户请求序列提取观测特征,通过得到的观测序列训练模型,确定隐半马尔可夫模型的参数。当用户访问SWIM系统时,请求数据经过预处理生成观测值,然后通过隐半马尔可夫模型计算或然概率和,计算用户的偏离度(用户行为偏离正常度量值的大小,通过和正常度量值的均值作差求得,该数值为一个正数,当求出是负数时取绝对值),如果在正常的范围内,加入到训练数据集并更新模型的参数,否则判断为异常访问行为。

3 实验及结果分析

本文实验所使用的数据是在民航实际运行信息系统中采集得到的。为了便于对数据进行实验分析,首先将采集得到的数据包进行预处理,通过C语言编程把SWIM用户和请求访问对象映射为唯一的ID。从采集的数据集中抽取两组SWIM用户请求数据,每组大约9000个,分别为数据集1、数据集2。利用NS2平台仿真模拟了Web服务器和60个攻击节点,根据应用层DDoS攻击的原理模拟了泛洪攻击和随机高负载攻击,然后采集攻击数据,分别记为攻击数据集1和攻击数据集2。

3.1 特征分析

由于SWIM系统的特殊性,SWIM系统中各个用户的权限区别度比较大,关注的信息区别度也比较大,如表2所示,为民航系统各个部门的数据信息。模型建立好后,在特征选取方面进行了分析,分别对用户访问对象和请求时间间隔以及用户访问包的大小和请求时间间隔两个特征对进行了分析。

提取的数据经过预处理之后,分别提取特征(两组:数据包大小和请求时间间隔、访问对象和请求时间间隔),经过模型训练后求出对数的或然概率及其分布,如图5~6所示。

从图5可以看出,当选取访问对象和请求时间间隔为特征时,数据集1和数据集2通过模型训练出来的结果分布偏差比较大,而选取访问的包的大小和请求时间间隔为特征训练的结果分布情况基本一致,所以最终选取访问包的大小和请求时间间隔为特征进行建模回复:这是正确的!第一个问题按照这个说法更正!将中文摘要中的用法更换为这个。

3.2 模型应用

首先使用数据集1训练建立的模型,求出隐半马尔可夫模型,然后计算数据集2、攻击数据集1和攻击数据集2的对数或然概率和分布,如图7所示。

由图7可知:最左边的曲线为泛洪攻击(攻击1),可以看出该曲线比较尖锐,因为攻击者发出高频率的请求,所以求出的对数的或然概率和分布会比较聚集;最右边的曲线为随机发出的高负载攻击(攻击2),与正常的SWIM用户访问行为相比,此访问行为缺乏目的性,所以发出的请求是随机的,所以求出的对数或然概率和会比正常的SWIM用户的大,分布在了最右边,也不会同泛洪攻击那样尖锐。从图7中可以看出,对于泛洪攻击和高负载攻击,建立的模型可以很好地检测出这两种攻击。

为了进一步分析建立的模型的性能,对模型训练结果的检测率(Detection Ratio, DR)和誤报率(False Positive Ratio, FPR)进行了分析。通过对该指标的分析得出最佳检测门限。由图8可以看出,泛洪攻击和随机高负载攻击分别位于正常SWIM用户行为的两侧,当区左端间取1.7747时,攻击1泛洪攻击的检测率为99.95%,误报率为5.76%,当区间右端取13.0071时;攻击2随机高负载攻击的检测率为91.89%,误报率为9.91%。综合检测率为95.92%,误报率为7.84%,正常用户检测区间取为(1.7747,13.0071)。可以看出所用模型对随机高负载攻击的检测率较低,主要是因为高负载攻击发出的请求对系统资源的消耗比较大,而在SWIM系统中每天进行着海量数据的通信与交互,两者存在着一定的相似性。

由表3可以看出随着S的取值越来越大,检测率越来越高,误报率越来越低;但是随着S的变大,检测率和误报率的变化趋于平稳,并且状态数越多,模型的计算复杂度也越高,所以综合考虑计算复杂度和检测性能,状态数的选取大概在30左右。

当状态数取30且为泛洪攻击时,对度量值M取不同值进行分析,如图9所示。

通过表4看出:当在区间(1.65,1.85)时,取不同的M值增大,误报率递增,但变化不是很大;检测率呈递增趋势,变化比较大。当M取值为1.7747时,在保证检测率的同时有较低的误报率,是最理想的取值。当在区间(12.5,14)时,取不同的M值,对检测率和误报率的影响程度差不多,检测率和误报率都呈递减趋势;当M取值为13.0071时,在保证检测率的同时有较低的误报率,是最理想的取值。通过以上M值对检测性能的影响分析可知,理想检测区间为(1.7747,13.0071)。

当状态数取30且为高负载攻击时,对度量值M取不同的值进行分析,如图10所示。

中山大学的谢逸等[11]使用了快速前向后向算法构建了隐半马尔可夫模型,分析了单一大型网站的异常行为。该成果提取了请求时间间隔和请求对象为特征,并对训练模型进行了异常检测。这里,将本文研究方法与谢逸等[11]的研究成果进行了比较,结果如表5所示。

通过表5可以看出,本文构建的SWIM应用层DDoS攻击检测模型在检测率和误报率方面和谢逸等[11]的研究成果相比,对于攻击1的检测率较高,虚警率较高,而攻击2的检测率和虚警率都较差。这主要是由SWIM系统的特点决定的,SWIM系统的用户权限非常明确,不同等级不同部门所能访问的信息有所区别,并且关注的信息也有所不同,例如雷达管制员,每天主要关注是监视信息,而对其他SWIM信息关注的可能就比较少,并且大量的活跃用户在访问行为上区别度比较大,难以准确描绘出所有SWIM用户的行为,所以本文选取了更通用的特征,以请求时间间隔和请求包大小为特征建立SWIM应用层DDoS攻击动态检测模型。SWIM用户并不像普通网络用户一样,有时会向Web服务器发出高频率的请求,所以对于攻击1的检测性能会好一些,而谢逸等[11]的研究成果使用的数据是1998年世界杯数据集,是以请求时间间隔和请求对象为特征构建单一大型网站的用户访问行为,用户行为权限是一样的,可以浏览网站上的所有信息,并且单一网站上的大部分网络用户主要是关注世界杯网站的热点信息,用户的行为具有较高的相似度,所以在综合性能方面比本文结果好。

4 结语

本文主要结合SWIM系统进行了初步的尝试,分析了SWIM系统可能存在的安全隐患,基于请求/响应的角度分析SWIM系统中的Web服务器可能存在的攻击,并以应用层DDoS攻击为切入点,提出了一个基于SWIM用户行为的动态检测模型,通过学习和预测正常SWIM用户行为得出最佳检测区间。从实验结果上看建立的模型检测性能较好,可以应用于SWIM系统的应用层DDoS攻击的检测。下一步工作将进一步提高检测率、降低误报率,并将该检测模型嵌入到SWIM Web防火墙中,进一步验证该算法的有效性。对今后SWIM系统的安全保护具有借鉴意义。

参考文献 (References)

[1] MESEROLE J S, MOORE J W. What is System Wide Information Management (SWIM)[J]. Aerospace and Electronic Systems Magazine, 2007, 22(5):13-19.

[2] 李琴,黄海清,陈强.空管新技术-SWIM[J].数字通信世界,2010(5):50-53.(LI Q, HUANG H Q, CHEN Q. Air traffic control technology-SWIM[J]. Digital Communication World, 2010(5): 50-53.)

[3] MOALLEMI M, CASTRO-PENA C A, TOWHIDNEJAD M, et al. Information security in the aircraft access to system wide information management infrastructure[C]// ICNS 2016: Proceedings of the 2016 Integrated Communications Navigation and Surveillance. Piscataway, NJ: IEEE, 2016: 1A3-1-1A3-7.

[4] WU Z J, CUI Z H, WANG C Y, et al. Access control scheme with attribute revocation for SWIM[J]. China Universities of Posts and Telecommunications, 2017, 24(6): 49-54.

[5] 吳志军,赵婷,雷缙.基于改进的Diameter/EAP-MD5的SWIM认证方法[J].通信学报,2014,35(8):1-7.(WU Z J, ZHAO T, LEI J. SWIM authentication method based on improved Diameter/EAP-MD5[J]. Journal on Communications, 2014, 35(8):1-7.)

[6] SMITH T. Quality of service requirements for System Wide Information Management (SWIM)[C]// Proceedings of the 24th Digital Avionics Systems Conference. Piscataway, NJ: IEEE, 2005: 1.A.2-1.1-8.

[7] STEPHENS B. System-Wide Information Management (SWIM) demonstration security architecture[C]//Proceedings of the 2nd Digital Avionics Systems Conference. Piscataway, NJ: IEEE, 2006: 1-12.

[8] 罗喜伶,王珺珺.民航广域信息管理技术[M].北京:电子工业出版社,2017:55-56.(LUO X L, WANG J J. Civil Aviation Wide Area Information Management Technology[M]. Beijing: Publishing House of Electronics Industry, 2017: 55-56.)

[9] FUH C-D, TARTAKOVSKY A G. Asymptotic Bayesian theory of quickest change detection for hidden Markov models [J]. IEEE Transactions on Information Theory, 2019, 65(1): 511-529.

[10] TANG K S, ZHU S F, XU Y Q, et al. Modeling drivers dynamic decision-making behavior during the phase transition period: an analytical approach based on hidden Markov model theory [J]. IEEE Transactions on Intelligent Transportation Systems, 2016, 17(1): 206-214.

[11] 謝逸,余顺争.基于Web用户浏览行为的统计异常检测[J].软件学报,2007,18(4):967-977.(XIE Y, YU S Z. Statistical anomaly detection based on Web user browsing behavior[J]. Journal of Software, 2007, 18(4): 967-977.)

[12] QI M, LU S T. Overview of system wide information management and security analysis [C]// ISADS 2017: Proceeding of the 13th International Symposium on Autonomous Decentralized System. Piscataway, NJ: IEEE, 2017: 191-194.

[13] 赵汨龙,罗喜伶,王忠波.基于SOA的民航广域信息管理架构的研究与设计[J].计算机技术与发展,2016,26(2):95-100.(ZHAO M L, LUO X L, WANG Z B. Research and design of civil aviation wide area information management architecture based on SOA[J]. Computer Technology and Development, 2016, 26(2): 95-100.)

[14] TSAI W T, PAUL R, WANG Y M, et al. Extending WSDL to facilitate Web services testing[C]// Proceedings of the 7th IEEE International Symposium on High Assurance Systems Engineering. Piscataway, NJ: IEEE, 2002: 171-172.

[15] 尚波涛,祝跃飞,陈嘉勇.一种应用层分布式拒绝服务攻击快速检测方法[J].信息工程大学学报,2012,13(5):601-609.(SHANG B T, ZHU Y F, CHEN J Y. Method for quickly detecting application layer distributed denial of service attack[J]. Journal of Information Engineering University, 2012, 13(5): 601-609.)