掌桥专利:专业的专利平台
掌桥专利
首页

基于集成学习的无监督的网络数据入侵检测方法

文献发布时间:2024-04-18 19:53:33


基于集成学习的无监督的网络数据入侵检测方法

技术领域

本发明涉及网络数据入侵检测及异常识别技术领域,尤其是涉及基于集成学习的无监督的网络数据入侵检测方法。

背景技术

目前网络安全性变成了一个广泛的研究领域,对网络上恶意活动的检测是比较常见的问题之一,入侵检测系统(IDS)是作为各种网络威胁检测的最佳解决方案,可以用来检查特定环境下的活动,典型的入侵检测系统包括但不限于防火墙,访问控制列表,身份验证机制等等,早已经被广泛用于提高计算机系统的安全性。

根据检测技术上来说,一般而言,传统的IDS包括基于标志签名(signature-based),基于异常情况(anomaly-based)和基于规范(Specification-based)的三种入侵检测系统。然而,这些传统的检测技术已无法处理现代化网络攻击日益动态和复杂的特性所产生的多变量数据流。因此,研究人员已经超越了规范或基于标志的技术,开始利用机器学习技术来利用系统生成的大量数据。随着对于智能化和自主性的需求提高,神经网络已经成为入侵检测系统的一种日益流行的解决方案。它们学习复杂模式和行为的能力使它们成为区分正常流量和网络攻击的合适解决方案。

主流的神经网络解决方案更倾向于有监督的方式训练,而这种方式已经能在入侵检测这一问题中展现出良好的异常识别能力。然而,除了自主性之外,IDS 的另一个重要属性是其检测零日攻击的能力,攻击随着时间的推移而变化,而新的攻击不断被发现,因此恶意攻击流量存储库的持续可维护性可能是不切实际的,这意味着专家必须对网络流量进行标注,并不时手动更新模型,这将需要专业的专家知识库进行支撑,且贴标签的过程既费时又昂贵,这对人工成本的要求过于巨大。此外,分类本身是一种识别概念的封闭方法,一个分类器被训练来识别训练集中提供的类,然而,假设所有可能的恶意流量都可以被收集并放置在训练数据中是不合理的。

发明内容

本发明要解决的技术问题是:提供基于集成学习的无监督的网络数据入侵检测方法,减少由于人工报文标记导致的昂贵成本,实现对网络数据进行入侵检测。

本发明解决上述技术问题所采用的技术方案是:一种基于集成学习的无监督的网络数据入侵检测方法,包括以下步骤:

步骤S1:数据预处理,将采集的网络流数据处理为时间序列数据;

步骤S2:时间序列数据分流,将步骤S1中的时间序列数据重构为三个不同的数据形式:单点型格式数据、上下文型格式数据和时间段型格式数据;

步骤S3:训练入侵检测模型集合,入侵检测模型集合包括基于单点型格式数据的变分自编码器集合CNN-VAE模型和/或基于上下文型格式数据的循环神经网络预测器TCN-LSTM模型和/或基于时间段型格式数据的变分自编码器BILSTM-VAE模型;

步骤S4:获取误差数据,对于新进入的性质未知的网络流数据通过步骤S1以及步骤S2进行时间序列数据分流后输入步骤S3训练形成的入侵检测模型集合使其形成误差数据;

步骤S5:新进入的网络流数据的特性判定,对于新进入的性质未知的网络流数据,比较步骤S4获得的误差数据与网络管理员给定的预期误差之间的差距,获得该网络流数据的特性判定结果。

优选的,对于进入入侵检测模型集合的数据,每一条新的网络流数据将联合其历史网络流数据重新构建为步骤S2中的三个不同的数据形式,分别作为变分自编码器集合CNN-VAE模型、循环神经网络预测器TCN-LSTM模型、变分自编码器BILSTM-VAE模型的输入数据。

优选的,步骤S1的网络流数据包括从安全网络环境中获得的网络流数据;基于从安全网络环境中获得的网络流数据,变分自编码器集合CNN-VAE模型、循环神经网络预测器TCN-LSTM模型、变分自编码器BILSTM-VAE模型分别学习正常网络流数据的不同内在特征,包括其时序特征与非时序特征。

优选的,步骤S4中,对于新进入的性质未知的网络流数据通过步骤S1以及步骤S2进行时间序列数据分流后,分别由变分自编码器集合CNN-VAE模型对该网络流数据单独进行重构,由循环神经网络预测器TCN-LSTM模型通过该网络流数据之前的历史网络流数据对该网络流数据进行预测,由变分自编码器BILSTM-VAE模型对包含新的网络流数据在内的数据段进行重构。

优选的,步骤S5中,对于新进入的性质未知的网络流数据,当步骤S4获得的误差数据与网络管理员给定的预期误差之间的差距大于预设的阈值时,认定该网络流数据为攻击数据;当步骤S4获得的误差数据与网络管理员给定的预期误差之间的差距未大于预设的阈值时,认定该网络流数据为正常数据。

优选的,步骤S1的数据预处理包括:

步骤S101:特征选择,对网络流数据提取特征;

步骤S102:特征数值化,给步骤S101中获取的网络流数据特征分配数值;

步骤S103:特征归一化,将在步骤S102中获得的特征数值归一化到[0,1]区间。

优选的,步骤S103中,利用如下公式对特征数值进行归一化:

优选的,入侵检测模型集合的误差数据包括变分自编码器集合CNN-VAE模型的误差和/或循环神经网络预测器TCN-LSTM模型的误差和/或变分自编码器BILSTM-VAE模型的误差。

优选的,对于变分自编码器集合CNN-VAE模型,其输入为

,/>

,其中c值代表网络流数据所包含特征数。

优选的,对于循环神经网络预测器TCN-LSTM模型,其误差为损失函数

其中,y为下一个时间戳实际的流特征信息,

优选的,对于变分自编码器BILSTM-VAE模型,其误差为其重构误差,其重构误差为其均方误差或者为其均方误差加上相应的KL散度。

本发明的有益效果:采用变分自编码器集合CNN-VAE模型、循环神经网络预测器TCN-LSTM模型、变分自编码器BILSTM-VAE模型形成三个无监督异常检测器,对比有监督机器学习方法,本发明可以减少由于人工报文标记导致的昂贵成本,实现对网络数据进行入侵检测。在训练过程中不使用标签,不需要通过过采样和欠采样平衡网络数据流报文中的恶意性标签数据和良性标签数据,具有更好的检测零日攻击的能力,对于新的网络攻击类型有更好的适应性。

附图说明

图1为本发明的基于集成学习的无监督的网络数据入侵检测方法的整体工作流程示意图;

图2为本发明中的时间序列数据分流的工作流程示意图;

图3为本发明的入侵检测模型集合训练的示意图;

图4为本发明的对于新进入的性质未知的网络流数据的误差输出的示意图;

图5为本发明的对于新进入的网络流数据的特性判定的示意图;

图6为本发明中的变分自编码器集合CNN-VAE模型的编码器结构图;

图7为本发明中的变分自编码器集合CNN-VAE模型的编码器参数图;

图8为本发明中的变分自编码器集合CNN-VAE模型的解码器结构图;

图9为本发明中的变分自编码器集合CNN-VAE模型的解码器参数图;

图10为本发明中的循环神经网络预测器TCN-LSTM模型的结构图;

图11为本发明中的循环神经网络预测器TCN-LSTM模型的参数图;

图12为本发明中的变分自编码器BILSTM-VAE模型的编码器结构图;

图13为本发明中的变分自编码器BILSTM-VAE模型的编码器参数图;

图14为本发明中的变分自编码器BILSTM-VAE模型的解码器结构图;

图15为本发明中的变分自编码器BILSTM-VAE模型的解码器参数图;

图16为采用本发明的网络数据入侵检测方法与其他方法在KDD Cup 1999数据集上进行的精度、召回率和F1分数性能对比评估结果说明图。

具体实施方式

现在结合附图和优选实施例对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。

如图1-图5所示,本发明的基于集成学习的无监督的网络数据入侵检测方法,本发明中的网络数据具体为网络流数据,网络数据入侵检测方法包括以下步骤:

步骤S1:数据预处理,将采集的网络流数据处理为时间序列数据;

步骤S2:时间序列数据分流,将步骤S1中的时间序列数据重构为三个不同的数据形式:单点型格式数据、上下文型格式数据和时间段型格式数据;如图2所示,时间序列数据进行复制和分流形成时间段型格式数据、上下文型格式数据以及各个不同的单点型格式数据;

步骤S3:训练入侵检测模型集合,入侵检测模型集合包括基于单点型格式数据的变分自编码器集合CNN-VAE模型和/或基于上下文型格式数据的循环神经网络预测器TCN-LSTM模型和/或基于时间段型格式数据的变分自编码器BILSTM-VAE模型;

变分自编码器集合CNN-VAE模型、循环神经网络预测器TCN-LSTM模型、变分自编码器BILSTM-VAE模型完成训练后分别形成三个无监督异常检测器。变分自编码器集合CNN-VAE模型、循环神经网络预测器TCN-LSTM模型、变分自编码器BILSTM-VAE模型可单独训练或者并行训练;

步骤S4:获取误差数据,对于新进入的性质未知的网络流数据通过步骤S1以及步骤S2进行时间序列数据分流后输入步骤S3训练形成的入侵检测模型集合使其形成误差数据;

步骤S5:新进入的网络流数据的特性判定,对于新进入的性质未知的网络流数据,比较步骤S4获得的误差数据与网络管理员给定的预期误差之间的差距,获得该网络流数据的特性判定结果。

具体的,作为本实施例中的一种可选实施方式,步骤S1的数据预处理包括:

步骤S101:特征选择,对网络流数据提取特征;

步骤S102:特征数值化,给步骤S101中获取的网络流数据特征分配数值;

步骤S103:特征归一化,将在步骤S102中获得的特征数值归一化到[0,1]区间。

步骤S101中,特征选择方法包括,使用第三方工具CICFlowMeter或人工标记或统计算法的方式对网络流数据提取特征。对常规网络环境下采集的网络流数据提取特征进而将得到的网络流数据处理为多元时间序列数据;以使用第三方工具CICFlowMeter(网络流量生成器和分析器)为例,该工具输入基于网络流数据的pcap文件,输出包含数据包的特征信息的pcap文件,共80多维,以csv表格的形式输出。

CICFlowMeter工具提取的是传输层的一些统计信息,以一个TCP流或一个UDP流为一个单位。TCP流以FIN标志为结束,UDP流以设置的flowtimeout时间为限制,超过时间就判为结束,在一个TCP流中有很多个数据包。统计一个流中的统计信息作为提取的特征,规定由源地址到目的地址为正向,目的地址到源地址为反向。

步骤S102中,以CICFlowMeter进行特征采集为例,则其中大多数流特征可以通过CICFlowMeter直接采集数据数值,例如serror_rate:出现SYN错误的连接次数;rerror_rate:出现REJ错误的连接次数等;都可以使用CICFlowMeter软件基于统计方法获取,而例如Protocol:所利用的网络协议等字符串型数据需要进一步进行离散化赋值,通过对字符串型数据进行数字化顺序编号的方式对其进行赋值,例如TCP类型设置为1,UDP类型则设定为2等完成对于字符串型数据的数值化。

步骤S103中,将在步骤S102中获得的特征数值归一化到[0,1]区间,以避免特征在分类中的不平衡影响;利用如下公式对特征数值进行归一化:

具体的,作为本实施例中的一种可选实施方式,对于进入入侵检测模型集合的数据,每一条新的网络流数据将联合其历史网络流数据重新构建为步骤S2中的三个不同的数据形式,分别作为变分自编码器集合CNN-VAE模型、循环神经网络预测器TCN-LSTM模型、变分自编码器BILSTM-VAE模型的输入数据。

例如序列数据

具体的,作为本实施例中的一种可选实施方式,步骤S1的网络流数据包括从安全网络环境中获得的网络流数据,基于从安全网络环境中获得的网络流数据,变分自编码器集合CNN-VAE模型、循环神经网络预测器TCN-LSTM模型、变分自编码器BILSTM-VAE模型分别学习正常网络流数据的不同内在特征,包括其时序特征与非时序特征。

具体的,作为本实施例中的一种可选实施方式,本发明并行使用三个不同的单学习器构造入侵检测模型集合,包括基于单点型格式数据的变分自编码器集合CNN-VAE模型、基于上下文型格式数据的循环神经网络预测器TCN-LSTM模型、基于时间段型格式数据的变分自编码器BILSTM-VAE模型。具体的,作为本实施例中的一种可选实施方式,将变分自编码器集合CNN-VAE模型、循环神经网络预测器TCN-LSTM模型、变分自编码器BILSTM-VAE模型这三个不同的单学习器进行并行训练;具体的,作为本实施例中的一种可选实施方式,在并行训练前,通过步骤S2将多变量时间序列数据划分为子序列,每一个子序列对应的最后时间点(Last Point)数据设定为需要检测的关键点数据(Key point),通过引入滑动窗口,控制该子序列对应的时间段数据的长度以及上下文数据中历史数据的长度。

对于基于单点型格式数据的变分自编码器集合CNN-VAE模型,其每一个编码器的主要目的是将输入

变分自编码器集合CNN-VAE模型通过共享框架(Shared Framework)的单一时间点数据变分自编码器集合(an ensemble of neural networks called autoencoders)针对时间序列数据中的点异常进行检测。点异常检测策略基于以下原则:通过正常时间点数据训练一个CNN-VAE模型,给定n个任务,其中每个任务对同一时间点数据特征进行重构,在隐藏层让n个任务的隐含特征编码进行交互,使其学习数据的正常特征组合;作为示例,参考KDD-CUP-1999数据集中所提供的流特征数,令CNN-VAE模型中的n=41,从网络流数据中选择41个特征,再通过41种不同的特征排序方式构建[41*41]的二维矩阵输入数据。

具体的,作为本实施例中的一种可选实施方式,入侵检测模型集合的误差数据包括变分自编码器集合CNN-VAE的误差和/或循环神经网络预测器TCN-LSTM的误差和/或变分自编码器BILSTM-VAE模型的误差。

具体的,作为本实施例中的一种可选实施方式,对于变分自编码器集合CNN-VAE模型,其输入为

,其中c值代表网络流数据所包含特征数。根据情况需求,在变分自编码器集合CNN-VAE模型中即使重构误差/>

具体的,作为本实施例中的一种可选实施方式,对于循环神经网络预测器TCN-LSTM模型,其误差为损失函数

其中,y为下一个时间戳实际的流特征信息,

具体的,作为本实施例中的一种可选实施方式,对于变分自编码器BILSTM-VAE模型,其误差为其重构误差,其重构误差为其均方误差或者为其均方误差加上相应的KL散度。图12示出了变分自编码器BILSTM-VAE模型的编码器结构图;图13示出了变分自编码器BILSTM-VAE模型的编码器参数图;图14示出了变分自编码器BILSTM-VAE模型的解码器结构图;图15示出了变分自编码器BILSTM-VAE模型的解码器参数图。根据情况需求,在变分自编码器BILSTM-VAE模型中即使其重构误差只采用其模型的均方误差而忽略相应的KL散度依旧可以正常工作。具体的,作为本实施例中的一种可选实施方式,图12-图15中,使用Tensorflow操作层(TF操作层)的步长切片层,用于对张量进行切片操作,即在任意维度上选取指定步长的子张量。具体的,作为本实施例中的一种可选实施方式,通过步长切片层,对于历史时间序列长度为 3 的数据进行切片,将每一个时间点上的张量数据单独取出来,进行编码与解码操作。

具体的,作为本实施例中的一种可选实施方式,对于基于上下文型格式数据的循环神经网络预测器TCN-LSTM模型,在训练时,它获取一个历史时间序列信息(用作上下文),并通过尝试预测下一个时间戳流特征信息,对比下一个时间戳实际的流特征信息y和预测的流特征信息

具体的,作为本实施例中的一种可选实施方式,对于基于时间段型格式数据(时间段数据)的变分自编码器BILSTM-VAE模型,在正常序列上训练变分自编码器BILSTM-VAE模型,使其学习时间序列数据的正常模式,使输入数据和输出数据一致。具体的,作为本实施例中的一种可选实施方式,变分自编码器BILSTM-VAE模型通过一个BILSTM层提取时间序列数据中的上下交互关系,每一个时间点的输出都对应一个变分自动编码器,每个模型都由一个独立的编码器和解码器组成,最后再通过另一个BILSTM层重新对原时间序列数据进行重构。变分自编码器BILSTM-VAE模型中固定LSTM层所能接受的时间序列长度为子序列表示的拟采用窗口长度,本发明可以使用不同的窗口大小来捕捉不同分辨率下的系统状态,本发明以选取的窗口长度为SW=3为例,并给出了一个对应的BILSTM-VAE模型构建的参数。

具体的,作为本实施例中的一种可选实施方式,步骤S4中,对于新进入的性质未知的网络流数据通过步骤S1以及步骤S2进行时间序列数据分流后,分别由变分自编码器集合CNN-VAE模型对该网络流数据单独进行重构,由循环神经网络预测器TCN-LSTM模型通过该网络流数据之前的历史网络流数据对该网络流数据进行预测,由变分自编码器BILSTM-VAE模型对包含新的网络流数据在内的数据段进行重构。其中对于变分自编码器集合CNN-VAE模型或者变分自编码器BILSTM-VAE模型输出的误差,根据情况需求,即便只采用其均方误差而忽略其KL散度依旧可以正常工作。

具体的,作为本实施例中的一种可选实施方式,步骤S5中,对于新进入的性质未知的网络流数据,当步骤S4获得的误差数据与网络管理员给定的预期误差之间的差距大于预设的阈值时,认定该网络流数据为攻击数据;当步骤S4获得的误差数据与网络管理员给定的预期误差之间的差距未大于预设的阈值时,认定该网络流数据为正常数据。

具体的,作为本实施例中的一种可选实施方式,对于新进入的性质未知的网络流数据通过数据预处理以及时间序列数据分流后分为单点型格式数据、上下文型格式数据、时间段型格式数据分别作为变分自编码器集合CNN-VAE模型、循环神经网络预测器TCN-LSTM模型、变分自编码器BILSTM-VAE模型的输入;获得由变分自编码器集合CNN-VAE模型形成的无监督异常检测器输出的误差,获得由循环神经网络预测器TCN-LSTM模型形成的无监督异常检测器输出的误差,获得由变分自编码器BILSTM-VAE模型形成的无监督异常检测器输出的误差,对比各个无监督异常检测器的误差与网络管理员给定的预期误差之间的差距,获得各个无监督异常检测器最终对于该新的网络流数据的特性的判定结果,再根据以上三种判断结果,量化不同无监督异常检测器对每个攻击流量的重要性(优先度)。

具体的,作为本实施例中的一种可选实施方式,将三种判断结果所获得的异常分值量化后形成最终的异常分值,当最终的异常分值大于预设的一定阈值时认定该新的网络流数据为攻击数据。

在本发明中,对从各个单检测器模型所获得的异常分值进行加权求和从而完成对于最终所获得的异常分值的量化,一种可选的加权求和示例,即为求取平均值,即三个无监督异常检测器的误差与网络管理员给定的预期误差(即所能接受的阈值误差φ)之间的差距的平均值。举例而言,三个无监督异常检测器的误差分别为<0.5,2.5,0.9>,而网络管理员给定的误差阈值分别为<0.4,2.0,1.0>,则三个无监督异常检测器判断结果所获得的异常分值,分别为<0.1,0.5,-0.1>,平均加权后则为<0.166>,若异常分值越高则输入数据的异常程度越高,若小于0时则显示正常,控制各个单检测器的异常分值的权值则可以控制不同各个单检测器的检测结果在最终检测结果中所占权值。比如待检测的目标网络入侵更多表现出点异常这一种异常现象,则可以尽可能大的提高CNN-VAE模型所获得异常分值的权值。

具体的,作为本实施例中的一种可选实施方式,在加权求和之前,如果不同单检测器所得到的异常分值之间有较大的差距,需要对不同单检测器所得到的异常分值或是所得到的误差值进行预处理,让其局限在同一数值区间。例如对于CNN-VAE模型或BILSTM-VAE模型,在其重构误差中是否加入KL散度值将会很大程度影响误差值的取值范围。作为本实施例中的一种可选实施方式,一种直接对于误差值进行处理的简单方法是概率性地选择φ,具体地,可以将输出的误差值分数拟合到对数正态或非标准分布,然后直接用输出的误差值分数的发生概率本身作为异常分值,这种情况下发生概率越低则越异常。作为本实施例中的另一种可选实施方式,本发明可以采用另一种简单的归一化方式,将所获得的误差数值归一化到[0,1]区间,之后再对获得的异常分值进行加权求和,从而通过对比最终获得的加权异常分值,在检测阶段确定最终的检测判定,当最终获得的异常分值大于网络管理员所设定的接受阈值(一般将其直接设为0)时,便认为它是异常、攻击或是入侵。

采用变分自编码器集合CNN-VAE模型、循环神经网络预测器TCN-LSTM模型、变分自编码器BILSTM-VAE模型形成三个无监督异常检测器,对比有监督机器学习方法,通过无监督神经网络模型可以极大的减少由于人工报文标记导致的昂贵成本,在训练过程中不使用标签,不需要通过过采样和欠采样平衡网络数据流报文中的恶意性标签数据和良性标签数据,具有更好的检测零日攻击的能力,对于新的网络攻击类型有更好的适应性。本发明针对多种不同的时间序列数据进行入侵检测,减少了模型训练所需的专家知识以及人工干涉,并高效的检测可能存在的网络攻击数据。

本发明通过使用三种不同的深度学习模型框架,将点异常检测,上下文异常检测,集合异常检测进行集成,噪声更小,考虑了存在于时间序列数据中的不同类型的异常数据。对比其他检测方法,在精度 Precision、召回率 Recall、 F1分数等指标方面有较高的性能提升。在图16中显示了采用本发明的网络数据入侵检测方法与其他方法在KDD Cup 1999数据集上进行的精度、召回率和F1分数性能对比评估结果。首先在X轴向的前4列给出了四种流行的无监督检测方法(PCA、KNN、FB和AE)的性能结果,在X轴向的末4列给出了单独采用变分自编码器BILSTM-VAE模型、单独采用循环神经网络预测器TCN-LSTM模型、单独采用变分自编码器集合CNN-VAE模型、三个模型集合的性能结果,可以看出,末4列的性能结果对比前4列的性能结果,在精度 Precision、召回率 Recall、 F1分数等指标方面都有较高的性能提升。

以上对本发明所提供的基于集成学习的无监督的网络数据入侵检测方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种基于集成学习的半监督分类的入侵检测方法
  • 一种基于集成学习和半监督SVM的计算机入侵检测方法
技术分类

06120116338988