基于虚拟补丁的工业控制系统保护方法、装置、设备及介质与流程

    专利2022-07-08  141


    本发明涉及工业控制技术领域,尤其涉及一种基于虚拟补丁的工业控制系统保护方法、装置、设备及介质。



    背景技术:

    工业控制系统(industrialcontrolsystems,ics,简称工控系统),是由各种自动化控制组件和过程控制组件共同构成的确保工业基础设施自动化运行、过程控制与监控的业务流程管控系统。与it设备的不同之处在于,大多数工控系统相对比较老旧,为了不影响工业生产,需要持续在生产环境上运行,在一般情况下无法进行停机升级操作。

    恶意攻击者通常会使用已公开的漏洞或0day漏洞对工控系统进行攻击。由于工控系统的特殊性,其可用性要求具有较高的优先级,因此工控系统厂商在修复漏洞时,往往需要数月甚至超过一年的时间来对修补漏洞后的工控系统进行稳定性测试,保证修补升级后不会出现异常,确保生产不被中断。而对于生产企业而言,为了保证生产不受影响,在未遭受实际网络攻击时,为了避免升级造成的生产中断或其他不确定风险,一般也不会轻易升级工控系统。另外,由于部分工控系统厂商并不重视设备安全问题,对于已经发现的漏洞也不会进行修补升级。因此,在工控系统厂商正式发布修复漏洞的补丁或固件之前,生产环境中的工控系统是长期暴露在安全风险之下的。

    目前,为了对工控系统进行防护,一般采用nids或者nips对已公开漏洞的攻击进行检测。但是采用nids或者nips进行漏洞检测具有以下缺点:一是攻击者可以轻易对漏洞攻击程序及其发送的数据进行修改变异,从而规避网络安全产品提取的特征信息,进而绕过网络安全产品的检测;二是无法检测或者防护未公开漏洞的攻击,由于未公开漏洞并未公开,因此无法针对性的提取未公开漏洞的特征信息进行漏洞识别,从而无法对未公开漏洞的攻击进行有效防护。

    针对现有技术不能对已公开漏洞和未公开漏洞进行有效检测和防御的问题,目前尚未提出有效的解决方法。



    技术实现要素:

    本发明实施例提供了一种基于虚拟补丁的工业控制系统保护方法、装置、设备及介质,以至少解决对任意漏洞进行有效检测的问题。

    第一方面,本发明实施例提供了一种基于虚拟补丁的工业控制系统保护方法,应用于设置在工业控制系统外部的工业控制系统保护装置,包括以下步骤:

    接收上位机发送的目标数据;

    根据工控协议特征,识别所述目标数据所采用的工控协议类型;

    根据所述目标数据的工控协议类型,确定对应的工控协议规约,检测所述目标数据是否满足以下约束规则之一:

    检测所述目标数据的定义字段是否与所述对应的工控协议规约规定的字段相符,

    检测所述目标数据的字段类型是否与所述对应的工控协议规约规定的字段类型相符,

    检测所述目标数据的长度是否在所述对应的工控协议规约规定的数据长度范围内,

    检测所述目标数据的数值范围是否在所述对应的工控协议规约规定的数值范围内;

    若所述目标数据不满足所述约束规则之一,则判定所述目标数据为异常数据;

    拦截并丢弃所述异常数据。

    在其中一些实施例中,所述工业控制系统保护装置接入工业控制系统的通信接口。

    在其中一些实施例中,所述工控协议特征包括预先存储的各工控协议的数据格式和/或各工控协议定义的特有字段。

    在其中一些实施例中,若所述工控协议特征为预先存储的各工控协议的数据格式,则所述根据工控协议特征,识别所述目标数据所采用的工控协议类型,包括:

    将所述目标数据所采用的数据格式与预先存储的各工控协议的数据格式进行比对,将比对成功的工控协议的类型作为所述目标数据所采用的工控协议类型。

    在其中一些实施例中,若所述工控协议特征为预先存储的各工控协议定义特有字段,则所述根据工控协议特征,识别所述目标数据所采用的工控协议类型,包括:

    将所述目标数据的各字段与预先存储的各工控协议定义的特殊字段进行比对,将比对成功的工控协议的类型作为所述目标数据所采用的工控协议类型。

    在其中一些实施例中,若所述工控协议特征为预先存储的各工控协议的数据格式和各工控协议定义特有字段,则所述根据工控协议特征,识别所述目标数据所采用的工控协议类型,包括:

    将所述目标数据所采用的数据格式与预先存储的各工控协议的数据格式进行比对,将比对成功的工控协议的类型作为所述目标数据所采用的工控协议类型;

    若比对成功的工控协议大于一个,则将所述目标数据的各字段继续与所述比对成功的工控协议的特殊字段进行第二次比对;

    将所述第二次比对成功的工控协议的类型作为所述目标数据所采用的工控协议类型。

    在其中一些实施例中,若所述目标数据满足所有的所述约束规则,则判定所述目标数据为正常数据,将所述正常数据发送至工业控制系统。

    第二方面,本发明实施例提供了一种基于虚拟补丁的工业控制系统保护装置,包括:

    数据接收模块,用于接收上位机发送的目标数据;

    协议识别模块,用于根据工控协议特征,识别所述目标数据所采用的工控协议类型;

    数据检测模块,用于根据所述目标数据的工控协议类型,确定对应的工控协议规约,检测所述目标数据是否满足以下约束规则之一:检测所述目标数据的定义字段是否与所述对应的工控协议的规定的字段相符,检测所述目标数据的字段类型是否与所述对应的工控协议规约规定的字段类型相符,检测所述目标数据的长度是否在所述对应的工控协议规约规定的数据长度范围内,检测所述目标数据的数值范围是否在所述对应的工控协议规约规定的数值范围内;若所述目标数据不满足所述约束规则之一,则判定所述目标数据为异常数据;

    异常拦截模块,用于拦截并丢弃所述异常数据。

    第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于虚拟补丁的工业控制系统保护方法。

    第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的基于虚拟补丁的工业控制系统保护方法。

    相比于现有技术,本发明实施例提供一种基于虚拟补丁的工业控制系统保护方法、装置、设备及介质,在数据发送至工业控制系统之前,通过对不符合工控协议约束规则的异常数据进行检测和拦截,从而保护工业控制系统不被异常数据破坏。

    通过本发明实现异常数据拦截时,不需要对工业控制系统进行补丁升级或固件升级,因此可以避免因升级造成的生产中断或者其他风险,保证了工业控制系统的高可用性。并且由于本发明在进行异常数据检测时并不依赖于任何漏洞的特征,因此可以对包括已公开漏洞和未公开漏洞在内的任何漏洞进行检测和防御,提高了工业控制系统的安全性。

    本发明的一个或多个实施例的细节在以下附图和描述中提出,以使本发明的其他特征、目的和优点更加简明易懂。

    附图说明

    此处所说明的附图用来提供对本申请的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

    图1是本发明基于虚拟补丁的工业控制系统保护方法的流程图;

    图2是本发明实施例的基于虚拟补丁的工业控制系统保护装置的结构框图;

    图3是本发明实施例的电子设备的结构框图。

    具体实施方式

    为了使本申请的目的、技术方案更加清楚明白,以下结合附图及实施例,对本发明的进行描述和说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。基于本发明提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

    显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

    在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

    本发明基于虚拟补丁的工业控制系统保护方法、装置、设备及介质,根据工控系统漏洞一般利用工控协议对工业控制系统进行攻击的特性,将带有漏洞利用的攻击数据与正常生产所使用的工控协议数据的特点进行比对分析,找出攻击数据与正常工控协议数据的不同,攻击数据的内容与工控协议规约的约束不符,是攻击者精心构造的恶意数据,因此对上位机发送给工业控制系统的数据进行检测,实现对不符合工业协议约束的数据进行有效的异常判断或者拦截,可实现对漏洞的有效拦截和防御。

    实施例1

    基于上述原理,本实施例提供一种对基于虚拟补丁的工业控制系统保护方法,图1是本发明基于虚拟补丁的工业控制系统保护方法的流程图,如图1所示,基于虚拟补丁的工业控制系统保护方法,应用于设置在工业控制系统外部的工业控制系统保护装置,包括以下步骤:

    s101、接收上位机发送的目标数据。

    通过在工业控制系统外部设置工业控制系统保护装置实现基于虚拟补丁的工业控制系统保护方法,不要求对工业控制系统做系统和固件升级,也不对工业控制系统本身的逻辑做任何修改,仅通过外设的工业控制系统保护装置对工业控制系统进行虚拟修复,能有效避免工业控制系统升级补丁出现系统故障或崩溃。

    上述工业控制系统保护装置在本实施例中为执行基于虚拟补丁的工业控制系统保护方法的pc机或服务器。

    上述上位机传输工控数据至工业控制系统,在本实施例中,上位机传输的工控数据会先传输至工业控制系统保护装置进行异常检测。

    s102、根据工控协议特征,识别目标数据所采用的工控协议类型。

    工控协议是指实现工业控制系统的现场网络与控制网络之间的通信、现场网络与各工控设备之间的通信、控制网络各组件的通信所采用的工业控制系统特有的通信协议。工控协议可分为公有通信协议和私有通信协议,公有通信协议由标准化组织或者企业制定的通用型通用协议,该公有通信协议的规约在行业内外公开;私有通信协议是由某些企业或组织内部自定义的通信协议,这类通信协议通常用于企业或者组织自有系统的通信,私有通信协议的规约不对外公开。

    目前应用于工业控制领域的工控协议有30多种,包括siemenss7、mms(iec61850)、goose(iec61850)、modbus、dnp3、iec104、ethernet等。当然,随着技术和业务需求的发展,可能会制定新的工控协议,但是不同的工控协议的规约内容不同,因此,可以预先对这些工控协议进行分析,提取各工控协议的特征(区分与其他工控协议的内容或格式)进行存储,用于判断传输的工控数据(目标数据)采用何种工控协议,以进一步确定工控数据是否满足工控协议的约束,从而判断工控数据是否为精心构造的恶意数据。

    s103、根据目标数据的工控协议类型,确定对应的工控协议规约,检测目标数据是否满足以下约束规则之一:

    检测目标数据的定义字段是否与对应的工控协议规约规定的字段相符,

    检测目标数据的字段类型是否与对应的工控协议规约规定的字段类型相符,

    检测目标数据的长度是否在对应的工控协议规约规定的数据长度范围内,

    检测目标数据的数值范围是否在对应的工控协议规约规定的数值范围内。

    在检测目标数据是否满足所采用的工控协议的约束规则时,将目标数据与上述约束规则的逐一比对。各工控协议的上述约束规则被预先提取并存储,确定目标数据采用的工控协议时,可直接查询该工控协议的约束规则作为比对模板,若目标数据满足上述所有的约束规则,则为正常的工控数据,若有至少一个约束规则不满足,则判定为异常数据,表明目标数据被恶意篡改。

    s104、若目标数据不满足所述约束规则之一,则判定目标数据为异常数据;

    s105、拦截并丢弃该异常数据。

    当目标数据被判定为异常数据时,该目标数据不会被转发至工业控制系统,而是被直接丢弃。

    本实施例的基于虚拟补丁的工业控制系统保护方法,不依赖于任何漏洞自身的特征信息进行漏洞检测,而是基于工控协议自身的规约定义来检测工控数据是否为异常数据,可以避免攻击者通过修改漏洞的特征信息逃避检测的情况发生,也可以对未提取到特征信息的未公开漏洞进行检测,从而实现对已公开漏洞、未公开漏洞以及其他异常行为进行检测和防御,实现对工业控制系统的有效防护。具有操作简单,防护及时的优点,在提高工业控制系统的安全性的同时,能保证工业控制系统运行的稳定性。

    优选地,上述工业控制系统保护装置接入工业控制系统的通信接口,该工业控制系统保护装置通过网络与上位机通信,构成上位机-工业控制系统保护装置-工业控制系统的工控数据传输链路。

    优选地,上述工控协议特征包括预先存储的各工控协议的数据格式和/或各工控协议定义的特有字段。

    优选地,在本实施例中,工控协议特征为预先存储的各工控协议的数据格式,则根据工控协议特征,识别所述目标数据所采用的工控协议类型,包括:

    将目标数据所采用的数据格式与预先存储的各工控协议的数据格式进行比对,将比对成功的工控协议的类型作为目标数据所采用的工控协议类型。

    在其中一些实施例中,工控协议特征为预先存储的各工控协议定义特有字段,则根据工控协议特征,识别目标数据所采用的工控协议类型,包括:

    将所述目标数据的各字段与预先存储的各工控协议定义的特殊字段进行比对,将比对成功的工控协议的类型作为所述目标数据所采用的工控协议类型。

    在其中一些实施例中,工控协议特征为预先存储的各工控协议的数据格式和各工控协议定义特有字段,则根据工控协议特征,识别目标数据所采用的工控协议类型,包括:

    将目标数据所采用的数据格式与预先存储的各工控协议的数据格式进行比对,将比对成功的工控协议的类型作为目标数据所采用的工控协议类型;

    若比对成功的工控协议大于一个,则将目标数据的各字段继续与比对成功的工控协议的特殊字段进行第二次比对;

    将第二次比对成功的工控协议的类型作为目标数据所采用的工控协议类型。

    需要注意是,各工控协议的规约为本领域的公知技术材料,且各工控协议的数据格式或特有字段也不尽相同,在此不作具体介绍,在执行本实施例方法时,通过查阅分析各工控协议规约,可提取各工控协议的数据格式、特有字段等内容作为各工控协议的特征进行预先存储。

    优选地,当所述目标数据满足上述所有的约束规则,则判定目标数据为正常数据,将该正常数据转发至工业控制系统。

    实施例2

    本实施例提供一种基于虚拟补丁的工业控制系统保护装置,该装置用于实现上述实施例及优选实施例方式,已经进行过说明的不再赘述,如下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能实现并被构想的。

    图2是本发明实施例的基于虚拟补丁的工业控制系统保护装置的结构框图,如图2所示,该装置包括:

    数据接收模块21,用于接收上位机发送的目标数据;

    协议识别模块22,用于根据工控协议特征,识别目标数据所采用的工控协议类型;

    数据检测模块23,用于根据目标数据的工控协议类型,确定对应的工控协议规约,检测目标数据是否满足以下约束规则之一:检测目标数据的定义字段是否与对应的工控协议规约规定的字段相符,检测目标数据的字段类型是否与对应的工控协议规约规定的字段类型相符,检测目标数据的长度是否在对应的工控协议规约规定的数据长度范围内,检测目标数据的数值范围是否在对应的工控协议规约规定的数值范围内;若目标数据不满足上述约束规则之一,则判定目标数据为异常数据,若目标数据满足上述各项约束规则,则判定目标数据为正常数据;

    异常拦截模块24,用于拦截并丢弃上述异常数据。

    需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。

    实施例3

    图3为本发明实施例的一种电子设备的结构示意图,如图3所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图3所示。该电子设备包括处理器、存储器、输入装置和输出装置;其中该电子设备中处理器的数量可以是一个或多个,图3中以一个处理器为例;电子设备中的处理器、存储器、输入装置和输出装置可以通过总线或其他方式连接,图3中以通过总线连接为例。

    存储器作为一种计算机可读存储介质,可以包括高速随机存取存储器、非易失性存储器等,可用于存储操作系统、软件程序、计算机可执行程序和数据库,如本发明实施例1的基于虚拟补丁的工业控制系统保护方法对应的程序指令/模块,还可以包括内存,可用于为操作系统和计算机程序提供运行环境。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。

    处理器用于提供计算和控制能力,可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者可以被配置成实施本申请实施例的一个或多个集成电路。处理器通过运行存储在存储器中的计算机可执行程序、软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现实施例1的基于虚拟补丁的工业控制系统保护方法。

    该电子设备的输出装置可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

    该电子设备还可包括网络接口/通信接口,该电子设备的网络接口用于与外部的终端通过网络连接通信。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

    本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所述更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

    本领域普通技术人员可以理解实现实施例1的基于虚拟补丁的工业控制系统保护方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

    实施例4

    本发明实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现基于虚拟补丁的工业控制系统保护方法,该方法包括:

    接收上位机发送的目标数据;

    根据工控协议特征,识别目标数据所采用的工控协议类型;

    根据目标数据的工控协议类型,确定对应的工控协议规约,检测目标数据是否满足以下约束规则之一:

    检测目标数据的定义字段是否与对应的工控协议规约规定的字段相符,

    检测目标数据的字段类型是否与对应的工控协议规约规定的字段类型相符,

    检测目标数据的长度是否在对应的工控协议规约规定的数据长度范围内,

    检测目标数据的数值范围是否在对应的工控协议规约规定的数值范围内;

    若目标数据不满足上述约束规则之一,则判定目标数据为异常数据;

    拦截并丢弃上述异常数据。

    当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述实施例的基于虚拟补丁的工业控制系统保护方法操作,还可以执行本发明任意实施例所提供的基于虚拟补丁的工业控制系统保护方法中的相关操作。

    通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的基于虚拟补丁的工业控制系统保护方法。

    值得注意的是,上述基于虚拟补丁的工业控制系统保护方法的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

    除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

    对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。


    技术特征:

    1.一种基于虚拟补丁的工业控制系统保护方法,其特征在于,应用于设置在工业控制系统外部的工业控制系统保护装置,包括以下步骤:

    接收上位机发送的目标数据;

    根据工控协议特征,识别所述目标数据所采用的工控协议类型;

    根据所述目标数据的工控协议类型,确定对应的工控协议规约,检测所述目标数据是否满足以下约束规则之一:

    检测所述目标数据的定义字段是否与所述对应的工控协议规约规定的字段相符,

    检测所述目标数据的字段类型是否与所述对应的工控协议规约规定的字段类型相符,

    检测所述目标数据的长度是否在所述对应的工控协议规约规定的数据长度范围内,

    检测所述目标数据的数值范围是否在所述对应的工控协议规约规定的数值范围内;

    若所述目标数据不满足所述约束规则之一,则判定所述目标数据为异常数据;

    拦截并丢弃所述异常数据。

    2.如权利要求1所述的基于虚拟补丁的工业控制系统保护方法,其特征在于,所述工业控制系统保护装置接入工业控制系统的通信接口。

    3.如权利要求1所述的基于虚拟补丁的工业控制系统保护方法,其特征在于,所述工控协议特征包括预先存储的各工控协议的数据格式和/或各工控协议定义的特有字段。

    4.如权利要求3所述的基于虚拟补丁的工业控制系统保护方法,其特征在于,若所述工控协议特征为预先存储的各工控协议的数据格式,则所述根据工控协议特征,识别所述目标数据所采用的工控协议类型,包括:

    将所述目标数据所采用的数据格式与预先存储的各工控协议的数据格式进行比对,将比对成功的工控协议的类型作为所述目标数据所采用的工控协议类型。

    5.如权利要求3所述的基于虚拟补丁的工业控制系统保护方法,其特征在于,若所述工控协议特征为预先存储的各工控协议定义特有字段,则所述根据工控协议特征,识别所述目标数据所采用的工控协议类型,包括:

    将所述目标数据的各字段与预先存储的各工控协议定义的特殊字段进行比对,将比对成功的工控协议的类型作为所述目标数据所采用的工控协议类型。

    6.如权利要求3所述的基于虚拟补丁的工业控制系统保护方法,其特征在于,若所述工控协议特征为预先存储的各工控协议的数据格式和各工控协议定义特有字段,则所述根据工控协议特征,识别所述目标数据所采用的工控协议类型,包括:

    将所述目标数据所采用的数据格式与预先存储的各工控协议的数据格式进行比对,将比对成功的工控协议的类型作为所述目标数据所采用的工控协议类型;

    若比对成功的工控协议大于一个,则将所述目标数据的各字段继续与所述比对成功的工控协议的特殊字段进行第二次比对;

    将所述第二次比对成功的工控协议的类型作为所述目标数据所采用的工控协议类型。

    7.如权利要求1所述的基于虚拟补丁的工业控制系统保护方法,其特征在于,若所述目标数据满足所有的所述约束规则,则判定所述目标数据为正常数据,将所述正常数据发送至工业控制系统。

    8.一种基于虚拟补丁的工业控制系统保护装置,其特征在于,包括:

    数据接收模块,用于接收上位机发送的目标数据;

    协议识别模块,用于根据工控协议特征,识别所述目标数据所采用的工控协议类型;

    数据检测模块,用于根据所述目标数据的工控协议类型,确定对应的工控协议规约,检测所述目标数据是否满足以下约束规则之一:检测所述目标数据的定义字段是否与所述对应的工控协议的规定的字段相符,检测所述目标数据的字段类型是否与所述对应的工控协议规约规定的字段类型相符,检测所述目标数据的长度是否在所述对应的工控协议规约规定的数据长度范围内,检测所述目标数据的数值范围是否在所述对应的工控协议规约规定的数值范围内,若所述目标数据不满足所述约束规则之一,则判定所述目标数据为异常数据;

    异常拦截模块,用于拦截并丢弃所述异常数据。

    9.一种电子设备,包括存储器、处理器以及存储所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的基于虚拟补丁的工业控制系统保护方法。

    10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的基于虚拟补丁的工业控制系统保护方法。

    技术总结
    本发明公开了一种基于虚拟补丁的工业控制系统保护方法、装置、电子设备及计算机存储介质,涉及工业控制技术领域,旨在解决对任意漏洞进行有效检测的问题。该方法包含以下步骤:接收上位机发送的目标数据;根据工控协议特征,识别目标数据所采用的工控协议类型;根据目标数据的工控协议类型,确定对应的工控协议规约,根据对应的工控协议规约检测目标数据是否满足约束规则;若目标数据不满足上述约束规则之一,则判定目标数据为异常数据;拦截并丢弃该异常数据。

    技术研发人员:董阳;陈树华
    受保护的技术使用者:顶象科技有限公司
    技术研发日:2020.11.12
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-24303.html

    最新回复(0)