边缘计算中改进ELM的高效入侵检测算法

2021-08-04 08:37李忠成高惠燕张文祥
计算机测量与控制 2021年7期
关键词:物理层边缘服务器

李忠成,高惠燕,张文祥

(浙江万里学院 智能控制技术研究所,浙江 宁波 315100)

0 引言

随着移动互联网、云计算和物联网技术的高速发展,笔记本、手机和可穿戴设备等智能移动终端不断涌现,海量数据和智能应用迅速填充着人们的生活,人们对快速实时稳定的通信要求越来越高[1]。在计算能力、能耗、实时性、数据安全和隐私等方面,集中式的云计算模式已经无法满足网络需求[2]。边缘计算应运而生,作为对云计算的延伸和补充,边缘计算将云计算扩展到了网络边缘,可以通过部署在不同位置的边缘服务器与终端设备直接连接,从而降低数据处理延迟,解决云计算时延高、移动性差和位置感知弱等问题[3]。但同时由于边缘计算网络通信的开放性也带来了边缘设备和用户数据的安全问题,边缘节点分布式部署的特点,使其很容易遭受到外部用户的非法入侵;边缘计算网络异构型的特点,使其受到入侵的情态极具多样化和复杂化;作为边缘节点集群管控中心的云服务器也会受其影响,面临更多的入侵威胁[4]。因此,构建一个面向边缘计算网络的入侵检测模型,并依此研究一种行之有效的入侵检测算法,在保障边缘计算网络安全、推进边缘计算的更广泛应用方面具有重要意义。本文聚焦边缘计算环境下的安全防御相关模型及算法展开研究,提出一种基于改进ELM(极限学习机)算法的边缘计算入侵检测方案,贡献如下:

(1)设计并架构一个具有6层结构的边缘计算入侵检测系统,系统功能包括边缘计算入侵检测到防御响应过程中的全部模块,通过监控边缘网络、节点状态和用户行为等,来实现对用户非法行为和外部入侵进行检测和防御。

(2)以入侵检测系统架构为基础提出一个边缘计算入侵检测方案,并基于该方案提出一种适用于边缘计算部署的改进极限学习机的入侵检测算法,通过引入样本筛选的过程以优化学习过程中的外权,对边缘节点的数据实现高效的入侵检测。

(3)通过与传统ELM、BP神经网络、SVM和CVM-ELM算法比较准确率、训练时间、鲁棒性、误报率,证明该算法是一种适用于边缘计算网络应用的入侵检测算法。

1 相关工作

边缘计算虽然能够有效降低云中心的计算负载,从而缓解带宽和延迟压力,但是随着边缘节点的不断增加和边缘设备智能化程度的不断提高,边缘计算也面临着包括虚假数据中心、数据篡改窃取以及拒绝服务攻击等一系列用户非法行为或外部入侵安全问题。面对这些问题,国内外研究人员提出了不同的解决方法。文献[5]提出了一种基于安全级别的防御方案,方案中不同的安全级别采用不同的数据包检查算法,并强制执行不同的插件,分析来自内部用户非法行为的攻击威胁[5]。文献[6]提出了零和随机博弈模型,模拟攻击者和用户之间的信息动态交互行为,通过推导模型的纳什均衡分析影响用户最优防御策略的主要因素[6]。文献[7]提出了一种分布式拒绝服务攻击分类算法来防御云数据中心的安全威胁,并对响应时间、负载开销等指标进行了实验分析[7]。文献[8]提出了一种利用虚拟机状态识别攻击方案,通过信息熵监视虚拟机状态,实验表明该方案能够识别拒绝恶意用户利用云资源发起的服务攻击,且具有良好的实时性和准确性[8]。文献[9]提出了一种分布式拒绝服务攻击缓解方案,该方案集成了一个可编程的网络监控,能够对恶意攻击进行检测,从而实现快速的入侵响应[9]。文献[10]将外部攻击者和内部用户之间的信息交互模拟为开环的微分博弈模型,该模型为后续抵御内部攻击的防御方案设计提供了一定的理论基础[10]。文献[11]通过构建入侵检测防御系统进行数据包综合分析,提出了一种基于嵌入式马尔可夫链模型,该模型在云网络安全服务的防御性和检测性方面取得了一定的成效[11]。文献[12]基于博弈理论提出了一种位置隐私系统,通过对网络中用户移动行为的分析研究,实现在最小化开销的同时最大化用户的位置隐私水平,从而提高云网络服务的安全性[12]。文献[13]提出了一种轻量级安全可持续负载均衡算法,利用该算法能够高效地找出低负载目标边缘数据中心,进而通过低负载中心的检测验证来避免外部攻击[13]。文献[14]提出了一种拒绝服务攻击的安全防御模型,该模型通过多接入边缘计算技术来处理来自终端设备的可疑流量,利用生成的本地化防御策略实现拒绝服务攻击[14]。文献[15]针对攻击者恶意破坏数据包转发问题提出了一种集中检测模型,利用分组丢弃概率的方法监控下行链路信道,该模型不需要对任何数据进行训练,能够有效缓解系统资源的额外损耗[15]。文献[16]提出了一种基于马尔可夫博弈的安全模型,利用马尔可夫链模拟数据交互的变化过程,并通过构造效用函数分析各类参数对数据用户选择最优保护策略的影响,从而提高网络中用户数据的安全性[16]。

综合上述研究,在边缘计算中确实存在着一系列安全入侵问题,并且现有研究大多基于传统算法,缺少对边缘节点资源受限和边缘网络复杂性高等特点的考虑,因此本文结合边缘计算网络和边缘数据中心的特点及其面临的安全威胁,设计一种高效的入侵检测模型和适用于边缘计算网络的入侵检测算法。

2 模型构建

与传统网络相比,边缘计算网络具有分布式、异构性和节点资源受限等特点,边缘计算网络中的边缘节点和云服务器都很容易受到大量异构设备接入带来的安全威胁。设计构建边缘计算入侵检测系统的目的是实时监控边缘计算网络、终端设备行为和边缘节点状态等,并检测分析边缘网络中外部攻击者的入侵企图、内部用户的越权行为和系统网络的安全缺陷,并根据检测结果进行合理的入侵响应和统计管理。系统功能特点包括数据采集分析、实时监控管理、智能动态响应、优化资源分配、操作简单和维护便捷等。针对边缘计算特殊的网络结构,为了确保边缘计算的安全性和网络服务的高效性,结合边缘计算的特点研究构建一种通用入侵防御系统模型,如图1所示,该模型根据边缘计算网络系统的入侵防御特点、功能及流程分为六层,按照边缘网络数据流向依次是物理层、网络层、数据层、检测层、分析层和管理层,系统功能模块包括捕获数据包、数据清洗过滤、入侵检测、信息分析与知识挖掘、入侵响应策略、存储与通信、数据统计等。

图1 边缘计算入侵防御系统模型

2.1 物理层

物理层包括接入边缘计算网络的各种用户智能设备或移动终端,这些具有多元性和异构性的用户设备只享受系统服务,它们之间并不互相提供服务。这些设备包括智能手机、掌上电脑、个人PC、智能穿戴、智能家电、无人机、传感器和车联网中的车载设备等。由于边缘计算物理层的异构性特点,这些设备会通过各自不同的网络协议接入到系统中的边缘节点。物理层是边缘计算系统网络中一切数据的源头,而在物理层中的大量用户设备又无法区分其合法性,因此边缘计算网络所面临的安全威胁绝大部分都来自于物理层。

2.2 网络层

网络层的作用是为不同的边缘计算网络协议提供通信链接服务,该层负责接收从物理层传输过来的数据,并对数据进行封包和传输处理。网络层突出体现了边缘计算网络异构性和融合性的特点,边缘节点能够实现物理层异构的用户设备连接,原因就在于对多种通信协议的链接支持。边缘计算网络支持的协议有Wifi、5 G、ZigBee、蓝牙以及M2M和以太网协议等。

2.3 数据层

数据层的作用是进行数据采集和处理。数据有来自物理层各类设备产生的数据,其中既有合法用户数据也有非法用户数据,还有网络层产生的数据,包括通信协议、设备连接信息和活动状态等。该层主要完成数据的采集、存储、清洗、过滤和预处理等。该层是入侵检测的首要层,各项功能主要在边缘节点中完成,边缘节点由资源受限的服务器或设备组成,本地能够存储和处理数据,是最接近物理层的服务节点,在与云服务器通信时,边缘节点不用将采集数据全部传输给云,只要将本地处理后的数据按需上传即可。

2.4 检测层

检测层是入侵检测的核心层,检测层的任务也在边缘节点中完成的。数据层采集到的数据在系列处理之后数据量极大,而且这些海量数据多数属于正常数据,只有极少数数据是表征非法入侵行为发生的异常数据。检测层的功能就是通过数据分类检测从海量数据中找到这样的异常数据。在边缘节点中检测层会对预处理的物理层终端设备和网络层连接数据进行检测,利用入侵检测算法对数据进行分析判断;并对边缘节点的主机状态进行监控;对网络数据包协议和日志进行记录管理;定时向云服务器发送检测结果和日志记录。

2.5 分析层

分析层位于系统云服务器,任务是分析来自边缘节点检测层的处理结果和日志记录数据,将结果信息进行数据挖掘并生成应用服务。分析层对所有连接的边缘节点进行安全状态监控和异常状态分析,生成并存储每个边缘节点的安全/异常状态分析报告,一旦发现有异常状态的边缘节点,就对此类边缘节点数据展开追踪。

2.6 管理层

管理层也位于系统云服务器,该层的任务是对分析层生成的应用服务进行有效实施和对处于异常状态的边缘节点实时响应。该层的主要功能模块有监控管理、入侵响应策略、存储与通信管理、统计管理等,能够实现对边缘节点异常状态的统一监控和管理,计算边缘节点异常状态,根据分析结果实时自动响应追踪策略,对异常边缘节点信息和日志进行存储和管理,对非法入侵行为进行证据记录和追踪溯源。

3 算法设计

3.1 入侵检测方案

边缘计算中的入侵行为就是边缘计算网络中一切可能危害到数据机密性、真实性或系统可控性、可靠性的行为。结合上述入侵防御系统的六层架构,边缘计算中的非法入侵行为主要来自物理层,包括端口扫描、拒绝服务、本地未授权用户访问和远程未授权用户访问等入侵威胁。因此边缘计算中的入侵检测主要就是在边缘节点中对捕获的物理层数据进行处理、分析和检测。

入侵检测的核心问题是入侵检测分类算法,由于边缘节点的地理分布式、网络异构性和资源受限等特点,传统的入侵检测算法并不适合直接部署,为了合理利用边缘计算系统资源、有效地执行入侵检测任务,本节设计了一种云服务器与边缘节点协同合作的入侵检测方案,更好地提高入侵检测的可用性、准确性和高效性。

该方案考虑到边缘节点也具备一定的计算能力和存储能力,所以在边缘节点中部署非法入侵检测分类器,而数据量较大的总训练样本则存储在计算和存储能力强大的云服务器中,同时云服务器还存储了训练集数据的筛选规则,云服务器把样本按规则选择出的结果交给边缘节点训练。从而综合云服务器和边缘节点的计算存储协作完成对非法入侵的异常检测。这样能够确保边缘节点获得的数据更符合本地特性,能够更有效地提高系统检测能力。

该方案主要流程如图2所示。首先物理层的各种异构终端设备通过各自的网络协议接入到边缘计算网络;然后系统云服务器对总训练数据样本集进行存储管理,并按照样本筛选规则进行样本选择;之后云服务器将筛选后的训练样本集分发给边缘节点进行本地存储;各边缘节点再针对存储的训练集执行入侵检测的训练过程;最后在边缘节点上完成非法入侵行为的检测,并记录安全日志存储在该边缘节点中。

图2 边缘计算入侵检测流程

该方案充分利用了边缘计算中云服务器和边缘节点资源,通过各自在入侵检测的训练过程和检测过程承担不同职能进行分工协作,能够有效提高系统资源利用率、降低网络中的通信开销、减少云服务器计算负载,通过安全日志分存也能有效降低系统风险。

3.2 入侵检测算法

在上述云服务器与边缘节点协同合作的入侵检测方案中,边缘节点需要在本地部署入侵检测算法以完成入侵检测任务。考虑到边缘计算复杂的网络环境和大规模异构用户设备的动态威胁,必须通过灵活动态的训练数据集进行合理有效地实时数据训练。同时考虑到边缘节点资源受限的特点,现有的诸多入侵检测算法训练时间又过长,亟需设计一种适合边缘节点应用的准确率高、训练时间短、鲁棒性好的轻量级入侵检测算法[17]。ELM(极限学习机)算法求解直接,仅需求解输出权重,其学习过程易于在全局极小值收敛,该算法具有简单易用、训练参数少、学习速度快、泛化性能强等优点,非常适用于边缘计算中的入侵检测。

3.2.1 传统ELM算法

ELM算法是2004年由南洋理工大学的Guang-bin Huang等提出的,最初ELM是为监督学习问题设计的[18],但之后其应用范围不断推广,还包括以聚类为代表的非监督学习以及具有表征学习能力的变体和改进算法等。ELM算法比传统BP(反向传播)算法的学习模式更加简单有效,学习速度也更快,相比传统的ANN(人工神经网络)也更方便和实用。

(1)

其中:ai为输入层和隐藏层第i个神经元之间的内权向量,bi为第i个神经元之间的偏置,βi为连接网络中第j个隐藏层和输出层第i个神经元之间的外权向量,G(ai,bi,x)为对应样本x第j个网络隐藏层输出的针对加法型的隐藏层节点,g(ai·x+bi)为隐藏层的激活函数。

(2)

写成矩阵形式为:

Hβ=T

(3)

因为大部分时候隐藏层节点个数K都远远小于训练数据样本的个数N,所以该神经网络以零误差逼近训练样本很难实现,会造成N个互异数据样本的网络输出与实际输出之间产生误差。因此式(3)应该改为:

Hβ=T+E

(4)

(5)

那么针对数据样本的训练问题就可以转化为求解平方损失函数的最小二乘解β,利用MoorePenrose广义逆可以得出:

(6)

式中,H†表示隐藏层输出矩阵H的广义逆,可以用正交法计算求得。

3.2.2 改进ELM算法(TSS-ELM)

为了减少边缘节点的样本训练时间,更好地适应边缘计算的异构网络环境和动态训练过程,本节设计一种改进的训练样本筛选-极限学习机算法(TSS-ELM),该算法能够根据每个边缘节点的网络特性和训练特点进行数据样本的选择。TSS-ELM算法的特点是在云服务器中增加训练数据样本的选择过程,并在边缘节点上通过算法部署进行异常检测和发现入侵。

TSS-ELM算法把网络云服务器中存储的总数据样本集Sn分成两部分,分别是为边缘节点分配的训练样本集:

(7)

和备选样本集:

(8)

(9)

(10)

(11)

(12)

(13)

在TSS-ELM算法中网络隐藏层激活函数采用Sigmoid变换函数:

(14)

TSS-ELM算法的详细流程如图3所示。

图3 TSS-ELM算法流程图

结合TSS-ELM算法流程能够发现,云服务器在为边缘节点选择训练样本的过程中,计算J(ai,bi,β)占用了绝大部分时间,因此如果设t(J)为求解J(ai,bi,β)的平均时间,同时设云服务器与边缘节点数据传输延迟为t',t'远远小于t(J),则边缘节点学习时间t满足:

t≈nK·t(J)

(15)

4 实验分析

4.1 实验环境及数据集

实验环境:操作系统采用Windows10 64位,CPU采用Intel core i7-77003(3.6 GHz),内存采用16 GB DDR,算法实现程序采用Matlab。

实验采用KDD CUP99数据集进行仿真测试,KDD CUP99是模拟美国空军局域网的网络环境建立的网络测试数据集合,已经被广泛应用在各类网络入侵检测实验中[19]。KDD CUP99异常类型分为四类,包括39种攻击类型,其中训练集中有22种,测试集中有17种。KDD CUP99对每一条网络连接记录收集41个字段,包括TCP连接基本特征、TCP连接内容特征、网络流量时间统计特征和网络流量主机统计特征等。每一条连接记录同时存在符号特征和离散特征,需要进行数据标准化预处理,即将类别特征转化为度量特征,再对度量特征进行归一化处理,本实验中所有记录的度量特征值统一在[0,1]范围,从而更利于各种有监督学习器对边缘网络数据进行学习和预测。

4.2 实验结果与对比分析

4.2.1 准确率分析

通过仿真实验针对本文提出的TSS-ELM算法与传统ELM算法、BP神经网络、SVM算法和CVM-ELM算法[20]分别作为部署在边缘计算环境中的入侵检测算法进行对比。设置BP学习速率lr=0.06,动量项系数mc=0.9,最大迭代次数epochs=5000,goal=0.0001;SVM核函数为RBF,gamma=0.005,C=10。在KDD CUP99数据集中抽取数据,总训练数据样本20 000条,测试数据样本10 000条。

由图4的仿真实验结果可以看出,随着训练集数据量的增加,相比于其他4种入侵检测算法,TSS-ELM表现出较高的准确率。分析其原因主要有3个方面:1)传统的机器学习算法不考虑输出权重大小,主要目的是达到最小训练误差,是基于梯度下降的,而TSS-ELM既达到最小训练误差,又达到最小权重范数;2)TSS-ELM与传统机器学习算法相比不存在训练的过度拟合现象,也不存在求解过程的局部最小值问题,不存在学习重复率过高的问题;3)TSS-ELM训练样本的筛选过程会使每个边缘节点获得更适于训练的最优外部权重,从而能够有效提高分类入侵检测的准确率。

图4 算法准确率比较

4.2.2 训练时间分析

由于BP神经网络的训练时间过长,是其他算法的几十倍,因此在图5的仿真实验结果中不进行表示比较。由图5可以看出,本文提出的TSS-ELM的训练时间比SVM算法和CVM-ELM算法快得多,但比传统ELM算法略慢。究其原因主要是TSS-ELM比传统ELM多了一个的样本筛选的过程,但仔细对比图5所示训练过程,TSS-ELM相比ELM的时间差异比较小,完全在可接受的范围内,因此TSS-ELM在入侵检测的训练时间方面也有较好的性能表现。

图5 算法训练时间比较

4.2.3 鲁棒性分析

考虑到边缘计算网络的高动态性,利用KDD CUP99数据集模拟一个动态网络环境来分析TSS-ELM算法的鲁棒性,即分析TSS-ELM对时间统计的依赖性。因为系统物理层的原始数据未经处理是无法根据时间统计进行采集的,为了更准确地仿真TSS-ELM算法的有效实现,剔除KDD CUP99数据集中的8个基于时间的统计参数,即字段24~31。由图5的仿真实验结果可以看出,剔除训练数据的时间统计参数后,TSS-ELM算法的准确率几乎没有影响,而其他4种算法的检测精度都有不同程度的降低。因此TSS-ELM对时间统计属性的依赖性最小,适用于高实时性和高动态性的网络环境。

4.2.4 误报率分析

通过分析各种入侵检测算法的ROC曲线来对比误报率,在图6的仿真实验结果中,横坐标轴是假阳性率即误报率,纵坐标轴是真阳性率即准确率,由于ROC曲线向下与坐标轴围成的面积越大算法表现越优秀,因此,TSS-ELM在入侵检测的误报率方面明显优于ELM、SVM和CVM-ELM。

图6 算法鲁棒性比较

图7 算法ROC曲线比较

5 结束语

针对边缘计算网络环境复杂、资源受限和高动态性等特点,分析了边缘计算中边缘节点、云服务器等易受到非法入侵的安全问题,完成了边缘计算入侵防御系统架构设计,并在此基础上提出了一种结合样本筛选改进极限学习机的TSS-ELM算法。仿真实验结果表明,与BP、ELM、SVM和CVM-ELM算法相比,TSS-ELM算法在准确性、时间依赖性、鲁棒性和误报率等方面均表现出优异的性能,是一种适用于边缘计算环境下应用的入侵检测算法。下一步工作将在此方案的基础上研究入侵响应策略,使边缘计算入侵防御系统能够有效应对检测到的入侵行为。

猜你喜欢
物理层边缘服务器
2018年全球服务器市场将保持温和增长
利用Modbus协议实现垂直螺旋卸车机取料器自动调速方法
一张图看懂边缘计算
一种应用于5G基于LDPC码的物理层包编码
卫星通信物理层安全技术探析
基于智能布线的前沿技术及其网络应用
用独立服务器的站长注意了
定位中高端 惠普8路服务器重装上阵
在边缘寻找自我
走在边缘