一种基于堆叠集成算法的车载网络入侵检测方法
未命名
08-29
阅读:104
评论:0

1.本发明涉及车联网入侵检测的技术领域,具体涉及一种基于堆叠集成算法的车载网络入侵检测方法。
背景技术:
2.互联和自动驾驶汽车是优化交通拥堵、预防事故并提高驾驶安全性和效率的前途技术解决方案。然而,更多的网络连接为攻击者提供了更多的机会,导致车辆安全和乘客安全面临更多风险。此外,消息认证或加密也将导致不适用的性能和不可接受的延迟。考虑到车载系统硬件成本和实时性要求,车联网入侵检测在解决汽车安全问题方面显示出明显的优势。因此,车联网入侵检测已成为现代车联网的重要组成部分,用于识别车载网络上的恶意威胁。在物联网的外部网络中,车辆系统受到各种常见的网络攻击,如拒绝服务(dos)、嗅探和全球定位系统(gps)欺骗攻击。这是因为,在包括各种类型的网络和实体的大型外部车辆网络中,每个节点都是网络攻击的潜在入口。车联网入侵检测已成为现代物联网中识别车辆网络上恶意威胁的重要组成部分。车联网入侵检测通常被整合到外部网络中,作为防御系统的重要组成部分,以识别可能破坏防火墙和身份验证机制的恶意攻击。尽管许多以前的工作在开发车联网入侵检测方面取得了一些成功,但由于网络流量数据量大,可用的网络特征众多,网络攻击模式多样,车联网入侵检测仍然是一个具有挑战性的问题。
3.入侵检测可分为基于特征观察的检测方法、基于信息理论和统计分析的检测方法、基于机器学习和深度学习的检测方法等。基于机器学习方法最近仍然是安全研究界开发有效车联网入侵检测的重点。这些方法学习网络流量的行为并检测异常流量。然而,基于机器学习的入侵检测技术的有效性取决于训练数据集的特征设计和质量。设计适当的数据特征集以准确表征网络流量仍在研究中,因此仍然需要探索各种机器学习算法对不平衡和新型数据的检测能力,并寻找或构建好的算法来应对车联网入侵检测。对于车联网入侵检测来说,其具有更高的时效性要求和更加复杂的系统特殊性,需要更加高效和精确的入侵检测技术来应对这些挑战。联网数据中存在大量的非结构化数据和高维数据,如何从中提取出有用的特征是车联网入侵检测的一个难点问题。目前,许多机器学习算法的特征提取方法还不够有效,需要进一步研究和改进。
技术实现要素:
4.本发明的发明内容在于提出一种针对车联网入侵检测技术,其首先利用数据预处理和特征工程程序来提高所用数据集的质量,三个基于树的监督学习器随机森林(rf)、极限梯度提升(xgboost)和光梯度提升(lightgbm)学习算法作为基础分类器,利用堆叠(stacking)集成模型构建强分类器可以准确高效地检测在车辆网络上发起的各种类型的网络攻击,并解决了车联网入侵检测中正常数据和异常数据之间样本不平衡,数据流量大且维数多而导致的检测性能差问题。
5.本发明提出一种针对车联网入侵检测技术,包括以下步骤:
6.s1:采集车外网网络数据集;
7.s2:对采集的车外网网络数据进行数据预处理;
8.s3:对数据预处理后的车外网网络数据进行特征工程;
9.s4:通过三个基于树的集成算法进行模型训练;
10.s5:检测车外网网络数据进行正常和异常分类,并处理结果输出。
11.优选的,所述s1中,将采集的车外网网络数据按7比3比例划分训练数据和测试数据,在最终的保留验证之前,测试集将保持不变;对训练集实施十折交叉验证;在十折交叉验证的每次迭代中,90%的原始训练集用于模型训练,10%的原始训练集中用作模型测试的验证集。
12.优选的,所述s2中,数据预处理步骤包括通过k-means聚类进行数据采样、通过过采样技术减少类不平衡和数据归一化。
13.优选的,所述s3中,采用基于信息增益的特征选择和快速相关滤波器组成的综合特征工程方法,在保留重要特征的同时,去除不相关、冗余和有噪声的特征。
14.更优的,所述基于信息增益的特征选择步骤具体包括计算每个特征的重要性,并将其归一化为总和为1,表示相对重要性;然后根据特征的重要性对特征进行排序,并从上到下进行选择,直到所选特征的总重要性达到相关阈值α;对于剩余特征,总特征重要性小于1-α则丢弃。
15.优选的,所述s4中,将s3中得到的特征的总重要性达到相关阈值α特征数据作为训练数据,输入到三个基于树的集成算法进行模型训练,其中所述三个基于树的集成算法选择包括rf、lightgbm和xgboost。
16.更优的,通过超参数优化方法贝叶斯树parzen估计器对所述三种基于树的集成算法的重要超参数进行优化。
17.优选的,所述s5中,将待检测数据输入到元学习器,并在三个基于树的集成算法学习器模型训练时采用十折交叉验证进行模型预测。
18.本发明与现有技术相比,还存在以下优点:
19.本发明适用对规格较大的数据集进行训练检测,还实现了一种组合的特征工程方法,通过删除可能导致过度拟合的不相关和误导性特征来提高训练效率,同时使用堆叠集成方法来组合基础学习器的结果,其中集成模型通常比单个模型具有更好的泛化性,组合单个学习器可以减少估计方差并防止过度拟合。另一方面,由于车载系统对于车联网入侵检测有实时性要求,而基于树模型的机器学习算法具有高效的计算性能,可以处理大规模的数据集,同时具有较快的训练和预测速度,可以满足实时入侵检测的需求。
附图说明
20.利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
21.图1是本发明一种基于堆叠集成算法的车载网络入侵检测方法的实现流程图。
具体实施方式
22.以下结合具体实施例对一种基于堆叠集成算法的车载网络入侵检测方法作进一步的详细描述,这些实施例只用于比较和解释的目的,本发明不限定于这些实施例中。
23.本发明的算法流程如图1所示;一种基于堆叠集成算法的车载网络入侵检测方法,具体步骤包括:
24.s1:采集车外网网络数据集;
25.s2:对采集的车外网网络数据进行数据预处理;
26.s3:对数据预处理后的车外网网络数据进行特征工程;
27.s4:通过三个基于树的集成算法进行模型训练;
28.s5:检测车外网网络数据进行正常和异常分类,并处理结果输出。
29.优选的,所述s1中,将采集的车外网网络数据按7比3比例划分训练数据和测试数据,在最终的保留验证之前,测试集将保持不变;对训练集实施十折交叉验证;在十折交叉验证的每次迭代中,90%的原始训练集用于模型训练,10%的原始训练集中用作模型测试的验证集。
30.在实际检测过程中采集车外网络数据集,本发明算法模型是以车外网网络数据作为训练数据和测试数据,其中训练数据用于训练算法模型,测试数据用于验证算法模型能否检测正常和异常数据。为验证本发明模型的可行性,在本实施例中采用的cicids2017数据集是一种用于网络入侵检测的公开数据集,同时也是车联网入侵检测研究中常用的车外网网络数据集,该数据集总计包括二百八十多万条数据。每条数据包含了网络流量的各种特征,如源ip地址、目标ip地址、协议类型、端口号、数据包大小等。同时,每条数据还被标记为攻击流量或正常流量。
31.在未接触过的测试集上测试获得的训练模型,以评估新数据集上的模型性能。本实施例中截取数据如表1所示。
32.表1数据集中各类别截取数量
33.数据标签截取数量占比(百分比)正常数据(benign)1818573.34僵尸网络(botnets)19667.93拒绝服务(dos)10294.15嗅探攻击(sniffing)12805.16暴力破解(brute-force)1180.48渗透攻击(infiltration)360.15网络攻击(web-attack)21808.79
34.优选的,所述s2中,数据预处理步骤包括通过k-means聚类进行数据采样、通过过采样技术减少类不平衡和数据归一化。
35.1)通过k-means聚类进行数据采样:在现实生活中,在大量网络流量数据上训练ml模型是不现实的,可能会花费大量时间,尤其是在需要多次训练ml模型的超参数调整过程中。为了提高模型训练效率,数据采样是一种常见的技术,可以生成原始数据的子集,以降低模型的训练复杂度。
36.为了获得高度代表性的子集,使用了基于k-means聚类采样方法。聚类采样是一种
常见的数据采样方法,通过该方法将原始数据点分组为多个聚类;然后,从每个聚类中采样一定比例的数据以形成代表子集。与随机抽样不同,随机抽样以相等的概率随机选择每个数据样本,聚类抽样可以生成具有高度代表性的子集,因为丢弃的数据点大多是冗余数据。通过k-means将原始数据样本聚类为k个聚类后,对每个聚类进行随机抽样,选取10%的数据作为抽样子集。根据数据规模和资源限制,数据抽样的百分比可能有所不同。
37.2)通过过采样技术减少类不平衡:类不平衡问题经常发生在网络流量数据中,因为正常样本的百分比通常比真实网络数据中攻击样本的百分比大得多,导致模型有偏差,检测率低。类不平衡问题主要通过重采样方法解决,包括随机采样和合成少数类过采样技术(smote),这可以为少数类创建新的实例来平衡数据集。与随机抽样不同,随机抽样只是复制实例并可能导致过拟合,smote可以合成高质量的实例数据。
38.3)数据归一化:对采集的车外网网络数据即训练数据中每维特征采用式(1)进行z-score归一化处理,其中x是原始特征值,x是原始特征值,μ为对应列特征均值,σ对应列方差。将数据转化成均值为0方差为1的形式,其目的是为了防止各特征之间数值相差较大导致模型训练时无法收敛,并保存归一化中算出的数据的均值和方差。通过实施z-score法,每个归一化特征值xn表示为
[0039][0040]
优选的,所述s3中,采用了由基于信息增益的特征选择(ig)和快速相关滤波器(fcbf)组成的综合特征工程方法在保留重要特征的同时,去除不相关、冗余和有噪声的特征。
[0041]
通过s2步骤后,可以生成高质量、高代表性的数据集。另一方面,通过适当的特征工程获得最优特征列表,也可以提高数据集的质量,使模型学习更加准确和高效。
[0042]
更优的,所述基于信息增益的特征选择步骤具体包括计算每个特征的重要性,并将其归一化为总和为1,表示相对重要性;然后根据特征的重要性对特征进行排序,并从上到下进行选择,直到所选特征的总重要性达到相关阈值α;对于剩余特征,总特征重要性小于1-α则丢弃。
[0043]
快速相关滤波器:尽管基于信息增益的特征选择方法消除了不重要的特征以减少时间复杂性,但仍存在许多冗余特征。特征冗余可能会增加时间和空间复杂性,并通过增加被噪声数据误导的概率以及增加过度拟合的风险来降低模型性能。因此,通过计算输入特征的相关性来去除冗余特征有利于模型性能和效率。在基于相关性的特征选择算法中,选择了fcbf算法,因为它通过有效去除冗余特征同时保留信息特征,在高维数据集上表现出了优异的性能,并且具有低时间复杂度。在fcbf中,通过归一化ig值来计算对称不确定性(su)以测量特征之间的相关性:
[0044][0045]
其中h(x)表示目标变量x的熵,h(y)表示目标变量y的熵,ig(x|y)表示x与目标y之间的相关性
[0046]
su(x,y)在[0,1]范围内,值1表示两个特征x和y之间的完美相关性,而值0表示两个特性完全独立。fcbf方法基于其su值搜索特征空间中的特征,直到探索了整个特征空间。高度相关的特征被视为冗余特征,并且只保留其中一个特征。在所提出的特征选择方法中,
每对特征的su值被算做它们的相关性。当两个特征之间的相关值大于时,具有较高特征重要性的一个被保留,而另一个被丢弃。重复相关性计算和特征删除过程,直到特征列表中的每对特征不高度相关(su)。将ig方法和fcbf算法相结合的特征选择方法称为ig-fcbf。
[0047]
优选的,所述s4中,将s3中得到的特征的总重要性达到相关阈值α特征数据作为训练数据,输入到三个基于树的集成算法进行模型训练,其中所述三个基于树的集成算法选择包括rf、lightgbm和xgboost。
[0048]
更优的,通过超参数优化方法贝叶斯树parzen估计器对所述三种基于树的集成算法的重要超参数进行优化。
[0049]
算法选择rf、lightgbm和xgboost的原因是它们组合多个决策树的集成模型,可以有效地处理网络流量数据所属的非线性和复杂数据。在获得三个基于树的机器学习模型后,结合模型超参数优化技术优化基础模型,使用堆叠(stacking)集成对它们进行组合,以提高模型性能,因为多个基础学习器的组合的泛化性通常优于单个模型。堆叠是一种标准的集成学习技术,它使用三个基础学习器(rf、lightgbm和xgboost)预测的输出标签作为元学习器的输入特征,以训练一个强大的元学习器,进行最终预测。使用堆叠可以从三个基础学习器那里学习信息,以减少单个学习器的错误,并获得更可靠和稳健的元分类器。在所提出的系统中,选择三个基本模型中性能最好的一个作为构建元学习器的算法,因为它最有可能实现最佳性能。
[0050]
用超参数优化方法贝叶斯树parzen估计器(bo-tpe)对三种基于树的ml算法的重要超参数进行优化。bo-tpe创建了两个密度函数l(x)和g(x),作为变量的生成模型。使用预先指定的阈值y
*
来分离相对较好的和较差的结果,用parzen估计器来建模tpe的目标函数:
[0051][0052]
其中l(x)和g(x)分别表示在表现良好的区域和表现较差的区域中检测下一个超参数值的概率。bo-tpe通过最大化比率l(x)/g(x)来检测最优超参数值。parzen估计器是树结构的,因此可以保留超参数的指定条件依赖性。此外,bo-tpe可以有效地优化所有类型的超参数。因此,bo-tpe用于优化具有许多超参数的基于树的机器学习模型的超参数。
[0053]
优选的,所述s5中,将待检测数据输入到元学习器,并在三个基于树的集成算法学习器模型训练时采用十折交叉验证进行模型预测。
[0054]
本实施例在cicids2017数据集上结果如表2所示。
[0055]
表2模型在cicids2017数据集中表现
[0056]
数据集准确率检测率误报率f1分数cicids201799.89599.8060.0840.99895
[0057]
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。
技术特征:
1.一种基于堆叠集成算法的车载网络入侵检测方法,其特征在于,包括:s1:采集车外网网络数据集;s2:对采集的车外网网络数据进行数据预处理;s3:对数据预处理后的车外网网络数据进行特征工程;s4:通过三个基于树的集成算法进行模型训练;s5:检测车外网网络数据进行正常和异常分类,并处理结果输出。2.根据权利要求1所述的一种基于堆叠集成算法的车载网络入侵检测方法,其特征在于,所述s1中,将采集的车外网网络数据按7比3比例划分训练数据和测试数据,在最终的保留验证之前,测试集将保持不变;对训练集实施十折交叉验证;在十折交叉验证的每次迭代中,90%的原始训练集用于模型训练,10%的原始训练集中用作模型测试的验证集。3.根据权利要求1所述的一种基于堆叠集成算法的车载网络入侵检测方法,其特征在于,所述s2中,数据预处理步骤包括通过k-means聚类进行数据采样、通过过采样技术减少类不平衡和数据归一化。4.根据权利要求1所述的一种基于堆叠集成算法的车载网络入侵检测方法,其特征在于,所述s3中,采用基于信息增益的特征选择和快速相关滤波器组成的综合特征工程方法,在保留重要特征的同时,去除不相关、冗余和有噪声的特征。5.根据权利要求4所述的一种基于堆叠集成算法的车载网络入侵检测方法,其特征在于,所述基于信息增益的特征选择步骤具体包括计算每个特征的重要性,并将其归一化为总和为1,表示相对重要性;然后根据特征的重要性对特征进行排序,并从上到下进行选择,直到所选特征的总重要性达到相关阈值α;对于剩余特征,总特征重要性小于1-α则丢弃。6.根据权利要求1所述的一种基于堆叠集成算法的车载网络入侵检测方法,其特征在于,所述s4中,将s3中得到的特征的总重要性达到相关阈值α的特征数据作为训练数据,输入到三个基于树的集成算法进行模型训练,其中所述三个基于树的集成算法选择包括rf、lightgbm和xgboost。7.根据权利要求6所述的一种基于堆叠集成算法的车载网络入侵检测方法,其特征在于,通过超参数优化方法贝叶斯树parzen估计器对所述三种基于树的集成算法的重要超参数进行优化。8.根据权利要求1所述的一种基于堆叠集成算法的车载网络入侵检测方法,其特征在于,所述s5中,将待检测数据输入到元学习器,并在三个基于树的集成算法学习器模型训练时采用十折交叉验证进行模型预测。
技术总结
本发明公开了一种基于堆叠集成算法的车载网络入侵检测方法,步骤包括采集车外网网络数据集;对采集的车外网网络数据进行数据预处理;对数据预处理后的车外网网络数据进行特征工程;通过三个基于树的集成算法进行模型训练;检测车外网网络数据进行正常和异常分类,并处理结果输出。本发明可以处理大规模的数据集,同时具有较快的训练和预测速度,可以满足实时入侵检测的需求。实时入侵检测的需求。实时入侵检测的需求。
技术研发人员:尚文利 涂江健 揭海 曹忠 丁磊 张曼 浣沙 时昊天
受保护的技术使用者:广州大学
技术研发日:2023.04.18
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/