利用隐马尔可夫模型可以从行为序列的角度对流量进行分析,从而发现异常行为,但隐马尔可夫模型在处理长序列时存在计算下溢的风险 。另外,模型中隐状态的数量一般需要由领域专家根据应用场景进行设定 。
2.2 监督分类模型
监督分类模型需要将获取的正常流量和异常流量进行训练得到一个二分类器,再利用二分类器对未知数据进行分类 。监督分类模型常见的应用模式是先在线下获取大量正常流量和异常流量数据,数据经过预处理及特征提取之后会被用来训练出一个分类模型,然后将训练好的模型部署到产品中来检测异常流量,其模式如图 2 所示 。
图 2 线下训练监督分类模型
通常来说,监督学习因为可以同时看到正常流量和异常流量,所以能够更好地学习到正常流量和异常流量之间的差异,因此在异常检测领域表现会更好,但事实却不是这样的 。首先在现实场景中获取正常流量是容易的,但是获取异常流量是非常困难的,这就导致异常流量样本数量少,覆盖面小,这样的数据训练出来的样本很容易出现过拟合的情况,在训练集上有着很好的表现,但在测试数据上却表现很差 。Catania 等人 提出了一种对网络流量进行自主标记的方法,来克服样本类别不平衡的情况并用来减少训练数据中的噪声 。
另外,流量数据和网络环境密切相关,不同网络环境中的正常流量之间都存在着巨大的差异,更何况异常流量数据,所以将在一个或几个网络环境下采集正常流量训练出来的模型部署在其他网络环境中必然会出现“水土不服”的情况 。
为了克服监督模型离线训练所存在的问题,Forestiero 等人 [20] 提出一种在线训练的监督模型方案,利用现网流量数据进行训练,再检测现网流量数据 。该方案的总体思路如图 3 所示 。
图 3 在线训练监督模型
先利用其他异常检测技术对流量进行检测,然后标注上对应的标签,待打了标签的数据达到一定量级之后就启动监督模型的训练,在训练过程中会设定一个收敛条件,当训练的指标达到收敛条件之后就自动停止训练,之后便可以将训练好的监督模型应用到检测流程中 。在使用监督模型进行预测时,首先需要设置一个置信度,即当监督模型预测流量为异常或正常的概率大于或等于该置信度时,才会将其标注为异常或正常,并且这些数据都会被用来更新模型,其他的流量数据会被暂存,待模型更新之后会用更新后的模型继续对暂存的流量数据进行预测,将预测为异常或正常的概率大于或等于预测置信度的数据打上相应的标签并从暂存区移除,迭代进行上述过程,直到暂存区没有数据为止 。
监督分类模型既可以是逻辑回归、支持向量机、随机森林、梯度提升树等传统的机器学习模型,也可以是卷积神经网络(Convolutional Neural Network,CNN)、长短时记忆网络(LongShort Term Memory,LSTM)、深度残差网络等深度学习模型 。传统机器学习模型参数少,对样本数据量要求不高,资源消耗小,训练速度快,但是学习能力没有深度学习模型强,需要依赖人工经验进行特征提取 。深度学习模型需要对大量数据进行训练,资源消耗较大,但该模型学习能力强,可以直接利用原始数据实现端到端的学习 。
Liu 等人提出了一种通过利用原始的报文 负 载 训 练 CNN 和 循 环 神 经 网 络(RecurrentNeural Network,RNN)模型来进行异常检测的方案 。在该方案中,不再有特征工程阶段,模型的输入都是原始负载经过简单处理后的数据 。CNN 模型的输入是对负载进行分词、词嵌入后处理后的矩阵,RNN 模型的输入是由负载的前 n 个字符的 ASCII 值组成的序列 。这种利用深度学习模型自动从原始负载中提取特征并进行分类的模型虽然可以取得不错的效果,但前提是需要有大量不同种类、不同来源的样本数据对模型进行训练,否则模型很容易陷入过拟合的困境 。因此在实际应用中,深度学习模型在训练数据上可以取得不错的效果,但是在实际应用时效果却比较差 。
推荐阅读
- 手把手教你一招搞定 右下角网络连接图标不见了
- 网络不可用是什么原因解决方法 无法访问互联网怎么回事
- 192.168.1.1修改路由器密码方法 网络设置192.168.1.1
- 8个常见原因及解决方法 无线网络连接不上怎么解决
- 操作简单实用 移动流量查询
- 恢复电脑网络的最佳方法 重置网络设置在哪里
- 如何设置无线路由器步骤要详细 网络设置打不开
- 电脑右下角网络感叹号的解决方法 不能上网出现感叹号
- 台式电脑无线网卡使用方法 无线网卡插电脑上怎么连接无线网络
- 电脑连接不上网络的几个解决方法 电脑中毒上不了网