论文部分内容阅读
快速发展的计算机网络在给人们带来便利的同时,也因为各种各样异常流的出现,给人们带来安全上的困扰。而当前针对网络异常流的各种检测系统都或多或少存在瑕疵,如最常见的入侵检测系统(IDS)。市场化的IDS由于缺乏自学习的能力,开发和维护人员不得不实时的更新系统的病毒库,才能使系统正常的工作。随着近几年机器学习和数据挖掘的出现,网络异常流的检测出现了新的思路和方法。网络异常流的攻击特性,使得其在流量特征上必然与正常网络流存在或多或少的差异,而这些差异可以使用机器学习挖掘出来的模式和规则来表示。当前各种使用机器学习进行的异常流检测研究和实验不断出现,而且大都取得了良好的效果。但由于网络异常流的复杂性和多样性,这些研究和实验仍然存在诸多问题;比如一些实验需要大量的训练样本才能有效;而另一些实验仍然存在很高的漏报率或误报率;因此对基于机器学习的异常流检测方法的研究仍然有很长的路要走。本论文通过对决策树分类算法、随机森林和AdaBoost分类算法进行深入的研究;在AdaBoost算法的基础上通过引入随机森林的多决策树投票机制,提出了以C4.5决策树为核心的基于AdaBoost强分类器群(简称AdaBoosts)的网络异常流检测算法。该算法通过训练得到一个AdaBoosts;使用该AdaBoosts对网络流进行分类检测,然后使用多数投票机制从检测结果中判断出网络流的异常情况。论文使用C4.5算法构造弱决策树,由弱决策树加权组合得到单个/AdaBoost。为了减少AdaBoost之间的关联度,本论文通过引入四个随机性原则对原始样本集合和属性集合进行处理,得到每一个AdaBoost对应的样本子集和属性子集。为了验证算法的有效性,论文设计并实现了异常流检测的原型系统,系统首先通过OPNET平台实现了网络流属性数据的提取,然后使用AdaBoosts算法实现了异常流的检测。本论文使用wireshark抓取网络流作为部分实验数据,其他实验数据还包括KDD数据集和DARPA数据包,论文最后通过这些实验数据对系统进行了测试,通过测试结果对比分析本文提出的算法与AdaBoost算法相比,可以通过更少的训练数据得到更高的检测率,并且在时间效率上并不比单个AdaBoost差很多。