一种工控协议自适应深度检测装置与方法
【技术领域】
[0001]本发明属于工控系统安全领域,具体涉及一种用于工业控制安全防护的工控协议自适应深度检测装置与方法。
【背景技术】
[0002]在现有技术中,工业控制系统的安全防护一般采取逐层防护的方式部署,即在攻击路径上的任意位置如企业网入口、监控层网络入口、现场层网络入口设置特定的防护措施,阻断攻击,实现对安全等级最高的现场层的保护,工控安全防护设备需能支持各式现场总线通讯协议,层层拆解数据封包,深入剖析封包结构与封包内容,确保封包的合法性,即所谓的深层管理。然而,采用代理方式工作的工控防火墙工作在应用层,其工作方式是完全控制会话,针对特定的应用层协议,通过对每种应用服务建立专门的代理服务程序,支持MODBUS、0PC等多种工业协议,也可支持FTP等工控网内常见的传统协议的过滤,实现了工控以太网中常用控制协议的内容分析和完整性检查,能很好地监控工控协议的控制行为。通过对控制协议的深度分析,防止伪装成正常通信协议内容的恶意代码进入工业控制系统网络内部或区域内部,从而防止畸形代码攻击等多种发生在工控以太网络内部的攻击。虽然可以实现监控和控制应用层通信流的作用,但是其速度较慢,消耗过多的CPU资源,使得防护设备成为安全防护的瓶颈。尤其是在防护设备的CPU资源占用较多、接口流量过大时,处理速度过慢,安全防护设备成为响应瓶颈,对一切数据进行过滤分析造成速度过慢,数据交换有较大的时延,不适应工控系统的实时性要求,严重影响工控现场网络,甚至造成网络瘫痪,无法动态地适应现场情况,造成无法弥补的损失。
【发明内容】
[0003]为了解决现有技术中存在的上述问题,本发明提供一种工控协议自适应深度检测装置与方法,对安全防护设备的实际工作情况进行动态自适应分析,根据用户配置和防护设备的状态,动态调整安全防护级别,以避免因CPU资源占用较多、接口流量过大造成设备瘫痪。
[0004]为达到上述目的,本发明采用如下技术方案:
[0005]—种工控协议自适应深度检测装置,设置在工业网络和被保护设备之间,所述装置包括:中央处理器,内部存储器,Flash闪存,1个WAN(广域网)接口,4个LAN(局域网)接口,2个串行接口,所述中央处理器分别与所述内部存储器、Flash闪存、WAN接口、LAN接口、串行接口相连。其中,
[0006]所述中央处理器为运算控制中心,用于协调控制各部分电路的工作,通过运行软件程序实现工控协议自适应深度检测功能。
[0007]所述内部存储器用于存储存数据。
[0008]所述Flash闪存存储系统程序及实现工控协议自适应深度检测的软件程序。
[0009]所述WAN接口连接外部设备。
[0010]所述LAN接口连接被保护设备。
[0011]所述串行接口用于信息输出、日志输出和后台配置。
[0012]进一步地,所述中央处理器为SparcV8架构。
[0013]进一步地,所述串行接口采用RS485或RS232串口。
[0014]一种工控协议自适应深度检测方法,由设置在工业网络和被保护设备之间的装置截获外部设备向被保护设备发送的数据包,并在所述装置中运行如下步骤:
[0015]步骤1,逐级检测工控协议数据包是否合法。
[0016]步骤2,对被保护设备的状态指标进行检测。所述设备状态指标包括并发用户数、接口流量、内存使用量、进程数、CPU占用量。
[0017]步骤3,进行自适应检测调整。
[0018]根据步骤2检测到的状态指标及用户配置的检测级别适应规则,自动调整数据包深度检测的检测级别,即按照网络状态逐级降级调整。
[0019]进一步地,所述方法还包括在前置机安装后、系统运行前,或在运行过程中进行的用户配置步骤,用户通过界面或者Console命令方式进行如下配置:自适应检测指标配置;前置机设备网络接口、DNS配置;系统工作模式即代理模式、路由模式配置;网络访问控制的IP、MAC,IP范围、子网掩码,阻断/通过配置;自适应检测级别配置;端口控制配置。
[0020]进一步地,所述方法还包括日志管理步骤。日志管理步骤在步骤1之前开始并一直进行,记录系统运行日志、安全防护日志、访问日志、安全监控日志。每一条记录的日志至少包括事件发生的日期、时间、源IP、目的IP、协议、事件描述和结果,用于日志的查找及导出备份。
[0021]进一步地,所述方法还包括在步骤1之前进行的网络连接管理步骤,包括透明代理、加载网络驱动、网络监听服务、会话管理、内存池管理、接口管理。
[0022]进一步地,所述步骤1逐级检测工控协议数据包是否合法的方法包括以下步骤:
[0023]步骤1.1,0级检测:基于IP、MAC地址的网络访问控制。
[0024]判断数据包的IP地址、MAC地址是否合法,不合法则丢弃,并记录日志;合法则进入下一步。
[0025]步骤1.2,1级检测:端口控制。
[0026]解析数据包得到数据包的源端口、目的端口,判断端口是否合法,不合法则丢弃,并记录日志;合法则进入下一步。
[0027]步骤1.3,2级检测:协议控制,完整性检查、合法性检查。
[0028]判断数据包的协议类型,根据用户配置的协议控制要求,判断该协议数据包的完整性、合法性,不合法则丢弃,并记录日志;合法则进入下一步。
[0029]步骤1.4,3级检测:功能码控制、参数控制。
[0030]根据协议类型,判断该协议中某些字段是否合法,不合法则丢弃,并记录日志;合法则进入下一步。所述字段包括功能码控制、参数控制。
[0031]步骤1.5,4级检测:预置规则库匹配控制。
[0032]根据协议类型匹配预置规则库,判断协议是否符合预置规则,不符合则丢弃,并记录日志;符合则进入下一步。
[0033]步骤1.6,5级检测:用户自定义规则配置。
[0034]对用户自定义规则进行匹配,不合法则丢弃,并记录日志;合法则转发给目标地址。
[0035]进一步地,所述用户配置的检测级别适应规则是用户根据网络拥塞状态、流量控制信息和系统信息配置的降级工作规则。
[0036]进一步地,所述步骤2对被保护设备的状态指标进行检测的方法具体包括以下步骤:
[0037]步骤2.1,检测对请求作出响应所需要的时间:接到数据包时记录一个时间戳,数据包经处理后发出时记录一个时间戳,响应时间为后一个时间戳与前一个时间戳的差值。
[0038]步骤2.2,通过检测网络接口的网络连接数检测并发用户数。
[0039]步骤2.3,检测每个网络接口的流量。
[0040]步骤2.4,通过系统指令获取操作系统指标:使用内存数,进程数。
[0041]步骤2.5,将步骤2.1?2.4中检测到的网络状态数据存储到数据结构devicelnfo 中。
[0042]与现有技术相比,本发明具有以下有益效果:
[0043]本发明所述装置及方法通过对安全防护设备的实际工作情况进行动态自适应分析,并根据用户配置和防护设备的状态,动态调整安全防护级别,解决了现有技术中存在的由于CPU资源占用较多、接口流量过大引起设备瘫痪的问题。
【附图说明】
[0044]图1为工控协议自适应深度检测装置的组成框图;
[0045]图2为逐级检测工控协议数据包是否合法的流程图。
【具体实施方式】
[0046]下面结合附图和实施例对本发明做进一步说明。
[0047]一种工控协议自适应深度检测装置,安装在一个标准的机架上,设置在工业网络和被保护设备之间,所述装置的组成如图1所示,包括:中央处理器,内部存储器,Flash闪存,1个WAN接口,4个LAN接口,2个串行接口。所述中央处理器分别与所述内部存储器、Flash闪存、WAN接口、LAN接口、串行接口相连。其中,
[0048]中央处理器为运算控制中心,用于协调控制各部分电路的工作,通过运行软件程序实现工控协议自适应深度检测功能。中央处理器采用SparcV8架构,包含两个DDR插槽,分别支持512MB内存;包含运算逻辑、寄存器和控制器;其中运算逻辑支持定点、浮点运算、移位运算和逻辑操作,支持地址运算和转换;其中寄存器编址为32位。
[0049]内部存储器用于存储各种数据。内部存储器采用2个512MB的DDR内存,共1GB。通过总线与中央处理器连接。
[0050]Flash闪存用于存储系统程序,如操作系统VxWorks,及实现工控协议自适应深度检测的软件程序。
[0051]WAN接口连接外部设备。
[0052]LAN接口为4个,分别为LAN1?4,由LAN1连接被保护的设备,连接网线选择普通网线。
[0053]一种工控协议自适应深度检测方法,由设置在工业网络和被保护设备之间的工控协议自适应深度检测装置上安装的软件实现。由所述装置截获外部设备向被保护设备发送的数据包,并在前置机中运行如下步骤:工控协议数据包深度检测步骤,设备状态检测步骤,自适应检测调整步骤,还包括用户配置步骤、日志管理步骤、网络连接管理步骤。具体步骤如下:
[0054]S1、按照0?5级控制顺序,逐级检测工控协议数据包是否合法。流程图如图2所示,具体包括以下步骤:
[0055]A、0级:基于IP、MAC地址的网络访问控制
[0056]判断该数据包的IP地址、MAC地址是否合法,不合法则丢弃,并记录日志;合法则进入下一步。
[0057]B、1级:端口控制
[0058]解析数据包得到数据包的源端口、目的端口,判断端口是否合法,不合法则丢弃,并记录日志;合法则进入下一步。
[0059]C、2级:协议控制,完整性检查、合法性检查