互联网技术飞速发展,恶意代码的威胁也与日俱增。像僵尸网络、勒索软件这类恶意代码,借助网络通信达成其恶意目的,给网络安全带来了巨大挑战。传统的检测方法,如基于主机行为和静态特征的检测,已经难以应对恶意代码不断变化的情况。因此,本文提出了一种基于网络流量特征的检测方法,为恶意代码的识别提供了新的思路。
五元组信息:由源IP地址、源端口号、目标IP地址、目标端口号和协议字段组成。虽然单独使用这些信息难以精确检测恶意代码,但它们是数据包聚合的基础。

无需深度包检测:所有特征均可从数据包头部提取,避免了对数据包负载内容的分析,降低了计算资源的消耗,并且能够处理加密流量。
模式化识别:恶意代码作为计算机程序,其网络行为具有模式化特点,如周期性通信和固定的数据格式,通过提取统计特征可以有效识别这些模式。

将网络数据包按照五元组(源IP、源端口、目标IP、目标端口、协议)进行聚合,形成网络流。TCP流根据FIN、RST报文和超时来判断结束,UDP流则以时间超时作为结束条件。这样可以将双向的数据包整合在一起,更好地反映网络通信的整体情况。

数据预处理:将抓取的网络流量数据转换为WEKA所需的ARFF文件格式,并标记类别属性。
模型训练:使用训练数据集对随机森林模型进行训练,通过十折交叉验证评估模型性能。
流量检测:对待测网络流量进行数据包聚合和特征提取,然后使用训练好的模型进行分类预测。
