论文部分内容阅读
分布式拒绝服务(distributed denial of service)攻击,也称DDoS攻击,是目前最常见的网络攻击方式之一,随着计算机与通信技术的快速发展,DDoS攻击带来的危害日益严重。因此,DDoS攻击检测的相关研究显得更加重要。现如今,已经有一些相关研究工作并取得了一些进展。但是由于DDoS攻击方式多样,攻击流量大小多变,至今还未出现一种检测精度较高的检测方法。鉴于此,在分析了国内外大量相关研究的前提下,本文提出了一种基于机器学习和大数据实时计算分析的DDoS攻击检测方法。机器学习中的随机森林算法是一种优秀的分类回归算法,本文通过分析基于随机森林算法分类模型发现三点不足,并针对这三点不足提出了三种改进方法。第一点是基于随机森林分类算法的机器学习模型分类效果与构建每棵决策树时随机选择的特征个数息息相关,大部分基于随机森林算法分类模型对此个数没有逻辑运算,都是提出一些常规的值,针对这点不足,本文提出了一种前向搜索K折交叉验证方法对随机选择特征个数进行计算,可以使构建随机森林分类模型过程中树的相似度与分类性能达到最佳。第二点是传统随机森林算法应用在分类问题过程中,常用的几种投票结合策略在遇到随机森林算法决策树模型之间相关性较强时,整体分类模型分类效果准确率较低。针对此问题,本文提出了一种CA-LR学习法。CA-LR学习法优化了传统随机森林算法在单独用决策树模型进行模型构建过程中,任意决策树之间相关性较强时整体分类模型的准确率较低的问题。第三点在传统随机森林算法中,通常对集成学习模型的评估指标大多只关注整体分类模型的分类好坏,忽略了对其中单一模型分类效果评估。鉴于此,本文提出了一种新的ROC-AUC-PR评估指标,该评估指标先对模型内单一模型进行评估,更新优化了初步得到的分类模型后,再对模型整体分类效果评估。DDoS攻击原理是向目标发送大量的数据包,为了处理这些数据包,传统的针对DDoS攻击检测主要使用的是基于MR分布式计算分析框架。由于MR分布式计算分析框架是以离线计算为核心,这就导致基于MR分布式计算分析框架在计算分析检测上有很大的延迟。为了能更快更具实时性的检测DDoS攻击,本文提出了基于以SparkStreaming-kafka为核心的大数据流式实时计算分析框架。实验结果证明,本文提出的基于改进的随机森林算法和结合大数据流式实时计算分析的DDoS攻击检测模型,在目前流行的TCP洪水、UDP洪水和ICMP洪水攻击检测上具有较高的实时性和准确率。