论文部分内容阅读
分布式拒绝服务攻击(DDoS)已成为最难解决的网络安全问题之一,给网络社会带来了极大的危害,如何在较短时间内准确处理大量信息是DDoS检测的重要挑战。本文通过对国内外现有的DDoS攻击检测方法进行分析,按照DDoS样本的属性可以将其分为两类,一类是DDoS数据量小、样本属性少的情况;另一类是DDoS数据量大、样本属性多的情况。本文针对以上两类情况分别提出了一种检测方法。本论文的主要工作和创新点如下:1)本文搭建Kubernetes分布式训练环境,并且在Kubernetes分布式系统上构建TensorFlow集群,使用Kubernetes的容器编排技术,这样可以充分利用机器的各种资源(CPU、磁盘和内存等),以至于提供更高效率的训练能力。2)针对检测DDoS攻击(NSL-KDD)数据量小、样本属性比较少的情况,传统的卷积神经网络(CNN)算法检测会出现过拟合现象,进而导致准确率下降。本文提出一种改进的CNN检测方法,具体是使用卷积层及全局平均池化层代替全连接层,首先在最后一个卷积层生成一个分类任务中相应类别的特征映射,然后求出每个相应类别的特征映射的平均值,最后再将平均特征向量送入Sigmoid层进行分类。实验结果表明,使用改进的CNN模型去训练DDoS数据,准确率达到99.83%。3)针对检测DDoS攻击(CICIDS2017)数据量大、样本属性比较多的情况,使用传统的循环神经网络(RNN)算法检测会导致检测时间过长的问题。本文提出一种改进的RNN模型的DDoS攻击检测系统,即切片循环神经网络(SRNN),该算法的思想是将样本DDoS数据集切分成多个子样本数据,然后将各个子样本数据并行化地送入神经网络模型,让LSTM循环单元在每层的子序列上同时工作,从而实现并行化计算,并且使用Adam优化算法代替传统的随机梯度下降算法,通过大量实验对比,SRNN模型的训练速度和准确率明显高于RNN。最后,利用搭建的Kubernetes分布式深度学习系统进行神经网络训练,通过实验对比,确定了SRNN(4,3)模型准确率最高,训练时间最短,检测准确率达到99.86%,训练时间为237.54s。