基于工控系统的安全漏洞探测方法和装置与流程

文档序号:15744015发布日期:2018-10-23 22:46阅读:171来源:国知局

本发明涉及工业控制技术领域,尤其是涉及一种基于工控系统的安全漏洞探测方法和装置。



背景技术:

工业控制系统广泛应用于工业、电力、能源、交通运输、水利、公用事业和生产企业,被控装置关系到国计民生,装置的稳定运行是至关重要的,一旦装置发生故障带来的不仅仅是巨大的经济损失,更恶劣的是社会影响。通过对众多的工控安全事件深入分析可以看到,大多数的工控安全事件利用了工业控制系统的“漏洞”,进而攻陷了整个工业控制系统。因此,在黑客成功攻击工业控制系统之前及时帮助企业发现漏洞,进而促使其完善系统,成为保障工业控制系统安全运行、增强企业安全健壮性的必要手段。

现有技术中,通过以旁路镜像的方式做透明网络嗅探,获得资产数据,将资产数据进行整合,得到整合资产数据,将整合资产数据进行滤波处理,得到有效数据,将有效数据封装,得到封装数据,再根据封装数据进行数据识别,得到甄别数据,根据预先设置的漏洞信息对甄别数据进行漏洞分析,得到漏洞探测结果,生成探测漏洞报告。该方式中,以旁路镜像的方式做透明网络嗅探,获得资产数据,属于被动扫描方式。该从繁杂的网络中获得广播数据,然后剔除无用数据,但是在该装置检索期间,目标设备未必会有发包行为,所以被动扫描方式,难以全面有效地探测出连接到网络的工控设备,实用性较差。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于工控系统的安全漏洞探测方法和装置,以全面有效地探测出工控设备,提高实用性,从而提高工控设备的安全稳定性。

第一方面,本发明实施例提供了一种基于工控系统的安全漏洞探测方法,该方法包括:对设定地址范围内的工控设备进行ping扫描,得到在线工控设备的IP地址列表;根据IP地址列表,向对应的在线工控设备发送信息请求数据包,以使在线工控设备反馈信息请求数据包对应的回应信息;根据在线工控设备的回应信息,以及预设的设备信息库,确定在线工控设备的设备信息;设备信息包括系统制造商标识、产品系列及型号、固件版本、设备地址、设备名称中的多种;根据在线工控设备的设备信息,从预设的漏洞信息库中查找得到在线工控设备的漏洞信息。

在本发明较佳的实施例中,上述对设定地址范围内的工控设备进行ping扫描,得到在线工控设备的IP地址列表的步骤,包括:向设定地址范围内的IP地址发送ping命令;当接收到ping命令的回应报文时,将发送回应报文的IP地址对应的工控设备确定为在线工控设备;将确定出的在线工控设备的IP地址确定为IP地址列表。

在本发明较佳的实施例中,上述根据IP地址列表,向对应的在线工控设备发送信息请求数据包的步骤之前,方法还包括:根据预设的工控协议对应的协议帧结构,生成实时的信息请求数据包。

在本发明较佳的实施例中,上述预设的设备信息库中保存有指纹信息和设备信息的对应关系;根据在线工控设备的回应信息,以及预设的设备信息库,确定在线工控设备的设备信息的步骤,包括:对回应信息进行数据包解析,从解析出的数据中提取在线工控设备的指纹信息;根据在线工控设备的指纹信息,从预设的设备信息库中查找得到在线工控设备的设备信息。

在本发明较佳的实施例中,上述预设的漏洞信息库保存有设备信息和漏洞信息的对应关系;根据在线工控设备的设备信息,从预设的漏洞信息库中查找得到在线工控设备的漏洞信息的步骤,包括:根据在线工控设备的设备信息,从预设的漏洞信息库中查找得到在线工控设备的漏洞信息。

第二方面,本发明实施例提供了一种基于工控系统的安全漏洞探测装置,装置包括:扫描模块,用于对设定地址范围内的工控设备进行ping扫描,得到在线工控设备的IP地址列表;数据包发送模块,用于根据IP地址列表,向对应的在线工控设备发送信息请求数据包,以使在线工控设备反馈信息请求数据包对应的回应信息;信息确定模块,用于根据在线工控设备的回应信息,以及预设的设备信息库,确定在线工控设备的设备信息;设备信息包括系统制造商标识、产品系列及型号、固件版本、设备地址、设备名称中的多种;漏洞信息查找模块,用于根据在线工控设备的设备信息,从预设的漏洞信息库中查找得到在线工控设备的漏洞信息。

在本发明较佳的实施例中,上述扫描模块还用于:向设定地址范围内的IP地址发送ping命令;当接收到ping命令的回应报文时,将发送回应报文的IP地址对应的工控设备确定为在线工控设备;将确定出的在线工控设备的IP地址确定为IP地址列表。

在本发明较佳的实施例中,上述装置还包括:数据包生成模块,用于根据预设的工控协议对应的协议帧结构,生成实时的信息请求数据包。

在本发明较佳的实施例中,上述预设的设备信息库中保存有指纹信息和设备信息的对应关系;信息确定模块还用于:对回应信息进行数据包解析,从解析出的数据中提取在线工控设备的指纹信息;根据在线工控设备的指纹信息,从预设的设备信息库中查找得到在线工控设备的设备信息。

在本发明较佳的实施例中,上述预设的漏洞信息库保存有设备信息和漏洞信息的对应关系;漏洞信息查找模块还用于:根据在线工控设备的设备信息,从预设的漏洞信息库中查找得到在线工控设备的漏洞信息。

本发明实施例带来了以下有益效果:

本发明实施例提供的上述基于工控系统的安全漏洞探测方法和装置,首先对设定地址范围内的工控设备进行ping扫描,得到在线工控设备的IP地址列表;根据该IP地址列表,向对应的在线工控设备发送信息请求数据包,以使在线工控设备反馈信息请求数据包对应的回应信息;再根据该在线工控设备的回应信息,以及预设的设备信息库,确定在线工控设备的设备信息;最后根据在线工控设备的设备信息,从预设的漏洞信息库中查找得到在线工控设备的漏洞信息。该方式通过主动扫描方式可以全面有效地探测出工控设备,具有较好的实用性,并查找得到不同种类设备的漏洞信息,从而提高了工控设备的安全稳定性。

同时,由于工控系统在线运行过程事件较长,运行过程中的需要尽可能减少外部干扰,上述安全漏洞探测方法可以避免因漏洞扫描而引发系统故障引起安全事故。

本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明实施例提供的一种基于工控系统的安全漏洞探测方法的流程图;

图2为本发明实施例提供的另一种基于工控系统的安全漏洞探测方法的流程图;

图3为本发明实施例提供的一种基于工控系统的安全漏洞探测装置的结构示意图;

图4为本发明实施例提供的一种工控系统漏洞扫描系统的系统架构示意图;

图5为本发明实施例提供的一种工控系统漏洞扫描系统的网络拓扑图。

具体实施方式

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

考虑到现有技术中对工控设备的被动扫描方式难以全面有效地探测出连接到网络的工控设备,实用性较差的问题,本发明实施例提供了一种基于工控系统的安全漏洞探测方法和装置;该技术可以应用于各个领域的工业控制系统的漏洞探测中。为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于工控系统的安全漏洞探测方法进行详细介绍。

如图1所示,该基于工控系统的安全漏洞探测方法包括如下步骤:

步骤S102,对设定地址范围内的工控设备进行ping扫描,得到在线工控设备的IP地址列表;

其中,设定地址范围可以为IP地址列表,也可以为IP地址段范围;在实际实现时,可以同时向设定地址范围内的IP地址进行ping扫描,也可以逐一向设定地址范围内的IP地址进行ping扫描。在ping扫描过程中,在线工控设备通常会回应相关的报文,而不在线的工控设备通常不回应;因此,如果接收到某IP地址的回应报文,说明该IP地址的工控设备为在线工控设备。

步骤S104,根据IP地址列表,向对应的在线工控设备发送信息请求数据包,以使在线工控设备反馈信息请求数据包对应的回应信息;

IP地址列表中记录有在线工控设备的IP地址;可以同时或逐一向IP地址列表中各个IP地址发送信息请求数据包;在线工控设备接收到信息请求数据包后,对该信息请求数据包进行解析,并生成回应信息;该回应信息中通常包含有信息请求数据包具体请求的内容,例如,指纹信息、MAC地址等。

步骤S106,根据在线工控设备的回应信息,以及预设的设备信息库,确定在线工控设备的设备信息;该设备信息包括系统制造商标识、产品系列及型号、固件版本、设备地址、设备名称中的多种;

通常,在工控设备投入运行之前,或者接入网络时,将该工控设备的设备信息更新至上述预设的设备信息库中;上述在线工控设备的回应信息中通常携带有可以唯一标识该在线工控设备的信息,例如,设备MAC地址;通过上述回应信息可以从设备信息库中查询到该设备的较为具体的设备信息。其中,设备信息中的系统制造商标识是该工控设备的制造商的商标、生产厂商代码等;设备地址即为工控设备的IP地址、MAC地址等。

步骤S108,根据在线工控设备的设备信息,从预设的漏洞信息库中查找得到在线工控设备的漏洞信息。

该预设的漏洞信息库中保存有不同种类、不同制造商或不同版本批号的工控设备可能具有的安全漏洞,因此,当获取到在线工控设备的设备信息后,即可根据该设备信息从所述漏洞信息库中查询该设备的漏洞信息;以使工程师根据该漏洞信息弥补设备的安全漏洞。

本发明实施例提供的上述基于工控系统的安全漏洞探测方法,首先对设定地址范围内的工控设备进行ping扫描,得到在线工控设备的IP地址列表;根据该IP地址列表,向对应的在线工控设备发送信息请求数据包,以使在线工控设备反馈信息请求数据包对应的回应信息;再根据该在线工控设备的回应信息,以及预设的设备信息库,确定在线工控设备的设备信息;最后根据在线工控设备的设备信息,从预设的漏洞信息库中查找得到在线工控设备的漏洞信息。该方式通过主动扫描方式可以全面有效地探测出工控设备,具有较好的实用性,并查找得到不同种类设备的漏洞信息,从而提高了工控设备的安全稳定性。

同时,由于工控系统在线运行过程事件较长,运行过程中的需要尽可能减少外部干扰,上述安全漏洞探测方法可以避免因漏洞扫描而引发系统故障引起安全事故。

本发明实施例还提供了另一种基于工控系统的安全漏洞探测方法,该方法执行前需要预先建立设备信息库和漏洞信息库;其中,预设的设备信息库中保存有指纹信息和设备信息的对应关系;预设的漏洞信息库保存有设备信息和漏洞信息的对应关系;

如图2所示,该方法包括如下步骤:

步骤S202,向设定地址范围内的IP地址发送ping命令;

步骤S204,当接收到ping命令的回应报文时,将发送回应报文的IP地址对应的工控设备确定为在线工控设备;

步骤S206,将确定出的在线工控设备的IP地址确定为IP地址列表。

上述ping扫描的过程也可以称为网络探测,针对网络信息层面的探测,主要利用工控交换机具有的普通交换机周期性发送广播包的特点,通过捕获并解析数据包探测出工控交换机的站名称、工控交换机的地址以及工控系统的广播地址等基本信息。工控交换机是传统网络和工控系统之间的桥梁,网络探测也是系统探测的基础。

上述Ping扫描主要用于探测主机(即上述工控设备)的地址,通过探测目标主机的网络是否联通来判断探测的地址是否分配了主机。通过扫描获取网络的基本信息是进行漏洞扫描的基础。通过扫描,也能准确的定位的分布。Ping扫描成功后可生成在线设别的IP列表。

步骤S208,根据预设的工控协议对应的协议帧结构,生成实时的信息请求数据包。

步骤S210,根据IP地址列表,向对应的在线工控设备发送上述信息请求数据包,以使在线工控设备反馈信息请求数据包对应的回应信息;

在实际实现时,当向在线工控设备发送上述信息请求数据包后,设定时间段内如果没有收到回应信息,则需要继续向该在线工控设备再次发送信息请求数据包,直至收到在线工控设备反馈信息请求数据包对应的回应信息,此时停止向在线工控设备发送信息请求数据包。

步骤S212,对回应信息进行数据包解析,从解析出的数据中提取在线工控设备的指纹信息;

步骤S214,根据在线工控设备的指纹信息,从预设的设备信息库中查找得到在线工控设备的设备信息。该设备信息包括系统制造商标识、产品系列及型号、固件版本、设备地址、设备名称中的多种;

上述发送信息请求数据包并根据回应信息得到在线工控设备的设备信息的过程,也可以称为系统探测,针对系统信息层面的探测,基于网络探测中工控系统的广播地址等基本信息,由于一些工控设备只有在收到请求时才会做出响应,因此,只能通过构造并广播发送请求数据包、捕获并解析响应数据包来探测出工控系统中的工控设备以及其站类型、站名称、制造商标识、设备标识、设备角色以及地址等具体信息。

系统探测的方法是根据数据库中工控协议生成协议帧结构,构造一个实时的数据包,并在连接了工控设备的网络中以广播的方式发送,以请求工控设备回复,再通过对回复的数据包进行解析来提取需要探测的工控设备的具体信息。

步骤S216,根据在线工控设备的设备信息,从预设的漏洞信息库中查找得到在线工控设备的漏洞信息。

在实际实现时,将在线工控设备的设备信息与漏洞信息库中的设备信息进行比对,比对成功后,将对应的漏洞信息作为在线工控设备的漏洞信息。数据比对的主要功能是根据工控系统探测模块中探测到的工控设备的具体信息,例如,站类型、站名称、制造商标识、设备标识以及设备角色等与工控系统漏洞库做比对,匹配出该设备存在的漏洞。

上述基于工控系统的安全漏洞探测方法,基于探测工控系统内部的设备种类,并结合设备重要性与安全需求,结合指纹库,设备库,漏洞库,选择不同种类的漏洞探测方法,可以保证工控系统安全稳定运行。

对应于上述方法实施例,参见图3所示的一种基于工控系统的安全漏洞探测装置的结构示意图,该装置包括:

扫描模块30,用于对设定地址范围内的工控设备进行ping扫描,得到在线工控设备的IP地址列表;

数据包发送模块31,用于根据IP地址列表,向对应的在线工控设备发送信息请求数据包,以使在线工控设备反馈信息请求数据包对应的回应信息;

信息确定模块32,用于根据在线工控设备的回应信息,以及预设的设备信息库,确定在线工控设备的设备信息;设备信息包括系统制造商标识、产品系列及型号、固件版本、设备地址、设备名称中的多种;

漏洞信息查找模块33,用于根据在线工控设备的设备信息,从预设的漏洞信息库中查找得到在线工控设备的漏洞信息。

上述扫描模块还用于:向设定地址范围内的IP地址发送ping命令;当接收到ping命令的回应报文时,将发送回应报文的IP地址对应的工控设备确定为在线工控设备;将确定出的在线工控设备的IP地址确定为IP地址列表。

上述装置还包括:数据包生成模块,用于根据预设的工控协议对应的协议帧结构,生成实时的信息请求数据包。

上述预设的设备信息库中保存有指纹信息和设备信息的对应关系;信息确定模块还用于:对回应信息进行数据包解析,从解析出的数据中提取在线工控设备的指纹信息;根据在线工控设备的指纹信息,从预设的设备信息库中查找得到在线工控设备的设备信息。

上述预设的漏洞信息库保存有设备信息和漏洞信息的对应关系;漏洞信息查找模块还用于:根据在线工控设备的设备信息,从预设的漏洞信息库中查找得到在线工控设备的漏洞信息。

本发明实施例提供的基于工控系统的安全漏洞探测装置,与上述实施例提供的基于工控系统的安全漏洞探测方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本发明实施例还提供的一种工控系统漏洞扫描系统,系统架构如图4所示,该漏洞扫描系统主要分为前台界面、控制中心、工控系统探测模块、数据比对模块和数据库模块五大部分,其中工控系统探测模块分网络探测和系统探测两部分,数据库模块分工控协议数据库模块和工控系统漏洞数据库模块两部分。

前台界面主要包括拓扑展示界面和扫描结果展示界面。拓扑展示界面的功能是展示工控系统网络拓扑图,用户可以在拓扑展示界面上选择想要对其进行漏洞扫描的工控设备;扫描结果展示界面的功能是展示用户选择的工控设备存在的漏洞,用户可以在扫描结果界面查看选择的工控设备存在的漏洞。

控制中心提供整个系统与前台界面的接口,负责控制和管理工控系统探测模块和数据比对模块。其中,工控系统探测模块是数据比对模块的基础。

控系统探测的主要功能是探测出网络中的工控设备以及工控设备的具体信息。主要包括网络探测和系统探测两部分:其中,网络探测的主要功能是探测出工控交换机的站名称、工控交换机的地址以及系统的广播地址等基本信息。系统探测的主要功能是探测出工控系统中的工控设备以及其站类型、站名称、制造商标识、设备标识、地址等具体信息。

数据比对模块的主要功能是根据工控系统探测模块中探测到的工控设备的具体信息,例如,站类型、站名称、制造商标识以及设备标识等查找工控系统漏洞库,找出该设备存在的漏洞。

数据库模块主要包括工控系统信息库和工控系统漏洞库两部分,工控系统信息库主要负责与工控系统探测模块进行数据交互;工控系统漏洞库主要负责与数据比对模块进行数据交互。

图5所示为上述工控系统漏洞扫描系统的网络拓扑图;漏洞扫描系统的网络环境主要由工控系统、工控系统漏洞扫描系统主机、工程师站主机、操作员站主机和测试主机组成,其中,工控系统包括工控设备和工控交换机(图5中未示出);工控设备包括PLC(Programmable Logic Controller,可编程逻辑控制器)设备和DCS(Distributed Control System,分布式控制系统)设备。上述工控系统漏洞扫描系统主机、工程师站主机、操作员站主机和测试主机通过总线与工控系统连接。

本发明实施例所提供的基于工控系统的安全漏洞探测方法、装置和工控系统漏洞扫描系统,本发明可以在任何时候对工控系统进行无扰的漏洞扫描,帮助企业发现漏洞,进而帮助企业完善工控系统。

本发明实施例所提供的基于工控系统的安全漏洞探测方法、装置和工控系统漏洞扫描系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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