论文部分内容阅读
互联网技术的迅速发展,为我们带来了前所未有的便利同时,也促进了恶意代码的发展和传播。网络中各种恶意代码的产生和传播已经完全超出了我们的想象。僵尸网络、木马、勒索软件、间谍软件等恶意代码层出不穷,给网络安全带来了极大的威胁。当前的恶意软件开发人员通常采用可执行打包和其他代码混淆技术来生成大量的恶意软件变体,给恶意代码的检测带来了挑战。经研究发现,当前多数的恶意代码需要通过网络活动来达到其恶意目的。对此本文提出了一种检测恶意代码的新方法,其关键在于将恶意代码网络行为产生的网络流量从正常的网络访问流量中区分出来。本文主要工作如下:首先对僵尸网络、勒索软件、木马等几种典型的恶意代码的攻击原理和网络行为进行了分析研究,归纳恶意软件感染主机后的网络行为特征。对综合了多种恶意代码特性、危害最为严重的僵尸网络恶意代码的生命周期和通信机制进行了分析,在此基础上分析归纳了恶意代码命令与控制网络通信网络流的行为模式。由于恶意代码本质是计算机程序,只能根据预先设定的流程执行命令,因此其网络行为产生的网络流量会呈现一定的规律。本文给出了基于五元组的数据包聚合方法将网络数据包聚合成为网络流。在此基础上,从数据包大小、到达时间间隔、流持续时间、数据量等几类统计特征的角度,对恶意代码的网络行为模式进行刻画,构建了恶意代码网络行为特征集。而后本文利用有监督的机器学习方式来构建网络流量识别的基本框架,使用随机森林分类算法对网络流量进行分类处理,给出了基于流特征的恶意代码网络流量识别模型。最后,通过仿真实验验证了本文恶意代码网络流量识别方法的可行性。在分析得到恶意代码流量特征集的基础上,采用恶意代码网络流量数据集,运用随机森林分类算法进行分类模型的训练。实验结果表明,采用本文提出的识别模型可以有效识别恶意代码流量,证明网络活动中存在恶意行为。因此通过恶意代码的网络行为来进行恶意代码的检测是可行的。