适用于工控系统中基于特征热力图的恶意流量识别方法

文档序号:29437256发布日期:2022-03-30 09:11阅读:97来源:国知局
适用于工控系统中基于特征热力图的恶意流量识别方法

1.本发明涉及工业控制安全领域中恶意流量识别率较低的问题,具体涉及一种适用于工控系统中基于特征热力图的恶意流量识别方法。


背景技术:

2.工业控制系统是支撑国民经济的重要设施,是工业领域的神经中枢。目前工业控制系统己广泛应用于电力、轨道交通、石油化工、高新电子、航空航天、核工业、医药、食品制造等工业领域,大多数国计民生的关键基础设施依靠工业控制系统来实现自动化作业。随着我国工业由传统产业向数字化、网络化和智能化转型升级,网络安全威胁日益向工业领域蔓延。与此同时,我国工业领域仍存在信息安全防护水平偏低和防护措施不到位等问题。
3.目前流量生成图片技术是一种常用的恶意流量检测技术,在许多领域都有应用。该技术是将流量包转化为图片,利用机器学习算法对转化后的图片进行识别。当下的网络流量中,威胁流量和恶意流量的比例不平衡,在工控系统中无法采集到足够多的数据,对机器学习的模型进行训练。不平衡的数据量会导致训练的模型不能达到足够高的正确率。因此迫切的需要寻找一种方式,能够在既定的有限的数据集的情况下,进一步地提高机器学习模型的准确率。
4.本发明提出了一种基于特征热力图的机器学习准确率提升机制,用于提升工控系统中已经完成训练的机器学习模型。


技术实现要素:

5.为了解决当前工控系统中恶意流量识别领域的不足,本发明提出了一种适用于工控系统中基于特征热力图的恶意流量识别方法。该方法应用于已经存在恶意流量识别应用的工控系统中,工控系统将进一步提升已有应用的识别模型的准确率。
6.本发明具体包括以下步骤:
7.s1、准备数据集,搭建卷积神经网络。根据初始的特征顺序(特征名称按首字母排序)制作初始特征像素映射关系图。特征像素关系映射图表示每个特征在图片中的像素对应区域,即像素点与特征之间的对应关系。同时,建立初始的特征权重表,将每个特征的初始特征权值设置为默认值0。记录设置的准确率和召回率阈值分别为r_acc和r_recall。
8.初始特征权值设置其中w是权重标记,下标a表示特征的序号,上标r表示迭代的轮次,n为特征的总个数,r表示迭代的总轮次,每一轮迭代所有特征的初始特征权值都设置为0。
9.s2、用特征像素映射关系图将所述数据集中每一条数据转化为对应的流量灰度图。用流量灰度图对卷积神经网络进行训练。得到训练完成的卷积神经网络模型,该轮训练的准确率和召回率记为pre_accr和pre_recallr。
10.s3、利用训练完成的卷积神经网络模型使用gradcam算法,对流量灰度图生成模块生成的每张流量灰度图生成对应的热力图。在生成的所有热力图中随机选取一张热力图作
为下一轮流量灰度图生成的基准,选取的这张热力图被标记为基准图。热力图的图片大小和流量灰度图的图片大小是一致的。以下为gradcam算法的公式:
[0011][0012]
该公式为计算流量灰度图中第k个通道的每个像素的平均偏导,yc表示流量灰度图被卷积神经网络模型被预测为c类的概率(卷积神经网络模型训练完成后,对一张流量灰度图进行分类时,首先输出该图片为某一类的概率),a表示流量灰度图的像素矩阵,该像素矩阵是一个二维正方形矩阵,i表示行序号,j表示列序号,a
ij
表示特征图a上(i,j)位置对应的值即该位置对应像素点的值。ak表示第k个通道的像素矩阵,表示第k个通道的特征图上(i,j)位置的值。z表示像素矩阵a的矩阵大小(矩阵规格为12
×
12,则矩阵大小为144)。表示预测为c类的第k个通道的每个像素的平均偏导。
[0013]
根据公式计算单个流量灰度图所对应的热力图:
[0014][0015]
该公式的计算结果为流量灰度图对应热力图。将像素矩阵ak与其对应的平均偏导相乘,
[0016]
得到第k个通道的加权像素值,将所有通道的加权像素值相加,再使用整流函数relu进行规整。整流函数具体功能为将输入的负值进行舍弃,整流函数将大于0的值保留,小于或等于0的值统一取值为0。表示第c类流量灰度图对应的特征热力图,即流量灰度图对应的热力图。
[0017]
s4、判断pre_accr和pre_recallr是否大于或等于r_acc和r_recall。如果均大于或等于则进入步骤s5。如果否(pre_accr小于r_acc和pre_recallr小于r_recall至少任意一个条件成立),则根据特征像素映射关系图对每张热力图进行统计。在热力图中,如果像素点对于分类结果有贡献,则对应像素点的热力值大于0;如果因为整流函数导致无贡献的像素点,其热力值为0。热力值的高低代表代表了像素点对于分类结果贡献程度的大小。统计每个特征被命中的次数,即特征对应的像素区域中大于热力图像素平均值的热力值的个数。将特征按照特征权值从高到低进行排序,其中特征权值的更新按照公式所述,权值最高的特征放在s3基准图中热力值最高的位置,权值次高的特征放置在基准图中热力值次高的区域,依此逻辑将所有特征的区域规划完毕,得到新的(即下一轮迭代的)特征像素映射关系图(k表示特征的序号,即第k个特征)。重新初始化特征权重表。重新执行s2。根据公式计算热力图像素平均值:
[0018][0019]
其中avg表示热力图中所有热力值的平均值,h表示热力图像素矩阵,i表示行号,j表示列号,h
ij
表示单个点热力值,z表示热力图像素矩阵中热力值的总个数。如果h
ij
大于avg,根据特征像素映射关系图,表示对应的特征被卷积神经网络模型命中了一次,由于热
力图和流量灰度图的图片大小是一致的,因此可以使用特征像素映射关系图。依次统计每个特征被命中的次数,特征被命中的次数为新的特征权值:
[0020]
根据公式对本轮特征权值进行更新:
[0021][0022]
表示当前第r轮迭代中第a个特征的权重,a为特征的序号。在每一轮迭代开始时,特征的权重都会被初始化为0(每一轮迭代开始时,会将全部设置为0,且每一轮迭代开始时,自动执行r=r+1)。
[0023]hij
表示热力图(i,j)位置处的热力值。b表示特征像素映射关系图,ba表示第a个特征对应的像素区域,表示当前第r轮迭代中第a个特征对应的像素区域。该公式整体表示,如果热力图中热力值大于或等于该热力图的平均值,则将本轮迭代对应特征的权重进行加1;如果热力图中热力值小于该热力图的平均值,则不改变本轮迭代对应特征的权重。
[0024]
s5、保存迭代完成的特征像素映射图、训练完成的卷积神经网络模型,并将训练完成的特征像素映射图,还是训练完成的卷积神经网络模型应用到恶意流量识别系统的使用阶段。恶意流量识别系统采集工控系统中的流量,提取出对应的数据流。利用迭代完成的特征像素映射关系图将该数据流转化为对应的流量灰度图,使用训练完成的卷积神经网络模型对生成的流量灰度图进行一一分类和识别。
[0025]
本发明基于每个特征对于卷积神经网络模型分类结果的影响程度不同,通过热力图机制,对特征进行重新排序,进而对特征在图片上的位置产生影响。同时卷积神经网络进行图片分类时,对图像部分区域的敏感程度更高,因此将更重要的特征放置于卷积神经网络的敏感区域,更有益于区分恶意流量。
附图说明
[0026]
图1为本发明的方法整体流程和步骤图;
[0027]
图2为工控系统恶意流量识别使用阶段流程图;
[0028]
图3为卷积神经网络模型训练过程;
[0029]
图4为第一轮的基准图片选择示意图。
具体实施方式
[0030]
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
[0031]
本发明提出的基于特征热力图的恶意流量识别方法,不仅不会影响已存在于工控系统中的恶意流量识别模型,并且可以进一步提升该恶意流量识别模型识别的准确率,增强已有模型的识别效果。
[0032]
实现该方法的所述工控系统中的恶意流量识别系统使用阶段依次包括:流量包预
处理模块,特征提取模块,流量灰度图生成模块,流量分类模块。其中,恶意流量识别模型,即训练完成的卷积神经网络模型,归属于流量分类模块中。所有模块的工作方式按照图2工控系统恶意流量识别应用流程图所示。工控流量进入流量包预处理模块,进行会话流的切割,输出切割完成的会话流到特征提取模块。在特征提取模块中对会话流的统计特征进行提取,将每个会话流的特征输入到流量灰度图生成模块。其中特征像素映射关系图,即特征重组机制的结果,作用于流量灰度图生成模块,根据特征像素映射关系图将每一条特征数据,生成对应的一张流量灰度图。在流量分类模块中,由训练完成的卷积神经网络模型对流量灰度图进行判断,得出流量灰度图的分类结果,并转化为对应网络会话流是否具有恶意行为。该流程为恶意流量识别系统使用时的模块结构组成。
[0033]
为了对训练完成的卷积神经网络模型进行提升,本发明通过特征位置重组机制,作用于恶意流量识别系统初始化阶段,即卷积神经网络的训练过程。特征重组机制对应步骤2到步骤4。
[0034]
所述卷积神经网络训练过程如图3卷积神经网络模型训练过程。需要提前准备数据集,即训练集和测试集,数据集中的数据为分类完成的会话流统计数据,能够直接作用于流量灰度图生成模块。通过流量灰度图生成模块,将数据集转化为流量灰度图,卷积神经网络利用转化完成的流量灰度图,进行模型训练。输出训练的准确率和召回率,如果均大于等于预设阈值,结束训练,保存特征像素映射关系图和该训练状态的卷积神经网络。如果至少其中之一不满足预设阈值,导出每张流量灰度图对应的热力图,进行特征的权重计算,生成特征权重表。特征重组机制通过特征权重表,生成新的特征像素映射关系图。新的特征映射关系图将作用于下一轮的整体训练。其中,流量灰度图生成模块,会保留于恶意流量识别系统的使用阶段,数据集、特征权重计算、特征重组机制将不会作用于恶意流量识别系统的使用阶段,特征像素映射关系图将在使用阶段的流量灰度图生成模块被使用,训练完成的卷积神经网络将在流量分类模块被使用。
[0035]
如图1所示,该基于特征热力图的恶意流量识别方法包括以下步骤:
[0036]
步骤1:搭建最基本的卷积神经网络cnn,准备cic-ids-2017网络恶意流量数据集,读取其中的csv文件,本次实施例中使用friday-workinghours-morning.pcap_iscx.csv。其中每一列相当于一个会话流,选取其中的82维特征,部分特征如下表1所示:
[0037]
表1cic-ids-2017网络恶意流量数据集中部分特征
[0038][0039][0040]
其中流量特征的初始顺序,可设定为上表从上至下的顺序(上表为所有特征的部分展示),表示为dst port,protocol,flow duration,tot fwd pkts,tot bwd pkts,totlen fwd pkts,totlen bwd pkts,fwd pkt len max,fwd pkt len min,fwd pkt len mean,

。根据上述数据集制作特征像素映射关系图,特征像素映射关系图记为b。规定每个特征对应12个像素,卷积神经网络cnn识别的图片大小为32
×
32,即图片有1024个像素点。建立一维矩阵1x1024,第a个特征对应的像素区域表示为[a
×
12,(a+1)
×
12],其中a表示特征的序号。该图为特征像素映射关系图的初始化。根据特征像素映射关系图,建立特征权重表,将特征权重表每个特征的初始特征权值设置为默认值0。设置准确率和召回率的阈值分别为0.9和0.9。
[0041]
初始特征权值设置w
ar
=0(a=1,2,

,n,r=1,2,

,r),其中w是权重标记,下标a表示特征的序号,上标r表示迭代的轮次,n为特征的总个数,r表示迭代的总轮次,每一轮所有特征的初始权值都设置为0。
[0042]
步骤2:用特征像素映射关系图将数据集中每一条数据转化为对应的流量灰度图。用流量灰度图对卷积神经网络进行训练。得到训练完成的模型,该轮训练的准确率和召回率记为pre_accr和pre_recallr。
[0043]
步骤3:利用训练完成的模型使用gradcam算法,对流量灰度图生成模块生成的每张流量灰度图并生成对应的热力图。在生成的所有热力图中随机选取一张热力图作为下一轮流量灰度图生成的基准,该热力图标记为基准图。热力图的图片大小和流量灰度图的图片大小是一致的。以下为gradcam算法公式:
[0044][0045]
该公式为计算流量灰度图第k个通道的每个像素的平均偏导,yc表示预测为c类的概率,a表示流量灰度图的像素矩阵,该像矩阵是一个二维正方形矩阵,i表示行序号,j表示列序号,a
ij
表示特征图a上某个值即对应像素点的值。ak表示第k个通道的像素矩阵,表示第k个通道的特征图上(i,j)位置的值。z表示矩阵中值的个数。表示预测为c类第k个通道的每个像素的平均偏导。
[0046]
根据公式计算热力图像素平均值:
[0047][0048]
该公式的计算结果为流量灰度图对应热力图。将像素矩阵ak与其对应的平均偏导相乘,
[0049]
得到第k个通道的加权像素值,将所有通道的加权像素值相加,再使用整流函数relu进行规整。整流函数具体功能为将输入的负值进行舍弃。表示第c类的特征热力图,即流量灰度图对应的热力图。
[0050]
在所有热力图中随机选取一张热力图作为下一轮流量灰度图生成的基准,该图片标记为基准图。第一轮的基准图片选择如图4所示。
[0051]
步骤4:判断pre_accr和pre_recallr是否大于或等于r_acc和r_recall。如果均大于或等于则进入步骤s5。如果其中至少一个小于r_acc和r_recall,则根据特征像素映射关系图对每张热力图进行统计。在热力图中,如果像素点对于分类结果有贡献,则对应像素点的热力值大有0;如果因为整流函数导致无贡献的像素点,其热力值为0。热力值的高低代表代表了像素点对于分类结果贡献程度的大小。统计每个特征被命中的次数,即特征对应的像素区域中大于平均值的热力值的个数。将特征按照权值从高到低进行排序,权值最高的特征放在基准图中热力值最高的位置,权值次高的特征放置在基准图中热力值次高的区域,依此逻辑将所有特征的区域规划完毕,得到新的特征像素映射关系图重新初始化特征权重表。重新执行步骤2。
[0052]
根据公式计算热力图像素平均值:
[0053][0054]
其中avg表示热力图中所有热力值的平均值,z表示矩阵中值的个数,h表示热力图像素矩阵,i表示行号,j表示列号,h
ij
表示单个点热力值。如果h
ij
大于avg,根据特征像素映射关系图,对应的特征被模型命中了一次。由于热力图和流量灰度图的图片大小是一致的,因此可以使用特征像素映射关系图。依次统计每个特征被命中的次数,特征被命中的次数为特征新的权值:
[0055]
根据公式对本轮迭代的特征权值进行更新:
[0056][0057]
表示当前第r轮迭代中第a个特征的权重,a为特征的序号。在每一轮开始时,特征的权重都会被初始化为0。h
ij
表示热力图(i,j)位置的热力值。b表示特征映射关系图,ba表示第a个特征对应的像素区域,表示当前第r轮迭代的第k个特征对应的像素区间,表示当前第r轮迭代的第k个特征对应的像素区间,表示(i,j)位置对应的像素点位于对应的像素区间中。该公式整体表示,如果热力图中热力值的大于或等于该热力图的平均值,则将本轮对应特征的权重进行加1;如果热力图中热力值小于该热力图的平均值,则不改变本轮对应特征的权重。
[0058]
第一轮迭代过程中的从高到低截取特征权重表部分值对应如下表2所示,
[0059]
表2迭代过程中从高到低截取特征权重表部分值
[0060]
特征名称权重值idle mean901459idle min890861active min741155idle max727777active std651653idle std643504active max639299active mean621519
[0061]
idle mean的权重值为901459,idle min的权重值为890861,active min的权重值为741155,idle max的权重值为727777,active std的权重值为651653,idle std的权重值为643504,active max的权重值为639299,active mean的权重值为621519。
[0062]
该频率与步骤3中基准图进行关系映射,权值最高的特征放在基准图中热力值最高的位置,权值次高的特征放置在基准图中热力值次高的区域,以此依次重新排序特征的顺序。将该映射关系导出为新的特征像素映射关系图,映射关系如下表3所示:
[0063]
表3映射关系表
[0064]
[0065][0066]
bwd urg flags的位置序列为[180,192],bwd iat mean的位置序列为[192,204],f wd iat total的位置序列为[204,216],packet length variance的位置序列为[216,228],fl ow iat min的位置序列为[228,240],bwd packet length min的位置序列为[240,252],s yn flag count的位置序列为[252,264],flow iat mean的位置序列为[264,276],
[0067]
对召回率和准确率进行判断。设置要求的召回率为0.9,准确率为0.9。第一轮完成之后,得到的准确率为0.0325,召回率为0.9991。可见第一轮准确率未达到设置的阈值,使用s4中更新的特征像素映射关系图对数据集重新生成流量灰度图,重新初始化特征权重表,并从步骤2开始执行。
[0068]
步骤5:实验进行到17轮,准确率为0.9590,召回率为0.9874,满足了训练要求,退出训练过程,保存迭代完成的特征像素映射图、训练完成的卷积神经网络模型,并将其应用到恶意流量识别系统的使用阶段。恶意流量识别系统采集工控系统中的流量,提取出对应的数据流。利用特征像素映射关系图将数据流转化为对应的流量灰度图,使用训练完成的卷积神经网络模型对生成的流量灰度图进行一一分类和识别。现有技术的准确率为0.8456,召回率为0.8356,说明本发明提出的方法能够对卷积神经网络的识别效果有较好的提升。
[0069]
通过以上描述,本领域的技术人员可以清楚的了解到本方法的实施方式,可借助系统必须的通用硬件平台来实现。基于此理解,技术人员可以使用合适的开发环境对该发明进行实现,在实现的过程中可以根据实际的模型需要,对卷积神经网络进行选取,对流量灰度图的生成方式进行自动化生成。本实施例采用的cnn网络作为基础的神经网络,使用gradcam算法进行热力图的计算,本领域技术人员还可以采用其他的热力图计算方法。
[0070]
综上所述,通过本发明方法可以进一步提高已有的机器学习模型的准确率。
[0071]
以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1