论文部分内容阅读
网络流量异常指的是流量偏离正常模型。引起流量异常的原因有很多,比如恶意攻击、网络设备故障、正常的突发用户行为等。网络异常检测的目的就是及时检测出异常的发生,便于网络管理员采取相应措施以保证网络的正常运行和服务质量。目前网络异常的检测方法主要有:基于统计的方法、基于数据流的方法和基于机器学习的方法。由于基于统计的方法有诸多优势,所以本文重点研究了这种方法。具体来说是三种统计方法:基于流独立性和稳态性的短时非相关流平衡性(ASTUTE:A Short-Timescale Uncorrelated-Traffic Equilibrium)方法、基于卡尔曼(Kalman)滤波的方法和基于时间序列预测的指数加权滑动平均(Exponentially Weighted Moving Average:EWMA)方法。 从另一个角度看,网络异常检测方法又可以分为两类:基于流量大小(volume)改变的检测方法和基于流量特征分布(traffic feature distribution)改变的检测方法。其中基于流量特征分布改变的检测方法更具优势,一般会用信息熵来度量其改变。本文用EWMA算法分别实现了这两种方法。 经调研发现,网络异常流量检测研究领域存在两个问题:一是网络流量和异常事件的种类是多种多样的,没有一个通用的检测器适用于所有的场景,所以需要明确哪一个检测器适用于哪一种场景;二是检测阈值的设置目前是凭借经验或者理论,但基本为固定阈值,自适应调节阈值仍然是一个难题。 本文研究并实现了ASTUTE、Kalman、EWMA(基于流量大小和基于流量特征)算法,并用两种数据源:作了标注的MAWI Lab数据集和在本地主机上通过 wireshark采集的数据集,做了大量实验。本文仔细分析了实验结果,并对算法检测到的异常事件做了人工根因分析。实验结果表明:上述三种方法可以检测出的异常种类并不相同,ASTUTE算法擅长检测产生许多小IP流的异常,而Kalman和EWMA算法擅长检测产生少量的大IP流的异常。基于实验结果分析,本文利用偏离分数的思想对ASTUTE算法的评估值进行了优化;去除了EWMA算法中滑动窗口中的噪音数据;用EWMA公式对ASTUTE算法的评估值进行了平滑处理。实验结果表明,我们的算法是有效的。