1.本发明属于物联网安全领域,具体涉及一种基于梯度提升机的轻量级入侵检测方法。
背景技术:
2.物联网是互联网基础上的延伸,由多种智能传感器、智能节点等设备组成。物联网设备可以在没有人为干预的情况下完成数据收集、数据分析、数据存储、数据传递等任务, 实现物与物、物与人的泛在连接,使得现实世界和信息世界更加紧密的联系在一起。物联网的出现产生了巨大的商业价值并且为现有领域提供了更多的可能,例如智能家居、智慧城市、医疗4.0、工业4.0等等。因此,物联网技术被认为是最重要的新兴技术,将从根本上改变人们的生活。预计全球的物联网设备将在2025年达到750亿个。
3.物联网无处不在,海量数据被物联网设备收集、处理、分析。然而,当前的物联网设备在算力、存储等资源上受到较大限制,使得其难以运行常规的网络安全系统。并且,由于物联网设备没有统一的设计标准,使得物联网设备在受到网络攻击时,物联网设备的机密性、完整性和可用性极易被破坏。
4.入侵检测系统(intrusion detection system,ids)已经发展成为保护网络设备免遭攻击的重要措施。ids通过检测网络流量的特征对其进行分类,并在检测到攻击时自动发出警告。ids按检测方式分为基于特征的入侵检测系统(signature-based intrusion detection system,sids)和基于异常的入侵检测系统(anomaly-based intrusion detection system,aids)。sids通过检索已知攻击的特征库中的记录判断网络流量是否为攻击。aids通过学习正常网络流量的特征来判断当前网络流量和正常网络流量之间的差异。aids可基于统计学习、机器学习和深度学习等方法构建。基于机器学习和深度学习的ids对于已知攻击和未知攻击都能够获得较好的检测效果,并且易于设计和搭建。相较于深度学习,机器学习不需要非常大的数据集和计算成本即可完成训练。相较于机器学习,深度学习能够更好地处理数量大和维度高的数据。并且,深度学习因为不需要特征工程,所以能够节省资源和时间。
5.相较于传统的互联网设备,物联网设备只能提供有限的算力、存储、电能等资源,因此对ids的轻量化程度有更高的要求。然而,以往对于ids的研究大多局限于提升检测能力,使得所提出的ids不能完全适用于资源受限的物联网设备。所以本发明从轻量级的角度出发,期望将轻量级的机器学习算法和特征提取算法相结合来提高ids的轻量化程度,以使其更加适用于物联网。
技术实现要素:
6.本发明将轻量级梯度提升机(light gradient boosting machine,lightgbm)与卷积神经网络(convolutional neural networks, cnn)相结合,提出了一种轻量级入侵检测方法cnn-lightgbm,包括数据预处理模块,特征提取模块和分类模块,其结构如图1所示。
首先,使用独热编码和最大最小归一化对数据进行预处理。然后,使用一维卷积神经网络对网络流量数据进行特征提取,以降低特征维度。最后,使用轻量级梯度提升机进行分类,以检测网络流量数据所属的类型,如二分类检测中的正常网络流量和攻击网络流量。
7.物联网中的网络流量数据通常含有离散型特征。内容是数值的离散型特征实际上没有大小意义,会导致机器学习算法和深度学习算法学习到无意义的信息。内容不是数值的离散型特征不能作为所提模型的输入数据。因此需要使用独热编码将离散型特征映射为没有大小意义的连续型特征。此外,物联网中的网络流量数据通常还存在量纲不统一的问题。当不同量纲的特征输入到神经网络中时,很容易出现梯度消失和收敛缓慢的问题。因此需要使用最大最小归一化统一不同特征之间的量纲。
8.数据降维是指通过某种映射方法将原高维空间中的数据点映射到低维度的空间中,从而降低计算成本并且提升分类器的性能。数据降维的方法有特征选择和特征提取。特征选择从数据原始的特征空间中选择特征组成原始特征空间的子集。特征提取通过发现特征间的关系将一个或多个特征映射到一个新的特征上。新型网络攻击绝大多数都是旧型网络攻击的微小变体。将具有深度结构的深度学习作为特征提取算法能够自动学习不同类型的网络流量数据之间的微小差别,从而降低特征维度,提升ids的准确率。cnn是一种前馈人工神经网络,通常使用有监督学习进行训练。cnn已被用于识别、检测和分类一维、二维甚至三维数据中的模式或对象。cnn能够从图像这类高维数据中提取有效信息产生更具代表性的低维数据,从而降低计算复杂度并且提升分类算法的分类性能。权值共享机制使得cnn有着相较于其它人工神经网络更少的参数量。
9.入侵检测本质上是对网络流量数据的分类,因此分类算法的优劣对于入侵检测系统检测效果的高低有着至关重要的影响。虽然如梯度提升决策树(gradient boosting decision tree,gbdt)和xgboost这样的传统boosting算法有着较高的效率,但是不能很好地高效处理大规模和高复杂度的物联网环境下产生的海量高维网络流量数据。过往的研究表明,gbdt的主要耗时是在构建决策树时对于每一个特征都需要扫描所有的样本来寻找最优分割点。为了解决此问题,微软在2017年提出了基于梯度提升决策树的lightgbm,并被广泛应用于数据挖掘领域,能够完成分类、回归和排序等任务。
附图说明
10.图1为本发明的整体流程图。
具体实施方式
11.数据预处理模块由独热编码和最大最小归一化算法组成。独热编码的原理是使用n位状态寄存器来对n种状态进行编码。每个状态都有独立的寄存器位,并且在任何时刻只有一位寄存器有效。例如,某个离散型特征有三种类别,分别为“a、b、c”。对其使用独热编码处理后得到“[1,0,0]、[0,1,0]、[0,0,1]”。最大最小归一化将所有特征的量纲缩放至[0,1],并且不改变特征的分布情况,如公式(1)所示。
[0012]
??
(1)
其中x为特征的原始值,x
norm
是归一化后的值,x
min
是这个特征的最小值,x
max
是这个特征的最大值。
[0013]
特征提取模块由cnn算法组成。cnn由卷积层和池化层构成。卷积层通过多个不同的卷积核提取不同的特征,是cnn的核心组成部分。假设卷积层的输入为x,第i层的特征图为mi(其中m0=x),则卷积层可表示为mi=f(m
i-1
θwi+bi)。其中,f(x)为激活函数,wi为第i层的卷积核的权重向量,bi为第i层的偏移向量,θ为卷积操作。尺寸小于m
i-1
的尺寸的卷积核在m
i-1
上滑动,使得仅用一组wi即可完成对m
i-1
的学习。因此,cnn实现了权值共享,大幅减少了参数量。池化层根据指定的采样规则对特征图采样。采样规则通常是最大池化或平均池化。最大池化指的是在窗口内的特征图中选取最大的元素。平均池化指的是将窗口内的特征图中的元素相加后求平均值。这两种池化规则都能够降低特征维度,从而减少数据量以提升计算速度,并且能够缓解算法的过拟合问题。假设池化层的输入为mi,输出为m
i+1
,则卷积层可表示为m
i+1
=
⊙
(mi)。其中,
⊙
为指定的采样规则。
[0014]
分类模块由lightgbm算法组成。lightgbm使用如下四种办法来降低时空复杂度:直方图算法、基于梯度的单边采样(gradient-based one-side sampling,goss)算法、互斥特征捆绑(exclusive feature bundling,efb)算法和按叶子生长的决策树生长策略。
[0015]
直方图算法可以有效减少内存消耗和加快训练速度。直方图算法将连续的特征离散化为多个整数,即分桶,比如[0,0.2)
→
0,[0.2,0.4)
?→
1。在训练过程中根据特征所在的桶对其进行梯度累加和个数统计。最后根据直方图寻找最优的分割点,而不需要扫描特征所有的值。使得寻找最优分割点的复杂度从o(#sample
×
#feature)减少为o(#bin
×
#feature)。
[0016]
减少样本数和特征数可以有效减少模型的时间复杂度。对于减少样本数,传统方法是将权重较小的样本舍弃。然而gbdt中的样本并没有权重。对于减少特征数,传统方法是基于特征存在冗余的前提,如主成分分析法。实际上,特征往往不存在冗余。因此,lightgbm使用goss和efb来分别降低样本数和特征数。goss的主要思想是在计算信息增益时,大梯度样本相较于小梯度样本会有更大的贡献,因此不需要对所有的样本计算梯度。goss将样本按照梯度降序排序,之后保留排序结果前a%的样本,并且在剩下的小梯度样本里随机保留b%。为了保证数据分布不被改变,在计算信息增益时将小梯度样本的梯度放大(1-a)/b倍。efb的主要思想是将互斥的特征捆绑为一个特征束以减少特征扫描的数量。因为将互斥的特征进行绑定是一个np-hard问题,并且很多特征即使不完全互斥也很少同时取非零值,所以efb并不要求被捆绑的特征之间严格互斥,而是只需要小于设定的冲突比率即可。efb使得直方图构建的复杂度由o(#sample
×
#feature)减少为o(#sample
×
#bundle),其中#bundle远小于#feature。
[0017]
大多数的gbdt使用低效的按层生长的决策树生长策略。按层生长策略不加区分的分裂同一层的所有叶子结点,因此会因为结点增益过小而增加很多不必要的扫描和分裂。因此lightgbm使用了按叶子生长的决策树生长策略。按叶子生长策略仅分裂当前所有叶子结点中分裂增益最大的叶子结点,在减少计算量的同时最大化地降低了模型损失。同时,lightgbm限制了决策树的最大深度,以防止按叶子生长策略导致的过拟合。
[0018] 如公式(2)所示,cnn的时间复杂度为t
cnn
,其空间复杂度为s
cnn
。
[0019]
??
(2) 其中l代表第l层。d代表总层数。p代表卷积核输出的特征图的长度。k代表卷积核的长度。c
l-1
是该层的输入通道数。c
l
是该层的输出通道数。显然,cnn的时空复杂度与参数量有关。而cnn通过权值共享机制能够大幅减少参数量,从而大幅降低时空复杂度。lightgbm的时空复杂度本质上是决策树的时空复杂度。传统决策树的时间复杂度为o(s
×
log(s)
?×
f),其空间复杂度为o(p)。其中p代表结点数。goss将样本数从s降低至s’。直方图算法和efb将特征数从f降低至f’。按叶子生长的决策树生长策略减少了结点的分裂次数,因此将结点数从p降低至p’。因此lightgbm的时间复杂度为o(r
×s’×
log(s’)
×
f’),其空间复杂度为o(r
×
p’)。其中r代表lightgbm所构建的决策树的数量。因此,lightgbm中的决策树有着低于传统决策树的时空复杂度,从而使得lightgbm更加轻量化。此外,lightgbm会根据输入的数据动态构建决策树。因此,将cnn与lightgbm相结合,能够降低lightgbm的时空复杂度。
[0020]
cnn-lightgbm的时空复杂度是cnn和lightgbm的时空复杂度之和。如公式(3)所示,cnn-lightgbm的时间复杂度为t
cnn-lightgbm
,其空间复杂度为s
cnn-lightgbm
。
[0021]
??
(3) 上述实施方法为本发明较佳的实施方式,但本发明的实施方式并不受上述方法的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化, 均应为等效的置换方式,都包含在本发明的保护范围之内。技术特征:
1.一种基于梯度提升机的轻量级物联网入侵检测方法,其特征在于包括数据预处理模块、特征提取模块、分类模块。2.根据权利要求1所述的基于梯度提升机的轻量级物联网入侵检测方法,其特征在于,通过数据预处理模块,利用独热编码和最大最小归一化算法将物联网中包含离散型特征和存在量纲不统一问题的网络流量数据转化为适合作为机器学习算法和深度学习算法的输入的数据。3.根据权利要求1所述的基于梯度提升机的轻量级物联网入侵检测方法,其特征在于,通过特征提取模块,利用卷积神经网络将物联网中的网络流量数据所包含的高维特征映射为低维特征,从而降低计算成本并且提升分类模块的性能。4.根据权利要求1所述的基于梯度提升机的轻量级物联网入侵检测方法,其特征在于,通过分类模块,利用轻量级梯度提升机对网络流量数据进行分类,以检测网络攻击。
技术总结
本发明涉及一种基于梯度提升机的轻量级物联网入侵检测方法。物联网设备被广泛应用于各个领域。然而其有限的算力、存储等资源使得其极易受到攻击并且难以得到有效的保护。传统的入侵检测系统侧重于高准确率和低误报率,使得其由于过高的时空复杂度导致难以部署于物联网设备中。针对上述问题,本发明提出了基于轻量级梯度提升机的物联网入侵检测模型。首先,使用独热编码和最大最小归一化对数据进行预处理。然后,使用一维卷积神经网络对网络流量数据进行特征提取,以降低特征维度。最后,使用轻量级梯度提升机进行分类,以检测网络流量数据所属的类型,如二分类检测中的正常网络流量和攻击网络流量。量和攻击网络流量。量和攻击网络流量。
技术研发人员:汪洋 赵国生 王健
受保护的技术使用者:哈尔滨师范大学
技术研发日:2021.12.20
技术公布日:2022/3/11
声明:
“基于梯度提升机的轻量级物联网入侵检测方法” 该技术专利(论文)所有权利归属于技术(论文)所有人。仅供学习研究,如用于商业用途,请联系该技术所有人。
我是此专利(论文)的发明人(作者)