一种工业漏洞扫描方法和系统与流程

文档序号:19901993发布日期:2020-02-11 13:59阅读:135来源:国知局
一种工业漏洞扫描方法和系统与流程

本发明涉及工控网络技术领域,尤其涉及一种工业漏洞扫描方法和系统。



背景技术:

工业控制网络,简称工控网络;工控网络具有诸多优点,它能够实现工业设备间的互连以及工业设备间的信息传递与沟通。随着工控网络的发展以及工业互联网技术的蓬勃展开,大量的工业设备接入互联网,从而进行生产状态的实时呈现以及相关生产任务的下发,进而使得工业设备、工业生产线、员工、工厂、仓库、供应商、产品和客户紧密地连接,共享工业生产全流程的各种要素资源,使整个工控系统数字化、网络化、自动化和智能化,从而实现效率提升和成本降低大大提高了生产力。

虽然工控网络能够将工业设备联网,但是工业设备联网后,工业设备也与传统it设备一样,容易被不法分子盯上。工控网络中工业设备往往均存在一定工业漏洞,一旦工业设备被不法分子利用工业漏洞进行破坏,则对整个生产活动将带来严重的破坏。例如:伊朗的离心机爆炸和委内瑞拉大停电事件均是利用工业漏洞进行的破坏活动。因此与传统it设备一样,工业设备也需要进行相关漏洞的扫描,以降低不法人员利用工业漏洞进行恶意破坏的可能性;其中,使用漏洞扫描工具检测工业设备存在的工业漏洞是一件很好的选择。针对现有工业局域网中的大量工业设备,工业漏洞扫描方式还是基于传统it漏洞的扫描方式;具体参见图1,现有的工业漏洞扫描方法包括以下步骤:s110、开始扫描,启动扫描进程;s120、向所有工业设备均发送大量检测报文;s130-s170、分别发送ping扫射报文、操作系统探测报文、端口扫描报文、探测访问规则报文和工业协议检测报文等。

然而,与传统it设备的漏洞扫描不同,工业设备对实时性的要求很高,如图1所示,传统扫描过程中会对每个工业设备产生大量的工业漏洞检测包,这些工业漏洞检测包容易堵塞脆弱的工业现场总线,影响生产设备的实时动作,对产品生产带来不可预测的风险。如何即能对设备漏洞进行扫描又不影响生产提出了很现实的要求。



技术实现要素:

本发明提供一种工业漏洞扫描方法和系统,旨在解决现有技术中工业设备对实时性要求高,现有扫描方式会针对所有工业设备产生大量工业漏洞检测包,影响生产设备实时动作的问题。

为实现上述目的,根据本发明的第一发明,本发明提出了一种工业漏洞扫描方法,包括:

使用旁路侦测引擎侦听工业局域网中的总线通信报文,以识别工业局域网中的活跃工业设备;其中,总线通信报文包括工业设备的通信特征;

根据活跃工业设备的通信特征对应的扫描策略,向活跃工业设备发送工业漏洞扫描报文,以获取活跃工业设备的反馈报文,其中反馈报文包括设备特征信息;

根据设备特征信息,获取活跃工业设备的漏洞信息。

优选地,上述使用旁路侦测引擎侦听工业局域网中的总线通信报文,以识别工业局域网中的活跃工业设备的步骤,包括:

使用旁路侦测引擎侦听总线通信报文;

从总线通信报文中提取工业局域网中工业设备的通信特征,其中,通信特征包括通信类型特征和通信内容特征;

根据工业设备的通信类型特征和通信内容特征,确定活跃工业设备。

优选地,上述根据活跃工业设备的通信特征对应的扫描策略,向活跃工业设备发送工业漏洞扫描报文的步骤,包括:

匹配活跃工业设备的通信类型特征和通信内容特征,确定活跃工业设备的设备类型和忙闲程度;

使用活跃工业设备的设备类型匹配工业协议指纹特征,记录工业协议指纹特征对应的设备路径;

根据各个活跃工业设备的忙闲程度,通过设备路径向各个工业设备发送工业漏洞扫描报文。

优选地,上述工业漏洞扫描报文包括信息查询指令;向活跃工业设备发送工业漏洞扫描报文的步骤包括:

按照活跃工业设备的工业协议,向活跃工业设备发送工业漏洞扫描报文,其中,工业漏洞扫描报文包括信息查询指令;

获取与信息查询指令对应的活跃工业设备的设备特征信息。

优选地,上述根据设备特征信息,获取活跃工业设备的漏洞信息的步骤,包括:

将设备特征信息与预设工业漏洞信息库中的漏洞信息进行匹配,确定活跃工业设备的漏洞信息。

根据本发明的第二方面,本发明还提供了一种工业漏洞扫描系统,包括:

设备识别模块,用于使用旁路侦测引擎侦听工业局域网中的总线通信报文,以识别工业局域网中的活跃工业设备;其中,总线通信报文包括工业设备的通信特征;

报文发送模块,用于根据活跃工业设备的通信特征对应的扫描策略,向活跃工业设备发送工业漏洞扫描报文,以获取活跃工业设备的反馈报文,其中反馈报文包括设备特征信息;

漏洞信息获取模块,用于根据设备特征信息,获取活跃工业设备的漏洞信息。

优选地,设备识别模块,包括:

通信报文侦听子模块,用于使用旁路侦测引擎侦听总线通信报文;

通信特征提取子模块,用于从总线通信报文中提取工业局域网中工业设备的通信特征,其中,通信特征包括通信类型特征和通信内容特征;

活跃设备确定子模块,用于根据工业设备的通信类型特征和通信内容特征,确定活跃工业设备。

优选地,报文发送模块,包括:

通信特征匹配子模块,用于匹配活跃工业设备的通信类型特征和通信内容特征,确定活跃工业设备的设备类型和忙闲程度;

设备路径记录子模块,用于使用活跃工业设备的设备类型匹配工业协议指纹特征,记录工业协议指纹特征对应的设备路径;

通信报文发送子模块,用于根据各个活跃工业设备的忙闲程度,通过设备路径向各个工业设备发送工业漏洞扫描报文。

优选地,工业漏洞扫描报文包括信息查询指令;报文发送模块包括:

查询指令发送子模块,用于按照活跃工业设备的工业协议,向活跃工业设备发送工业漏洞扫描报文,其中,工业漏洞扫描报文包括信息查询指令;

特征信息获取子模块,用于获取与信息查询指令对应的活跃工业设备的设备特征信息。

优选地,漏洞信息获取模块还用于将设备特征信息与预设工业漏洞信息库中的漏洞信息进行匹配,确定活跃工业设备的漏洞信息。

本申请技术方案提供的工业漏洞扫描方案,通过使用旁路侦测引擎侦听工业局域网中的总线通信报文,能够识别所述工业局域网中的活跃工业设备;这些活跃工业设备是在工业局域网中收发数据的工业设备,因此针对这些活跃工业设备进行漏洞扫描能够减少扫描工作量;其中,所述总线通信报文包括工业设备的通信特征。因为每种工业设备均自身包括通信特征,这样根据活跃工业设备的所述通信特征对应的扫描策略,向所述活跃工业设备发送工业漏洞扫描报文,能够将工业漏洞扫描报文与活跃工业设备的通信特征相适应,从而减少对工业现场总线的占用。并且该工业漏洞扫描报文只有一种,目的仅为获取活跃工业设备的反馈报文包括的设备特征信息;因此工业漏洞扫描报文占用空间更小。在获取到所述设备特征信息后,能够根据该设备特征信息精确查找所述活跃工业设备的漏洞信息。通过上述方法,能够针对性的扫描工业局域网中的工业设备,并减少工业漏洞扫描报文对工业现场总线的占用,提高工业漏洞的检测效率,降低对生产设备实时性的干扰。通过上述方法能够解决现有技术中工业设备对实时性要求增高,现有扫描方式产生大量工业漏洞检测包,会影响生产设备实时动作的问题。

附图说明

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

图1是现有技术提供的一种工业漏洞扫描方法的流程示意图;

图2是本发明实施例提供的一种工业漏洞扫描方法的流程示意图;

图3是图2所示实施例提供的一种活跃工业设备识别方法的流程示意图;

图4是图2所示实施例提供的第一种工业漏洞扫描报文发送方法的流程示意图;

图5是图2所示实施例提供的第二种工业漏洞扫描报文发送方法的流程示意图;

图6是本发明实施例提供的一种工业漏洞扫描系统的结构示意图;

图7是图6所示实施例提供的一种设备识别模块的结构示意图;

图8是图6所示实施例提供的第一种报文发送模块的结构示意图;

图9是图6所示实施例提供的第二种报文发送模块的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图2,图2为本发明实施例提供的一种工业漏洞扫描方法的流程示意图,如图2所示,该工业漏洞扫描方法包括以下步骤:

s210:使用旁路侦测引擎侦听工业局域网中的总线通信报文,以识别工业局域网中的活跃工业设备;其中,总线通信报文包括工业设备的通信特征。

旁路侦测引擎能够在侦听工业局域网中总线通信报文时,尽可能少的占用局域网总线。并且侦听工业局域网中的总线通信报文,能够获取总线通信报文中的工业设备的通信特征,根据该通信特征能够确定活跃工业设备的通信特点和占用数据量,从而匹配工业漏洞扫描报文的扫描策略。

其中,如图3所示,该步骤s210:使用旁路侦测引擎侦听工业局域网中的总线通信报文,以识别工业局域网中的活跃工业设备,具体包括以下步骤:

s211:使用旁路侦测引擎侦听总线通信报文。

s212:从总线通信报文中提取工业局域网中工业设备的通信特征,其中,通信特征包括通信类型特征和通信内容特征。

s213:根据通信类型特征和通信内容特征,确定活跃工业设备。

通过侦听总线通信报文,然后从总线通信报文中提取工业设备的通信特征,如通信协议特征,根据该通信特征包括的通信类型特征和通信内容特征能够确定活跃工业设备。并且通过上述通信类型特征和通信内容特征能够确定处理活跃工业设备的扫描策略。

具体地,以modbus协议(一种串行通信协议,已成为工业领域通信协议的业界标准)为例,旁路侦测引擎侦听总线通信报文,获得活跃工业设备的modbus通信协议特征。

标准的modbustcp通信协议特征如下:

根据modbus协议规范,modbustcp的数据帧分为mbap和pdu两部分。

其中,mbap部分对应如下表所示:

其中,上述pdu部分由功能码+数据组成。功能码为1字节,数据的长度不定,由具体功能决定。

具体参见图1,图1为旁路侦测引擎对modbus的抓包数据。通过对该抓包数据的分析可知:

使用modbus协议库对上述mbap和pdu数据特征进行匹配,当应用数据帧被识别出含有mbap数据特征,并且pdu数据特征也匹配成功时,基本可以断定该设备为modbus设备。图圈出部分0x01表示设备地址为1,其前面的0x1b表示pdu部分字节长度为27字节,0x10表示功能码,其特征为写寄存器,0x00、0x00表示要写寄存器起始地址,0x00、0x0a表示要写的寄存器数量(此图表示要写10个寄存器),0x14,表示要写的字节数(此图表示要写20个字节),0x00、0x40、0x00、0x41、0x00、0x42、0x00和0x4等表示实际写到寄存器的数据分别为60、61、62和63等数据。

如图2所示,本申请实施例提供的工业漏洞扫描方法中,还包括步骤s220:根据活跃工业设备的通信特征对应的扫描策略,向活跃工业设备发送工业漏洞扫描报文,以获取活跃工业设备的反馈报文,其中反馈报文包括设备特征信息。

在旁路侦测引擎监听得到活跃工业设备的通信特征后,能够将该通信特征与工业协议指纹库进行匹配,确定对该活跃工业设备进行工业漏洞扫描的扫描策略,从而完全模拟对应该活跃工业设备的通信协议,并按照忙闲程度的顺序发送工业漏洞扫描报文。通过上述过程,能够获取活跃工业设备的反馈报文中的设备特征信息,从而对该设备特征信息进行进一步分析,查找工业漏洞。

具体地,如图4所示,该步骤s220:根据活跃工业设备的通信特征对应的扫描策略,向活跃工业设备发送工业漏洞扫描报文,具体包括以下步骤:

s221:匹配活跃工业设备的通信类型特征和通信内容特征,确定活跃工业设备的设备类型和忙闲程度。

因为通过上述旁路侦测引擎侦听总线通信报文,能够得到工业设备的通信特征,该通信特征包括通信类型特征和通信内容特征,根据通信特征和通信内容完全能够确定工业设备的活跃程度,确定该活跃工业设备的通信协议。

例如上述旁路侦测引擎侦听总线通信报文,能够通过侦测通信类型特征为mbap特征,通信内容特征为pdu特征,确定该活跃工业设备的通信类型为modbus通信协议类型。另外根据通信内容特征能够确定活跃工业设备的忙闲程度。

s222:使用活跃工业设备的设备类型匹配工业协议指纹特征,记录工业协议指纹特征对应的设备路径。

在旁路侦测引擎侦听总线通信报文后,提取总线通信报文中的通信特征,其中该通信特征包括设备类型,然后使用该活跃工业设备的设备类型匹配工业协议指纹特征,能够确定该活跃工业设备的设备路径,包括相关ip地址和端口号等。

根据上述设备路径对活跃工业设备进行扫描,能够直接跳过传统扫描阶段中的ping扫射和端口扫描,从而降低局域网总线占有时间,不影响工业设备通信的实时控制指令,同时不需要从头到尾的盲扫,极大地节约扫描时间。

s223:根据各个活跃工业设备的忙闲程度,通过设备路径向各个工业设备发送工业漏洞扫描报文。

综上,通过确定活跃工业设备的设备路径和忙闲程度后,对该活跃工业设备进行工业漏洞扫描时,就能够直接跳过传统扫描阶段中的ping扫射和端口扫描,从而降低局域网总线占有时间,不影响工业设备通信的实时控制指令,同时不需要从头到尾的盲扫,极大的节约了扫描时间,也更能针对性的对相关目标设备进行扫描,精确性更强。并且在使用工业协议指纹进行匹配后,能够完全模拟设备通信协议,按照忙闲程度发送工业漏洞扫描报文。因为整个扫描报文的数据量小,通过设备通信协议注入扫描报文,能够将扫描报文完全融入设备正常通信流中,不会破坏生产设备的正常网络通信数据流格式,因此不会对工业设备的正常生产活动产生影响,属于无感扫描。

另外在确定扫描策略后,如图5所示,图2中的步骤s220:向活跃工业设备发送工业漏洞扫描报文具体包括以下步骤:

s224:按照活跃工业设备的工业协议,向活跃工业设备发送工业漏洞扫描报文,其中,工业漏洞扫描报文包括信息查询指令。

s225:获取与信息查询指令对应的活跃工业设备的设备特征信息。

具体地,针对旁路侦测引擎识别到的工业协议,一般工业设备有读和写2种指令,我们根据匹配到工业协议和对应的设备型号,调用该工业协议的读数据指令,即上述信息查询指令,向活跃工业设备发送工业漏洞扫描报文能够查询该活跃工业设备的当前的软件版本,这个读数据指令与该活跃工业设备正常通信指令是一致的,只是读取的寄存器地址不一样,这活跃工业设备就能够收到指定寄存器地址后会返回存储在该地址的数据,从而分析活跃工业设备的设备特征信息。

另外,由于先前工业协议指纹库的精确匹配,能够使发送工业漏洞扫描信息的报文更精准;并且该工业设备的特征信息,排除任何操作指令,只具备信息查询功能,降低对其他工业设备或本身正在扫描设备的影响。

另外,图2所示实施例还包括步骤s230:根据设备特征信息,获取活跃工业设备的漏洞信息。

其中,该步骤s230:根据设备特征信息,获取活跃工业设备的漏洞信息,包括:将设备特征信息与预设工业漏洞信息库中的漏洞信息进行匹配,确定活跃工业设备的漏洞信息。

将工业漏洞扫描报文按协议发送后,相关的工业设备会反馈设备特征信息,工业漏洞扫描工具接收到该设备特征信息后再比对工业漏洞信息库中的漏洞信息,进而获得该活跃工业设备的漏洞信息。由于本申请的工业漏洞扫描方法只针对匹配到工业指纹库的设备进行扫描,过程相当快速和精确。

综上,本申请技术方案提供的工业漏洞扫描方法,通过使用旁路侦测引擎侦听工业局域网中的总线通信报文,能够识别所述工业局域网中的活跃工业设备;这些活跃工业设备是在工业局域网中收发数据的工业设备,因此针对这些活跃工业设备进行漏洞扫描能够减少扫描工作量;其中,所述总线通信报文包括工业设备的通信特征。因为每种工业设备均自身包括通信特征,这样根据活跃工业设备的所述通信特征对应的扫描策略,向所述活跃工业设备发送工业漏洞扫描报文,能够将工业漏洞扫描报文与活跃工业设备的通信特征相适应,从而减少对工业现场总线的占用。并且该工业漏洞扫描报文只有一种,目的仅为获取活跃工业设备的反馈报文包括的设备特征信息;因此工业漏洞扫描报文占用空间更小。在获取到所述设备特征信息后,能够根据该设备特征信息精确查找所述活跃工业设备的漏洞信息。通过上述方法,能够针对性的扫描工业局域网中的工业设备,并减少工业漏洞扫描报文对工业现场总线的占用,提高工业漏洞的检测效率,降低对生产设备实时性的干扰。通过上述方法能够解决现有技术中工业设备对实时性要求增高,现有扫描方式产生大量工业漏洞检测包,会影响生产设备实时动作的问题。

另外,基于上述方法实施例的同一构思,本发明实施例还提出了工业漏洞扫描系统,用于实现本发明的上述方法,由于该系统实施例解决问题的原理与方法相似,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。

具体参见图6,图6为本发明实施例提供的一种工业漏洞扫描系统的结构示意图。如图6所示,该工业漏洞扫描系统包括:

设备识别模块601,用于使用旁路侦测引擎侦听工业局域网中的总线通信报文,以识别工业局域网中的活跃工业设备;其中,总线通信报文包括工业设备的通信特征。

报文发送模块602,用于根据活跃工业设备的通信特征对应的扫描策略,向活跃工业设备发送工业漏洞扫描报文,以获取活跃工业设备的反馈报文,其中反馈报文包括设备特征信息;

漏洞信息获取模块603,用于根据设备特征信息,获取活跃工业设备的漏洞信息。

综上,本申请技术方案提供的工业漏洞扫描系统,通过使用旁路侦测引擎侦听工业局域网中的总线通信报文,能够识别所述工业局域网中的活跃工业设备;这些活跃工业设备是在工业局域网中收发数据的工业设备,因此针对这些活跃工业设备进行漏洞扫描能够减少扫描工作量;其中,所述总线通信报文包括工业设备的通信特征。因为每种工业设备均自身包括通信特征,这样根据活跃工业设备的所述通信特征对应的扫描策略,向所述活跃工业设备发送工业漏洞扫描报文,能够将工业漏洞扫描报文与活跃工业设备的通信特征相适应,从而减少对工业现场总线的占用。并且该工业漏洞扫描报文只有一种,目的仅为获取活跃工业设备的反馈报文包括的设备特征信息;因此工业漏洞扫描报文占用空间更小。在获取到所述设备特征信息后,能够根据该设备特征信息精确查找所述活跃工业设备的漏洞信息。通过上述方法,能够针对性的扫描工业局域网中的工业设备,并减少工业漏洞扫描报文对工业现场总线的占用,提高工业漏洞的检测效率,降低对生产设备实时性的干扰。通过上述方法能够解决现有技术中工业设备对实时性要求增高,现有扫描方式产生大量工业漏洞检测包,会影响生产设备实时动作的问题。

其中,图6所示实施例中,设备识别模块601,包括:

通信报文侦听子模块6011,用于使用旁路侦测引擎侦听总线通信报文;

通信特征提取子模块6012,用于从总线通信报文中提取工业局域网中工业设备的通信特征,其中,通信特征包括通信类型特征和通信内容特征;

活跃设备确定子模块6013,用于根据工业设备的通信类型特征和通信内容特征,确定活跃工业设备。

其中,如图8所示,图6所示实施例提供的工业漏洞扫描系统中,报文发送模块602,包括:

通信特征匹配子模块6021,用于匹配活跃工业设备的通信类型特征和通信内容特征,确定活跃工业设备的设备类型和忙闲程度;

设备路径记录子模块6022,用于使用活跃工业设备的设备类型匹配工业协议指纹特征,记录工业协议指纹特征对应的设备路径;

通信报文发送子模块6023,用于根据各个活跃工业设备的忙闲程度,通过设备路径向各个工业设备发送工业漏洞扫描报文。

另外,图6所示实施例提供的工业漏洞扫描系统中工业漏洞扫描报文包括信息查询指令;如图9所示,图6实施例中的报文发送模块602包括:

查询指令发送子模块6024,用于按照活跃工业设备的工业协议,向活跃工业设备发送工业漏洞扫描报文,其中,工业漏洞扫描报文包括信息查询指令。

特征信息获取子模块6025,用于获取与信息查询指令对应的活跃工业设备的设备特征信息。

另外,图6实施例中的漏洞信息获取模块603还用于将设备特征信息与预设工业漏洞信息库中的漏洞信息进行匹配,确定活跃工业设备的漏洞信息。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1