基于有限状态机动态可扩展的电力通信协议异常检测方法
技术领域
本发明涉及网络通信协议的异常检测方法,具体涉及一种基于有限状态机动态可扩展的电力通信协议异常检测方法。
背景技术
近年来,针对特定应用层业务的网络攻击事件不断发生,传统的网络安全防护设备(如防火墙、IDS等)由于只针对网络层进行检测,难以发现这类应用层攻击事件,因此,急需加强对网络应用层数据的安全监测。
相比于网络层的通信协议,应用层协议数量众多,不仅有大量通用的应用层协议(如HTTP、FTP、SSH等),而且还有很多行业专用的应用层协议(如电力通信行业专用的IEC60870-5-104、IEC61850协议等),同时,各种新的应用层协议层出不穷,完全实现对如此众多的应用层协议的识别与解析几乎不可能。
目前,针对电力通信行业中的应用层协议识别与解析所采用的方法大体分为以下几种:一、采用硬编码的方式,直接将所支持的应用层协议的识别与解析编写进程序代码,采用此方法时,在需要对协议解析方法进行修改或者需要扩充支持更多的应用层协议时,需要重新进行硬编码,可扩展性差;二、采用动态库的方式,采用此方法,可以方便的扩展对新应用层协议的支持,但必须要程序编码人员进行定制开发,费时费力;三、采用中间脚本语言,实现对网络协议的解析,如Wireshark支持通过Lua脚本语言添加对新的网络协议的解析支持,但使用者需要掌握Lua的语法,且Lua提供的功能有限,不适合对数据包上下文进行状态检测跟踪等复杂的处理。
发明内容
本发明所解决的技术问题是相比于网络层的通信协议,应用层协议数量众多,难以发现这类应用层攻击事件,尤其电力通信协议出现异常的情况的问题。本发明的基于有限状态机动态可扩展的电力通信协议异常检测方法,通过将应用层协议的解析逻辑、协议状态机逻辑及异常处理逻辑统一定义在可编辑的协议文件中,不仅能够实现对各种应用层协议的动态扩展支持,能够实现对应用层协议上、下文状态检测与异常处理的动态扩展支持,便于电力通信协议异常检测,具有良好的应用前景。
为了解决上述问题,本发明所采用的技术方案是:
一种基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:包括以下步骤,
步骤(1),针对电力通信中所用的电力应用层协议,分析其报文格式、交互流程,建立针对该电力应用层协议的有限状态机模型及异常处理模型;
步骤(2),基于可配置扩展的PDL语言,分别对该电力应用层协议的报文格式定义、协议状态机逻辑及异常处理逻辑进行描述,形成协议规则定义文件;
步骤(3),通过协议规则解析引擎对协议规则定义文件进行翻译,形成协议规则库;
步骤(4),从标准PCAP文件或者网络适配器中获取电力通信的网络数据包;
步骤(5),根据协议规则库对网络数据包进行协议识别与解析、状态检查与跟踪,在检测到异常时,触发异常处理动作。
前述的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(2)协议状态机逻辑是指应用层协议有限个状态之间转移的关系。
前述的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(2)形成协议规则定义文件采用XML格式为可编辑的,并支持动态可扩展。
前述的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(3)形成协议规则库,包括针对网络协议的识别与解析逻辑,还包括电力通信中所用的电力应用层协议的状态机逻辑及异常处理逻辑。
前述的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(3)通过协议规则解析引擎对协议规则定义文件进行翻译,形成协议规则库的方法,包括以下步骤,
(1)根据协议规则解析引擎对协议规则定义文件进行解析,建立全局的网络协议层次嵌套结构表;
(2)依据电力通信中所用的电力应用层协议的有限状态机逻辑建立相应的状态转移表,形成协议规则库。
前述的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(5)对网络数据包进行协议识别与解析的过程为,
(1)根据全局的网络协议层次嵌套结构表,对网络数据包进行识别与解析,实现解析网络数据包的链路层到传输层协议;
(2)根据解析结果,匹配该网络数据包所属的数据流;
(3)针对网络数据包的应用层内容进行解析,将解析结果存入相应的结构体中;
(4)若解析过程中出错,则进行异常处理。
前述的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(5)状态检查与跟踪的过程为,
(1)针对网络数据包内的每一条数据流,维护当前状态信息;
(2)当状态信息发生改变时,依据协议规则库中相应的应用层协议的状态转移表,检查状态的改变是否符合预期,若符合,则更新当前状态信息,否则,进行异常处理。
前述的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(5)触发异常处理动作包括审计、告警、阻断处理。
本发明的有益效果是:本发明的基于有限状态机动态可扩展的电力通信协议异常检测方法,通过协议描述规则对电力通信协议L2-L7层定义、协议状态机逻辑及异常处理逻辑进行描述,形成协议规则定义文件,然后通过协议规则解析引擎将协议规则定义文件翻译成协议规则库,根据协议规则库对网络数据包进行协议解析、状态检测及异常处理,并具有以下优点,
(1)通过可扩展的PDL对应用层协议进行详细描述,能够对传统边界网关所无法深度处理的协议内容进行深度处理,实现对包括报文头以及报文数据字段内容的全面控制;
(2)通过基于有限状态机模型的状态检查与跟踪,能够对通信报文上下文行为进行细颗粒度异常检查;
(2)将应用层协议解析、协议状态机逻辑及异常处理逻辑全部定义在可编辑的协议规则定义文件中,方便了对新的应用层协议的支持,同时,非编码人员经过一定的培训,也能够通过修改协议规则定义文件来支持对新的应用层协议的处理,具有良好的应用前景。
附图说明
图1是本发明的基于有限状态机动态可扩展的电力通信协议异常检测方法的数据流向图。
具体实施方式
下面将结合说明书附图,对本发明作进一步的说明。
本发明的基于有限状态机动态可扩展的电力通信协议异常检测方法,通过协议描述规则对电力通信协议L2-L7层(链路层到应用层)定义、协议状态机逻辑及异常处理逻辑进行描述,形成协议规则定义文件,然后通过协议规则解析引擎将协议规则定义文件翻译成协议规则库,根据协议规则库对网络数据包进行协议解析、状态检测及异常处理,如图1所示,具体包括以下步骤,
步骤(1),针对电力通信中所用的电力应用层协议,分析其报文格式、交互流程,建立针对该电力应用层协议的有限状态机模型及异常处理模型;
步骤(2),基于可配置扩展的PDL语言,分别对该电力应用层协议的报文格式定义、协议状态机逻辑及异常处理逻辑进行描述,形成协议规则定义文件,协议规则定义文件,采用XML格式为可编辑的,并支持动态可扩展,可以方便的添加对新的应用层协议的支持,可扩展性强;
步骤(3),通过协议规则解析引擎对协议规则定义文件进行翻译,形成协议规则库,协议规则库包括针对网络协议的识别与解析逻辑,还包括电力通信中所用的电力应用层协议的状态机逻辑及异常处理逻辑,包括以下步骤,
(1)根据协议规则解析引擎对协议规则定义文件进行解析,建立全局的网络协议层次嵌套结构表;
(2)依据电力通信中所用的电力应用层协议的有限状态机逻辑建立相应的状态转移表,形成协议规则库;
步骤(4),从标准PCAP文件或者网络适配器中获取电力通信的网络数据包;
步骤(5),根据协议规则库对网络数据包进行协议识别与解析、状态检查与跟踪,在检测到异常时,触发异常处理动作,
协议识别与解析的过程为,
(1)根据全局的网络协议层次嵌套结构表,对网络数据包进行识别与解析,实现解析网络数据包的L2-L4层(链路层到传输层)协议;
(2)根据解析结果,匹配该网络数据包所属的数据流;
(3)针对网络数据包的L7层(应用层)内容进行解析,将解析结果存入相应的结构体中;
(4)若解析过程中出错,则进行异常处理。
状态检查与跟踪的过程为,
(1)针对网络数据包内的每一条数据流,维护当前状态信息;
(2)当状态信息发生改变时,依据协议规则库中相应的应用层协议的状态转移表,检查状态的改变是否符合预期,若符合,则更新当前状态信息,否则,
触发异常处理,触发动作包括审计、告警、阻断处理,当进行连接阻断时,将对TCP连接的两端分别发放重置报文,从而强制断开此TCP连接。
根据本发明的基于有限状态机动态可扩展的电力通信协议异常检测方法,介绍一具体实施例,
针对电力通信协议IEC-60870-5-104协议(以下简称104协议),
(1)分析其报文帧格式(包括I帧、S帧、U帧等),确立协议的各种状态并建立状态转移表(如在遥控操作时,先进入遥控预置状态,然后可以进入遥控执行状态或者遥控撤销状态);
(2)通过PDL描述语言将104协议的协议解析逻辑,协议状态机逻辑及异常处理逻辑定义到协议规则定义文件中去;
(3)这里为1个电力通信协议IEC-60870-5-104协议,协议规则定义文件即为协议规则库;
(4)在对报文进行处理时,当帧测到基于104协议的数据流的第一条报文时,为对应的数据流建立状态跟踪信息,并将状态跟踪信息置于初始状态,之后依据之前建立的104协议状态转移表对此104协议数据流进行持续的状态跟踪,并更新状态信息内容;
(5)当对104协议进行协议解析过程中出错,或者在状态检查的过程中出错时(如在没有进入遥控预置状态的情况下,直接进入了遥控执行状态),进行审计、告警、阻断等异常处理。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。