一种大数据环境下的DDoS攻击检测方法与流程

文档序号:12624374阅读:来源:国知局

技术特征:

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中,信息熵的定义:

<mrow> <mi>H</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>E</mi> <mo>&lsqb;</mo> <mo>-</mo> <msub> <mi>logp</mi> <mi>i</mi> </msub> <mo>&rsqb;</mo> <mo>=</mo> <mo>-</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>p</mi> <mi>i</mi> </msub> <msub> <mi>logp</mi> <mi>i</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

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

<mrow> <msub> <mi>P</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>N</mi> <mi>i</mi> </msub> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>N</mi> <mi>j</mi> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

S3.3计算△t内信息熵H(X)

<mrow> <mi>H</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>)</mo> </mrow> <mo>=</mo> <mo>-</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>P</mi> <mi>i</mi> </msub> <msub> <mi>log</mi> <mn>2</mn> </msub> <msub> <mi>P</mi> <mi>i</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

S3.4计算前n-1个△t的信息熵的均值A

<mrow> <mi>A</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </mfrac> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>n</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mi>H</mi> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

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)欧氏距离来进行计算;

<mrow> <mi>D</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>d</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mi>k</mi> <mi>i</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>d</mi> <mi>i</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>,</mo> <mi>k</mi> <mo>&Element;</mo> <mi>K</mi> <mo>,</mo> <mi>d</mi> <mo>&Element;</mo> <mi>D</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>

S5.3,更新簇的聚类中心

<mrow> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mi>n</mi> </mfrac> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msub> <mi>c</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>c</mi> <mi>i</mi> </msub> <mo>&Element;</mo> <mi>C</mi> <mo>,</mo> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>&Element;</mo> <mi>K</mi> <mo>,</mo> <mi>n</mi> <mo>=</mo> <mi>S</mi> <mi>i</mi> <mi>z</mi> <mi>e</mi> <mrow> <mo>(</mo> <msub> <mi>C</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow>

S5.4,计算准则函数

<mrow> <mi>E</mi> <mo>=</mo> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </msubsup> <msub> <mi>&Sigma;</mi> <mrow> <msub> <mi>c</mi> <mi>j</mi> </msub> <mo>&Element;</mo> <msub> <mi>C</mi> <mi>i</mi> </msub> </mrow> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>c</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> <msub> <mi>c</mi> <mi>i</mi> </msub> <mo>&Element;</mo> <mi>C</mi> <mo>,</mo> <msub> <mi>k</mi> <mi>i</mi> </msub> <mo>&Element;</mo> <mi>K</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow>

S5.5,满足准则函数阈值则退出,否则返回步骤S5.2。

4.如权利要求1所述的大数据环境下的DDoS攻击检测方法,其特征在于,所述的步骤S6中,对动态采样的K-Means算法的定义如下:

定义1:规模函数W(X)定义如式(10)所示,其中D2(X,C)表示X中的点到所处聚类中心的距离平方和;

<mrow> <mi>W</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msup> <mi>D</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mi>X</mi> <mo>,</mo> <mi>C</mi> <mo>)</mo> </mrow> </mrow> </msqrt> <mo>=</mo> <msqrt> <mrow> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </msubsup> <msubsup> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>d</mi> </msubsup> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>

定义2:动态采样概率函数P(X)定义如式(11)所示;

<mrow> <mi>P</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>D</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> <mn>2</mn> </msubsup> <mrow> <mo>(</mo> <mi>X</mi> <mo>,</mo> <mi>C</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>W</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow>

定义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地址发送的数据流。

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