论文部分内容阅读
当前软件安全漏洞问题日益严重,针对这些漏洞形成的网络攻击也越来越难以发现,影响着网络社区的信息安全。其中针对缓冲区溢出漏洞形成的缓冲区溢出攻击是黑客主要的攻击手段,所以对缓冲区溢出攻击的检测和防御研究有着重要的意义。目前对缓冲区溢出的研究,主要集中在缓冲区溢出漏洞的挖掘分析,建立防御检测机制。缓冲区溢出攻击还没有被当前的数据挖掘算法很好的检测。本论文对能否更好的检测缓冲区溢出攻击进行研究,利用随机森林算法,学习缓冲区溢出攻击的特征,达到能够有效的检测缓冲区溢出攻击这一目标。研究分析了多种数据挖掘算法,发现随机森林算法对于噪声和过拟合的处理能力更强大,能处理成千上万种输入变量,也能适应于大数据集,并且能够从数据集给定的数据属性中确定重要的数据特征。决策树算法中节点分裂时选择最优属性的混合算法利用随机森林算法中在随机选择的属性子空间里选择属性分裂节点这一过程,将C4.5和分类回归树(Classification And Regression Tree,CART)算法中选择最优属性的信息熵理论计算方式进行线性组合,形成一个新的计算最优属性的公式,能够更好的选择分裂属性,成功构造决策树。然后使用预测试样本集对每棵决策树分类的正确率进行统计分析,运用公式计算每棵决策树相对应的权重因子,在最后的测试阶段,决策树采用多数投票机制对数据集进行分类,此时就需要考虑每棵树所拥有的权重因子,最后综合得出最佳的分类结果。通过实验研究了改进后的随机森林算法与其他数据挖掘方法如原有的随机森林(Random Forest,RF)算法,分类回归树和朴素贝叶斯(Naive Bayes,NB)相比,在检测缓冲区溢出攻击方面的有效性。实验结果表明改进后的随机森林算法对缓冲区溢出攻击的总体性能优于RF、CART和NB算法。并且使用改进后的随机森林算法识别的缓冲区溢出攻击重要变量进行实验,结果表明利用这些变量能够降低属性维度,并且进一步提高了改进后的随机森林算法以及其它数据挖掘算法对缓冲区溢出攻击的检测性能。