论文部分内容阅读
分布式拒绝服务攻击,又称为DDoS攻击,早在20世纪90年代,该攻击便已经出现,至今仍然严重影响着网络环境的安全。其攻击原理是通过控制大量的僵尸主机,向组织或公司发送大量的无用数据包,以消耗其带宽和系统资源,最终使得组织或公司无法进行正常的服务和工作。现如今,已经有一些针对DDoS攻击检测的方法。但是由于DDoS攻击流量巨大、攻击手段多样,目前还没有一种可以完全有效的检测策略。本文在反复研究了大量国内外有关文献的基础上,提出了一种基于机器学习的DDoS攻击检测方法。根据协议类型,可以将DDoS攻击分为ICMP攻击、UDP攻击和TCP攻击三种。本文将这些攻击的数据包与正常的数据包进行比较,找出用于进行DDoS攻击检测的特征。使用这些特征作为神经网络的输入,对BP神经网络进行训练,可以生成DDoS攻击检测模型,对DDoS攻击进行检测。由于BP神经网络在训练的过程中无法确定初始参数,故攻击检测的效果不能令人满意。本文通过对群智能算法进行研究,使用模式搜索法和边界变异的手段,对萤火虫群优化算法进行了优化,提出了BM-HJ-GSO算法。使用BM-HJ-GSO算法,可以在对BP神经网络训练前,找到BP神经网络的初始参数。实验表明,BM-HJ-GSO算法可以有效提升BP神经网络的训练精度,提高检测的准确率。数据量巨大是DDoS攻击的一大特点,为了可以处理大规模的数据包,本文设计了一套基于分布式存储系统HDFS和分布式计算架构Spark的DDoS攻击检测系统。该系统有两大优势,其一,该系统使用分布式技术,充分发挥了集群的优势,可以处理分析大规模的DDoS攻击。其二,本文专门为前文提出的基于BM-HJ-GSO算法的神经网络训练算法给出了一种并行计算方法,使BP神经网络的训练可以在该检测系统上进行分布式训练,训练速度相比单机训练大幅度提高,当出现新的DDoS攻击后,可以随时对系统中的BP神经网络进行训练更新。实验证明,本文提出的DDoS攻击检测方法和系统,对目前流行的多种DDoS攻击都有不错的效果,攻击识别率均在95%以上,有一定的指导意义。