APP下载

基于稀疏自编码深度神经网络的入侵检测方法

2018-09-03任伟

移动通信 2018年8期
关键词:标签神经元编码

任伟

(中国电信股份有限公司广东分公司,广东 广州 510627)

1 引言

随着移动互联网的高速发展,应用安全从传统桌面进入移动应用时代。移动应用风险为业务安全带来大量的不确定因素,移动应用安全也成为移动互联网发展的焦点。企业在享用移动互联网带来便利的同时也面临着各种各样的网络入侵。当前,入侵检测研究备受业界人士的关注,互联网的安全防范技术不断涌现并被广泛应用:(1)数据加密和杀毒软件等被动防范技术;(2)对网络安全状态进行实时检测的主动防范技术。上述两种技术都是采用数据库匹配技术实现入侵行为的识别。但是在实际的生产环境中,黑客或恶意软件的入侵行为并不是一成不变的,当出现新的入侵行为时,上述的入侵检测方法就显得无能为力了。为了应付新的入侵威胁,采用一定的规则对入侵网络行为进行分析与挖掘,构造入侵行为的分类器以实现网络入侵的检测成为当前网络安全研究领域的重要方向。KENNEDY[1]等人采用神经网络进行网络入侵行为的检测,但是由于神经网络是基于一定规模的训练样本进行模型构建,在训练样本足够多的情况下才能保证模型的精度,而入侵行为本来就是小概率事件,因此该方法的入侵检测结果不稳定,检测正确率也不如人意。随着机器学习研究的深入,不少学者[2-3]采用支持向量机来构建入侵检测的模型,支持向量机对训练样本的要求没有神经网络那么苛刻,但是其也存在致命的缺陷:参数的确定和在高维特征空间的“维数灾难”的难题。随着人工智能技术的不断成熟,半监督的入侵检测方法[4]被提出,采用半监督的方法训练少量标记的数据获得大规模的数据集,引用信息增益率从定量的角度来衡量不同网络入侵行为特征对入侵检测预测结果的影响,能够在一定程度上提高未知攻击检测的性能,但是该方法的精度与选取的半监督方法有密切的关系。本文在借鉴上述学者研究成果的基础上,提出一种无监督的网络入侵检测方法——基于稀疏自编码深度神经网络入侵检测方法,采用非监督学习自动提取入侵行为特征用于入侵行为的检测。

2 入侵检测行为的相关研究

2.1 入侵检测技术

利用IDS(Intrusion Detection System,入侵检测系统)可以通过识别计算机、网络系统或者信息系统中非法入侵者的恶意攻击或者合法用户的越权行为,以保证网络安全。当前的入侵检测系统的检测技术分为2种:基于误用和基于异常两类[5]。基于误用的IDS是将待检测行为与预先设定的误用模式进行匹配,其对已有类型的攻击行为具有较低的误报率,但无法识别网络上新的或者未知的攻击类型。基于异常的IDS的入侵检测则通过提取异常行为的特征,结合监督学习算法来检测网络中的未知攻击,因此能够检测新的或者未知的网络攻击行为,但其性能稳定性常常受到分类器的影响。

2.2 非机器学习的入侵检测方案

非机器学习的入侵检测方案是通过对存在的攻击行为采用人工的方式进行特征提取并生成相应的规则进行检测。Jeffrey等人[6]提出基于云系统安全的网络攻击博弈框架:基于信号博弈挖掘云和设备之间的关联性,融合博弈模型构建攻防之间的博弈模型。Fronimos等人[7]通过分析LIHs(Low Interaction Honeypots,低交互蜜罐)的网络早期攻击特征,采用可用性和性能标准评估来检测入侵行为。Guo等人[8]基于无线传感网络的已知攻击行为提出一种多协议的中间入侵检测系统。基于非机器学习的入侵检测方案大多采用人工方式提取相关的特征进行检测,因此对于海量数据,该方法有些力不从心。

2.3 机器学习的入侵检测方案

基于机器学习的入侵检测是通过机器学习的方法提取数据的特征并进行入侵检测。Taeshik等人[9]针对SVM(Support Vector Machine,支持向量机)的“维数灾难”问题,提出一种非监督学习的改进SVM方法,结果表明该方法降低了误报率。许勐璠等人[10]针对现有方法检测精度过低的问题,采用半监督学习方法学习入侵特征,利用信息增益衡量数据特征对检测性能的影响程度,提高了模型对未知攻击类型的检测性能。贾凡等人[11]利用卷积核提取网络中正常的行为和异常的行为特征,最后采用多层感知机进行分类。高妮等人[12]提出一种基于自编码网络的SVM检测模型,采用自编码网络提取网络数据的特征,再采用SVM对特征进行分类。

上述方案大多从定性角度结合专家知识选取未知攻击行为的特征,在一定程度上忽略一些重要的特征从而限制了模型精度的提升。除此之外,目前大多数机器学习算法都是基于公开的数据集KDD99或者NSLKDD,因此在实际网络攻击场景中的应用性很有限。为了降低网络入侵的漏报率和误报率,本文借用人工智能算法中的自编码网络对数据进行特征提取;然后,借助上一步获得的向量初始化深度神经网络隐含层的参数,并将处理后的原始数据放进深度神经网络进行训练和测试,构建网络入侵检测模型。

3 基于稀疏自编码深度神经网络的入侵检测方法

3.1 自编码网络

自编码网络是Hinton[13]于2006提出的一种无监督学习的算法,它使用了反向传播的方法,让目标值等于输入值,对高维的输入数据进行重构并得出输入数据的低维表示,从而实现数据降维的目标。自编码网络实质上是一种非线性学习双向映射的网络,采用编码器和解码器实现数据的高低维度的转换和重构。

图1是自编码网络的工作原理图。自编码网络的核心结构是编码器和解码器,编码器的作用是实现高维数据的降维,解码器的作用是实现低维数据的重构,这个“一高一低”,完美地演绎了高维数据空间和低维数据空间的双向映射。编码器和解码器中间存在一个代码层,其作用是将高维数据输入到编码器中被压缩后的低维表示。

图1 自编码网络的工作原理

自动编码网络作为一种无监督逐层贪婪学习系统参数的神经网络,能够从无标签、非线性、高维度的输入数据中提取数据不同层次的特征,并实现原始高维数据的低维特征表示。自动编码网络由输入层、隐含层以及输出层表示。隐含层的主要任务是对输入数据进行编码,输出层的任务则是对隐含层的低维表示进行解码重构,使得重构的数据与原始输入的数据误差最小。

从图2可知,如果隐含层的矢量h(i)通过解码器得到重构的矢量x(i),与原始的输入误差较小,则可认为编码器保留了大部分的信息。但是由于网络底层连接记录数据往往包含一定的噪音,因此,需要对自编码器的隐含层加入稀疏的限制,也就是针对激活函数进行控制,实现隐含层大多数的神经元处于“非活跃”状态,少数神经元处于“活跃”状态。

图2 自编码网络的模型结构

3.2 稀疏自编码网络模型

假设网络底层连接记录数据为X={x(1), x(2), x(3),…, x(n)},其中n为无标签样本数据的个数。由于网络入侵的类型有多种,但其最终可反映到底层网络连接记录数据的变化。因此,在对网络底层连接记录数据进行编码之前,对网络底层连接记录数据进行归一化处理,以减少特征的重要程度受到数值的影响,本文采用的归一化方案采用最小-最大值标准法,将网络底层连接记录数据的大小范围缩小到[0,1]之间。

对网络底层连接记录数据进行编码的过程就是通过隐含层将每一个无标签训练样本k维矢量x(i)'映射成m维的编码矢量h(i)。假设表示连接第l层第j个神经元和第l+1层第i个神经元权重系数,表示第i个神经元的偏置,表示第l+1层第i个神经元的输入值加权和,那么的表达式为:

根据自编码网络的模型结构可知,输入层到隐含层的转换一般通过sigmoid函数实现,而隐含层到输出层的转换则通过线性函数或者sigmoid函数进行数据重构,重构的误差函数表示为:

对于稀疏函数sigmoid,如果隐含层某个神经元输出的值接近1,则该单元处于“活跃”状态,相反,则处于“非活跃”状态。为了实现“稀疏”的目的,通过抑制隐含层的大多数神经元并让其处于“非活跃”的状态,假设aj(x)是第j个单元的激活量,那么n个无标签网络底层连接记录数据样本的平均激活量为:

为了使大多数神经元处于“非激活”的状态,需要让ρ^逼近一个接近于0的常数ρ,ρ一般称为系数常数。为了实现网络神经元的“稀疏”的目的,传统的做法是在自编码器代价函数加入系数惩罚项,以此来惩罚偏离ρ。选KL离散度函数[14]作为PN的表达式:

其中,s2代表隐含层的单数数量,与ρ间的相对熵,相对熵测量两个分布之间的差异性。由于相对熵是凸函数,当时,KL达到最小值。KL的值随着偏离ρ逐渐增大。

为了实现稀疏性的限制,定义代价目标函数为:

其中,n为样本的数量,nl为自编码神经网络的层数,λ为规则化系数,x(i)''为第i组样本在深度神经网络输出层的输出值,β为稀疏性限制惩罚项的系数。上述公式由三部分组成,分别是均方差项、规则化项、惩罚项。其中凸函数的表达式如下:

公式(6)均方差项和规则化项为非凸函数,通常采用批量梯度下降的方法对其进行求解。采用BP算法的原理,自编码网络(其中激活函数采用sigmoid函数)各层的残差向量的计算方式为:

当解码器使用线性函数时得到a3=z3,a3(1-a3)=1,那么,σ3=-(x-a3)。那么自编码神经网络的权重向量和偏置向量的梯度下降方向为:

其中l=1, 2。在算法满足一定的准确率或者达到指定迭代次数时,隐含层神经元获得高维数据的学习特征,那就意味着稀疏自编码深度神经网络已经训练好对应的权值向量w和偏置向量b。

3.3 基于稀疏自编码深度神经网络的网络入侵检测方法

为了实现网络入侵的监测,将具有无监督学习特点的稀疏自编码网络和具有监督学习的深度神经网络相结合。稀疏自编码神经网络采用非监督学习的方法学习到网络入侵的特征,并学习到特征参数——权值向量w和偏置向量b;然后把上一步获得的特征参数作为深度神经网络的初始化参数,并通过带有标签的训练样本对特征参数进行微调,完成深度神经网络的训练,获得入侵网络行为的有效特征表达。需要指出的是,本文模型的分类结果并不是传统的logistic解决的二分类结果,而是基于softmax的多分类结果,也就是模型不仅能够诊断入侵行为,还能给出入侵的类型。这样做的目的是能够在一定程度上精细化分类标签,有利于模型的更新学习。本文的深度学习网络流程图如图3所示。

根据图3将步骤总结如下:

(1)采集网络连接记录,一般来说,网络的连接记录统计了网络连接的基本信息、连接内容和连接流量信息。上述的连接记录包括40多个特征,比如:IP信息、连接次数、连接日期等等。

(2)在原始带标签样本中随机选择30%作为训练样本,剩余的70%作为测试样本,然后对训练样本和测试样本进行归一化的预处理。

图3 深度学习神经网络的流程图

(3)对预处理的训练样本采用无监督学习的方法进行训练,采用批量训练和梯度下降的方法获得权重和偏置。

(4)将训练好的稀疏自编码网络得到的最优隐含层的参数w和b用于初始化深度神经网络隐含层的参数。

(5)根据网络入侵的类型,选用softmax分类器作为深度神经网络的输出。

(6)用带标签的训练样本以及学习好的特征,采用监督学习的方法,利用BP算法微调整个深度神经网络的参数,得到一个最佳的w和b,完成整个深度学习神经网络。

(7)将带标签的测试样本输入到已经训练好的深度神经网络模型,利用神经网络的多分类器输出网络入侵的类型,实现网络入侵检测。

本文利用稀疏自编码深度神经网络实现网络入侵的检测。首先,利用非监督学习的方法自动提取网络底层连接记录数据的学习特征并得到深度学习神经网络初始化参数;然后将学习好的特征参数对带有标签的训练集进行训练,采用BP算法微调整个深度神经网络的参数;最后,将测试样本输入到已经训练好的深度神经网络模型,实现网络入侵的监测。

4 实验结果与分析

在实际应用场景中,黑客可能利用系统框架、lib漏洞进行攻击,非法获取系统权限,获取私密信息。利用获取到的用户访问Token,向服务器提交非法数据,或者提交非常大的数据,拖垮系统服务,导致服务不可用。本文基于电信政企专线开通透明化系统,利用稀疏自编码深度神经网络对网络连接记录数据(重点是输入流量)进行学习和特征分析,并采用深度神经网络对学习到的特征进行分类。总共提取网络连接记录8 326条,其中无标签数据1 126条,有标签训练集5 065条,有标签测试集2 135条。实验数据集合如表1所示。

实验数据包括了4种常见的网络入侵行为(包括Dos、R2L、U2R以及Root权限访问以及Probing端口监视或扫描)和正常的网络行为的三种不同类型的数据。其中,无标签数据集用于稀疏自编码网络的特征学习,学习到5个类别(4种异常和1种正常)的网络行为数据之间的相关性;有标签的训练集用于深度神经网络softmax分类器的训练,得到一个经过微调的权值向量和偏置向量;有标签测试集是用来测试已经训练好的深度神经网络模型的准确率。

表1 实验数据集合

首先,通过python工具构建传统BP神经网络和稀疏自编码深度神经网络,其中BP神经网络隐含层的神经元数量分别为200和400。同理,自编码深度神经网络的输入层和输出层的神经元数量均为200,隐含层e神经元数量为400。本文试验重复进行共10次,每次试验迭代次数为100次。实验对比结果如图4所示:

图4 多种算法试验重复实验10次的准确率

从图4可知,在BP神经网络的隐含层神经元数量(192个)等于稀疏深度神经网络输入层神经元数量的情况下,稀疏深度神经网络在进行10次试验后的平均准确率高于传统的BP神经网络。在BP神经网络的隐含层神经元数量(400个)等于稀疏深度神经网络隐含层神经元数量的情况下,稀疏深度神经网络在进行10次试验后的平均准确率同样高于传统的BP神经网络。而且,隐含层的神经元不是越多越好,在大多数情况下会产生过拟合的现象。

同时,本文模型的损失函数和迭代次数的关系图如图5所示,在设置的100次迭代次数的训练中,当模型迭代到第8次时,损失函数已经接近于0。

5 结束语

图5 损失函数与迭代次数的关系

本文建立的基于稀疏自编码深度神经网络模型应用于网络入侵检测领域,该网络利用稀疏自编码网络的优势,采用非监督学习的系数自编码网络提取网络连接记录数据的特征,并在自编码网络的隐含层得出深度学习网络的初始化参数,然后将学习好的特征参数对有标签的训练集,采用BP算法微调整个深度神经网络的参数,构建深度神经网络多分类模型。实验结果显示,本文提出的算法较传统的BP神经网络具有较高的准确率。该实验结果将有利于降低网络监测的误报率。实验证明,基于稀疏自编码深度神经网络模型可以取代传统的机器学习方法,为未来的入侵检测系统的研究提供了一种新的方法和设计思路。

猜你喜欢

标签神经元编码
《从光子到神经元》书评
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
Genome and healthcare
无惧标签 Alfa Romeo Giulia 200HP
跃动的神经元——波兰Brain Embassy联合办公
不害怕撕掉标签的人,都活出了真正的漂亮
标签化伤害了谁
基于二次型单神经元PID的MPPT控制