1.一种大数据环境下的DDoS攻击检测方法,其特征在于,该方法包含如下步骤:
S1,大数据环境下采集各种流数据;
S2,从采集的各种流数据提取源IP地址;
S3,计算源IP地址的信息熵;
S4,判定源IP地址的信息熵是否大于预设的门限值V,如果是,则转步骤S8;若否,则判定该IP地址对应的数据流是正常的数据流,转步骤S5;
S5,用正常的数据流进行K-Means聚类;
S6,动态采样的K-Means模型训练和算法设计;
S7,动态采样的K-Means算法并行化处理;
S8,用并行化处理的动态采样的K-Means算法进行DDoS攻击检测;
S9,计算准则函数E小于等于预设门限值d,如果是,则判定该数据流为正常数据流,转向步骤S1;否则,判定该数据流为异常数据流,转向步骤S10;
S10,DDoS攻击处理。
2.如权利要求1所述的大数据环境下的DDoS攻击检测方法,其特征在于,所述的步骤S3中,信息熵的定义:
X表示信息源符号,它有n种取值:X1…Xi…Xn,分别对应的概率为:P1…Pi…Pn,因为每一种信源符号的出现相互独立,所以,有:
所述的步骤S3具体包括:
S3.1统计△t时间内所有请求中,有n种不同的源IP,每种源IP数记为Xi(i=1,2…n),每一Xi出现的次数为Ni(i=1,2…n);
S3.2分别计算Xi出现的概率Pi
S3.3计算△t内信息熵H(X)
S3.4计算前n-1个△t的信息熵的均值A
S3.5求出阈值V,k为放大系数
V=(Max[H(X)]-A)×k (5)
S3.6计算△t的信息熵值和均值的差值S
S=H(X)-A (6)
S3.7如果(S>V)表示熵值变化巨大,发攻击预警;如果(S≤V)表示熵值在正常变化范围内,数据流正常。
3.如权利要求1所述的大数据环境下的DDoS攻击检测方法,其特征在于,所述的步骤S5具体包含:
S5.1,数据集D为初始样本,其中每个点为n维:dj=(x1,x2,x3…xn),从数据集合D中随机选择k个对象作为初始簇中心,聚类中心集合记为K;
S5.2,计算数据集D中每个点到k个聚类中心的距离,根据最小值,将点分配给对应的类别,聚类中心对应的数据集合记为Ck,采用公式(7)欧氏距离来进行计算;
S5.3,更新簇的聚类中心
S5.4,计算准则函数
S5.5,满足准则函数阈值则退出,否则返回步骤S5.2。
4.如权利要求1所述的大数据环境下的DDoS攻击检测方法,其特征在于,所述的步骤S6中,对动态采样的K-Means算法的定义如下:
定义1:规模函数W(X)定义如式(10)所示,其中D2(X,C)表示X中的点到所处聚类中心的距离平方和;
定义2:动态采样概率函数P(X)定义如式(11)所示;
定义3:初始规模为W,初始采样个数m(m<K)。
5.如权利要求4所述的大数据环境下的DDoS攻击检测方法,其特征在于,所述的动态采样的K-Means算法实现如下:
A)从集合X中随机取1个点加入集合C;
B)根据式(10)计算集合C的初始限定规模函数值,记为W;
C)循环logW=N次开始,按式(11)计算动态采样概率P(X),记为P,从集合X中按概率P取出m个点加入集合C′,求C∪C′,记为C,循环结束;
D)采用K-Means算法求出集合C的聚类中心。
6.如权利要求1所述的大数据环境下的DDoS攻击检测方法,其特征在于,所述的步骤S7为:
根据大数据处理平台Spark运行的原理对设计动态采样的K-Means算法进行并行化,使改进的K-Means算法能在多个虚拟机中同时进行DDoS攻击检测。
7.如权利要求1-6任一项所述的大数据环境下的DDoS攻击检测方法,其特征在于,所述的DDoS攻击检测为用动态采样的K-Means算法并行化检测已预警的数据流。
8.如权利要求7所述的大数据环境下的DDoS攻击检测方法,其特征在于,所述的已预警的数据流的DDoS攻击检测就是按(9)式计算已预警的数据流的准则函数值E,即通过聚类看已预警的数据流是否被包含在正常数据集中,如果是,则判定该数据流是正常数据流;否则,可判定该数据流是DDoS攻击流,要进行DDoS攻击流处理。
9.如权利要求8所述的大数据环境下的DDoS攻击检测方法,其特征在于,对DDoS攻击流处理方法:将DDoS攻击流对应的源IP地址加入到系统的黑名单中,DDoS攻击检测系统接收黑名单并更新之前的黑名单,过滤所有加入黑名单的源IP地址发送的数据流。