Detecting DoS Attacks Based on Multi-features in SDN-读书笔记

INTRODUCTION

sdn 的dos攻击中主要分为两种:

1)多个新流耗尽tcam资源(M-dos)
2) 精心设计的流,利用共享链路耗尽链路资源等,同时迷惑控制器。

现有的多种检测方法并不能同时检测两种攻击,同时有可能误判,将正常的flash crowd 判断为攻击流。

下图简单介绍了三种流:
Detecting DoS Attacks Based on Multi-features in SDN-读书笔记
本文的工作是提取六个特征,然后使用分类器,将三种攻击区分开。

RELATED WORK

目前的两种检测方法:基于阈值和基于特征。
两类检测方法:基于阈值和基于特征。

[25]提出实施监测流表安装速率,超过阈值触发防御
[26] 分析网络连接的相关性,通过测量LLDP的时间检测是否为攻击。
[27] 使用熵检测是否为攻击。
但是上面都可能误判,而且阈值需要根据场景改变。

[28]基于控制器的行为计算攻击概率,使用随机森林算法。
[29] 提出sdn安全架构区分攻击流量,特征提取和SOM分类。
[30]提出基于贝叶斯检测方法。

DOS DETECTION

1 ESIPS (ENTROPY OF SOURCE IPS)

有一份原来的工作已经做了目的IP,如果目的IP分散,会导致熵值很高,较低的检测率。本文采用源IP的熵值作为特征值。
Detecting DoS Attacks Based on Multi-features in SDN-读书笔记
如上,第一个参数,其中Pxi = xi /n, 其中xi表示第i个源IP 对应的流表项数目, n表示流表项中总的流表项数目。k 表示源IP的总数目。

所以上式表现了源Ip的分散度,如果遭受了M-dos,这个值就会动态增加。

2. SFT (SIMILARITY OF FLOW TABLES)

一段时间内,流表更新并不会很快,所以流表不会改变很多。定义五元组: 协议号,源目端口,源目Ip,使用符号fe.
整个流表中可以认为是由集合组成{fe1, fe2, fe3 …fen}
定义SFT
Detecting DoS Attacks Based on Multi-features in SDN-读书笔记
其中fci表示第i时刻所有的五元组集合。函数F表示计算两者之间的相似度,具体的伪代码如下:

Detecting DoS Attacks Based on Multi-features in SDN-读书笔记

3 GRMMP (GROWTH RATE OF MAX MATCHED PACKETS)

对于S-DOS攻击,一定会有流表中对应的流表项数据包数量陡增(为了消耗计算机资源)
定义GRMMP:
Detecting DoS Attacks Based on Multi-features in SDN-读书笔记
其中MPi表示目前流表中最大的流表项对应数据包数目,i+1表示经过Δt时间之后的流表对应流表项中最大的数目。

4 GRMMB (GROWTH RATE OF MAX MATCHED BYTES)

定义GRMMB为:
Detecting DoS Attacks Based on Multi-features in SDN-读书笔记
其中和上面不同的是,MB表示对应流表中最大的流表项对应的字节数。这是因为有的攻击数据包数量很多但是数据包很小,有的攻击数据包的数量不多但是可能使用很大的字节占据资源。

5. PFSP (PERCENTAGE OF FLOWS WITH SMALL NUMBER OF PACKETS)

根据33,35的数据集表示,M-DOS中一个新流一般只有1个或者2个数据包,但是flash crowd 一般为5-20个,所以定义
Detecting DoS Attacks Based on Multi-features in SDN-读书笔记
其中n_packet 表示每个流表项中对应的数据包数量,threshold用于过滤攻击流,实验中设置为3.
如果发生M-DOS,这个值会迅速增长。

6 PFSD (PERCENTAGE OF FLOWS WITH SHORT TIME duration)

M-DOS的持续时间一般小于等于1s,但是flash crow 是有内容交互的,所以时间一般是4-10s。
Detecting DoS Attacks Based on Multi-features in SDN-读书笔记
其中,duration 表示每个流表项的持续时间。

CLASSIFICATION

常见的分类方法有很多,比如贝叶斯,SVM,KNN,随机森林等,考虑到计算成本,精度等。本文选择BP 神经网络, 输入上文计算的六个参数,输出三个分类,分别表示M-DOS, S-DOS ,正常流。
Detecting DoS Attacks Based on Multi-features in SDN-读书笔记
最后,附dos检测伪代码:
Detecting DoS Attacks Based on Multi-features in SDN-读书笔记