基于机器学习的物联网入侵检测系统综述

2021-02-22 11:59王振东李大海
计算机工程与应用 2021年4期
关键词:联网神经网络算法

王振东,张 林,李大海

江西理工大学,江西 赣州 341000

目前,物联网设备越来越智能,并且广泛应用于各种领域,如家庭、教育、娱乐、能源分配、金融、医疗、智能城市、旅游以及交通运输,简化了人们的日常生活和工作方式。然而,无论商届或者学界都在朝着商业化的潮流前进,却很少关注物联网设备的安全性,这样可能会危及到物联网用户,更严重甚至会导致生态系统失衡。例如,制造业的员工将感染了病毒的U 盘插入机器;医院被恶意软件破坏的核磁共振成像机器,或是黑客引导输液泵注射致命剂量的药物,都将造成严重后果。根据文献[1]可知,至2020年,网络犯罪破坏预算将达到每年60亿美元,并且有500亿物联网设备需要保护。物联网受到攻击[2]后,不仅会影响物联网本身,还会影响包括网络、应用、社交平台以及服务器在内的完整生态系统,即在物联网系统中,只要破坏单个组件或通信通道,就可能会使部分或者整个网络瘫痪。因此,在关注物联网带来便利的同时,更需考虑物联网的脆弱性[3]。

传统的安全解决方案已经覆盖了服务器、网络和云存储,这些解决方案大多可部署于物联网系统。其中,密码编码学[4]作为保障信息安全的基础,通过密钥中心与传感器网络或其他感知网络的汇聚点进行交互,实现对网络中节点的密钥管理;对数据安全保护常用的办法有同态加密、密文检索等;其他安全技术如认证与访问控制机制、安全路由协议和网络态势感知与评估技术均为必不可少的安全解决方案。

事实上,物联网的多样性和异构性使得物联网系统安全不同于传统的系统安全。(1)越来越多的物理设备连接至无线网络,会将更多安全问题暴露于心术不正的人员,从而导致严重后果,如汽车或输液泵受到攻击,会导致人员伤亡。(2)物联网安全是一项特殊的挑战,表现为对手与以往不同,不再是图财或是制造麻烦的黑客,而是国家黑客系统,面对的是国家级别的网络战争。如2017年8月沙特一家化学工厂遭到黑客攻击,引发大面积爆炸,从而破坏了石油化工产品的生产。(3)物联网设备由不同公司生产,并最终拼凑完成,即便只存在一个薄弱环节,也可能产生漏洞,例如创建汽车通信系统的公司不更新软件,汽车将容易遭受攻击。(4)物联网设备所处的环境不同,例如居家生活中,无人将补丁及时推送至联网的冰箱;而在工业化环境,给机器打补丁意味着该机器需要停止工作,会造成一定的经济损失,而与损失带来的风险相比,黑客攻击的风险会低很多。因此,传统的系统安全技术已不再适用于新的物联网环境。

对此,研究人员将入侵检测系统(Intrusion Detection System,IDS)[5]引入物联网安全领域,并成为防御物联网安全威胁的关键技术。IDS 作为一种积极主动的防御技术,利用软件和硬件结合的方式监控网络或系统,以识别恶意活动并立即发出警报,从而保护系统资源的完整性、私密性和可用性。近年来,随着人工智能和大数据的普及,深度学习、机器学习、可视化学习和强化学习等技术得到了广泛的应用,并且在图像识别、自然语言处理方面获得了巨大的成功。同时,在物联网安全领域,已经有大量的研究将入侵检测系统与人工智能技术结合,并获得了一定的成效。早期的入侵检测系统综述更侧重于传统的物联网安全技术,例如Maza等人[6]的基于特征选择算法的入侵检测系统综述,Ring等人[7]的基于网络的入侵检测系统综述,Glass-Vanderlan 等人[8]的基于主机的入侵检测系统综述,Buczak等人[9]的基于网络威胁分类的入侵检测系统综述等。上述文献为研究人员提供了大量有价值的信息,但是随着物联网技术的不断发展,该技术领域也在不断地演化更新,而目前没有相关文献对现阶段最新的入侵检测技术进行总结。由此,本文对最新的基于机器学习的物联网入侵检测技术进行综述。

1 入侵检测系统分类

入侵检测技术[5]是软件和硬件的结合,用于监控网络或系统以识别恶意活动并立即发出警报,从而保护系统资源的完整性、私密性和可用性。入侵检测技术与其他安全技术[10]不同,它是一种积极主动的防御技术,可以有效防止未知攻击[11]。可以如此形容入侵检测系统——假如防火墙为一幢大厦的门锁,那么入侵检测系统就是这幢大厦里的监控系统,一旦小偷进入了大厦,或内部人员有越界的行为,监控系统能够立即发出警报。因此,入侵检测系统应当“放置”在所关注流量数据必经的链路上。其系统架构如图1所示,事件产生器是从整个网络中获取事件,并将获取的事件提供给系统的其他部分;事件分析器是分析获取的事件,若发现异常,则通知响应单元;响应单元是对分析的结果做出相应的反应;事件数据库中存放过程数据。本文对入侵检测系统按照数据源、检测方法、工作方式和体系结构进行分类。具体分类框架如图2所示。

1.1 基于检测方法的分类

从检测方法的角度来看,入侵检测技术一般分为误用检测技术和异常检测技术。

1.1.1 基于误用检测技术

误用检测技术[12]是基于模式匹配原理,收集攻击行为的特征,并为其建立特征库,当监控的用户行为活动与特征库中的记录相匹配时,系统就将该行为判断为入侵。误用检测技术能够降低误报率,但是漏报率也会随之增加;并且攻击特征一旦有所变化,误用检测技术就会显得无能无力。现有的误用检测技术一般分为基于专家系统的误用检测方法[13]、基于状态迁移分析的误用检测方法[14]、基于键盘监控的误用检测方法[15]和基于条件概率的误用检测方法。

1.1.2 基于异常检测技术

图1 入侵检测系统架构

图2 入侵检测系统的分类框架

异常检测技术[12]基于统计分析原理。首先确定正常行为所具有的特征,将其用定量的方法进行描述,当用户行为活动与正常操作有偏差时,即被定义为攻击行为。异常检测技术的效率在很大程度上取决于正常用户特征的完备性和检测的频率。因为并不需要对每种攻击进行定义,所以可以有效地检测到未知攻击。同时系统还可以通过自我优化和调整来适应用户的行为变化。但是随着模型的不断精进,异常检测技术会消耗更多的系统资源,并且现阶段的攻击行为越来越智能化,因此检测未知攻击的能力逐渐减弱。现有的异常检测技术一般分为基于神经网络的异常检测技术[16]、基于模式预测的异常检测技术[17]和基于数据挖掘的异常检测技术[18]。

1.2 基于数据源的分类

从数据来源的角度看,入侵检测系统一般可以分为基于主机的入侵检测系统(Host Intrusion Detection System,HIDS)和基于网络的入侵检测(Network Intrusion Detection System,NIDS)。两者的比较如表1所示。

表1 HIDS与NIDS的比较

1.2.1 基于主机的入侵检测

HIDS[19]主要是检测和响应主机或者是服务器系统的攻击行为。异常检测技术和误用检测技术是HIDS使用的两种主要技术。Lin等人[20]设计了一种基于主机的入侵检测系统,将误用检测技术的日志文件分析技术与异常检测技术的BP神经网络技术相结合来监测主机收集到的数据,所实现的HIDS 可以有效地提高检测率和准确率。Aleksieva 等人[21]设计了一种基于主机的僵尸网络入侵检测系统,使用的是异常检测技术的遗传算法对每个接收到的数据包进行分析和处理,确定是否存在被外部干扰引起的欺骗攻击,从而实现对系统的保护。HIDS 可以为其监控的主机提供额外的保护,如监控文件的完整性、发送到主机的网络包、系统注册表和系统日志文件等。Ali等人[22]为Microsoft Windows XP设计了一种基于主机的入侵检测系统,将模式匹配技术应用在Microsoft Windows XP 的安全事件日志文件中,当产生的入侵模式与Microsoft Windows XP 中的安全事件日志相匹配时,则将其定义为入侵。Badgujar 等人[23]提出了一种分层框架的主机入侵检测系统,该系统采用分层框架来实现对主机的实时保护,第一层利用包嗅探器记录所有通过网络的数据包,并从中提取敏感信息和特征;第二层利用朴素贝叶斯算法,根据第一层提取的敏感信息和特征对数据包进行分类,该方法具有较高的检测率和较低的误报率。

相对于传统的安全防御技术,HIDS 性价比高且误报率低,适用于加密和交换的环境。但缺点是它更依赖于主机所固有的日志分析能力,而审计日志的过程极易受到攻击;HIDS 只能对主机上特定的应用程序进行监控,检测范围会受到限制;全面部署HIDS 的代价极大,同时还会影响到主机的性能。

1.2.2 基于网络的入侵检测

NIDS[24]是利用在混杂模式下的网卡来实时监听整个网段上的通信服务。不管是基于主机的入侵检测还是基于网络的入侵检测,它们都存在一定的局限性,因此对它们的改进仍在不断继续。Ahmed 等人[25]提出了一种改进的网络入侵检测系统,首先对网络的某一部分分配一个服务器节点,然后在服务器上安装入侵检测系统,在每个数据包达到目的主机之前都在服务器上对其进行测试,目的主机不能从该网络以外的任何地方接收数据包,即使某些数据包直接发送给它,那也要转发给服务器验证后才能继续发送,若服务器发现该数据包是入侵,则立马丢弃。该系统不仅能够节省开销,还能达到很高的检测率。Al-Hamami 等人[26]提出了一种基于数据挖掘的网络入侵检测系统,该系统使用了数据挖掘的两个子阶段,即K-means聚类算法和FP-growth算法,目的是增强入侵检测系统,其中无监督的K-means被用来发现新的攻击,FP-growth用来发现频繁出现的攻击,数据挖掘方法是对入侵检测系统的补充,它们的合作有助于在高级别的网络记录中减少入侵检测系统的分析量,从而使延迟最小化,并且提高系统的准确率。在虚拟机环境下实现传统的网络入侵检测系统是一种关键技术,Wang 等人[27]提出了一种面向虚拟机的网络入侵检测系统,该系统将入侵检测系统部署在虚拟机监视程序之上,从虚拟网桥中获取网络数据包。虚拟网桥是虚拟机中的虚拟设备,用来将数据包从物理设备传输到虚拟接口。在系统实现中,首先创建一个进程,将虚拟接口分配给该进程,并且由该进程负责对虚拟网桥中获取的数据包进行检测,从而实现对虚拟机的保护。

基于网络的入侵检测技术能够检测到未成功的攻击行为并记录下来,让攻击者无法转移证据,隐蔽性非常好,并且在NIDS 实时检测和响应恶意行为时并不会影响到系统性能。但缺点是NIDS只能检测到直连网段的通信,不能检测在不同网段的数据包,这样检测范围也受到了限制;NIDS很难实现一些复杂的、计算量大的和需要分析时间的检测,处理加密的会话过程也会比较艰难。

1.3 基于体系结构分类

从体系结构的角度可以将入侵检测系统分为集中式和分布式。集中式入侵检测系统[28]的分析引擎和控制中心在一个系统上,不能远距离的操作。这种体系结构简单,不会因为通讯而使隐私泄露,也不会影响到网络带宽。但是该方法伸缩性和可配置性较差。而分布式入侵检测系统[28]的分析引擎和控制中心在两个系统上,可以通过网络进行远距离的操作,目前大多数的入侵检测系统都是分布式的。这种体系结构伸缩性和安全性较高,但是维护成本也很高。

1.4 基于工作方式分类

从工作方式的角度可以将入侵检测系统分为在线检测和离线检测。在线检测[29]可以实时地监视数据的产生并对其进行分析。这种方式虽然可以实时地保护系统,但是当系统规模很大时,很难保证实时性。离线检测[30]是当入侵行为发生后,再对其进行分析。此方法可以处理大量事件,但不能及时地为系统提供保护措施。

2 基于机器学习的入侵检测系统

机器学习技术是从大量的历史数据中挖掘出其中隐含的规律,在网络安全领域,常用在基于异常的入侵检测,如图3所示。基于机器学习的入侵检测系统是在大规模、高宽带的互联网环境中,对网络进行实时监控的一种有效工具。同时,数据集也是入侵检测系统的关键,可以对入侵检测系统的性能进行验证。接下来首先对数据集进行简单介绍,再从数据集入手,对现阶段基于机器学习的物联网入侵检测系统进行阐述,最后比较每种技术的优点和不足。

图3 基于异常的入侵检测技术框架

2.1 入侵检测数据集

KDD99[31]数据集是从一个模拟的美国空军局域网上采集的9个星期的网络连接和系统审计数据,它是目前最流行的入侵检测数据集,自1999年开始使用,但是它数据类型不平衡,导致结果总是偏向更频繁的数据。为了克服KDD99的局限性,NSL-KDD[32]被创建出来,其数据分布平衡,不存在重复的数据,因此不会偏向更频繁的数据。但是NSL-KDD 缺乏现阶段流行的攻击,因此又提出了UNSW-NB15[33]数据集,它是由澳大利亚网络安全中心(ACCS)的网络安全实验室利用IXIA PerfectStorm 工具创建,更接近真实世界网络的数据。还有一些较新的数据集,例如CICIDS 2017[34]等,如表2所示,这里不再进行过多的介绍。接下来将利用以上的数据集对入侵检测系统进行性能评估。

2.2 现阶段基于机器学习的入侵检测技术

由于攻击的复杂性和多样性,越来越多的研究人员开始将重心转移到机器学习中,发现入侵检测系统与机器学习技术融合,能够得到更好的决策能力。深度学习(Deep Learning,DL)是模拟生物大脑功能的分组通用算法,可以根据要解决的问题自动构建模型,而不是用于特定任务,它也是机器学习领域中一个全新的研究方向,目的是学习样本数据的内在规律。从技术上讲,DL是包含多个隐藏层的人工神经网络的应用。使用基于深度学习的入侵检测技术的这种先进性思维,能够让人们对目前这一领域有一个全局性的看法。

Zarai 等人[35]提出了一种基于递归神经网络和深度神经网络的入侵检测系统。首先对无监督学习的深度自编码器(Deep Autoencoder,DAE)、受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)和监督学习的递归神经网络(Recursive Neural Network,RNN)、人工神经网络(Artificial Neural Network,ANN)和深度神经网络(Deep Neural Network,DNN)进行了简单比较,最后选用DNN和RNN进行优化。在优化过程中,将DNN和RNN 分为一层、二层和三层进行实验,结果表明,三层的DNN与三层的长短期记忆(Long Short-Term Memory,LSTM)具有较高的准确率和较低的误报率。但是根据实验结果可看出,三层的DNN 准确率比一层和二层的DNN 准确率仅仅高了0.1%,在精确率上甚至低了0.1%,因此这个实验并没有什么实际意义。众所周知,LSTM 是为了解决RNN 的“梯度消失”和长时依赖的问题,适合处理时间序列中间隔和延迟相对较长的重要事件,因此三层LSTM确实会有较高的性能。但是三层的LSTM有着更复杂的系统架构,会导致在系统运行时花费更长的时间,并不能及时地保护网络安全。作者仅仅是与贝叶斯、决策树以及支持向量机的性能进行对比,并不能有效地证明该算法优于其他算法。

Yang 等人[36]从物联网的本质出发,建立了LM-BP入侵检测算法,实现了对物联网入侵检测系统的性能优化。其中BP(Back Propagation)神经网络可以看成是“万能的模型+误差修正函数”,根据每次训练得到的结果和预期的结果进行误差分析,修改相应的权值和阀值,最后得到训练结果与预期结果相一致的模型。LM(Levenberg-Marquard)算法,可用于解决非线性最小二乘问题,它将高斯牛顿法和梯度下降法相结合,这样既具有高斯牛顿法的局部特性,又具有梯度下降法的全局特性。作者利用LM算法优化速度快、鲁棒性强的特点对传统的BP 神经网络的权值和阀值进行优化,所建立的LM-BP入侵检测算法在KDD99数据集上进行评估,结果表明该算法在一定程度上提高了DOS 的检测率,并且降低了误报率。相对于传统的BP神经网络模型[37]和PSO-BP 神经网络模型[38],该算法具有明显优势。但是根据实验结果可以明显看出,该算法在检测R2L 和U2R 两种攻击时都表现出较低的检测率和较高的误报率。随着物联网的快速发展,对入侵检测系统性能的要求也会越来越高,因此对于LM-BP 在R2L 和U2R 上的表现来看,并不适用于未来网络的发展趋势。作者仅仅使用KDD99 一种数据集进行验证,所得到的结果具有一定的局限性,同时还忽略了算法的整体检测率,因此该实验并没有一定的说服力。

表2 入侵检测数据集

Zhang 等人[39]设计了一种基于遗传算法(Genetic Algorithm,GA)和深度信念网络(Deep Belief Network,DBN)的入侵检测系统,可以自适应地改变网络结构,以适应物联网环境中不同类型的攻击。其中DBN是神经网络的一种,组成元件是RBM[40],它可用于特征的降维,类似于一个自编码器,也可作为一个概率生成模型,用来建立一个观察数据和标签之间关系的联合分布。GA 是受了达尔文进化论的启发,借鉴生物进化过程而提出的一种启发式搜索算法,它采用的是概率论的寻优方法,不需要确定的规则,就可以自动地获取搜索空间,从而实现自适应地调整搜索方向。作者使用GA 算法对DBN神经网络的隐藏层数目和每层的神经元数目进行优化,使DBN 的入侵检测模型在结构紧凑的情况下达到更高的检测率。利用NSL-KDD数据集对模型进行仿真和评价,结果表明,GA-DBN 算法可以有效地提高入侵检测的识别率,降低模型的复杂度,并且在不影响模型分类精度的前提下,减少了模型的训练时间;另外,该模型不仅仅局限于物联网中的入侵检测,还可以应用于分类和识别中,针对不同的数据集可以自适应地调整网络结构。但是论文中仅仅针对KDD99 和NSL-KDD两种数据集进行了对比,而这两种数据集缺少现阶段流行的攻击,因此实验结果具有一定的局限性;该模型对于每种类型的攻击都有一种最优的结构,但并没有得出对四种攻击类型同时有较高检测率的模型结构。

Hassan 等人[41]提出了一种卷积神经网络(Convolutional Neural Networks,CNN)和权值下降的混合深度学习模型应用于基于网络的入侵检测。卷积神经网络是一类包含卷积计算且具有深度结构的前馈型神经网络,是深度学习的代表算法之一,可以进行监督学习和无监督学习,其隐含层内卷积核[42]的参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量处理大量的特征。作者利用深度卷积神经网络从大数据中提取重要特征,将池化层的输出结果传给权值下降长短期记忆网络(Weight Drop Long Short-Term Memory,WDLSTM)学习其中的特征关系,使其保留长期的依赖关系,避免梯度消失的问题,同时还会丢弃一些重复特征,防止重复连接而产生的过拟合现象。利用UNSWNB15 数据集对该算法进行验证,得到了令人满意的结果,并且较其他算法而言,有更短的时耗。但是根据实验结果可知,在UNSW-NB15 数据集上,对于正常行为的检测率为1,但是对于数据量较少的攻击并没有很高的精度,例如Backdoor 和Worms 攻击的精确率为0.50,Analysis 攻击的精确率为0.44,DOS 攻击的精确率甚至只有0.32,这会造成很高的误报率。

Lv 等人[43]提出了一种基于误用的入侵检测系统KPCA-DEGSA-HKELM。其中PCA(Principal Component Analysis)是主成分分析算法,它能够很好地处理线性关系,但是处理非线性关系时各主成分间的贡献率过于分散,因此引入了核主成分分析(Kernal Principal Component Analysis,KPCA)算法,首先将原始数据通过核函数映射到高维空间,使不可分离的数据在高维中变得可分离,再利用PCA 算法进行降维和特征提取。ELM(Extreme Learning Machine)是极限学习机,它是一种单隐层的前馈型神经网络,适用于监督学习和无监督学习的问题,可以随机初始化输入权重和偏置并得到相应的输出权重,这样收敛速度更快,学习性能更有效,也更容易得到全局最优解。但是对于未知攻击,预测精度相对较低,因此提出了混合核函数极限学习机(Hybrid Kernel Function Extreme Learning Machine,HKELM),以提高泛化能力。DE(Differential Evolution Algorithm)和GSA(Gravitational Search Algorithm)分别是差分进化算法和引力搜索算法。GSA 主要是利用物体之间的引力将所有对象引导到搜索空间中的最优解;DE 则是通过个体之间相互合作与竞争来指导优化搜索的方向,具有很强的全局搜索能力和鲁棒性。将两种算法结合来优化HKELM 的参数,可以有效地提高KHELM 在预测攻击过程中的局部和全局的寻优能力。这样就得到了KPCA-DEGSA-HKELM,该算法不论是在 KDD99 数据集、UNSW-NB15 数据集还是 TE 数据集[44]中,都表现出较高的准确率,并且节省了大量时间。但是该算法并没有考虑到数据类型不平衡的问题,在多分类时,对于攻击类型数量较少的F1 分数明显低于攻击类型数量较多的,还是存在较高的误报率风险。

Ravi 等人[45]提出了一种基于 SDRK(SSML DFNNRRS-K-means)的机器学习算法来检测攻击行为,主要针对的是数据泛滥攻击(Data Deluge Attack)。其中SSML(Semi-Supervised Machine Learning)是半监督机器学习技术,DFNN(Deep Feedforward Network)是深度前馈型神经网络,它在DNN的基础上加了一个前馈层,可以提供任何程度的精度。K-means聚类算法是一种无监督的学习,可以将未知攻击自动地归到相似对象的簇中,但是K-means并不适用于物联网,因为在很多时候,并不知道应该将给定的数据集分成多少个聚类簇,也就是多少个类别才合适。所以作者提出了RSS-K-means 聚类算法,利用重复随机采样集得到聚类簇,选择其中最优的聚类簇。SDRK 利用有监督的深度神经网络和无监督的聚类算法技术,将入侵检测放置在物联网和云层之间的雾节点上,这样比直接放在云节点上有更快的检测效率。在基准NSK-KDD数据集上对SDRK进行了验证,结果表明对检测入侵攻击确实有很好的成效。但是只使用了NSL-KDD 数据集进行二分类验证,实验结果具有一定的局限性。在运行时间上来说,该算法并没有优于其他模型,甚至是ELM算法的3 倍之多;将该算法放置在雾节点上可能存在更大的安全隐患,攻击者一旦入侵雾节点就会将其控制,从而造成更大的损失。

Alazzam等人[46]为物联网入侵检测技术提出了一种基于鸽子启发优化器(Pigeon Inspired Optimizer,PIO)的特征选择算法。连续鸽子启发优化器是一种新的二值化方法,利用余弦相似性来计算鸽子的速度,使收敛速度更快。作者使用的是决策树(Decision Tree,DT)分类器。在机器学习中,DT是一个预测模型,也是一种树形结构,它表示对象属性和对象值之间的一种映射关系,其中每个节点都表示一个属性,每个分支代表一个可能的属性值,每个叶节点代表对象所属的一种类别。DT是一种监督学习模型,相对于其他分类器而言,它更容易处理特征之间的交互关系。利用改进的PIO 算法对特征进行选择后再用DT分类器进行正常行为和攻击行为的分类,不仅能保证高检测率、低误报率,还能减少构建入侵检测系统所需的特征数目,大大节省了系统的运行时间。但是文章仅仅局限于二分类,并没有给出多分类的实验数据;对于二分类而言,NSL-KDD的准确率也仅仅只有0.883,没有达到一个较优的性能,如上述Ravi等人提出的算法在NSL-KDD数据集上的二分类结果达到了0.998。

Jan 等人[47]设计了一种基于支持向量机(Support Vector Machines,SVM)的轻量级入侵检测技术。SVM是一类按监督学习方式对数据进行二元分类的广义线性分类器,它在解决样本数相对较少、高维模式识别及线性不可分问题时表现出许多特有的优势。作者只使用了包达到率这一属性,并且对该属性提取了平均值、最大值和中值这三个特征来检测网络中的流量是否存在异常,这样大大缩短了训练的时间;其次是利用线性函数、多项式函数以及径向基函数对SVM进行优化;同时增加时间窗口大小也在一定程度上改善了分类器的性能。该系统在分类精度和检测时间上都取得了令人满意的效果。但是该算法检测范围太小,很容易忽略那些流量变化不明显的特征,导致攻击者的入侵。

Pajouh 等人[48]提出了一种基于两层降维两层分类(Two-Layer Dimension Reduction and Two-Tier Classification,TDTC)的异常入侵检测系统,主要检测集中在低频段的常见攻击,例如R2L、U2L。第一层用于特征降维的主成分分析,是一种无监督的学习技术,将NSL-KDD数据集中的41个特征降到了35个,通过从初始相关特征中生成不相关的特征来提供较低的特征空间,使系统的开销明显降低;第二层降维使用的是线性判别分析(Linear Discriminant Analysis,LDA),是一种监督的学习技术,使降维后的每个样本输出都带有类别标签,这样可以更好地分类,从而提高入侵检测的速度。这两种技术的结合减少了计算量,更加适用于物联网系统。第二步是利用朴素贝叶斯算法(Naive Bayes Algorithm,NB)和K邻近算法(K-Nearest Neighbor,KNN)进行分类。NB 是假设特征条件之间相互独立,使用概率统计的知识对样本数据集进行分类的一种监督学习技术,它所需参数少,对缺失数据不太敏感,算法简单。KNN 即是给定一个训练数据集,对于一个新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,那么就将该实例分到这个类中,它对异常值不敏感,分类精度高。作者首先利用NB对降维后的数据进行第一次异常检测,然后将检测结果传给KNN 进行再次分类,这样不仅有更低的误报率,还有更高的检测率。虽然该算法在NSLKDD 数据集上达到了较好的结果,但是也仅仅局限于一种数据集上,可以尝试将其应用于实时数据流量检测中。

2.3 小结

综上所述,不论是神经网络模型,还是群智能优化算法,亦或是传统的机器学习算法,它们之间相互作用,为入侵检测系统提供效果更好的解决方案。入侵检测系统的好坏取决于该系统结构是集中式的还是分布式的,是基于异常检测还是基于误用检测,是实时捕获的数据还是离线的数据,数据是标记的还是未标记的。因此一般针对不同的攻击,使用不同的机器学习算法,采用不同的策略,都会产生不同的结果,如表3 所示。因为部署方式的差异,不能一对一地比较,所以更倾向于总结性能。

3 未来发展方向

物联网的迅猛发展,出现了两种新的模式——边缘计算和雾计算。随后可考虑对两者进行深入研究和开发,以较少的资源需求实现适合物联网的入侵检测,提高检测效率。同时,物联网入侵检测系统还需要贴近现实的物联网专用数据集,有助于对不同的机器学习算法进行训练、验证和评估,并且能够对实验进行更真实有效的比较。此外,基于机器学习的入侵检测可以对特征选择、特征重构和特征降维进行更深入的研究,此类技术有助于克服物联网资源受限的问题,以获得更快更高的检测效率。最后,将更多注意力投放于对未知攻击和零日攻击的研究,开发出能够实时更新模型的入侵检测系统,以保证检测过程的连续性,并使得决策过程更加智能和独立。

表3 基于机器学习的入侵检测系统的比较

4 结束语

万物互联已渗入生活中的各个角落,如智能停车场、智能环境测试、智能电网、车辆自动诊断等领域。然而,各行业在致力于创新和开发更多的互联产品的同时,却未能验证其质量和安全性。现阶段,物联网作为一把双刃剑,一个受损的节点可能会影响整个网络的设备,因此需要入侵检测系统确保网络安全,实现对恶意攻击行为的检测。本文首先比较了传统系统安全与现阶段物联网安全的不同,并对入侵检测系统从检测技术、数据源、体系结构以及工作方式等方面进行了详细分类;然后从数据集入手,对入侵检测技术进行了讨论和评估,并对未来发展方向进行了阐述。

猜你喜欢
联网神经网络算法
“身联网”等五则
《物联网技术》简介
神经网络抑制无线通信干扰探究
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
抢占物联网
一种改进的整周模糊度去相关算法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用