APP下载

一种基于深度学习的网络安全态势评估方法

2019-03-11叶亮谭振江

智能计算机与应用 2019年6期
关键词:深度学习

叶亮 谭振江

摘要:提出一种使用深度学习方法对网络环境进行态势评估的方法。根据网络扫描过程中获取的风险信息进行分类和特征提取,训练深度学习网络,并根据学习结果预测攻击对网络造成的影响,同时对当前网络态势进行整体评估。针对网络整体的安全问题进行定量描述,从而可以对不同协议层、不同来源、不同手段的攻击进行风险评价,并调度资源进行拦截及防护。

关键词:网络安全态势:深度学习:态势评估

0引言

随着网络规模的不断扩展,网络安全问题的规模也随之扩大,攻击手段也不断在更新,这使得网络安全面临着数据规模庞大、识别方式复杂以及面对问题不断更新的挑战。在现实情况中,使网络中的所有接入设备都完全处于安全状态也相当艰难。

与传统的网络安全要求不同,网络安全态势感知不关注个体的状态,也不仅局限于检测一种特定类型的攻击。而是从宏观角度对当前网络的安全状态进行描述和评估,更关注于对整体网络的全部要素进行获取、整理、分析、理解,最终得到当前网络安全的总体评价及发展趋势。其主要研究集中在可视化、分层和融合三条主线上。

(1)可视化侧重于人机交互的应用,管理人员易于从管理工具中直观检测到当前状况,主要根据对系统的日志分析来回答是否有攻击,来自何处的攻击以及攻击的影响等。但是该主线上较少关注网络管理设备的自主分析,而是依赖于系统管理员的经验或专家知识,

(2)在层次化的结构上,将不同类型的硬件、服务、软件定义为不同层次上的节点,而在不同层次上,根据重要程度和对网络产生的影响定义其权值,自底向上,逐层评估,得到总体的概况,在这类认知的前提下,研究得到一系列评估的模型,大多数模型的框架建立在数据收集——规范化——权值生成——评价的过程上,而模型的区别在于数据来源、清洗算法和权值学习算法等方面。

(3)网络安全态势使用数据融合,来自不同层次的数据结果的总和能够对态势进行描述。

数据分层和融合两条主线对安全态势的认知基础来源于不同软硬件或不同服务的数据,分层更注重来源数据的评价,融合则更侧重于数据的融合,而可视化将二者结果直观地表达出来,

综合各条主线,网络安全态势评估实际上表达的是对网络整体动态的综合评价,这种评价建立在较大规模的数据基础上。在攻击手段技术不断更新,人为预期相对滞后的情况下,提出一种使用深度学习的态势评估方法,在卷积神经网络上建立起针对各层网络数据的特征提取和判断,最终获取对网络的评估结果,

1 模型框架

在卷积神经网络上构建对态势评估的模型,通过深度学习提取在大规模网络数据中的特征,并加以分析和评估。经典的卷积神经网络通常包括输入层、卷积层、池化层、全连接层和输出层等部分,接下来介绍将态势评估建立在卷积神经网络模型上的过程。

1.1输入层

输入层是数据进入卷积神经网络的第一层,在该层进行数据的均值化、归一化、降维和白化。将不同形式、不同规则的数据进行标准化,以便于准确抽取特征和构建评价。网络扫描获取的数据源自网络不同层次,需要获取的数据不同,但是数据格式相对整齐。因此在数据进行归一化前,使用m×n维矩阵接收实际获取数据,并将来自网络不同层的数据分布在矩阵的不同维。如:当前的数据包括IP地址、加密后的用户名和密码及服务请求等信息,则将数据记录为4×n的矩阵,每一行获取的是一类信息。

对于矩阵中的数据进行归一化处理,二元的定性信息定义为[0.1]上的实数,n元定性信息定义为[1.|n|]上的整数,并可以通过函数映射到[0.1]上。定量信息根据数据分布和范围,通过函数映射到[0.1]上。并且可以将m×n维矩阵,压缩为m维向量。

1.2卷积层

卷积层是卷积神经网络中的核心部分,通过卷积层,将归一化的数据进行特征提取,自动学习数据的属性。根据网络层的结构,相关联的数据总是在当前的上层或下层,因此使用大小为(3.3)的滤波器,并设置步长为1。

卷积层接受来自输入层标准化的数据,在数据中进行特征提取,对于标准化数据的矩阵形式,大小为(3.3)的滤波器提取的是相邻3条数据;对于每条数据,每次提取3列的值,该值来源于相邻层的信息。滤波器每次提取当前层的信息,同时考虑当前层上层和下层对评估的影响,也考虑前后相邻数据对当前数据的影响。滤波器主要提取当前数据的当前层特征,较少考虑其它因素影响,滤波器将采用如下形式:

其中,a.b.c∈[0.1],但是a》b≈C。虽考虑其它因素影响,但以当前数据为主。

1.3池化层

池化层获取来自卷积层的矩阵,用于缩减来自卷积层数据规模。来自卷积层的数据,因滤波器的特征提取结果,得到特征明显的数据。在m×m真的矩阵中表现为在第i行第j列(i≤m.j≤m)的元素aij,与矩阵中其它元素有较大的差异(如远大于或远小于)。那么将m×m的矩阵化简为1×1的值,选择aij为池化层的特征值来表达。根据(1)式,通常选择得到的是过滤结果矩阵a11的值。

1.4全连接层和输出层

该层获取卷积层或池化层的矩阵数据,并将其变为列向量进行加权,并向输出层输出。将m×n的矩阵数据转为有m×n个元素的列向量。即

对于列向量进行加权输出,得到输出层的最终结果。但是通常情况下,m×n的值是一个较大的数字,对其进行加权输出的计算量也较大。可采用取平均值的方法解决,即若输出层结果为y0,则有:

最终,由输出层得到的结果再次进行白化,得到当前输入态势评估的賦值。对一定时间段内的态势进行评估,将得到赋值的分类。

2各层算法

使用网络扫描数据进行训练和评估,算法执行过程如图1所示。算法形式化表示如下:

输入:扫描数据集x.人工判断结果集合y.卷积过滤器组F=f1…fn

输出:分类输出向量t.评估值a

初始化:划分扫描数据集X为训练集和测试集,X={X1…X10},对应结果集合Y={Y1…Y10},设定卷积层数m。

1.M=SetNum(X)//将数据集数据化

2.M0=AVG(M)//均值化

3.M1=NOR(M0)//归一化

4。M2=PCA(M1)//使用主成分分析降维

5.M3=WHI(M2)//白化

6.While(|OT(X)-Y|>ε)//当输出层结果与实际结果不同

7.{While(|OT_fi(X)-fi(Y)|>ε)//当每层结果与实际每层结果不同

8.{SetFl(F)//设置卷积过滤器

9.M4=Get(M3,F)//卷积输出

10.OT_fi(X)=MaxP(M4)}//最大池化

11.NextL(OT_fi(X))}//向下一层传递

12.T=OT(X)//获取输出向量

在算法中,扫描数据集X可能获取到非数字化的结果,如IP地址、请求时间等,需将此类数据化为数字化结果。如来自内网地址记录为0.外网地址为1.不能获取地址为-1;或更精确地,与当前网络地址的接近程度来标记IP地址的数字化结果等。

卷积过滤器使用3×3.步长为1的矩阵与对应数据相乘,获取卷积后的结果。当预期值与实际值差值大于预期时,调整过滤器并进行进一步的计算。接下来使用该算法对网络扫描结果进行评估,获取实际评估值。

3 实验结果及分析

采用来自校园网络某月的扫描结果,对网络态势进行评估。扫描结果包括日期、时间、访问者IP地址、访问安全级别、访问类型等内容。对非定量信息进行分类标记,最终得出评价结果,如图2所示。

其中,纵轴表示评价值,横轴为依时间顺序选择的时间点,评价值在0.5附近为平均值。通常情况下,向上的高点为修复或拒绝某特定访问后的时段,而向下的低点为扫描发现攻击时段。

使用深度学习方法可以处理网络多层或多步攻击情况,因此,在训练较好的深度学习方法中,能够对整体态势有更为精确的评估。在此基础上,将进一步研究不依赖于扫描结果,直接从访问数据中进行分析的方法,并且希望能够根据预测对网络资源进行调度,

4 结束语

训练深度学习网络,依赖校园网扫描到的风险数据,对网络風险和攻击进行特征提取和分类,对网络当前安全态势进行评估,从而进一步实现风险预测和网络资源调度。

猜你喜欢

深度学习
从合坐走向合学:浅议新学习模式的构建
面向大数据远程开放实验平台构建研究
基于自动智能分类器的图书馆乱架图书检测
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究