掌桥专利:专业的专利平台
掌桥专利
首页

基于改进遗传算法的工控网络恶意流量检测方法及装置

文献发布时间:2024-04-18 19:58:21


基于改进遗传算法的工控网络恶意流量检测方法及装置

技术领域

本发明属于工业控制系统网络安全技术领域,具体涉及一种基于改进遗传算法的工控网络恶意流量检测方法及装置。

背景技术

工业控制系统是一种用于监控、控制和自动化工业过程的系统,广泛应用于能源生产、化学工业、航空制造等工业领域;目前,随着信息技术的迅速发展,计算机数字技术得以不断增强,网络攻击的风险也随之增加,工控系统网络作为工业现场的重要组成部分,其稳定性和安全性直接关系到生产的安全与稳定性;而日益恶化的网络攻击和恶意流量给工业控制系统带来了巨大的风险和威胁,因此,需要实施高效的恶意流量检测方法来保障系统的安全防御效能。

恶意流量检测方法能够通过网络流量分析、机器学习等技术,对工业控制网络的流量数据进行监控和分析,从而检测并阻止恶意软件、网络攻击或其他恶意行为产生的网络流量;因此,基于机器学习的检测方法在恶意流量检测中得到了广泛应用;但是,在工业控制网络中,恶意威胁流量的样本数量相对较小,往往会导致训练样本数据出现不平衡的问题,这种情况下,常用的工业控制网络恶意流量检测方法在面临新型网络攻击时往往会产生较低的准确率与较高的误报率;基于此,亟需提供一种适用于工业控制系统的恶意流量检测方法,来解决因恶意流量样本不平衡而导致的检测准确率低和误报率高的问题。

发明内容

本发明的目的是提供一种基于改进遗传算法的工控网络恶意流量检测方法及装置,用以解决现有技术因训练样本数据不平衡,而导致的检测准确率低和误报率高的问题。

为了实现上述目的,本发明采用以下技术方案:

第一方面,提供了一种基于改进遗传算法的工控网络恶意流量检测方法,包括:

获取工控网络恶意流量数据集,其中,所述工控网络恶意流量数据集中各个工控网络恶意流量数据对应的特征种类相同;

对所述工控网络恶意流量数据集中的各个工控网络恶意流量数据按照特征种类进行归一化处理,得到工控网络恶意流量特征集,其中,所述工控网络恶意流量特征集包括多个特征序列,每个特征序列分别对应一特征种类,任一特征序列中的特征值个数为工控网络恶意流量数据的总数,任一特征序列中的特征值与各个工控网络恶意流量数据一一对应,且所述任一特征序列中任一特征值的大小用于表征该任一特征序列对应特征种类,与所述任一特征值对应工控网络恶意流量数据之间的关联度;

从所有特征种类中随机选取若干特征种类,以利用选择出的特征种类组成特征种群;

将所述特征种群和所述工控网络恶意流量特征集输入至改进的随机森林模型中进行工控网络恶意流量检测训练,得到多个分类器的输出结果,以基于各个分类器的输出结果,计算出每个分类器对应训练特征子集的适应度,其中,任一训练特征子集中包含有多个特征种类,且任一训练特征子集的适应度越高,表征该任一训练特征子集对应分类器的分类结果越准确;

判断各个训练特征子集的适应度是否满足迭代停止条件;

若否,则利用改进后的遗传算法更新各个训练特征子集,得到更新后的训练特征子集;

将所述特征种群替换为更新后的训练特征子集,并重新将所述特征种群和工控网络恶意流量特征集输入至改进的随机森林模型中进行工控网络恶意流量检测训练,直至得到的各个训练特征子集的适应度满足迭代停止条件时为止,以将满足迭代停止条件时的各个训练特征子集作为候选特征子集;

从各个候选特征子集中选取适应度最高的候选特征子集,作为最优特征子集,并使用最优特征子集来训练改进的随机森林模型,得到工控网络恶意流量检测模型,以便利用工控网络恶意流量检测模型对工业控制系统进行恶意流量检测,得到恶意流量检测结果。

基于上述公开的内容,本发明先将各工控网络恶意流量数据按照其对应的特征种类进行归一化处理,从而得到各特征种类与工控网络恶意流量数据的关联度,即任一特征种类的特征值越大,表征该特征种类对工控网络恶意流量数据的关联度越高(也就是贡献度越大);而后,本发明从各个特征种类中选取若干特征,来组成特征种群,并将特征种群以及前述特征值输入至改进的随机森林模型进行恶意流量检测训练,从而以分类器的评估结果来计算选取出的特征种类组成的特征子集的适应度值;如此,相当于是选择了不同的特征,来进行工控网络恶意流量检测训练,从而得到不同特征对网络恶意流量检测的影响程度;接着,本发明再用改进后的遗传算法来更新各个特征子集,以基于适应度,来提取出在检测中具有更高权重的特征;最后,利用改进的随机森林模型和遗传算法不断迭代进行特征选择,直至达到迭代停止条件时,即可得到最优的特征子集;而利用最优的特征子集来训练模型,即可得到检测准确以及泛化能力高的恶意流量检测模型。

通过上述设计,本发明通过改进的遗传算法来增强工控网络的小样本数据,从而提取出具有更高权重的特征,即通过改进的遗传算法,来进行工控网络恶意流量数据对应各个特征的选择,从而选择出最佳特征并获得适应度结果,如此,通过选择在检测中具有更高权重的特征来进行模型训练,可优化工控网络中异常样本不平衡而导致的准确率低的问题;同时,在遗传算法的迭代过程中,采用改进的随机森林模型进行样本训练,以分类器评估结果计算选取出的特征种类组成的特征子集的适应度值,并以此来监督分类的检测性能,基于此,能够有效避免过拟合问题,进一步提升恶意流量检测准确率和泛化能力。

在一个可能的设计中,任一分类器表征一个决策树,其中,所述任一分类器对应决策树中树节点的分割点,是通过计算所述任一分类器对应训练特征子集中各个特征种类的Gini指标得到的,且Gini指标最小的特征种类,作为所述分割点;

相应的,采用如下公式(1),计算出任一特征种类的Gini指标;

上述公式(1)中,G

在一个可能的设计中,基于各个分类器的输出结果,计算出每个分类器对应训练特征子集的适应度,包括:

对于任一分类器,基于所述任一分类器的输出结果,并按照如下公式(2),计算出所述任一分类器对应训练特征子集的适应度;

上述公式(2)中,F表示所述任一分类器对应训练特征子集的适应度,Acc表示所述任一分类器的准确率,L表示所述任一分类器对应训练特征子集中特征种类的数量,N表示所述特征种群中的特征种类的数量,β表示权重参数,且所述任一分类器的准确率是根据所述任一分类器的输出结果所计算得到的。

在一个可能的设计中,从所有特征种类中随机选取若干特征种类,以利用选择的特征种类组成特征种群,包括:

初始化遗传迭代次数t为1,并从所有特征种类中随机选取若干特征种类,以利用选择的特征种类组成第t次遗传迭代时的特征种群,且所述特征种群中每个特征种类对应一二进制串以及一变异量;

其中,将所述特征种群和所述工控网络恶意流量特征集输入至改进的随机森林模型中进行工控网络恶意流量检测训练,得到多个分类器的输出结果,以基于各个分类器的输出结果,计算出每个分类器对应训练特征子集的适应度,则包括:

将所述工控网络恶意流量特征集和所述第t次遗传迭代时的特征种群输入至改进的随机森林模型中进行工控网络恶意流量检测训练,得到多个分类器的输出结果,以基于各个分类器的输出结果,计算出每个分类器对应训练特征子集的适应度,其中,利用第t次遗传迭代时的特征种群所得到的各个训练特征子集为第t次遗传迭代时的训练特征子集;

相应的,判断各个训练特征子集适应度是否满足迭代停止条件,则包括:

判断所述第t次遗传迭代时的各个训练特征子集的适应度是否满足迭代停止条件,或t是否大于最大迭代次数。

在一个可能的设计中,利用改进后的遗传算法更新各个训练特征子集,得到更新后的训练特征子集,包括:

从第t次遗传迭代时的各个训练特征子集中,选取出适应度大于适应度阈值的训练特征子集,以作为父代子集;

对各个父代子集进行两两遗传交叉处理,以在遗传交叉处理后,得到各个父代子集对应的后代特征子集;

计算出各个后代特征子集的适应度,其中,对于任一后代特征子集,判断所述任一后代特征子集的适应度是否大于该任一后代特征子集的历史局部最优适应度;

若是,则将所述任一后代特征子集的历史局部最优适应度更新为所述任一后代特征子集的适应度,以及将所述任一后代特征子集的二进制串作为该任一后代特征子集在t次遗传迭代时的局部最优值,其中,所述任一后代特征子集的二进制串是根据该任一后代特征子集中各个特征种类的二进制串所得到的;

从各个后代特征子集的适应度中选择出最大的适应度,作为第t次遗传迭代时的全局最优适应度,并将适应度最大的后代特征子集的二进制串作为第t次遗传迭代时的全局最优值;

利用第t次遗传迭代时的全局最优值以及各个后代特征子集在t次遗传迭代时的局部最优值,更新各个第t次遗传迭代时的后代特征子集中每个特征种类的二进制串以及变异量,以在更新后,得到各个新的后代特征子集;

基于各个新的后代特征子集的适应度,对各个新的后代特征子集进行更新处理,以得到所述更新后的训练特征子集。

在一个可能的设计中,利用第t次遗传迭代时的全局最优值以及各个后代特征子集在t次遗传迭代时的局部最优值,更新各个第t次遗传迭代时的后代特征子集中每个特征种类的二进制串以及变异量,包括:

对于第t次遗传迭代时的各个后代特征子集中的任一后代特征子集,依次采用如下公式(3)和公式(4),更新所述任一后代特征子集中的各个特征种类的变异量和二进制串;

v′

上述公式(3)中,v

x′

上述公式(4)中,x′

在一个可能的设计中,基于各个新的后代特征子集的适应度,对各个新的后代特征子集进行更新处理,以得到所述更新后的训练特征子集,包括:

从各个新的后代特征子集中筛选出适应度最低的新的后代特征子集,作为第一目标特征子集,并将剩余的各个新的后代特征子集的作为第二目标特征子集;

将所述第一目标特征子集与该第一目标特征子集对应的父代子集进行遗传交叉处理,以在遗传交叉处理后,得到交叉子集,其中,所述第一目标特征子集对应的父代子集,为该目标特征子集对应后代特征子集的父代子集;

将所述交叉子集和所述第二目标特征子集,作为所述更新后的训练特征子集。

第二方面,提供了一种基于改进遗传算法的工控网络恶意流量检测装置,包括:

数据获取单元,用于获取工控网络恶意流量数据集,其中,所述工控网络恶意流量数据集中各个工控网络恶意流量数据对应的特征种类相同;

归一化单元,用于对所述工控网络恶意流量数据集中的各个工控网络恶意流量数据按照特征种类进行归一化处理,得到工控网络恶意流量特征集,其中,所述工控网络恶意流量特征集包括多个特征序列,每个特征序列分别对应一特征种类,任一特征序列中的特征值个数为工控网络恶意流量数据的总数,任一特征序列中的特征值与各个工控网络恶意流量数据一一对应,且所述任一特征序列中任一特征值的大小用于表征该任一特征序列对应特征种类,与所述任一特征值对应工控网络恶意流量数据之间的关联度;

特征选择单元,用于从所有特征种类中随机选取若干特征种类,以利用选择出的特征种类组成特征种群;

特征选择单元,用于将所述特征种群和所述工控网络恶意流量特征集输入至改进的随机森林模型中进行工控网络恶意流量检测训练,得到多个分类器的输出结果,以基于各个分类器的输出结果,计算出每个分类器对应训练特征子集的适应度,其中,任一训练特征子集中包含有多个特征种类,且任一训练特征子集的适应度越高,表征该任一训练特征子集对应分类器的分类结果越准确;

特征选择单元,用于判断各个训练特征子集的适应度是否满足迭代停止条件;

若否,特征选择单元则用于利用改进后的遗传算法更新各个训练特征子集,得到更新后的训练特征子集;

特征选择单元,用于将所述特征种群替换为更新后的训练特征子集,并重新将所述特征种群和工控网络恶意流量特征集输入至改进的随机森林模型中进行工控网络恶意流量检测训练,直至得到的各个训练特征子集的适应度满足迭代停止条件时为止,以将满足迭代停止条件时的各个训练特征子集作为候选特征子集;

恶意流量检测单元,用于从各个候选特征子集中选取适应度最高的候选特征子集,作为最优特征子集,并使用最优特征子集来训练改进的随机森林模型,得到工控网络恶意流量检测模型,以便利用工控网络恶意流量检测模型对工业控制系统进行恶意流量检测,得到恶意流量检测结果。

第三方面,提供了另一种基于改进遗传算法的工控网络恶意流量检测装置,以装置为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述基于改进遗传算法的工控网络恶意流量检测方法。

第四方面,提供了一种存储介质,存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述基于改进遗传算法的工控网络恶意流量检测方法。

第五方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如第一方面或第一方面中任意一种可能设计的所述基于改进遗传算法的工控网络恶意流量检测方法。

有益效果:

(1)本发明通过改进的遗传算法来增强工控网络的小样本数据,从而提取出具有更高权重的特征,即通过改进的遗传算法,来进行工控网络恶意流量数据对应各个特征的选择,从而选择出最佳特征并获得适应度结果,如此,通过选择在检测中具有更高权重的特征来进行模型训练,可优化工控网络中异常样本不平衡而导致的准确率低的问题;同时,在遗传算法的迭代过程中,采用改进的随机森林模型进行样本训练,以分类器评估结果计算选取出的特征种类组成的特征子集的适应度值,并以此来监督分类的检测性能,基于此,能够有效避免过拟合问题,进一步提升恶意流量检测准确率和泛化能力。

附图说明

图1为本发明实施例提供的基于改进遗传算法的工控网络恶意流量检测方法的步骤流程示意图;

图2为本发明实施例提供的基于改进遗传算法的工控网络恶意流量检测装置的结构图;

图3为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图和实施例或现有技术的描述对本发明作简单地介绍,显而易见地,下面关于附图结构的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。

应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。

应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。

实施例:

参见图1所示,本实施例所提供的基于改进遗传算法的工控网络恶意流量检测方法,通过改进的遗传算法来进行工控网络恶意流量数据对应各个特征的选择,以选择出在进行工控网络恶意流量检测中具有更高权重的特征来进行模型的训练;同时,本方法将检测到的特征输入至改进的随机森林模型中进行模型的训练,以借助模型的分类器的评估结果来计算出选择的各个特征种类所组成的特征子集的适应度,基于此,二者相结合,能够在迭代过程中,不断的提取出对检测更有利的特征,并可借助适应度来监督分类的检测性能,从而得到最优的特征子集;由此,使用该最优的特征子集所训练得到的检测模型,能够解决工控网络中异常样本不平衡而导致的准确率低的问题,可在提升异常检测效率与泛化能力的同时,降低误报率;在本实施例中,举例本方法可以但不限于在工控控制系统端侧运行,可以理解的,前述执行主体并不构成对本申请实施例的限定,相应的,本方法的运行步骤可以但不限于如下述步骤S1~S8所示。

S1.获取工控网络恶意流量数据集,其中,所述工控网络恶意流量数据集中各个工控网络恶意流量数据对应的特征种类相同;在具体应用时,工控网络恶意流量数据集可以但不限于包络已知的各个工控网络恶意流量数据,其可预先存储在工控控制系统端内;同时,各个工控网络恶意流量数据的特征种类相同,如均包括20、或41个特征种类等(即20个特征维度;在本实施例中,举例可采用工控网络恶意流量数据集为NSL-KDD数据集,且数据集的特征包括41个网络流量特征,如源IP地址、目的IP地址、源端口、目的端口、协议类型、包长度等;当然,可选择不同的数据集,在此不做具体限定。

在本实施例中,虽然各个工控网络恶意流量数据的特征种类相同,但每个特征与其对应数据的关联度不同,因此,需要确定出在网络检测中,更能够代表工控网络恶意流量数据的特征种类。

可选的,在本实施例中,则是通过将各个工控网络恶意流量数据在不同特征种类上进行归一化处理,从而来得出不同特征种类对工控网络恶意流量数据的贡献度(也就是二者间的关联度);其中,归一化过程可以但不限于如下述步骤S2所示。

S2.对所述工控网络恶意流量数据集中的各个工控网络恶意流量数据按照特征种类进行归一化处理,得到工控网络恶意流量特征集,其中,所述工控网络恶意流量特征集包括多个特征序列,每个特征序列分别对应一特征种类,任一特征序列中的特征值个数为工控网络恶意流量数据的总数,任一特征序列中的特征值与各个工控网络恶意流量数据一一对应,且所述任一特征序列中任一特征值的大小用于表征该任一特征序列对应特征种类,与所述任一特征值对应工控网络恶意流量数据之间的关联度;在本实施例中,举例可以但不限于采用最小最大值的归一化方法,来按照特征种类,将各个工控网络恶意流量数据进行归一化处理,从而将各个数据归一化至[0.1]之间;如在前述举例的基础上进行阐述,每个工控网络恶意流量数据有20个特征种类,那么,每个工控网络恶意流量数据则对应有20个归一化值(即特征值),每个特征值代表一个特征种类,如此,每个工控网络恶意流量数据在同一特征种类下所对应的特征值,则组成特征序列。

下述以一个实例来阐述各个特征值的含义:

假设20个特征种类分别为A1~A20,对于第一条工控网络恶意流量数据,其对应于A1特征种类的特征值为0.1,对应于A2特征种类的特征值为0.2,对应于A3特征种类的特征值为0.4,后续的不再赘述;那么,相当于第一条工控网络恶意流量数据与A1特征种类的关联度为0.1,与A2特征种类的关联度为0.2,与A3特征种类的关联度为0.4,那么,其与A3特征种类的关联度最高,也就是A3特征种类对第一条工控网络恶意流量数据的贡献度越高,其越能代表第一条工控网络恶意流量数据;当然,其余各个工控网络恶意流量数据对应特征值的含义与前述举例相同,于此不再赘述。

由此通过前述步骤S2,可得到与每个工控网络恶意流量数据更贴近的特征种类,如此,即可借助前述工控网络恶意流量特征集以及特征种类,来进行特征的选取,以得到对工控网络恶意流量检测更有利的特征;其中,特征选择过程可以但不限于如下述步骤S3~S7所示。

S3.从所有特征种类中随机选取若干特征种类,以利用选择出的特征种类组成特征种群;在本实施例中,是使用改进的遗传算法来选取特征种类,以组成特征种群,然后,将特征种群输入至改进的随机森林模型中进行网络恶意流量检测的训练,从而利用改进的随机森林模型来构建出多个分类器,并基于分类器的评估结果,来反过来计算进行训练时,由特征种群生成的各个训练特征子集的适应度;接着,即可根据适应度来判断是否结束遗传迭代,其中,若不满足,则需要进行遗传迭代,以对得到的训练特征子集进行更新,得到更新后的训练特征子集,并继续输入至训练的随机森林模型进行训练;如此,不断重复前述过程,即可选择出在进行网络恶意流量检测时,具有更高权重的特征种类。

可选的,在前述步骤S3中,可先初始化遗传迭代次数t为1,并从所有特征种类中随机选取若干特征种类,以利用选择的特征种类组成第t次遗传迭代时的特征种群;其中,在t为1时,则是从所有特征种类中随机选取若干特征来组成特征种群;更进一步的,在本实施例中,还会生成与特征种类个数对应数量的二进制串(可预先设置在工控控制系统端内),且还会为每个二进制串生成相应的变异量(当然,在初始时,变异量为0);如此,即可使所述特征种群中每个特征种类都对应一二进制串以及一变异量。

在生成第t次遗传迭代时的特征种群后,即可将其输入至改进的随机森林模型,来进行工控网络恶意流量检测训练,以得到多个训练特征子集及对应的分类器;其中,训练过程如下述步骤S4所示。

S4.将所述特征种群和所述工控网络恶意流量特征集输入至改进的随机森林模型中进行工控网络恶意流量检测训练,得到多个分类器的输出结果,以基于各个分类器的输出结果,计算出每个分类器对应训练特征子集的适应度,其中,任一训练特征子集中包含有多个特征种类,且任一训练特征子集的适应度越高,表征该任一训练特征子集对应分类器的分类结果越准确;在具体应用时,相当于是将工控网络恶意流量特征集和第t次遗传迭代时的特征种群输入至改进的随机森林模型进行训练;更进一步的,改进的随机森林模型在训练时,会从第t次遗传迭代时的特征种群中有放回的随机选取特征种类,从而得到若干训练特征子集;如,按照每次选取r个特征种类,并选取s次,从而得到s个训练特征子集,而后,改进的随机森模型则可利用s个训练特征子集,来生成s个决策树,从而来得到s个分类器;如此,在第t次遗传迭代时,得到的各个训练特征子集则为第t次遗传迭代时的训练特征子集。

在具体应用时,通过考虑分类的不平衡程度来选择更具有区分性的特征,本发明采用基于改进Gini指标的随机森林算法,来根据生成的特征种群,对训练样本进行模型训练;同时,在随机森林模型训练过程中,采用众数填充处理缺失值,并选取Gini指标最小的特征种类作为树节点的分割点;具体的,前述就已说明,任一分类器表征一个决策树,因此,相当于所述任一分类器对应决策树中树节点的分割点,是通过计算所述任一分类器对应训练特征子集中各个特征种类的Gini指标得到的,且Gini指标最小的特征种类,作为所述分割点。

在本实施例中,举例可以但不限于采用如下公式(1),计算出任一特征种类的Gini指标;

上述公式(1)中,G

在本实施例中,样本类别总数则是工控网络恶意流量数据集中所有工控网络恶意流量数据所属的样本类别的总数,如为所有工控网络恶意流量数据共分为5类,那么样本类别总数则为5;当然,样本类别总数可预先设置在工控控制系统端内;同时,第i个叶子节点对应的总样本数,即关联有第i个叶子节点的工控网络恶意流量数据的个数,可根据前述工控网络恶意流量特征集得到;具体的,若某个工控网络恶意流量相对基第i个叶子节点对应特征种类的特征值大于0,则判定该某个工控网络恶意流量数据关联有该第i个叶子节点。

更进一步的,在本实施例中,下述公开各个训练特征子集的适应度的计算过程,同时,由于每个训练特征子集的适应度的计算原理相同,下述以任一分类器对应训练特征子集为例,来具体阐述其适应度的计算过程。

在具体应用时,举例可以但不限于按照如下公式(2),计算出所述任一分类器对应训练特征子集的适应度。

上述公式(2)中,F表示所述任一分类器对应训练特征子集的适应度,Acc表示所述任一分类器的准确率,L表示所述任一分类器对应训练特征子集中特征种类的数量,N表示所述特征种群中的特征种类的数量,β表示权重参数,且所述任一分类器的准确率是根据所述任一分类器的输出结果所计算得到的;可选的,β取值范围为[0,1],且在本实施例中,优选为0.8;另外,在本实施例中,基于输出结果来得到任一分类器的准确率,为随机森林模型中分类器评估的常用技术,其原理不再赘述。

如此,通过前述步骤S4,即可得到第t次遗传迭代时的各个训练特征子集,以及各个训练特征子集的适应度;而后,即可基于第t次遗传迭代时各个训练特征子集的适应度,是否满足迭代停止条件,来判断是否可继续进行遗传迭代过程;其中,判断过程如下述步骤S5所示。

S5.判断各个训练特征子集的适应度是否满足迭代停止条件;在本实施例中,迭代停止条件为各个训练特征子集的适应度是否达到预设阈值,或相比于第t-1次,其适应度的变化量是否处于预设变化范围;同时,还可判断t是否大于最大迭代次数;基于此,相当于判断各个训练特征子集的适应度是否满足迭代停止条件,或t是否大于最大迭代次数,来确定是否进行特征的再次选择;其中,若不满足前述条件,则需要进行特征的再次选择,也就是进行特征的遗传迭代;其中,迭代过程如下述步骤S6所示。

S6.若否,则利用改进后的遗传算法更新各个训练特征子集,得到更新后的训练特征子集;在本实施例中,举例第t次遗传迭代时,各个训练特征子集的更新过程可以但不限于如下述步骤S61~S67所示。

S61.从第t次遗传迭代时的各个训练特征子集中,选取出适应度大于适应度阈值的训练特征子集,以作为父代子集;在本实施例中,适应度阈值可根据实际使用预先设置,在此不作具体限定;在选取出适应度大于适应阈值的训练特征子集后,则可进行遗传交叉操作,如下述步骤S62所示。

S62.对各个父代子集进行两两遗传交叉处理,以在遗传交叉处理后,得到各个父代子集对应的后代特征子集;在本实施例中,若两个训练特征子集的二进制串表示为G_A和G_B,交叉点为c,即从前述两训练特征子集中第c个特征种类开始交叉,那么两个训练特征子集的遗传交叉操作所得到的后代特征子集可分别表示为:

G_A

G_B

上述公式中,G_A

如此,通过前述步骤S62进行各个训练特征子集的两两遗传交叉操作后,即可得到各个训练特征子集的后代特征子集,而后,即可基于各个后代特征子集的适应度,来进行更新操作,如下述步骤S63~S67所示。

S63.计算出各个后代特征子集的适应度,其中,对于任一后代特征子集,判断所述任一后代特征子集的适应度是否大于该任一后代特征子集的历史局部最优适应度;在本实施例中,还是利用改进的随机森林模型的来计算各个后代特征子集的适应度;其中,用每个后代特征子集分别构建一决策树,得到一分类器,如此,相当于每个后代特征子集则分别对应一分类器;基于此,还是使用前述公式(2),来计算得出各个后代特征子集的适应度。

在计算出各个后代特征子集的适应度后,则可与其各自的历史局部最优适应度进行对比,从而来实现各个后代特征子集的历史局部最优适应度的更新;在本实施例中,对于任一后代特征子集,其对应的历史局部最优适应度,则是该任一后代特征子集,在第t次遗传迭代前的所有遗传跌迭代过程中,最大的适应度。

在得到任一后代特征子集的适应度与该任一后代特征子集的历史局部最优适应度之间的对比结果后,即可根据对比结果来进行后续操作,如下述步骤S64所示。

S64.若是,则将所述任一后代特征子集的历史局部最优适应度更新为所述任一后代特征子集的适应度,以及将所述任一后代特征子集的二进制串作为该任一后代特征子集在t次遗传迭代时的局部最优值,其中,所述任一后代特征子集的二进制串是根据该任一后代特征子集中各个特征种类的二进制串所得到的;在具体应用时,若任一后代特征子集在本次遗传迭代时得到的适应度,大于其对应的历史局部最优适应度,则需要更新历史局部最优适应度;并将该任一后代特征子集的二进制串,作为该任一后代特征子集在t次遗传迭代时的局部最优值;反之,则不进行更新;同时,本实施例还会选取出在本次遗传迭代时,各个后代特征子集中的全局最优适应度,其中,选取过程如下述步骤S65所示。

S65.从各个后代特征子集的适应度中选择出最大的适应度,作为第t次遗传迭代时的全局最优适应度,并将适应度最大的后代特征子集的二进制串作为第t次遗传迭代时的全局最优值;在本实施例中,全局最优适应度和全局最优值的更新过程,可参见前述步骤S64,于此不再赘述。

在得到本次迭代时各个后代特征子集的局部最优值和全局最优值后,即进行各个后代特征子集的更新;其中,具体更新过程如下述步骤S66所示。

S66.利用第t次遗传迭代时的全局最优值以及各个后代特征子集在t次遗传迭代时的局部最优值,更新各个第t次遗传迭代时的后代特征子集中每个特征种类的二进制串以及变异量,以在更新后,得到各个新的后代特征子集;在本实施例中,由于各个后代特征子集的更新过程相同,下述以任一后代特征子集为例,来具体阐述其对应各个特征种类的二进制串和变异量的更细过程。

可选的,对于第t次遗传迭代时的各个后代特征子集中的任一后代特征子集,可以但不限于依次采用如下公式(3)和公式(4),更新所述任一后代特征子集中的各个特征种类的变异量和二进制串;

v′

上述公式(3)中,v

x′

上述公式(4)中,x′

由此通过前述公式(3)和公式(4),即可完成各个后代特征子集中每个特征种类的二进制串和变异量,如此,而二进制串发生了变化,则代表对应的特征种类发生变化,如此,相当于得到了若干新的后代特征子集。

在本实施例中,得到了新的后代特征子集后,还需要计算各个新的后代特征子集的适应度,以便基于适应度,来再次进行更新处理,以得到更新后的训练特征子集,其中,二次更新操作可以但不限于如下述步骤S67所示。

S67.基于各个新的后代特征子集的适应度,对各个新的后代特征子集进行更新处理,以得到所述更新后的训练特征子集;在本实施例中,举例可以但不限于从各个新的后代特征子集中筛选出适应度最低的新的后代特征子集,作为第一目标特征子集,并将剩余的各个新的后代特征子集的作为第二目标特征子集;然后,再将所述第一目标特征子集与该第一目标特征子集对应的父代子集进行遗传交叉处理,以在遗传交叉处理后,得到交叉子集,其中,所述第一目标特征子集对应的父代子集,为该目标特征子集对应后代特征子集的父代子集;最后,则可将所述交叉子集和所述第二目标特征子集,作为所述更新后的训练特征子集。

下述以一个实例来阐述前述过程:假设后代特征子集G_A

当然,前述各个新的后代特征子集的适应度计算过程与各个后代特征子集的适应度的计算原理相同,于此不再赘述。

由此通过前述步骤S61~S67,即可完成第t次遗传迭代时的各个训练特征子集的更新,而后,则可将更新后的各个训练特征子集,来输入至改进的随机森林模型再次进行网络恶意流量检测的训练,并不断重复前述过程在,直至满足前述迭代停止条件时为止;其中,循环过程如下述步骤S7所示。

S7.将所述特征种群替换为更新后的训练特征子集,并重新将所述特征种群和工控网络恶意流量特征集输入至改进的随机森林模型中进行工控网络恶意流量检测训练,直至得到的各个训练特征子集的适应度满足迭代停止条件时为止,以将满足迭代停止条件时的各个训练特征子集作为候选特征子集;在本实施例中,实质是将t自加1,然后,将第t-1次遗传迭代时的各个更新后的训练特征子集,作为第t次遗传迭代时的特征种群,并将其输入至进的随机森林模型中进行工控网络恶意流量检测训练;更进一步的,当t大于等于2时,其对应的特征种群,则直接作为构建决策树的训练特征子集,如当t=2时,相当于将第一次遗传迭代时的各个更新后的训练特征子集,直接作为构建决策树的训练特征子集,来训练得到分类器,并计算出适应度;而后,再利用前述步骤S3~S6,进行第二次的训练特征子集的更新,直至满足前述步骤S3中的条件时为止。

由此,经过不断的遗传迭代,即可选择出在检测中具有更高权重的特征;如此,当迭代结束时,得到的各个训练特征子集,则作为候选特征子集;而后,则可从各个候选特征子集中,选取适应度最高的候选特征子集,来训练改进的随机森林模型,从而得到工控网络恶意流量检测模型,其中,最优特征子集的选取过程,及工控网络恶意流量检测模型训练过程如下述步骤S8所示。

S8.从各个候选特征子集中选取适应度最高的候选特征子集,作为最优特征子集,并使用最优特征子集来训练改进的随机森林模型,得到工控网络恶意流量检测模型,以便利用工控网络恶意流量检测模型对工业控制系统进行恶意流量检测,得到恶意流量检测结果;基于前述阐述,本实施例相当于是选择出了最能够代表各个工况网络恶意流量的特征数据,来训练改进的随机森林模型(如最优特征子集中的特征种类为源IP地址、目的IP地址、源端口、目的端口,那么则使用前述特征来进行模型的训练),从而解决传统技术中因异常样本不平衡而导致的准确率低的问题。

由此通过前述步骤S1~S8所详细描述的基于改进遗传算法的工控网络恶意流量检测方法,办发明针对工控网络恶意流量检测效率低等安全问题,提出了一种基于改进遗传算法特征优化的工控网络恶意流量检测方法,该方法首先通过改进的遗传算法增强工控网络的小样本数据,以提取出具有更高权重的特征,同时,在遗传迭代过程中,通过改进的变异方法对遗传算法过程进行增强,选择最佳特征并获得改进的适应度结果,以此优化传统工控网络中因异常样本不平衡而导致的准确率低的问题;另外,本发明在遗传算法的迭代过程中,采用改进的随机森林模型进行样本训练,以分类器评估结果计算特征子集的适应度值,如此,可监督分类的检测性能,从而有效避免过拟合问题,进一步的提升恶意流量检测准确率和泛化能力。

在一个可能的设计中,本实施例第二方面提供实施例第一方面所公开的检测方法的应用实例,如下述所述。

具体地,本次实施例采用NSL-KDD数据集作为工控网络恶意流量数据集,其中,数据集的特征包括41个网络流量特征,如源IP地址、目的IP地址、源端口、目的端口、协议类型、包长度等;同时,该数据集主要包含KDD-Train、KDD-Test数据集用于训练和测试,且本实施例根据分类类型分为二分类和多分类两类;测试集包含37种攻击类型,训练集由其中21种攻击组成,包括Probe探测攻击、U2R用户到根攻击、R2L远程到本地攻击、与DoS攻击拒绝服务攻击四种。

其中,多分类样本集数量如表1所示:

表1为NSL-KDD数据集多分类样本集数量

二分类样本集数量如表2所示:

表2为NSL-KDD数据集二分类样本集数量

然后本实施例采用实施例第一方面所提供的方法,来对前述数据集中的各个数据进行特征选择,得最优特征子集,然后用最优特征子集来进行改进的随机森林模型的训练,并将得到的分类器检测结果与SVM支持向量机、普通随机森林RF、朴素贝叶斯NaNve Bayes、逻辑回归LR等模型在上述多分类测试集中进行实验对比,结果如下表所示:

表3为多分类测试集实验结果

从实验结果可知,本发明有效优化了工业控制网络中恶意流量样本不平衡问题,进一步提升恶意流量检测的准确率并降低了误报率。

如图3所示,本实施例第三方面提供了一种实现实施例第一方面中所述的基于改进遗传算法的工控网络恶意流量检测方法的硬件装置,包括:

数据获取单元,用于获取工控网络恶意流量数据集,其中,所述工控网络恶意流量数据集中各个工控网络恶意流量数据对应的特征种类相同。

归一化单元,用于对所述工控网络恶意流量数据集中的各个工控网络恶意流量数据按照特征种类进行归一化处理,得到工控网络恶意流量特征集,其中,所述工控网络恶意流量特征集包括多个特征序列,每个特征序列分别对应一特征种类,任一特征序列中的特征值个数为工控网络恶意流量数据的总数,任一特征序列中的特征值与各个工控网络恶意流量数据一一对应,且所述任一特征序列中任一特征值的大小用于表征该任一特征序列对应特征种类,与所述任一特征值对应工控网络恶意流量数据之间的关联度。

特征选择单元,用于从所有特征种类中随机选取若干特征种类,以利用选择出的特征种类组成特征种群。

特征选择单元,用于将所述特征种群和所述工控网络恶意流量特征集输入至改进的随机森林模型中进行工控网络恶意流量检测训练,得到多个分类器的输出结果,以基于各个分类器的输出结果,计算出每个分类器对应训练特征子集的适应度,其中,任一训练特征子集中包含有多个特征种类,且任一训练特征子集的适应度越高,表征该任一训练特征子集对应分类器的分类结果越准确。

特征选择单元,用于判断各个训练特征子集的适应度是否满足迭代停止条件。

若否,特征选择单元则用于利用改进后的遗传算法更新各个训练特征子集,得到更新后的训练特征子集。

特征选择单元,用于将所述特征种群替换为更新后的训练特征子集,并重新将所述特征种群和工控网络恶意流量特征集输入至改进的随机森林模型中进行工控网络恶意流量检测训练,直至得到的各个训练特征子集的适应度满足迭代停止条件时为止,以将满足迭代停止条件时的各个训练特征子集作为候选特征子集。

恶意流量检测单元,用于从各个候选特征子集中选取适应度最高的候选特征子集,作为最优特征子集,并使用最优特征子集来训练改进的随机森林模型,得到工控网络恶意流量检测模型,以便利用工控网络恶意流量检测模型对工业控制系统进行恶意流量检测,得到恶意流量检测结果。

本实施例提供的装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。

如图3所示,本实施例第四方面提供了另一种基于改进遗传算法的工控网络恶意流量装置,以装置为电子设备为例,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面所述的基于改进遗传算法的工控网络恶意流量检测方法。

具体举例的,所述存储器可以但不限于包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read Only Memory,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等等;具体地,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现,同时,处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。

在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制,例如,所述处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruction setcomputer,RISC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,NPU)的处理器;所述收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。

本实施例提供的电子设备的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。

本实施例第五方面提供了一种存储包含有实施例第一方面所述的基于改进遗传算法的工控网络恶意流量检测方法的指令的存储介质,即所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如实施例第一方面所述的基于改进遗传算法的工控网络恶意流量检测方法。

其中,所述存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。

本实施例提供的存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。

本实施例第六方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面所述的基于改进遗传算法的工控网络恶意流量检测方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 基于网络流量多视图融合的恶意软件检测方法及系统
  • 一种基于改进遗传算法特征选择的工控系统入侵检测方法
  • 基于恶意网络流量词库的恶意软件检测方法及系统
技术分类

06120116480496