一种面向工控网络设备的安全检测准入方法和系统与流程

文档序号:33628325发布日期:2023-03-28 21:59阅读:80来源:国知局
一种面向工控网络设备的安全检测准入方法和系统与流程

1.本发明涉及深度学习技术领域,具体为一种面向工控网络设备的安全检测准入方法和系统。


背景技术:

2.近年来,随着物联网技术的快速发展,工控网络设备已经得到了日益广泛的使用。与之对应地,工控网络设备的安全性问题也显得日益突出,并且工控网络设备接入检测也已经成为物联网安全领域的重要研究方向。
3.现有的工控网络设备接入检测是基于机器学习或者深度学习的方式对设备进行识别。然而,上述现有的工控网络设备接入检测方法存在一些不可忽略的缺陷:传统的机器学习方法往往会忽视设备指纹样本中的时序关系,大多方法只能理解设备的当前状态,并没有考虑未来可能接入的设备,对于物联网场景来说,随时会有相同或不同种类设备进行接入,分类效果不佳。


技术实现要素:

4.针对现有技术存在的不足,本发明目的是提供一种面向工控网络设备的安全检测准入方法和系统,以解决现有基于机器学习或者深度学习的工控网络设备接入检测方法由于忽视设备指纹样本中的时序关系,大多方法只能理解设备的当前状态,并没有考虑未来可能接入的设备,分类效果不佳的问题。
5.为了实现上述目的,本发明是通过如下的技术方案来实现:一种面向工控网络设备的安全检测准入方法,包括以下步骤:(1)、基于报文特征的分析,构造时序特征数据,确定连续报文的数量n,将每个报文的内容向量化,并加入整体报文的统计量特征作为辅助特征,形成一维向量,n个报文的一维向量表征组成报文特征矩阵,即是表征报文指纹特征的矩阵;(2)、将根据步骤(1)得到的特征矩阵输入训练好的设备识别分类器中,以得到输出结果,包括工控网络设备的名称、设备类型、设备制造商、以及固件版本,根据得到的输出结果进行漏洞匹配和验证,即通过本地漏洞库中查询工控网络设备可能存在的漏洞及其类型,并根据该类型判断查询到的漏洞是否为中高危漏洞,然后进行漏洞验证判定是否真实存在对应的漏洞,如果是则暂时禁止该工控网络设备接入,否则允许该工控网络设备接入,过程结束;(3)、根据步骤(2)得到存在漏洞的工控网络设备,根据漏洞库提供的补丁进行安全加固,对存在漏洞的工控网络设备进行安全修复,将修复后的工控网络设备重新进行接入。
6.进一步的,物联网设备的特征属性包括:
7.网络协议版本:ipv4为0,ipv6为1;
8.网络协议可选项:如果ip协议报文头部长度小于等于20,则为0,否则为1;
9.传输层协议:tcp为0,udp为1,其他协议为2;
10.传输层协议可选项:表示tcp/udp报文是否存在可选项,不存在为0,存在为1;
11.端口字段:周知端口(0-1023)、注册端口(1024-49151)和动态端口(49152-65535)
分别编码为0、1、2;
12.应用层协议:modbus、iec104、s7comm、dnp3、ethernet/ip、profibus、omron、melsec-q、bacnet、pcworx、opc da、opc ua、iec 60870-5、mqtt、profinet、canopen、fox、zigbee、power link、opensafety分别编码为0-19。
13.进一步的,设备识别分类器采用的是双向长短期记忆网络模型。
14.进一步的,所述步骤(2)中,设备识别分类器是通过以下步骤训练得到的:
15.(2-1)获取多个物联网设备的设备指纹信息{f1,f2,

,fm},对每个工控网络设备的每个设备指纹信息进行解析,以获取该设备指纹信息对应的特征属性值,并根据获取的该工控网络设备的所有设备指纹信息对应的特征属性值构建特征向量(x1,x2,

,xm),并将所有工控网络设备对应的特征矩阵进行合并,以得到合并后的特征矩阵h,其中m表示工控网络设备的总数,f
num
表示第num个工控网络设备的设备指纹信息,且有num∈[1,m];
[0016]
(2-2)将步骤(2-1)处理后的特征矩阵按照行数8:2的比例划分为训练集和测试集,并将训练集输入设备识别分类器;
[0017]
(2-3)特征向量经过前向的lstm神经网络的隐藏层输出为(x
’1,x
’2,

,x’m
),经过后向的lstm神经网络的隐藏层输出为(`x1,`x2,

,`xm),最终的隐藏层输出为(x’m
,`xm),双向lstm输出经过使用relu激励函数的全连接层,全连接层的输出作为输出层的输入,通过softmax函数完成对输入数据的分类;
[0018]
(2-4)对步骤(2-3)更新后的设备识别分类器进行迭代训练,选取适合的隐含层大小和层数,查看训练过程中loss是否逐步下降至合理区间;若训练过程损失下降不平稳或者无法收敛至合理区间,则适当增加隐含层大小以及层数,提高算法的拟合能力,直到该设备识别分类器的损失函数达到最小为止,从而得到初步训练好的设备识别分类器;
[0019]
(2-5)使用步骤(2-4)得到的验证集对初步训练好的设备识别分类器进行迭代验证,直到得到的分类精度达到最优为止,从而得到训练好的设备识别分类器。
[0020]
进一步的,输出结果包括工控网络设备的名称、设备类型、设备制造商、以及固件版本。
[0021]
一种面向工控网络设备的安全检测准入方法所建立的准入系统,包括:第一模块,用于获取工控网络设备在接入时产生的数据流量,从中提取出多个设备指纹信息,对每个设备指纹信息进行解析,以构造指纹特征向量;第二模块,用于将第一模块构建的特征矩阵输入基于双向长短期记忆网络模型的设备识别分类器中,以得到输出结果;第三模块,用于根据第二模块得到的输出结果,通过本地漏洞库中查询工控网络设备可能存在的漏洞及其类型;第四模块,用于根据第三模块得到的存在漏洞的工控网络设备,根据漏洞库提供的补丁进行安全加固,对存在漏洞的工控网络设备进行安全修复,将修复后的工控网络设备重新进行接入。
[0022]
进一步的,所述第一模块内,根据获取的所有设备指纹特征向量构建特征矩阵。
[0023]
进一步的,所述第二模块的输出结果包括工控网络设备的名称、设备类型、设备制造商、以及固件版本。
[0024]
进一步的,根据该类型判断查询到的漏洞是否为中、高危漏洞,然后进行漏洞验证判定是否真实存在对应的漏洞,如果是则暂时禁止该工控网络设备接入,否则允许该工控网络设备接入,过程结束。
[0025]
本发明的有益效果:
[0026]
1.该面向工控网络设备的安全检测准入方法和系统在工控网络设备链接的网络节点上捕获网络流量,所以基于被动式提取设备指纹对工控网络设备的影响更低,因此能够解决现有接入检测方法对工控网络设备的检测准确率偏低的技术问题。
[0027]
2.该面向工控网络设备的安全检测准入方法和系统采用双向长短期记忆网络模型训练设备识别分类器,可以提取训练样本深层特征外,还考虑到未来的序列信息。通过前向和后向两个角度来提取特征,既能利用当前的信息,还能利用历史信息,又能够利用未来的信息,分类效果更加准确。
附图说明
[0028]
图1为本发明一种面向工控网络设备的安全检测准入方法和系统的流程图。
具体实施方式
[0029]
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
[0030]
请参阅图1,本发明提供一种技术方案:一种面向工控网络设备的安全检测准入方法和系统,其首先根据工控网络设备接入配置阶段的数据流,提取设备指纹特征信息。根据设备指纹特征信息,构造特征矩阵。然后基于双向长短期记忆网络模型,快速进行模型训练,得到设备识别分类器。最后,将待接入工控网络设备指纹特征向量矩阵输入分类器,得到设备的指纹信息:设备名称、设备类型、设备制造商、固件版本。根据设备的指纹信息,依次匹配本地漏洞库,精准进行设备安全漏洞评估。根据漏洞库提供的补丁进行安全加固,对存在漏洞的工控网络设备进行安全修复,将修复后的工控网络设备重新进行接入。本发明的工控网络设备安全信息检测方法具有良好的适用性以及精确的识别度。
[0031]
本实施例,如图1所示,本发明提供了一种面向工控网络设备的安全检测准入方法和系统,包括以下步骤:
[0032]
(1)基于报文特征的分析,构造时序特征数据。确定连续报文的数量n,将每个报文的内容向量化,并加入整体报文的统计量特征作为辅助特征,形成一维向量。n个报文的一维向量表征组成报文特征矩阵,即是表征报文指纹特征的矩阵;
[0033]
本实施例,工控网络设备的特征属性包括但不局限于:网络协议协议(其包括ipv4和ipv6,例如,如果该工控网络设备的网络协议是ipv4,则其特征属性值为0,否则为1)、网络协议可选项(其中包括存在可选项和不存在可选项,例如,如果该工控网络设备的网络协议存在可选项则其特征属性值为0,否则为1)、传输层协议(其包括tcp和udp,如果该工控网络设备的传输层协议是tcp,则其特征属性值为0,否则为1)、传输协议可选项(其中包括存在可选项和不存在可选项,例如,如果该工控网络设备的传输协议存在可选项则其特征属性值为0,否则为1)、端口字段(具体而言,如果端口属于周知端口(0-1023),则其特征属性值为0;属于注册端口(1024-49151),则其特征属性值为1;属于动态端口(49152-65535),则其特征属性值为2)、应用层协议(modbus、iec104、s7comm、dnp3、ethernet/ip、profibus、omron、melsec-q、bacnet、pcworx、opc da、opc ua、iec 60870-5、mqtt、profinet、canopen、fox、zigbee、power link和opensafety,例如如果该设备的应用层协议是http,则其特征属
性值为0,否则为1)。
[0034]
上述步骤(1)的优点在于,精准提取设备指纹特征并构建特征矩阵,提高了设备识别分类器的准确率。
[0035]
(2)将步骤(1)构建的特征矩阵输入训练好的设备识别分类器中,以得到输出结果,包括工控网络设备的名称、设备类型、设备制造商、以及固件版本;
[0036]
本发明中的设备识别分类器采用的是双向长短期记忆网络模型。
[0037]
本实施例,本发明的设备识别分类器是通过以下步骤训练得到的:
[0038]
(2-1)获取多个物联网设备的设备指纹信息{f1,f2,

,fm},对每个工控网络设备的每个设备指纹信息进行解析,以获取该设备指纹信息对应的特征属性值,并根据获取的该工控网络设备的所有设备指纹信息对应的特征属性值构建特征向量(x1,x2,

,xm),并将所有工控网络设备对应的特征矩阵进行合并,以得到合并后的特征矩阵h,其中m表示工控网络设备的总数,f
num
表示第num个工控网络设备的设备指纹信息,且有num∈[1,m];
[0039]
本步骤中的过程和上述步骤(1)中的完全相同,在此不再赘述。
[0040]
(2-2)将步骤(2-1)处理后的特征矩阵按照行数8:2的比例划分为训练集和测试集,并将训练集输入设备识别分类器;
[0041]
(2-3)特征向量经过前向的lstm神经网络的隐藏层输出为(x
’1,x
’2,

,x’m
),经过后向的lstm神经网络的隐藏层输出为(`x1,`x2,

,`xm),最终的隐藏层输出为(x’m
,`xm),双向lstm输出经过使用relu激励函数的全连接层,全连接层的输出作为输出层的输入,通过softmax函数完成对输入数据的分类;
[0042]
本步骤的优点在于,采用并行的随机森林算法训练设备识别分类器,可以提取训练样本深层特征外,还考虑到未来的序列信息。通过前向和后向两个角度来提取特征,既能利用当前的信息,还能利用历史信息,又能够利用未来的信息,分类效果更加准确。
[0043]
(2-4)对步骤(2-3)更新后的设备识别分类器进行迭代训练,选取适合的隐含层大小和层数,查看训练过程中loss是否逐步下降至合理区间;若训练过程损失下降不平稳或者无法收敛至合理区间,则适当增加隐含层大小以及层数,提高算法的拟合能力,直到该设备识别分类器的损失函数达到最小为止,从而得到初步训练好的设备识别分类器;本发明中使用的损失函数使用的是crf的损失函数。
[0044]
(2-5)使用步骤(2-3)得到的验证集对初步训练好的设备识别分类器进行迭代验证,直到得到的分类精度达到最优为止,从而得到训练好的设备识别分类器。
[0045]
(2-6)根据步骤(2)得到的输出结果进行漏洞匹配和验证。即通过本地漏洞库中查询工控网络设备可能存在的漏洞及其类型(即该漏洞是高危漏洞、中危漏洞、还是低危漏洞),并根据该类型判断查询到的漏洞是否为中高危漏洞,然后进行漏洞验证判定是否真实存在对应的漏洞,如果是则暂时禁止该工控网络设备接入,否则允许该工控网络设备接入,过程结束。
[0046]
(3)根据步骤(2)得到存在漏洞的工控网络设备,根据漏洞库提供的补丁进行安全加固,对存在漏洞的工控网络设备进行安全修复,将修复后的工控网络设备重新进行接入。具体的,本步骤中使用的本地漏洞库是从诸如网址http://cve.mitre.org这样的漏洞数据库获取到的,该本地漏洞库中记载了所有漏洞的编号(例如cnvd-2021-18304)、以及各个漏洞的类型(例如高危)。
[0047]
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0048]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1