一种基于逻辑回归的应用层DDoS攻击检测方法与流程

文档序号:13808216阅读:601来源:国知局
一种基于逻辑回归的应用层DDoS攻击检测方法与流程

本发明涉及计算机网络安全领域,具体的说是一种应用层ddos攻击检测方法。

技术背景

早期的ddos攻击方式基于网络层次,攻击者大多利用网络层协议漏洞发起攻击,如synflood、icmpflood等向目标主机发送大量的数据包造成洪水式攻击致使主机瘫痪。目前由于网络层协议不断完善,以及对此类攻击检测技术成熟,大多目标主机能够检测并过滤此类攻击流。攻击者为了能有效再次实施攻击,采用一种针对应用层的ddos攻击,其具有隐蔽性强,攻击效果显著等特点。攻击者利用僵尸机的真实ip与服务器建立tcp连接发出合法请求,能够避开服务器防火墙的检测,并不断请求服务器资源,最终服务器无法承载高负荷的请求导致宕机。

针对应用层ddos攻击的检测技术越来越受到重视,而传统的检测方法存在较高的误报率、较低的检测率,以及较高的计算复杂度等问题制约了应用层ddos攻击检测的有效性。因此,本发明提供一种轻量级二分类模型的检测方法,检测精度有了很大的提升,同时减少了检测所耗费的时间。



技术实现要素:

本发明的目的是提供一种轻量级、实用性强、基于逻辑回归的应用层ddos攻击检测方法。该方法通过量子粒子群优化算法求解逻辑回归模型的参数,提高了参数的求解精度,同时减少了求解参数的时间。使用建立好的逻辑回归模型对访问服务器的用户进行预测,得到访问用户的类别,从而能够检测到应用层的ddos攻击用户。为实现上述目的,本发明采用以下技术方案:

一种基于逻辑回归的应用层ddos攻击检测方法,包括以下步骤:

步骤(1):以访问用户的ip地址为标识,提取用户访问行为的特征集,用(x(i),y(i))表示访问用户特征集,i是第i个用户,x是用户的一组特征;y是用户的类别,取值是0和1;

步骤(2):计算用户的逻辑回归函数值:在用户特征x已知的条件下求解y=1的概率,即是该用户的逻辑回归函数值p(y=1|x)=1/(1+exp(-θtx)),其中θ为逻辑回归函数的参数,记逻辑回归函数表达式为h(θtx);设每个用户被标记0或1的概率为p(y|x,θ),建立逻辑回归模型;

步骤(3):根据逻辑回归模型得到最大似然函数l(θ),逻辑回归模型的损失函数就是最大似然函数的相反数,记损失函数的表达式为loss(θ),其中θ是损失函数的唯一变量,也是逻辑回归模型待求解的参数;

步骤(4):以损失函数作为目标函数,采用量子粒子群优化算法对目标函数进行求解得到逻辑回归模型的参数θ*,使得损失函数的目标值最小;

步骤(5):使用求解后的逻辑回归模型对未标记的用户特征进行预测,得到该用户的类别。

优选地,步骤(1)中,用户访问特征为从一个时间窗口的用户访问集中提取用户的八元特征,八元特征分别如下:用户访问的次数、用户访问不同的页面数、用户请求间隔的平均值、用户请求页面的字节总数、用户访问的持续时间、用户请求的平均字节数、用户请求url层级数的变化程度、用户请求间隔的熵值,共八个特征。

步骤(5)中,使用逻辑回归模型对未知的访问用户进行预测的方法为:针对未标记的访问用户的八元组特征,求解h(θtx)的逻辑回归函数值,当求得的逻辑回归函数值大于0.5时,将该访问用户标记为攻击用户,反之标记为正常用户。

本发明由于采用以上技术方案,其具有以下优点:

本发明采用机器学习中逻辑回归模型对访问的用户进行检测。逻辑回归模型相对于马尔可夫模型、大偏差统计模型、随机游走模型等传统模型,具有模型简单、可泛化等优点。在建立模型时能够很大的程度减小系统的开销,在检测时能够以更短的时间获得访问用户的类别。与此同时,本发明采用量子粒子群优化方法取代了传统的牛顿法来求解逻辑回归模型的参数,由于量子粒子群优化方法具有快速收敛和全局寻优的能力,缩减了逻辑回归模型建立的时间,同时更加准确的求解模型参数,提高了对攻击检测的精度。

为了更好的验证本方法的有效性,我们与传统的牛顿法求解逻辑回归模型的方法进行对比。在仿真条件一致的情况下,本方法具有较高的检测率、较低的误检率以及建立模型的耗时程度与训练样本数量之间为线性关系。因此,可以证明本发明具有较好的检测效果。

附图说明

图1是应用层ddos攻击的检测流程图。

图2是不同的模型求解方法对应用层ddos攻击的检测率柱状图。采用不同的参数求解方法得到逻辑回归模型,分别对测试样本进行检测,得到的检测率列于柱状图中。其中,qpso-logistic使用量子粒子群优化算法求解逻辑回归模型,newton-logistic使用牛顿法求解逻辑回归模型。

图3是不同的模型求解方法对应用层ddos攻击的误检率柱状图。

图4是不同的求解方法训练逻辑回归模型消耗时间的关系图。

具体实施方式

下面通过具体实施例和附图对本发明作进一步的说明。本实例仅限于说明本发明的一种实施方法,不代表对本发明覆盖范围的限制。

本发明一种基于逻辑回归的应用层ddos攻击检测方法,具体的实现过程描述如下:

第一步,获取应用层服务器的访问日志,对得到的日志进行数据清洗。

设置滑动时间窗口为1个小时,得到1个小时以内的用户访问日志,然后对得到的日志集进行数据清洗。这样做的目的是去掉冗余的访问记录。用户在点击一次页面时,同时会请求页面中内嵌的静态资源,比如:页面中内嵌的文本,图片和页面样式等。只保留用户对动态主页的请求即可。得到数据清洗之后的日志集进入第二步。

第二步,以访问用户的ip地址为标识,从清洗过的日志集中提取每个用户的八元组特征。

经过数据清洗后的日志集,其中每一条访问记录包含以下信息:访问用户ip、时间戳、访问页面的uri地址、http协议、请求状态码、访问的字节大小。特征提取的过程采用java编程的方式。编写八个处理数据集的方法,分别处理每个访问ip的访问次数、访问页面种类、平均请求间隔、请求字节总数、会话时间、平均请求字节数、url层级度、请求间隔离散度。同时在主函数中获取同一个ip的访问集,分别调用以上8个方法,将得到的结果保存在文本中。

第三步,模拟仿真应用层ddos攻击用户的访问集。模拟的攻击用户考虑到以下三个因素:攻击用户的个数、攻击用户请求页面的范围、攻击用户的请求时间间隔。

第四步,训练逻辑回归模型得到逻辑回归参数θ。

这一步骤通过量子粒子群优化算法求解逻辑回归的损失函数,得到逻辑回归参数θ。优化的目标函数,也即是损失函数如下:

由于逻辑回归是有监督的学习,训练样本的类别是已知的。以上目标函数中的θ是唯一的未知量。

逻辑回归模型具有可伸缩性,各维度伸缩后得到的参数值和伸缩前得到的不相等。因此,应该对各维度的特征进行标准化处理,所用到的公式如下:

在使用以上标准公式的前提下设置粒子的搜索空间(-100,100),且通过大量的实验仿真证明该搜索空间是有效的。同时,设置粒子迭代50次,当迭代50次之后停止对目标函数的寻优搜索。以下结合逻辑回归模型给出量子粒子群优化算法的具体执行流程:

1)在搜索空间中初始化20个粒子对损失函数进行寻优搜索,置迭代次数t=0,并记录个体的最好位置和群体的平均最好位置。

2)对粒子群中的每个粒子执行3)-5)步骤。

3)计算第i个粒子当前位置的适应值,并与该粒子个体最好位置的适应值比较。如果当前适应值的位置最优,则更新个体最好位置。

4)第i个粒子当前位置的适应值与全局最好位置比较。如果当前适应值的位置最优,则更新全局最好位置。

5)由粒子的进化方程计算粒子的新位置。

6)若算法的终止条件不满足,置t=t+1,返回步骤2,否则终止算法。

当算法终止时,得到的全局最好位置就是逻辑回归模型中的参数θ

第五步,对逻辑回归模型进行预测。针对未标记的访问用户的八元组特征,求解该特征组的逻辑回归函数值h(θtx)。当求得的逻辑回归函数值大于0.5时,将该访问用户标记为攻击用户,反之标记为正常用户。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1