本发明涉及工控设备识别,尤其涉及一种基于改进卷积神经网络的工控设备识别方法及系统。
背景技术:
1、从网络设备识别研究发展历史中来看,在目前的成熟研究中一般都是采用自主检测的技术手段来发现和鉴别设备。首先是基于应用层协议识别方法,通过检测得到的响应数据包在应用层的http协议中,利用ua字段和server字段就能够辨识出主要的操作系统类型和服务器的类型;另外一种技术也是人们目前使用得较为普遍的,基于tcp/ip协议栈的图像识别技术,但是由于不同的网络设备对于tcp/ip协议栈的具体实现方式也是往往有所不同的,所以人们常把网络设备的tcp/ip协议的一个特征字段叫做tcp/ip指纹,比如nmap和networkminer等网络设备识别工具中都有此类基于tcp/ip特征字段的指纹库文件。
2、但基于主动探测技术的网络设备识别方法非常容易被目标主机发现并拦截,同时基于同类技术的网络设备识别工具的设备指纹库需要手动升级,并且这种主动探测的方法会干扰或者中断设备的运行状态,在实际的工控网络环境中,大部分设备过时或计算能力较低,并不支持中断或干扰其系统所以被动监测的网络流量分析技术已经成为了现在的研发热门,但是因为不同网络应用数据包本身的特征,以及在各种数据传输过程中的特征都不一样,当数据流运行的时候,各个数据流的平均宽度和数据包的长度以及分布在各层协议中的特征都是大不相同,所以通过对网络流量的一些特点识别就能够确定这种流量属于哪一种业务,也可以通过不同设备的不同流量特征来对设备进行识别。
技术实现思路
1、本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
2、鉴于上述现有存在的问题,提出了本发明。因此,本发明提供了一种基于改进卷积神经网络的工控设备识别方法解决现有识别方法容易被目标主机发现并拦截,干扰或者中断设备的运行状态的问题。
3、为解决上述技术问题,本发明提供如下技术方案:
4、第一方面,本发明提供了一种基于改进卷积神经网络的工控设备识别方法,包括:
5、采集工控环境下网络流量,形成原始网络流量数据集;
6、对所述原始网络流量数据集进行特征选择以及特征提取,提取设备流量关键特征,形成设备特征指纹库;
7、通过特征匹配,将工控设备流量数据与所述设备指纹库进行匹配,添加标识值,区别匹配成功与不成功的设备流量数据;
8、将匹配不成功的设备流量数据输入改进的卷积神经网络模型进行训练,获取特征信息;
9、判断获取的特征信息是否存在于特征指纹库中,若不存在,将新获取的特征信息添加进指纹库中,更新设备特征指纹库,完成设备识别。
10、作为本发明所述的基于改进卷积神经网络的工控设备识别方法的一种优选方案,其中:形成所述原始网络流量数据集包括:
11、通过wireshark流量采集工具采集网络流量数据;
12、将采集的网络流量数据按时间戳命名并存储为pcap文件,对流量数据进行解析,形成原始网络流量数据集。
13、作为本发明所述的基于改进卷积神经网络的工控设备识别方法的一种优选方案,其中:形成所述设备特征指纹库包括:
14、根据tcp/ip协议栈特征、网络数据流统计特征以及应用层协议特征三个维度的网络流量特征,作为原始特征集合,对设备标签标记并进行混合特征选择;
15、通过信息熵评估特征的偏移程度,设数据集表示为:
16、s={(x1,y1),(x2,y2),(x3,y3),…,(xn,yn)}
17、每个流量样本xi以特征集f为特征,表示为:
18、f={f1,f2,f3,…,fm}
19、设yi∈d={d1,d2,d3,…,dk},表示对应流量样本xi的类标签,预定义k个类别,通过信息熵等式衡量特征的不确定性,表示为:
20、
21、0≤h(x)≤hmax(x)=log2min{nx,m}
22、其中,其中,xi表示x的第i个值,p(xi)表示xi在x中出现的频率,nx是x值的个数,m是观测样本的样本个数;
23、对信息熵等式进行归一化,表示为:
24、
25、若r(x)=0,则h(x)=0,表示x的值没变,不确定性为0;
26、若r(x)=1,表示x具有高随机性。
27、作为本发明所述的基于改进卷积神经网络的工控设备识别方法的一种优选方案,其中:添加惩罚因子评估特征的稳定性,计算数据集的标准差,所述惩罚因子表示为:
28、odfr(fi,cj)=std(r1,r2,r3,…,rk)
29、其中,fi表示第i个流量特征,cj表示所识别的设备类型,将特征fi引入p(x),nx是fi的个数,rfi|cj)表示衡量特征fi在目标cj(j=1,2,3,…,q)中的不确定性,即r(fi|cj)表示fi识别cj的能力;
30、基于所述惩罚因子,构建评估函数表示为:
31、
32、其中,gr(fi)表示特征的识别能力,odfr(fi)表示偏移程度;
33、计算每个特征的odfr值,并通过评估函数进行符合度量,最终提取中间特征集作为设备关键特征信息,输入数据库,形成设备特征指纹库。
34、作为本发明所述的基于改进卷积神经网络的工控设备识别方法的一种优选方案,其中:所述特征匹配包括:
35、将匹配不成功标签数据集与匹配成功标签数据集组成总数据集,判断不成功标签数据集占总数据集的比例是否小于设定阈值;
36、若小于设定阈值,则结束特征匹配,否则将网络流量数据输入改进的卷积神经网络模型进行特征获取。
37、作为本发明所述的基于改进卷积神经网络的工控设备识别方法的一种优选方案,其中:所述模型训练包括:
38、改进卷积神经网络模型,添加自适应调整参数ρ;
39、根据三个残差学习块生成query(q),key(k)以及value(v),表示为:
40、k=wkx+bk+ρk
41、q=wqx+bq+ρq
42、v=wvx+bv+ρv
43、其中,(wk,bk,ρk)表示一组关于残差学习块的参数,wk表示权值,bk表示偏值,ρk表示自适应调整参数,(wq,bq,ρq)以及(wv,bv,ρv)与(wk,bk,ρk)同样表示一组关于残差学习块的参数;
44、所述自适应调整参数ρ表示为:
45、
46、其中,l表示学习率,σ表示自适应参数,ε为一个非常小的整数。
47、作为本发明所述的基于改进卷积神经网络的工控设备识别方法的一种优选方案,其中:获取所述特征信息包括:
48、计算所述q、k之间的相似度,并进行缩放操作,通过softmax函数得到关注度,表示为:
49、
50、使用多个不同的头部从(q,k,v)中获得不同的表示,并通过一个全连接层将不同的结果链接起来。
51、第二方面,本发明提供了一种基于改进卷积神经网络的工控设备识别系统,包括,
52、采集模块,用于采集工控环境下网络流量,形成原始网络流量数据集;
53、建库模块,用于对所述原始网络流量数据集进行特征选择以及特征提取,提取设备流量关键特征,形成设备特征指纹库;
54、匹配模块,用于通过特征匹配,将工控设备流量数据与所述设备指纹库进行匹配,添加标识值,区别匹配成功与不成功的设备流量数据;
55、模型训练模块,用于将匹配不成功的设备流量数据输入改进的卷积神经网络模型进行训练,获取特征信息;
56、设备识别模块,用于判断获取的特征信息是否存在于特征指纹库中,若不存在,将新获取的特征信息添加进指纹库中,更新设备特征指纹库,完成设备识别。
57、第三方面,本发明提供了一种计算设备,包括:
58、存储器和处理器;
59、所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现所述基于改进卷积神经网络的工控设备识别方法的步骤。
60、第四方面,本发明提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现所述基于改进卷积神经网络的工控设备识别方法的步骤。
61、与现有技术相比,本发明的有益效果:本发明结合特征提取操作并改进卷积神经网络,通过特征选择与提取,能够提取出设备流量的关键特征,形成设备特征指纹库,通过将工控设备流量数据与指纹库进行匹配,可以准确识别设备类型,训练改进的卷积神经网络模型并挖掘获取特征信息,进一步提高了识别准确性,通过判断获取的特征信息是否存在于指纹库中,并将新获取的特征信息添加进指纹库中,实现了指纹库的自动更新,能够不断丰富指纹库,提高了设备识别的效率和准确性。
1.一种基于改进卷积神经网络的工控设备识别方法,其特征在于,包括:
2.如权利要求1所述的基于改进卷积神经网络的工控设备识别方法,其特征在于,形成所述原始网络流量数据集包括:
3.如权利要求1或2所述的基于改进卷积神经网络的工控设备识别方法,其特征在于,形成所述设备特征指纹库包括:
4.如权利要求3所述的基于改进卷积神经网络的工控设备识别方法,其特征在于,
5.如权利要求4所述的基于改进卷积神经网络的工控设备识别方法,其特征在于,所述特征匹配包括:
6.如权利要求5所述的基于改进卷积神经网络的工控设备识别方法,其特征在于,所述模型训练包括:
7.如权利要求6所述的基于改进卷积神经网络的工控设备识别方法,其特征在于,获取所述特征信息包括:
8.一种基于改进卷积神经网络的工控设备识别系统,其特征在于,包括,
9.一种电子设备,包括:
10.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至7任意一项所述基于改进卷积神经网络的工控设备识别方法的步骤。