半监督流形正则化算法检测应用层DDoS攻击研究
康松林1,樊晓平1, 2,刘楚楚1,李宏1,安隆熙1
(1. 中南大学 信息科学与工程学院,湖南 长沙,410083;
2. 湖南财政经济学院 网络化系统研究所,湖南 长沙,410205)
摘要:现有的应用层分布式拒绝服务(DDoS)攻击检测方法都是基于用户浏览行为特征的统计来区别正常用户与非正常用户,因为要进行高层协议解析和深度数据包处理,所需计算的时间长,空间复杂度高,所以,实现在线检测面临极大困难。针对小样本应用层Web DDoS攻击,提出半监督流形正则化检测方法。首先,在1个时间窗口内以IP地址或域名为标识,将过滤后的Web日志映射到1个14维的特征空间以描述用户的访问行为;其次,采用半监督流形正则化的Laprls最小二乘法对此特征空间中小样本数据进行分类预测以区分正常用户与非正常用户;最后,在少量标记样本的适应性和未标记样本的学习2个方面,分别通过实验和其他算法进行对比。研究结果表明:所提出的算法在检测Web DDoS攻击方面比支持向量机、最小乘方二乘法、K-NN算法具有更高的分类正确率,说明半监督流形正则化的Laprls最小二乘法算法对检测小样本Web DDoS攻击具有较好的实用性。
关键词:Web DDoS攻击检测;半监督流形正则化;小样本;Laprls最小二乘法
中图分类号:TP393.08 文献标志码:A 文章编号:1672-7207(2014)12-4232-07
Research on semi-supervised manifold regularization algorithm to detect application layer DDoS attack
KANG Songlin1, FAN Xiaoping1, 2, LIU Chuchu1, LI Hong1, AN Longxi1
(1. School of Information Science and Engineering, Central South University, Changsha 410083, China;
2. Lab. of Networked Systems, Hunan University of Finance and Economics, Changsha 410205, China)
Abstract: The existing detection methods of application layer of distributed denial of service (DDoS) attack are based on the statistical characteristic of user browsing behavior to distinguish the abnormal user and normal users, and because the calculation time and space complexity of high-level protocol parsing and deep packet processing are very high, it is very difficult to realize online detection. Aiming at the small samples of Web DDoS attacks, a semi-supervised manifold regularization detection method was proposed. Firstly, Web log was filtered into a 14 dimensional feature spaces according to IP address or domain name within a time window to describe the user’s access behavior. Secondly, Laprls least-square algorithm based on semi-supervised manifold regularization was designed to classify the small sample data in the feature space so that the abnormal user could be distinguished from normal users. Finally, through the experimental analysis, the algorithm was contrasted with other algorithms in terms of adaptability of small samples and usage of unlabelled samples. The results show the proposed algorithm has higher classification accuracy compared with other algorithms such as SVM, RLS and K-NN in terms of Web DDoS attack detection, which shows that a semi-supervised manifold regularization of Laprls least-square algorithm has better practicability for detecting Web DDoS attack.
Key words: Web DDoS attack detection; semi-supervised manifold regularization; small sample; Laprls least squares
随着网络技术日新月异的发展,网络安全遭受着越来越大的威胁。其中,分布式拒绝服务攻击(DDoS)是当今网络安全的最大威胁之一。DDoS攻击分为网络层DDoS攻击和应用层DDoS攻击。应用层DDoS攻击具有低速率、合法报文和标记样本获取难等特点,因此,比传统的网络层DDoS攻击更具隐蔽性和破坏力。应用层DDoS攻击主要针对Web,DNS以及SMTP 3类服务,其中针对Web应用的攻击占据应用层DDoS攻击的61%,Web网站服务器是应用层DDoS的首要攻击目标。近年来,对于Web DDoS攻击的检测技术不断涌现,从总体上分为2种:第1种是根据用户浏览行为的统计特征来区分攻击流和正常流。如Giralte 等[1]提出了对Web服务器的请求路径和访问时间等特征,Devi等[2]提出了平均访问时间、网页请求序列等特征,他们都通过比较正常用户与异常用户的上述特征统计量来达到检测攻击目的。类似地,王风宇等[3]提出的Web群体外联行为以及Jeyanthi等[4]提出的网络流量信息熵等都属于这一种。这种基于用户浏览行为统计特征的方法取得了很好的效果,但这种单一的统计特征很难应付现今复杂多变的攻击形式。第2种是基于机器学习的异常检测方法。如Kumar等[5]用神经网络方法对日志记录进行有监督的分类;Stevanovic等[6]分别用2种无监督学习算法SOM以及modified ART2对网络日志记录进行分类。因为机器学习具有很好的智能性,使得基于有监督学习和无监督学习算法应用于应用层DDoS攻击检测格外引人关注。但在实际网络环境中,获得大量的有标记的网络信息较困难,需要投入大量人力和物力,并且有监督学习算法并没有利用到数据集的内在几何分布结构,因此,训练出来的分类器很难具有很强的泛化能力。而无监督学习算法虽然训练样本较容易获得,但它又未利用到标记信息的宝贵信息,这对训练效果产生不利影响。近年来出现了不少半监督学习方法,如阳时来等[7]提出一种基于半监督GHSOM的入侵检测方法,该算法利用少量有标签的数据指导大规模无标签数据的聚类过程,与无监督的GHSOM算法相比,具有较高的检测率。半监督学习方法主要包括generative models、自训练方法、直推学习、半监督流形学习等。其中,半监督流行学习由于受到谱图聚类[8]和图结构化核迅速发展的影响,在学界受到了广泛关注。半监督流形学习算法可以由正则化框架[9-10]来描述。对已辨识样本的损失函数加上光滑正则项,使整个图的标识尽可能光滑。这种学习算法能够挖掘数据的内在结构,使判决函数更加精确,可以达到更好的分类效果。在实际的网络环境中,用于应用层Web DDoS攻击检测的训练数据集是大量原始未标记的样本,人工标记的样本只占很少一部分,因此,本文提出用半监督流形正则化算法检测Web DDoS攻击。
1 相关工作
1.1 半监督流形正则化
数据分类时,获取足够多且有质量保证的标记样本需要花费大量人力和时间。在少量标记样本的基础上挖掘大量未标记样本中宝贵的有效信息则成为数据分类的关键。小样本的学习问题使得半监督学习倍受青睐。半监督学习是基于有监督学习和无监督学习的机器学习算法。未标记样本能提供的仅仅是有关边缘分布的知识,若这部分知识与目标问题不相关,则引入未标记样本不会带来实际帮助。事实上,所有半监督学习算法都直接或间接地通过某种模型假设来建立未标记样本与目标问题的联系。本文作者基于平滑假设和流形假设提出一种基于图的半监督算法——流形正则化。
流形正则化用加权邻接图表示数据的局部几何特性,图的节点表示样本,边的权重则反映样本的相似度信息。样本间的距离通过图上的最小路径得到[11-12]。直观地讲,样本的条件分布在数据的邻接图上变化平缓,在具体实现中往往用基于图的正则项修正其在图上的不平滑性。
给定1个Mercer Kernel,它对应1个再生希尔伯特空间(RKHS)HK。其中,HK的元素是的函数,将该空间内的模记为。这样,在边缘分布未知的情况下,给定l个标记样本和u个未标记样本。Belkin等[9]提出用如下方法估计未知函数:
(1)
其中:V为损失函数,如正则化最小二乘法采用的是平方损失即,支持向量机采用的是hinge损失即等;Wij是数据连接图的边权重,和L是由给出
的拉普拉斯算子;D是1个由组成的对角矩阵;归一化系数是拉普拉斯算子经验估计时
自然放缩参考值。
1.2 拉普拉斯正则化最小二乘法
正则化最小二乘法(RLS)是由Rifkin等[13]提出的一种基于二次损失函数的正则化网络。与SVM相比,计算简单,分类效果与SVM差不多[14-15]。而Laprls其实是在RLS的基础上引入流形正则项得到的半监督学习框架。给定l个标记样本和u个未标记样本,拉普拉斯正则化最小二乘法则解决的是以下优化问题[9]:
(2)
式(2)中第1项的作用是要求f在标注数据上的预测值与真实值尽可能地接近;第2项的作用是要求函数f在流形结构上尽可能地平滑,也就是说需要邻近的数据的类编号要尽可能一致;第3项的作用是要求函数f反映数据空间的内在几何结构。
根据Representer Theorem定理[9],可以得到1个l+u维变量的凸可微目标函数:
(3)
其中:K为基于标记和未标记点的维的格拉姆矩阵;Y为(l+u)维的标签向量,;J为1个对角全由1和0组成的对角矩阵,。根据文献[9],解得
(4)
2 Web DDoS攻击检测
2.1 Web DDoS攻击检测流程图
基于半监督流形正则化的小样本Web DDoS攻击检测方法分为2步:第1步,在1个时间窗口内以IP地址或域名为标识,将过滤后的Web日志映射到1个14维的特征空间以描述用户的访问行为;第2步,采用Laprls最小二乘法对小样本数据进行分类预测以区分正常用户与非正常用户。具体流程如图1所示。
2.2 Web日志中用户行为特征提取
网站日志是记录Web服务器接收处理请求以及运行时产生错误等各种原始信息的文件。网站日志蕴含着大量的访问信息,但若直接用于构造数据集进行分类预测,则会造成时间和成本浪费。下面研究如何在服务端的网站日志中提取有效的特征来描述用户的访问行为,以区分攻击用户和合法用户。
图1 Web DDoS攻击检测流程图
Fig. 1 Flow chart of Web DDos detection
在网站日志中,每条记录代表1次用户的访问行为。而用户的1次点击行为可以造成网站日志中的多条记录,如鼠标仅点击1次,浏览器却发出很多HTTP GET请求,包含主页面的对象请求和嵌入式对象的请求(包括各种gif,jpeg,js,ico和CSS等)。因此,首先要把这些嵌入的对象过滤,将访问的主页面对象取出来。主页面一般是以/,htm,html和shtml等结尾的静态页面的URL,以及以.asp,jsp,.cgi,.php和.peri结尾或者较长且包含符号“? ”的动态页面URL。
在过滤掉冗余的嵌入式对象请求后,网络日志仍然不能直接用于建模分析。这是因为过滤掉的仅仅是用户1次点击所产生的冗余信息,而用户的1次浏览行为中只有1次点击的很少,所以,刻画用户的访问行为不能以单次点击作为1个示例进行研究。为此,本文提出在1个时间窗口内以IP地址或域名为标识,分析用户行为特征,将过滤后的网站日志投射到1个14维的特征空间以描述用户的访问行为。特征属性如表1所示。
通过对用户行为特征的提取,把每条原始日志信息变为1个14维的矩阵,其中:1~13列为提取的用户行为特征;14列为标签属性。通过特征提取后的数据集可以直接用于分类预测,为Laprls最小化二乘法检测应用层Web DDoS攻击奠定了基础。
2.3 流形正则化攻击检测算法
输入: Web日志用户行为特征矩阵样本,其中,有标记样本 ,未标记样本。
表1 特征属性
Table 1 Feature attributions
输出:估计函数;
步骤1:使用节点构造数据邻接图。选择边权重Wij。即若xi为xj 的邻居结点,则Wij=1 ,否则Wij=0。
步骤2:计算Gram 矩阵。其中核函数为。
步骤3:计算图拉普拉斯矩阵: (其中D为额外的附加矩阵,由给出)。
步骤4:经验选择正则化参数和,根据式(4)计算。
算法利用少量标记样本和大量未标记样本一起参与图的建立,进而用图来逼近流形。由于流形假设高维的数据位于低维的流形上,利用流形可以帮助寻找高维数据空间内隐含的光滑低维流形和挖掘数据的内在结构得到更精确的判决函数[16]。此外,一个单核的SVM分类器[17]对于处理多源或多属性复杂数据集可能是无效的。而多个内核可以对应多个不同源的信息或相似性等概念,同时可以表现不同特征之间的差异。因此,扩展了LapSVM到多核的场合[18],即拉普拉斯算子的多内核学习,提高更复杂数据的半监督分类能力。算法根据判决函数对测试样本集进行判决分类,以区分正常用户与非正常用户,达到更好的分类效果。
3 实验结果与分析
3.1 实验数据集与Web DDoS攻击仿真
实验正常用户记录来自于真实的ClarkNet-HTTP 数据集,该数据集记录了美国马里兰州埃利科特城英特网服务提供商ClarkNet的正常用户访问数据。记录时间跨度为14 d,共有3 328 587条记录。数据格式为网站日志。
由于ClarkNet-HTTP 数据集数据量巨大,因此,将时间窗口设置为1 h并截取其中21 459条用户访问记录,通过对干扰请求对象过滤后提取3 423条页面请求记录。
将攻击工具产生的攻击数据与从真实数据集提取出来的3 423条记录混合形成Web DDoS攻击检测数据集。将这个数据集根据表1中的特征映射到14维向量空间得到包含1 395条正常用户记录和4 000条攻击用户记录的数据集。仿真程序开发平台采用Visual Studio 2008 C#。
实验仿真了4种常见的应用层Web DDoS攻击:
1) 单URL重复攻击,以固定或者随机速率反复请求单一页面。
2) 多URL重复攻击,以固定或者随机速率请求多个不同的页面。
3) 基于页面链接的随机选择,扫描网站的所有页面,以固定或者随机速率随机地请求网站中的页面。
4) 会话重放DDoS攻击,攻击者通过周期性模仿正常用户浏览过程发送恶意请求。
3.2 特征选择合理性验证
实验采用朴素贝叶斯概率分类算法、贝叶斯网络概率分类算法和C4.5决策树分类算法来评价提取的特征是否合理。评价指标使用总体准确率、检出率和误检率。定义:
(5)
(6)
(7)
其中:η1为总体准确率;η2为检出率;η3为误检率;a11为本属于攻击用户被正确预测为攻击用户的样本数量;a12为本属于攻击用户被错误预测为合法用户的样本数量;a21为本属于合法用户被错误预测为攻击用户的样本数量;a22为本属于合法用户被正确预测为合法用户的样本数量。表2所示为实验结果,其中序号1为单URL重复攻击,序号2为多URL重复攻击,序号3为基于页面链接的随机选择攻击,序号4为会话重放DDoS攻击。
从表2可以看出:这3种分类器对这4种攻击的检出率都为1,即能够完全检测出这4种攻击,说明本文所提出的检测方法能够很好地区分合法用户与这4种攻击类型的非法用户;但同时对每一种攻击的检测都存在少量误检。这是由于应用层DDoS攻击模拟正常用户的访问行为,导致分类器错将该类型攻击用户分为合法用户。
表2 4种应用层DDoS攻击检测结果
Table 2 Test results of four types of DDoS attack on application layer
3.3 不同标记样本数的比较
为了评价Laprls最小二乘法在检测Web DDoS攻击时对于少量标记样本的适应性,实验针对训练样本中不同标记样本数目,将Laprls算法与RLS,SVM和K-NN这3种算法进行对比。实验中,训练样本为1 000条,测试样本为1 000条。其中训练样本中由标记样本和未标记样本组成,标记样本数量为,剩余为未标记样本,测试样本全为未标记样本。每次实验循环20次求平均值。邻接图的紧邻个数n为6,
,核函数为rbf,核半径为0.5。实验结果如表3所示。
从表3可以看出:在只有极少数标记样本,例如标记样本数为2,4,8时,Laprls的正确率仍在80%以上,而其他几种算法的正确率却低于68%;随着标记样本数量的增加,各种算法的正确率都有所增加,但在这种少量标记样本的前提下,SVM,RLS和K-NN的正确率还是大大低于Laprls的正确率。随着标记样本的增加,SVM和RLS的正确率波动比较明显,而Laprls的变化比较平缓。这是因为SVM和RLS依赖于对标记信息的学习,因此,随着标记数目的变化,正确率有明显浮动;而对于半监督的Laprls最小二乘法,既可以利用无标记样本又可以利用有标记样本学习。因此,在小样本情况下,Laprls算法有很高的的正确率,同时也具有很好的鲁棒性。
表3 不同标记样本数时各检测算法的正确率
Table 3 Correct rate of algorithms for different number of labelled samples %
3.4 相同标记样本与不同未标记样本的比较
为了验证不同算法对未标记样本的学习利用情况,在实验中保持标记样本数量不变,不断增加未标记样本数量,观察不同算法在未标记样本增加的情况下正确率的变化情况。实验中保持训练样本中标记样本数量为10不变,未标记样本从200到500,每50增加1次。每次实验循环20次求平均值,实验结果如图2所示。
从图2可以看到:在相同标记样本数、不同未标记样本数的情况下,Laprls的正确率有所提高,而RLS,SVM和K-NN这3种算法的正确率在小范围内有所波动。因为RLS和SVM是利用有限的标记样本进行学习,而当标记样本数目不变时,对RLS和SVM的影响不大。但标记样本占总样本的比例有所变化,因而,这3种算法的正确率会有所影响,在小范围内波动。而对于Laprls算法,虽然标记样本没有变化,但随着未标记样本的增加,正确率也有所增加。这是因为基于Laprls最小二乘法的半监督算法可以利用未标记信息学习数据内部的几何结构,从而对训练样本有更深层次的挖掘和学习。Laprls正确率的提高并非随着未标记样本数目的增加而呈线性变化,因为流形正则化用加权邻接图表示数据的局部几何特性,尽管采用正则项对边的不平滑性做了修正,但是不平滑性仍然存在,所以,正确率出现波动性增加。由于样本噪声的存在,在标记样本与未标记样本比例小于10:400时,正确率呈缓慢下滑趋势。
综合以上3个实验可见:半监督Laprls最小二乘法在小样本下可以获得很好的分类效果,可以利用更内在的信息达到区分正常用户与非正常用户的目的,适合于Web DDoS攻击检测。
图2 未标记样本增量实验各算法的正确率比较
Fig. 2 Comparison of correct rate of different algorithms for unlabelled samples incremental experiment
4 结论
1) 提出了一种基于半监督流形正则化的小样本Web DDoS攻击检测方法。该方法在对原始Web日志进行用户行为特征提取的基础上,利用少量的标记样本进行学习的同时,利用大量无标记样本,挖掘数据的内在结构,使判决函数更加精确,达到区分正常用户与非法用户的目的。
2) 在少量标记样本的情况下,Laprls最小二乘法比支持向量机(SVM)、最小乘方二乘法(RLS)和K-NN具有更好的分类效果。在现实网络环境中,这给获取标记样本需要付出很大代价的Web DDoS攻击检测问题提供了解决方案。
3) Laprls最小二乘法的正则化参数对于检测的影响以及如何提高检测实时性等有待进一步研究。
参考文献:
[1] Giralte L C, Conde C, Diego I M, et al. Detecting denial of service by modelling web-server behaviour[J]. Computers and Electrical Engineering, 2013, 39(7): 2252-2262.
[2] Devi S R, Yogesh P. A hybrid approach to counter application layer DDOS attacks[J]. International Journal on Cryptography and Information Security (IJCIS), 2012, 2(2): 45-52.
[3] 王风宇, 曹首峰, 肖军. 一种基于Web 群体外联行为的应用层DDoS 检测方法[J]. 软件学报, 2013, 24(6): 1263-1273.
WANG Fengyu, CAO Shoufeng, XIAO Jun. Method of detecting application-layer DDoS based on the out-linking behavior of Web community[J]. Journal of Software, 2013, 24(6): 1263-1273.
[4] Jeyanthi N, Iyengar N C H. An entropy based approach to detect and distinguish DDoS attacks from flash crowds in VoIP networks[J]. International Journal of Network Security, 2012, 14(5): 257-269.
[5] Kumar P A, Selvakumar S. Distributed denial of service attack detection using an ensemble of neural classifier[J]. Computer Communications, 2011, 34(11): 1328-1341.
[6] Stevanovic D, Vlajic N, Aijun A. Detection of malicious and non-malicious website visitors using unsupervised neural network learning[J]. Applied Soft Computing, 2013, 13: 698-708.
[7] 阳时来,杨雅辉,沈晴霓,等.一种基于半监督GHSOM的入侵检测方法[J].计算机研究与发展, 2013, 50(11): 2375-2382.
YANG Shilai, YANG Yahui, SHEN Qingni, et al. A method of intrusion detection based on semi-supervised GHSOM[J]. Journal of Computer Research and Development, 2013, 50(11): 2375-2382.
[8] Chapelle O, Weston J, Schlkopf B. Cluster kernels for semi-supervised learning[J]. Advances in Neural Information Processing Systems, 2003, 15(5): 585-592.
[9] Belkin M, Niyogi P, Sindhwani V. Manifold regularization: A geometric framework for learning from labeled and unlabeled examples[J]. Journal of Machine Learning Research, 2006, 7: 2399-2434.
[10] Zhou D, Bousquet O, Lal T N. Learning with local and global consistency[J]. Advances in Neural Information Processing Systems, 2004, 16(3): 321-328.
[11] Yang T, Dongmei F. Semi-supervised classification with Laplacian multiple kernel learning[J]. Neurocomputing, 2014, 140(22): 19-26.
[12] Chapelle O, Zien A. Semi-supervised classification by low density separation[C]//Proceedings of the Tenth International Workshop on Artificial Intelligence and Statistics.Bridgetown. Barbados, 2005: 57-64.
[13] Rifkin R M, Yeo G, Poggio T. Advances in Learning Theory: Methods, Model and Applications[M]. Amsterdam: IOS Press, 2003: 68-103.
[14] Poggio T, Smale S. The mathematics of learning: Dealing with data[J]. Notices of the American Mathematical Society, 2003, 50(5): 537-544.
[15] Zhang P, Peng J. SVM vs. regularized least squares classification[C]//17th International Conference on Pattern Recognition. New Orleans, USA, 2004: 176-179.
[16] 杨林聪, 夏志华. 针对空域LSB 匹配的隐藏信息检测方法[J]. 中南大学学报(自然科学版), 2013, 44(2): 612-618.
YANG Lincong, XIA Zhihua. Steganalytic method based on spatial LSB matching[J]. Journal of Central South University (Science and Technology), 2013, 44(2): 612-618.
[17] 刘卫国, 胡勇刚. 基于SVM和序列联配的攻击特征提取方法[J]. 中南大学学报(自然科学版), 2012, 43(11): 4328-4332.
LIU Weiguo, HU Yonggang. Approach for attack signatures generating based on SVM and sequence alignment[J]. Journal of Central South University (Science and Technology), 2012, 43(11): 4328-4332.
[18] Yang T, Fu D. Semi-supervised classification with Laplacian multiple kernel learning[J]. Neurocomputing, 2014, 140(1): 19-26.
(编辑 陈灿华)
收稿日期:2014-04-20;修回日期:2014-06-22
基金项目(Foundation item):国家自然科学基金资助项目(60773013)(Project (60773013) supported by the National Natural Science Foundation of China)
通信作者:康松林(1968-),男,湖南新化人,博士研究生,副教授,从事网络信息安全研究;电话:13507318876;E-mail:sunkang@csu.edu.cn