1.一种DDoS攻击检测方法,其特征在于,包括以下步骤:采集攻击开始前至攻击结束时的网络流数据信息,所述网络流数据信息包括数据包的时间、源IP地址、目的IP地址及目的端口;
分别从所述网络流数据信息中提取第一特征和第二特征,所述第一特征是网络流的多对一与一对一部分的源IP地址与目的端口的加权统计量;所述第二特征是网络流中单向流的多对一部分的流量统计信息;
将所述第一特征和所述第二特征整合为二元组合特征,并获取所述二元组合特征的时间序列样本;
对所述时间序列样本进行采样,生成特征训练集;
使用所述特征训练集训练随机森林分类器,得到DDoS攻击检测模型;
采用所述DDoS攻击检测模型进行DDoS攻击检测。
2.如权利要求1所述的方法,其特征在于,还包括以下步骤:采用遗传算法对所述随机森林的第一参数、第二参数进行参数优化,所述第一参数为子决策树的棵数,所述第二参数为单棵决策树的最大深度。
3.如权利要求2所述的方法,其特征在于,所述采用遗传算法对所述随机森林的第一参数、第二参数进行参数优化的步骤包括以下步骤:选择所述随机森林的初始参数及适应度函数,所述初始参数包括初始种群、进化代数、子决策树的棵数、决策树的最大深度、变异率以及交叉率;
采用所述遗传算法进行种群初始化;
通过所述遗传算法对初始化的种群进行随机搜索,然后按照所述适应度函数计算搜索到的个体的适应度值;
判断所述适应度值是否满足既定标准;
若所述适应度值不能满足既定标准,则继续进行随机搜索和计算;
若所述适应度值满足既定标准值,则结束优化并输出所述适应度值对应的所述子决策树的棵数和所述决策树的最大深度。
4.如权利要求3所述的方法,其特征在于,所述适应度函数的表达公式如下:式中,Fitness表示适应度值,K表示交叉验证的折数,AUCi即交叉验证中作为测试样本的训练样本检测时计算的ROC曲线下的面积值。
5.如权利要求1所述的方法,其特征在于,所述第一特征为地址相关统计特征,计算公式如下:式中,ACSF表示所述地址相关统计特征,RStDi表示所述网络流的多对一与一对一部分的数据包形成的类,其中,W(RStDi)=αPort(RStDi)+(1-α)Packet(RStDi),(0<α<1),Port(RStDi)表示类RStDi中不同目的端口的个数,Packet(RStDi)表示类RStDi中数据包的个数,α表示加权值。
6.如权利要求5所述的方法,其特征在于:所述第二特征为单向流半交互度,计算公式如下:式中,UFSIF表示单向流半交互度, Δt表示采样时间周期,β表示对不同目的端口数量加权的阈值,且β=max(Port(SDHIi))/Δt,i=1,
2,...,k。
7.如权利要求6所述的方法,其特征在于:所述二元组合特征为网络流组合相关度,计算公式如下:CCDF=(w1·ACSF,w2·UFSIF)式中,CCDF表示网络流组合相关度,w1,w2均表示权重,表示CCD特征中两种特征统计量所占的比例。
8.如权利要求1所述的方法,其特征在于,采用基尼系数作为单棵决策树分裂的量化评价指标,所述基尼系数的计算公式如下:式中,D表示包含n个样本、k个类别的样本空间,pi表示类别为i的样本在全部样本中所占的比例。
9.如权利要求1所述的方法,其特征在于,还包括以下步骤:对所述时间序列样本进行采样,还生成测试集,并使用所述测试集对所述DDoS攻击检测模型进行模型性能的验证。
10.一种DDoS攻击检测装置,其特征在于,采用所述设备可实现权利要求1-9任一项所述的DDoS攻击检测方法,所述设备包括:数据采集模块,采集网络流数据信息;
特征提取模块,提取第一特征和第二特征;
特征整合模块,将第一特征和第二特征整合为二元组合特征,并获取所述二元组合特征的时间序列样本;
训练集采集模块,对所述时间序列样本进行采样,生成特征训练集;
检测模型训练模块,通过所述特征训练集训练随机森林分类器,得到预先训练好的DDoS攻击检测模型;
检测模块,通过所述DDoS攻击检测模型进行DDoS攻击检测,并生成检测结果。