论文部分内容阅读
在网络安全问题日益严峻的情况下,软件的缓存区溢出是软件漏洞中最常见和最严重的漏洞,缓存区溢出漏洞导致了一些信息窃取、资源被控、系统崩溃等危害。针对此研究问题本文提出了一种基于软件度量缓存区溢出漏洞预测的方法研究。本文中提出了基于决策树算法度量函数级别多类型的缓存区溢出漏洞预测方法,此外本文还针对数据不平衡现象提出基于随机森林算法度量函数级别的缓存区溢出漏洞预测方法。主要内容如下:首先,针对不同类型的软件缓存区溢出漏洞进行研究,采用软件度量方法对软件的源代码进行静态分析,分析了基于软件度量和机器学习分类算法相结合预测软件缓存区溢出漏洞的研究方法,并针对缓存区溢出漏洞的数据不平衡特征进行研究。其次,依据软件的源代码提取出相应的软件度量指标采取互信息方法进行特征选择,结合软件实际运行过程中函数之间的调用关系,利用数据提取的方法在不同类别的缓存区溢出漏洞数据中提取出基于函数级别的动态数据流的数据,在此基础上采取决策树算法提出了一种SVL缓存区溢出漏洞预测方法。再次,基于本文提出的SVL缓存区漏洞预测方法,针对软件中实际提取出的数据存在不平衡的现象,提出了在SVL缓存区漏洞预测方法的基础上,数据层面中采用基于遗传算法改进的SMOTE算法对不平衡数据集进行过采样处理,选取随机森林的集成算法针对软件缓存区漏洞进行预测。最后,在真实程序提取出C/C++数据集和Java数据集,并对基于决策树算法度量函数级别多类型的缓存区溢出漏洞预测方法进行了实验,在Java数据集中对基于随机森林算法度量函数级别的缓存区溢出漏洞预测方法进行了实验。