摘要

网络流量中大多数流量都是正常的,但经常会出现偏离正常范围的异常流量,主要由DDOS攻击、渗透攻击等恶意的网络行为引起,这些异常行为通常会导致网络质量下降,甚至网络直接瘫痪。因此引入网络安全态势的预测,在仅知道正常网络流量的情况下判断网络中的异常。异常检测是一种网络安全态势的预测方法,用来判断网络中是否有异常。现有的异常检测算法由于无法准确提取网络数据包的低维特征导致算法的性能不佳,因此,需要找到网络数据包的准确的低维特征表示,该低维特征表示能够区分网络数据包是正常的还是有攻击的。为此,本文引入基于t-SNE降维的NLOF异常检测算法。该算法采用t-SNE算法自动预处理网络数据包以获得低维的网络数据包特征,之后将得到的低维的网络数据包特征作为NLOF算法的输入进行异常检测。其中,本文的NLOF算法首先采用k-means算法将网络数据包聚类成为K个簇,并将网络数据包数量小于N个的簇标记为异常簇,之后将未被标记为异常簇的网络数据包作为LOF算法的输入进行异常检测。在ISCX2012数据集上的实验结果表明,基于t-SNE降维的LOF算法达到最优性能时,准确率为98. 46%,精确度为98. 38%,检测率为98. 54%,FAR为0. 66%。该算法比基于现有最新算法的准确率、检测率和F1分别高3. 18个百分点、0. 02个百分点和0. 01个百分点。基于t-SNE降维的NLOF算法达到最优性能时,准确率为98. 53%,精确度为98. 86%,检测率为98. 86%,FAR为0. 32%。该算法比基于现有最新算法的准确率、检测率和F1分别高3. 25个百分点、0. 34个百分点和0. 41个百分点。这是异常检测中首次采用t-SNE算法自动提取低维的网络数据包特征。此外,LOF算法仅能捕获异常点,而本文的NLOF算法能够同时捕获异常点和异常簇。