一种用于调度数据网的网络协议识别方法及系统与流程

文档序号:25045069发布日期:2021-05-14 11:56阅读:192来源:国知局
一种用于调度数据网的网络协议识别方法及系统与流程

1.本发明属于电力调度数据网网络安全的技术领域,具体涉及一种用于调度数据网的网络协议识别方法及系统。


背景技术:

2.调度数据网中工控系统主要靠正反向隔离装置和纵向加密机进行横向和纵向访问控制,贯穿着整个主站与众多厂站之间的通信行为,但是在主站与厂站之间缺乏有效的监测、防护手段。为了调度数据网网络的可靠性、可用性和可管可控性,有必要对整个调度数据网网络通信协议进行分析识别,这样才有能力对网络上的信息流量及行为方式、信息的传播及内容进行控制。当前对网络协议识别的技术有四种:1)基于端口的流量识别技术;2)基于负载特征的识别技术;3)基于应用层网关的识别技术;4)基于流量统计特征的识别技术
3.结合调度数据网的实际情况,具体分析如下:
4.1)调度数据网是借助iec104规约进行通信,端口固定,但是诸如网络装置以及正常的网络运维检修,会采用其他的端口进行网络通信,所以基于端口的流量识别技术方法不太适用于调度数据网。
5.2)基于负载特征的识别技术:首先对目标流量进行特征分析,分析所发送的数据包负载中携带的特征码;当数据包通过识别系统时,识别系统对其进行解包,检查数据包中是否携带目标流量类型的特征码,如果是则表示该流量与目标流量类型匹配;dpi技术对许多互联网应用流量解析都相当有效,并且准确程度相当高;但dpi技术只能识别特征已知的应用流量,并且需对网络数据包进行拆解,在高速网络环境下对设备的运算速度和内存都很高的要求。
6.3)调度数据网主要是采用tcp/udp协议进行通信,未涉及具体的应用层协议,所以基于应用层网关的识别技术方法不太适用。
7.4)调度数据网采用iec104规约协议实现主站与厂站之间的通信行为,协议较为单一,基于流量统计特征的识别技术主要是通过流量分析各个协议之间的差异性,所以也不太适用于调度数据网网络协议分析。


技术实现要素:

8.本发明克服现有技术存在的不足,所要解决的技术问题为:提供一种能够对网络流量数据进行自主特征学习,从而完成流量分类且用于调度数据网的网络协议识别方法及系统。
9.为了解决上述技术问题,本发明采用的技术方案为:一种用于调度数据网的网络协议识别方法,包括:采集主站与子站之间的通讯数据,按比例分为训练集和测试集;将训练集中的数据输入卷积神经网络模型中进行特征学习,得到主站与子站通讯的网络协议指纹特征数据;在测试集中测试卷积神经网络模型,优化所述卷积神经网络模型的参数;将待
识别网络流量输入卷积神经网络模型,根据各协议特有的模式特征确定流量所属协议类型。
10.优选地,所述采集主站与子站之间的通讯数据,按比例分为训练集和验证集之前,还包括:按照旁路接入的方式接入网络报文信息,对网络报文信息进行深度解析以获取五元组信息;根据所述五元组信息生成解析后的网络流量数据包,其中所述网络五元组信息包括:源ip地址、源端口、目标ip地址、目标端口和协议类型;判断解析出来的五元组信息中的源ip地址口、目标ip地址是否与预先输入的固有台账设备中ip地址匹配;判断解析出来的五元组信息中的源端口号、目标端口号是否为打标签以外的端口号;当解析出来的五元组信息中的源ip地址口、目标ip地址无法与预先输入的固有台账设备中ip地址匹配,或五元组信息中的源端口号、目标端口号为打标签以外的端口号时,生成风险预警信息,并重新开始数据解析。
11.优选地,将训练集中的数据输入卷积神经网络模型中进行特征学习,得到主站与子站通讯的网络协议指纹特征数据,具体包括:根据主站与子站之间的通信特征,将每个所述训练集切分为7个指标,具体包括:主站或子站的ip地址信息、发送包大小、发送包的频率、104协议发送包大小、104规约发送次数、04协议接收包大小和104规约接收次数;将所述训练数据集的7个指标按照时间维度构造成一个矩阵,并对训练数据集进行去均值和归一化处理,获得清洗后的训练集;通过卷积层、最大池化层对清洗后的训练集进行特征提取,结合激活层进行特征筛选,其中,卷积神经网络模型的具体结构包括:输入层

第一卷积层

第一最大池化层

第二卷积层

第二最大池化层

第一全连接层

reul激活层

第二全连接层

输出层。
12.优选地,所述在测试集中测试卷积神经网络模型,优化所述卷积神经网络模型的参数,具体包括:采集主站与某子站之间的测试数据集、网络异常时的数据集和互联网的常规数据,并打上标签;将打标签后的测试数据输入该子站对应的卷积神经网络模型中进行训练,根据网络协议和异常网络时的识别率,调整卷积神经网络模型的模型参数,得到优化后的模型参数;所述模型参数包括:卷积层和卷积核个数。
13.优选地,还包括:将主站与不同子站通讯的卷积神经网络模型进行存储,形成网络协议指纹特征识别模型库。
14.相应地,一种用于调度数据网的网络协议识别系统,包括:数据采集单元:采集主站与子站之间的通讯数据,按比例分为训练集和测试集;卷积计算单元:将训练集中的数据输入卷积神经网络模型中进行特征学习,得到主站与子站通讯的网络协议指纹特征数据;优化单元:在测试集中测试卷积神经网络模型,优化所述卷积神经网络模型的参数;识别单元:将待识别网络流量输入卷积神经网络模型,根据各协议特有的模式特征确定流量所属协议类型。
15.优选地,还包括:数据解析单元:按照旁路接入的方式接入网络报文信息,对网络报文信息进行深度解析以获取五元组信息;根据所述五元组信息生成解析后的网络流量数据包,其中所述网络五元组信息包括:源ip地址、源端口、目标ip地址、目标端口和协议类型;第一判断单元:用于判断解析出来的五元组信息中的源ip地址口、目标ip地址是否与预先输入的固有台账设备中ip地址匹配;第二判断单元:用于判断解析出来的五元组信息中的源端口号、目标端口号是否为打标签以外的端口号;告警单元:当解析出来的五元组信息
中的源ip地址口、目标ip地址无法与预先输入的固有台账设备中ip地址匹配,或五元组信息中的源端口号、目标端口号为打标签以外的端口号时,生成风险预警信息,并重新开始数据解析。
16.优选地,所述卷积计算单元包括:切分单元:根据主站与子站之间的通信特征,将每个所述训练集切分为7个指标,具体包括:主站或子站的ip地址信息、发送包大小、发送包的频率、104协议发送包大小、104规约发送次数、04协议接收包大小和104规约接收次数;预处理单元:将所述训练数据集的7个指标按照时间维度构造成一个矩阵,并对训练数据集进行去均值和归一化处理,获得清洗后的训练集;卷积单元:通过卷积层、最大池化层对清洗后的训练集进行特征提取,结合激活层进行特征筛选,其中,卷积神经网络模型的具体结构包括:输入层

第一卷积层

第一最大池化层

第二卷积层

第二最大池化层

第一全连接层

reul激活层

第二全连接层

输出层。
17.优选地,所述优化单元包括:标记单元:采集主站与某子站之间的测试数据集、网络异常时的数据集和互联网的常规数据,并打上标签;测试单元:将打标签后的测试数据输入该子站对应的卷积神经网络模型中进行训练,根据网络协议和异常网络时的识别率,调整卷积神经网络模型的模型参数,得到优化后的模型参数;所述模型参数包括:卷积层和卷积核个数。
18.优选地,还包括:指纹特征识别模型库建立单元:用于将主站与不同子站通讯的卷积神经网络模型进行存储,形成网络协议指纹特征识别模型库。
19.本发明与现有技术相比具有以下有益效果:
20.本发明一种用于调度数据网的网络协议识别方法及系统,根据不同子站与主站之间的流量数据分别建立卷积神经网络模型,根据五元组信息里面的ip地址信息查找对应所属的子站,进而选择与子站对应的卷积神经网络模型进行训练,能够对网络流量数据进行自主特征学习,从而完成对流量的分类,无需花费精力于协议特征抽取与选择,提高了提取效率和准确性;该方法具备学习和扩展能力,可扩展应用到对包含恶意代码网络流量的识别和对应用程序流量的识别,具有极强的实用性。
附图说明
21.下面结合附图对本发明做进一步详细的说明;
22.图1为本发明实施例一提供的一种用于调度数据网的网络协议识别方法的流程示意图;
23.图2为本发明实施例一提供的一种用于调度数据网的网络协议识别系统的结构示意图;
24.图3为本发明实施例二提供的一种用于调度数据网的网络协议识别系统的结构示意图;
25.图4为本发明实施例三提供的一种用于调度数据网的网络协议识别系统的结构示意图;
26.图5为本发明实施例四提供的一种用于调度数据网的网络协议识别系统的结构示意图;
27.图6为本发明实施例五提供的一种用于调度数据网的网络协议识别系统的结构示
意图;
28.图7为本发明卷积神经网络模型中卷积计算过程;
29.图中:101为数据采集单元,102为卷积计算单元,1021为切分单元,1022为预处理单元,1023为卷积单元,103为优化单元,1031为标记单元,1032为测试单元,104为识别单元,105为数据解析单元,106为第一判断单元,107为第二判断单元,108为告警单元,109为指纹特征识别模型库建立单元。
具体实施方式
30.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.图1为本发明实施例一提供的一种用于调度数据网的网络协议识别方法的流程示意图,如图1所示,一种用于调度数据网的网络协议识别方法,包括:
32.s101、采集主站与子站之间的通讯数据,按比例分为训练集和测试集;
33.s102、将训练集中的数据输入卷积神经网络模型中进行特征学习,得到主站与子站通讯的网络协议指纹特征数据;
34.s103、在测试集中测试卷积神经网络模型,优化所述卷积神经网络模型的参数;
35.s104、将待识别网络流量输入卷积神经网络模型,根据各协议特有的模式特征确定流量所属协议类型。
36.具体地,根据不同子站与主站之间的流量数据分别建立卷积神经网络模型,根据五元组信息里面的ip地址信息查找对应所属的子站,进而选择与子站对应的卷积神经网络模型进行训练,能够对网络流量数据进行自主特征学习,从而完成对流量的分类,无需花费精力于协议特征抽取与选择,提高了提取效率和准确性;该方法具备学习和扩展能力,可扩展应用到对包含恶意代码网络流量的识别和对应用程序流量的识别,具有极强的实用性。
37.进一步地,所述采集主站与子站之间的通讯数据,按比例分为训练集和验证集之前,还包括:
38.按照旁路接入的方式接入网络报文信息,对网络报文信息进行深度解析以获取五元组信息;根据所述五元组信息生成解析后的网络流量数据包,其中所述网络五元组信息包括:源ip地址、源端口、目标ip地址、目标端口和协议类型;判断解析出来的五元组信息中的源ip地址口、目标ip地址是否与预先输入的固有台账设备中ip地址匹配;判断解析出来的五元组信息中的源端口号、目标端口号是否为打标签以外的端口号;当解析出来的五元组信息中的源ip地址口、目标ip地址无法与预先输入的固有台账设备中ip地址匹配,或五元组信息中的源端口号、目标端口号为打标签以外的端口号时,生成风险预警信息,并重新开始数据解析。
39.具体地,按照旁路接入的方式接入网络报文信息,把网络五元组信息(源ip地址、源端口、目标ip地址、目标端口、协议类型)解析出来,然后再把一个完整网络流量包的数据解析出来,例如包的大小、传输时间、间隔时间等;通过上一步骤解析出来的网络五元组数据,跟预先输入的固有台账设备进行匹配,如果能在设备台账库里面找到对应的ip地址,则
认为这是合法设备,否则为非常入侵设备;按照国网的安防要求,iec104工控协议采用独立的端口进行通讯,再其他安防设备所需的端口打上标签排除在外,可以认为如果五元组数据中出现了标签以外的端口号,则认为是非法端口;如果出现非法设备、非法端口,直接生成风险预警信息,然后重新开始。
40.进一步地,将训练集中的数据输入卷积神经网络模型中进行特征学习,得到主站与子站通讯的网络协议指纹特征数据,具体包括:
41.根据主站与子站之间的通信特征,将每个所述训练集切分为7个指标,具体包括:主站或子站的ip地址信息、发送包大小、发送包的频率、104协议发送包大小、104规约发送次数、04协议接收包大小和104规约接收次数;
42.将所述训练数据集的7个指标按照时间维度构造成一个矩阵,并对训练数据集进行去均值和归一化处理,获得清洗后的训练集;通过卷积层、最大池化层对清洗后的训练集进行特征提取,结合激活层进行特征筛选,其中,卷积神经网络模型的具体结构包括:输入层

第一卷积层

第一最大池化层

第二卷积层

第二最大池化层

第一全连接层

reul激活层

第二全连接层

输出层。
43.具体地,将上述7个指标按照时间维度构造成一个矩阵,生成了m*7的矩阵,构成了卷积神经网络的数据集,在进行卷积计算之前,对数据集进行去均值和归一化处理。
44.选定三个3*3卷积核(也可以理解为是过滤器、特征检测器),进行卷积计算,由于这里定义了三个卷积核,所以通过计算可以得到三个特征图。这里为了更好的凸显出局部特征值,选择最大值池化,得到三个新的特征图;为了更好的减低数据维度,进一步提取出关键特征值,本实施例对卷积计算和池化重复两次,即:卷积+池化==》卷积+池化;经过两次的卷积+池化计算后的特征图转换成一个列向量,为了增加了神经网络各层之间的非线性关系,把得到的结果放到relu函数中进行激励,完整的卷积计算过程如图7所示。
45.进一步地,所述在测试集中测试卷积神经网络模型,优化所述卷积神经网络模型的参数,具体包括:采集主站与某子站之间的测试数据集、网络异常时的数据集和互联网的常规数据,并打上标签;将打标签后的测试数据输入该子站对应的卷积神经网络模型中进行训练,根据网络协议和异常网络时的识别率,调整卷积神经网络模型的模型参数,得到优化后的模型参数;所述模型参数包括:卷积层和卷积核个数。
46.本实施例着重对各种类型的104规约类型样本数据进行训练,提取出基于网络协议的指纹特征,如果跟网络协议指纹特征不符,则给出对应的预警。
47.具体训练中采用pma工控模拟软件合成出各个场景下的104规约数据信息,如单点遥信、归一化遥测(整形)、浮点型遥测、双点遥信、对时、总召、电度、单点遥控、双点遥控等,通过上述的模型训练出工控协议指纹特征,测试数据选用亳州地区35kv的变电站对点时的测试数据集、网络消缺时的数据集、互联网的常规数据,并把这些数据打上标签,选用这三个数据集的原因一个是规约报文比较单一的应用场景,一个是网络异常的情况下,还有一个是跟工控协议无关的数据。初次的训练过后验证效果如表1所示:
48.表1 第一次模型训练验证表
[0049][0050]
如表1所示,模型识别率低,优化卷积神经网络的方法主要有正则化、增加神经网络层数、使用正确的代价函数、使用好的权重初始化技术、人为拓展训练集、弃权技术;本实施例新加一个卷积层和卷积核,将原来的卷积层变为3,卷积核个数为4,其他暂时不变,训练过后验证效果如表2所示:
[0051]
表2 第二次模型训练验证表
[0052][0053]
如表2所示,通过本次参数调优,可以看到识别率明显上升,再次对卷积层数和卷积核进行调整,调整卷积层变为5,卷积核个数为7;训练后的验证效果如表3所示:
[0054]
表3 第三次模型训练验证表
[0055][0056]
如表3所示,通过本次调优,发现工控协议和异常网络时的识别率都有较大的提升,但是常规网络下识别率提升空间较小,经过单独的分析发现,因为训练的主要训练集是以工控协议数据集为主,未对其他协议类型数据集进行训练,而且本专利也主要是为了提取工控协议的指纹特征,以为工控协议本身就是在tcp/udp协议上的封装,常规的网络协议中也有好多的基于tcp/udp的流量数据。
[0057]
进一步地,所述一种用于调度数据网的网络协议识别方法,还包括:将主站与不同子站通讯的卷积神经网络模型进行存储,形成网络协议指纹特征识别模型库。
[0058]
图2为本发明实施例一提供的一种用于调度数据网的网络协议识别系统的结构示意图,如图2所示,一种用于调度数据网的网络协议识别系统,包括:
[0059]
数据采集单元101:采集主站与子站之间的通讯数据,按比例分为训练集和测试集;
[0060]
卷积计算单元102:将训练集中的数据输入卷积神经网络模型中进行特征学习,得到主站与子站通讯的网络协议指纹特征数据;
[0061]
优化单元103:在测试集中测试卷积神经网络模型,优化所述卷积神经网络模型的参数;
[0062]
识别单元104:将待识别网络流量输入卷积神经网络模型,根据各协议特有的模式特征确定流量所属协议类型。
[0063]
图3为本发明实施例二提供的一种用于调度数据网的网络协议识别系统的结构示
意图,如图2所示,在实施例一的基础上,所述系统还包括:
[0064]
数据解析单元105:按照旁路接入的方式接入网络报文信息,对网络报文信息进行深度解析以获取五元组信息;根据所述五元组信息生成解析后的网络流量数据包,其中所述网络五元组信息包括:源ip地址、源端口、目标ip地址、目标端口和协议类型;
[0065]
第一判断单元106:用于判断解析出来的五元组信息中的源ip地址口、目标ip地址是否与预先输入的固有台账设备中ip地址匹配;
[0066]
第二判断单元107:用于判断解析出来的五元组信息中的源端口号、目标端口号是否为打标签以外的端口号;
[0067]
告警单元108:当解析出来的五元组信息中的源ip地址口、目标ip地址无法与预先输入的固有台账设备中ip地址匹配,或五元组信息中的源端口号、目标端口号为打标签以外的端口号时,生成风险预警信息,并重新开始数据解析。
[0068]
图4为本发明实施例三提供的一种用于调度数据网的网络协议识别系统的结构示意图,如图4所示,在实施例二的基础上,所述卷积计算单元102包括:
[0069]
切分单元1021:根据主站与子站之间的通信特征,将每个所述训练集切分为7个指标,具体包括:主站或子站的ip地址信息、发送包大小、发送包的频率、104协议发送包大小、104规约发送次数、04协议接收包大小和104规约接收次数;
[0070]
预处理单元1022:将所述训练数据集的7个指标按照时间维度构造成一个矩阵,并对训练数据集进行去均值和归一化处理,获得清洗后的训练集;
[0071]
卷积单元1023:通过卷积层、最大池化层对清洗后的训练集进行特征提取,结合激活层进行特征筛选,其中,卷积神经网络模型的具体结构包括:输入层

第一卷积层

第一最大池化层

第二卷积层

第二最大池化层

第一全连接层

reul激活层

第二全连接层

输出层。
[0072]
图5为本发明实施例四提供的一种用于调度数据网的网络协议识别系统的结构示意图,如图5所示,在实施例三的基础上,所述优化单元103包括:
[0073]
标记单元1031:采集主站与某子站之间的测试数据集、网络异常时的数据集和互联网的常规数据,并打上标签;
[0074]
测试单元1032:将打标签后的测试数据输入该子站对应的卷积神经网络模型中进行训练,根据网络协议和异常网络时的识别率,调整卷积神经网络模型的模型参数,得到优化后的模型参数;所述模型参数包括:卷积层和卷积核个数。
[0075]
图6为本发明实施例五提供的一种用于调度数据网的网络协议识别系统的结构示意图,如图6所示,在实施例四的基础上,所述一种用于调度数据网的网络协议识别系统,还包括:
[0076]
指纹特征识别模型库建立单元109:用于将主站与不同子站通讯的卷积神经网络模型进行存储,形成网络协议指纹特征识别模型库。
[0077]
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的一种用于调度数据网的网络协议识别方法。
[0078]
处理器可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
[0079]
存储器可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器601可以运行程序指令,以实现上文的本申请的各个实施例的存储授权变更方法中的步骤以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如光线强度、补偿光强度、滤光片的位置等信息。
[0080]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的一种用于调度数据网的网络协议识别方法。
[0081]
计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器((ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0082]
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
[0083]
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
[0084]
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
[0085]
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
[0086]
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
[0087]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1