APP下载

基于机器学习的网络异常流量分析检测系统的研究与设计

2021-02-27黄婷刘金凤

网络安全技术与应用 2021年2期
关键词:网络流量机器聚类

◆黄婷 刘金凤

基于机器学习的网络异常流量分析检测系统的研究与设计

◆黄婷 刘金凤

(新疆喀什卫星管控站 新疆 844000)

当前网络安全问题已成为网络世界的重要课题,如何有效的检测和响应则成为一项重大挑战。实际上,为保持超前于高级网络安全威胁的发展,网络检测、响应和取证解决方案必须要综合多种方法,本文通过研究和设计一种网络异常流量分析检测系统,主要将机器学习的方法应用在网络异常流量分析检测,实现对网络异常流量的有效分析和高准确率检测,从而达到洞悉网络中的恶意活动,并将可疑行为匹配到确认的威胁,提高对网络异常流量的检测目的。

网络流量分析;机器学习;异常流量;检测

随着互联网的高速发展,网络中的传输数据飞速增长,因此而产生的网络安全问题愈发严重,网络中的恶意流量攻击行为是其中最重要的一种。攻击者通过使用主机将数据IP包发送到用户主机进行端口试探,进行登录密码破解,或者在一段时间内的大量访问,产生大量流量造成其他正常流量无法访问,从而发起网络攻击。类似于这种的各种各样的攻击会给网络用户造成巨大的损失。

由于现今社会大力发展互联网和物联网技术,这些技术给人们带来便利的同时,攻击流量峰值一直在不断攀升,数据量更是达到TB以上。因此,面对如此大量级的流量攻击,网络异常流量检测、防御领域必然面临更高、更新的要求。目前,常见的异常流量检测方法都是在路由器旁边部署检测设备,检测设备通过采集流量的IP包信息,然后通过似然比,小波分析等各种方式检测出异常。但是这些方法都只是对某一个单一路由器或者主机进行检测,没有大数据处理能力的缺点。而且这种缺点随着物联网,互联网的发展也越发明显。随着大数据时代的到来,利用大数据的思维解决传统的问题,给解决异常流量预测的问题提供一种新的方向[1]。

本文着力于用大数据的思维研究异常流量检测的问题,通过将机器学习的方法应用在网络流量分析技术上,设计一种基于机器学习方法的网络异常流量分析检测系统,该系统能够在网络面临大流量数据传输时及时高效检测出其中的异常流量,为网络异常流量分析检测提供了一种新思路。

1 基于机器学习算法的网络流量分析检测方法

所谓机器学习,就是指计算机程序根据经验来提高某个任务性能的行为,也就是指计算机能够随着经验进行自我完善,独立处理某一任务的能力[2]。

机器学习在网络流量分析与监测中的应用主要是通过对训练数据集进行建模,然后根据模型进行实时数据的检测。机器学习的主要算法包括:模糊逻辑、贝叶斯方法、人工神经网络、支持向量机、决策树、聚类等。本文主要使用决策树和聚类方法对网络流量进行检测。通过使用机器学习方法检测网络流量,可以使网络流量分析检测系统能够自动识别出异常流量,并通过不断自我学习完善,提高系统检测异常流量的准确性和高效性。

网络流量分析(NTA)的概念是Gartner于2013年首次提出的,它融合了传统的基于规则的检测技术,以及机器学习和其他高级分析技术,用以检测企业网络中的可疑行为,尤其是失陷后的痕迹。现代网络流量分析法的基础,是通过将网络流量分解成正确的多种格式,利用基于安全用例的新的分析技术,保存正确的数据,从而实现完整的取证调查。同时,可将其他网络威胁情报作为补充,洞悉恶意攻击行为等活动,并将可疑行为匹配到确认的威胁行为,从而提高检测结果的保真度[3]。

通过将机器学习的方法融合进网络流量分析中,可以在面临大流量的网络数据时,仍然保持高效可靠的检测效果。

2 网络异常流量分析检测系统的设计与实现

通过分析用户需求,可以知道异常流量分析与检测系统首先要具备的功能就是快速高效的检测出网络中的异常流量[4]。它的核心模块就是检测模块,除此之外,它还应包括:流量采集,日常运维,故障管理等功能模块,如图1所示。其中,流量采集模块主要的功能是采集和存储网络中的数据流量,对流量数据进行预处理,使其能够在流量监测模块进行检测;流量监测模块则主要对网络中的流量进行检测,对于异常流量进行响应处理;日常运维模块则主要对网络设备状态进行监控,并对网络流量进行可视化监视,以及异常流量进行人工干预等;故障处理模块主要在网络中出现大量异常流量时进行快速响应处理,包括对异常流量的告警上报及阻断等措施。

图1 异常流量检测系统框架

2.1 流量监测

流量监测模块作为该系统的核心部分,主要采用机器学习相关技术实现对网络异常流量的检测功能。它主要分为在线检测部分和检测模型训练部分。如下图2所示。以下是对流量监测模块各个部分的简单功能说明。

(1)实时检测模块

实时检测模块采用决策树分类算法建立的检测模型,用于检测网络数据中的已知攻击行为的异常流量。模型训练部分建立好检测模型,传递给实时检测模块,网络数据流量首先进入实时检测模块进行检测,根据模型检测出已知攻击行为的异常流量;排除掉该部分可检测出的异常流量,剩余不确定的流量则送入到流量感知模块进行下一步的检测。该部分能够有效检测出训练库中已知的各种异常流量数据,而当训练库缺乏某类异常流量数据进行建模时,则无法有效检测出该类型流量,这就需要确定新类型的异常流量数据后及时对训练数据库进行有效的更新。

(2)流量感知模块

在流量感知模块中,使用了k-means聚类的方法进行流量数据的聚类,使正常数据和异常数据尽量区分开。在模型训练部分,通过聚类算法将网络流量数据分成差异较大的数据簇,再将每个数据簇的中心点与训练数据库的正常流量数据进行距离运算,根据事先设定好的异常流量阈值判定该数据簇是否为异常流量数据簇,从而达到异常流量的检测目的。框架中,训练模型部分用于生成正常流量数据簇模型,将在线检测部分的不确定数据根据聚类结果来判别正常数据和异常数据,之后将确定为异常的流量数据送入异常流量数据集,改进实时监测模块的检测模型,在下一轮的数据检测时能够更好检测出异常行为。利用决策树分类和聚类方法的结合使用,可以更好检测出网络数据中的异常流量,提高系统异常流量检测的性能。

图2 流量监测模块框架

2.2 流量采集

该模块主要是收集网络中的流量数据,对其进行存储和预处理。要实现检测模块对异常流量检测的高效性,有赖于流量采集模块对网络中采集的数据流量进行高效准确的数据预处理。因此在该模块中,主要使用网络流量分析技术,通过监控网络流量并获取用于分析检测的正确数据,对其进行预处理和特征选择,解码网络流量,形成检测模块可快速检测的数据,并保存到日志平台和数据库中。具体实现是通过部署在各子网的探针设备,在后台服务器和数据库中收集探针数据,对该网络数据流量进行预处理,并形成相关数据集,送入检测模块进行检测,并保留有效数据库,保存在训练数据库中。

2.3 日常运维

该模块主要对网络设备进行监控管理,并对采集的网络流量数据进行可视化监控,方便维护管理人员进行相关操作。对于异常流量的人工判定,也在该部分进行操作处理。

2.4 故障管理

在故障管理模块中,主要是对异常流量数据的检测结果进行响应机制处理。检测模块中的响应模块对异常流量发生响应,应有具体的处理步骤,首先响应模块向故障管理模块发出报警,其次故障管理模块对异常流量进行具体分析和处理,比如进行及时阻断处理,或者进行日志上报处理等。

3 结语

随着互联网和物联网技术的发展,网络中异常流量的检测必然成为最主要的安全手段之一,如何面对大数据时代下的异常流量进行高效性的检测,是今后将长期研究的问题。本文通过提出一种将机器学习算法和网络流量分析技术相结合的方法,设计一套对网络异常流量进行检测的系统框架,使其面对大数据流量时也能保持高效准确的检测,为网络异常流量检测问题提供了新的思路。

[1]郑成兴.网络流量预测方法和实际预测分析[J].计算机工程与应用,2006,42(23):127-130.

[2](美)Brett Lantz著. 机器学习与R语言[M].李洪成,许金炜,李舰译.北京:机械工业出版社,2015.

[3]郭涛.采用 NTA 打赢高级威胁之战[J].网络安全和信息化.2019.10:12-13页.

[4]罗智慧.网络安全流量分析关键技术研究[J].网络安全技术与应用.2020(1):17-18.

猜你喜欢

网络流量机器聚类
基于多元高斯分布的网络流量异常识别方法
机器狗
大数据驱动和分析的舰船通信网络流量智能估计
机器狗
基于K-means聚类的车-地无线通信场强研究
未来机器城
AVB网络流量整形帧模型端到端延迟计算
基于高斯混合聚类的阵列干涉SAR三维成像
基于Spark平台的K-means聚类算法改进及并行化实现
基于改进的遗传算法的模糊聚类算法