CN104363131B - 基于有限状态机动态可扩展的电力通信协议异常检测方法 - Google Patents

基于有限状态机动态可扩展的电力通信协议异常检测方法 Download PDF

Info

Publication number
CN104363131B
CN104363131B CN201410540266.5A CN201410540266A CN104363131B CN 104363131 B CN104363131 B CN 104363131B CN 201410540266 A CN201410540266 A CN 201410540266A CN 104363131 B CN104363131 B CN 104363131B
Authority
CN
China
Prior art keywords
protocol
state machine
power communication
application layer
rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410540266.5A
Other languages
English (en)
Other versions
CN104363131A (zh
Inventor
黄益彬
金倩倩
杨维永
俞皓
朱应飞
朱世顺
宋述停
王强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Shanxi Electric Power Co Ltd
NARI Group Corp
Nari Information and Communication Technology Co
Original Assignee
State Grid Corp of China SGCC
State Grid Shanxi Electric Power Co Ltd
Nari Information and Communication Technology Co
Nanjing NARI Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Shanxi Electric Power Co Ltd, Nari Information and Communication Technology Co, Nanjing NARI Group Corp filed Critical State Grid Corp of China SGCC
Priority to CN201410540266.5A priority Critical patent/CN104363131B/zh
Publication of CN104363131A publication Critical patent/CN104363131A/zh
Application granted granted Critical
Publication of CN104363131B publication Critical patent/CN104363131B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Communication Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本发明公开了一种基于有限状态机动态可扩展的电力通信协议异常检测方法,通过协议描述规则对电力通信协议L2‑L7层(链路层到应用层)定义、协议状态机逻辑及异常处理逻辑进行描述,形成协议规则定义文件,然后通过协议规则解析引擎将协议规则定义文件翻译成协议规则库,根据协议规则库对网络数据包进行协议解析、状态检测及异常处理,不仅能够实现对各种应用层协议的动态扩展支持,能够实现对应用层协议上、下文状态检测与异常处理的动态扩展支持,便于电力通信协议异常检测,具有良好的应用前景。

Description

基于有限状态机动态可扩展的电力通信协议异常检测方法
技术领域
本发明涉及网络通信协议的异常检测方法,具体涉及一种基于有限状态机动态可扩展的电力通信协议异常检测方法。
背景技术
近年来,针对特定应用层业务的网络攻击事件不断发生,传统的网络安全防护设备(如防火墙、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协议进行协议解析过程中出错,或者在状态检查的过程中出错时(如在没有进入遥控预置状态的情况下,直接进入了遥控执行状态),进行审计、告警、阻断等异常处理。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (6)

1.基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:包括以下步骤,
步骤(1),针对电力通信中所用的电力应用层协议,分析其报文格式、交互流程,建立针对该电力应用层协议的有限状态机模型及异常处理模型;
步骤(2),基于可配置扩展的PDL语言,分别对该电力应用层协议的报文格式定义、协议状态机逻辑及异常处理逻辑进行描述,形成协议规则定义文件;
步骤(3),通过协议规则解析引擎对协议规则定义文件进行翻译,形成协议规则库;
步骤(4),从标准PCAP文件或者网络适配器中获取电力通信的网络数据包;
步骤(5),根据协议规则库对网络数据包进行协议识别与解析、状态检查与跟踪,在检测到异常时,触发异常处理动作,
其中,步骤(3)形成协议规则库,包括针对网络协议的识别与解析逻辑,还包括电力通信中所用的电力应用层协议的状态机逻辑及异常处理逻辑,通过协议规则解析引擎对协议规则定义文件进行翻译,形成协议规则库的方法,包括以下步骤,
(31)根据协议规则解析引擎对协议规则定义文件进行解析,建立全局的网络协议层次嵌套结构表;
(32)依据电力通信中所用的电力应用层协议的有限状态机逻辑建立相应的状态转移表,形成协议规则库。
2.根据权利要求1的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(2)协议状态机逻辑是指应用层协议有限个状态之间转移的关系。
3.根据权利要求1的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(2)协议规则定义文件采用XML格式,且协议规则定义文件可编辑,并支持动态可扩展。
4.根据权利要求1的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(5)对网络数据包进行协议识别与解析的过程为,
(501)根据全局的网络协议层次嵌套结构表,对网络数据包进行识别与解析,实现解析网络数据包的链路层到传输层协议;
(502)根据解析结果,匹配该网络数据包所属的数据流;
(503)针对网络数据包的应用层内容进行解析,将解析结果存入相应的结构体中;
(504)若解析过程中出错,则进行异常处理。
5.根据权利要求1的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(5)状态检查与跟踪的过程为,
(511)针对网络数据包内的每一条数据流,维护当前状态信息;
(512)当状态信息发生改变时,依据协议规则库中相应的应用层协议的状态转移表,检查状态的改变是否符合预期,若符合,则更新当前状态信息,否则,进行异常处理。
6.根据权利要求1的基于有限状态机动态可扩展的电力通信协议异常检测方法,其特征在于:步骤(5)触发异常处理动作包括审计、告警、阻断处理。
CN201410540266.5A 2014-10-14 2014-10-14 基于有限状态机动态可扩展的电力通信协议异常检测方法 Active CN104363131B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410540266.5A CN104363131B (zh) 2014-10-14 2014-10-14 基于有限状态机动态可扩展的电力通信协议异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410540266.5A CN104363131B (zh) 2014-10-14 2014-10-14 基于有限状态机动态可扩展的电力通信协议异常检测方法

Publications (2)

Publication Number Publication Date
CN104363131A CN104363131A (zh) 2015-02-18
CN104363131B true CN104363131B (zh) 2017-11-21

Family

ID=52530358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410540266.5A Active CN104363131B (zh) 2014-10-14 2014-10-14 基于有限状态机动态可扩展的电力通信协议异常检测方法

Country Status (1)

Country Link
CN (1) CN104363131B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106850559B (zh) * 2016-12-26 2021-07-16 中国科学院计算技术研究所 一种可扩展的网络协议解析***及方法
CN108768929B (zh) * 2018-04-09 2021-04-13 平安科技(深圳)有限公司 电子装置、征信反馈报文的解析方法及存储介质
CN108769132A (zh) * 2018-05-04 2018-11-06 武汉灵动在线科技有限公司 一种基于lua的游戏协议解析与热更新方法及***
CN108933784B (zh) * 2018-06-26 2021-02-09 北京威努特技术有限公司 一种工控协议解码规则的表述及优化解码方法
CN111163043B (zh) * 2018-11-08 2023-03-21 全球能源互联网研究院有限公司 一种源网荷***实时交互协议深度解析方法和***
CN110012005B (zh) * 2019-03-29 2022-05-06 新华三大数据技术有限公司 识别异常数据的方法、装置、电子设备及存储介质
CN111314289B (zh) * 2019-12-26 2022-04-22 青岛海天炜业过程控制技术股份有限公司 一种识别基于以太网的工控协议危险通讯数据的方法
CN111556067B (zh) * 2020-05-09 2022-05-20 中国航空无线电电子研究所 基于有穷状态机的网络数据协议描述结构及解析方法
CN111404971B (zh) * 2020-06-08 2020-10-23 季华实验室 一种工业机器人网络接口安全控制方法、装置和电子设备
CN113518093B (zh) * 2021-09-14 2021-12-07 南京中孚信息技术有限公司 数据包识别方法、装置及网络设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119241A (zh) * 2007-08-24 2008-02-06 北京启明星辰信息技术有限公司 一种基于状态检测的协议异常检测方法及***
CN101399710A (zh) * 2007-09-29 2009-04-01 北京启明星辰信息技术有限公司 一种协议格式异常检测方法及***
CN101426000A (zh) * 2007-10-30 2009-05-06 北京启明星辰信息技术有限公司 一种通用协议解析方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732669B2 (en) * 2011-03-11 2014-05-20 Oracle International Corporation Efficient model checking technique for finding software defects

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119241A (zh) * 2007-08-24 2008-02-06 北京启明星辰信息技术有限公司 一种基于状态检测的协议异常检测方法及***
CN101399710A (zh) * 2007-09-29 2009-04-01 北京启明星辰信息技术有限公司 一种协议格式异常检测方法及***
CN101426000A (zh) * 2007-10-30 2009-05-06 北京启明星辰信息技术有限公司 一种通用协议解析方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于***调用状态机的异常入侵检测方法;刘晖;《中国优秀硕士学位论文全文数据库(电子期刊)》;20040228(第02期);I139-68 *

Also Published As

Publication number Publication date
CN104363131A (zh) 2015-02-18

Similar Documents

Publication Publication Date Title
CN104363131B (zh) 基于有限状态机动态可扩展的电力通信协议异常检测方法
WO2020134867A1 (zh) 一种用于电力终端的异常数据的检测方法及装置
CN104506484B (zh) 一种私有协议分析与识别方法
US9628497B2 (en) Method and system for classifying a protocol message in a data communication network
CN104834528B (zh) 依赖版本处理插件及采用其对依赖版本进行处理的方法
US11196758B2 (en) Method and system for enabling automated log analysis with controllable resource requirements
JP6055548B2 (ja) データストリームにおいてデータパターンを検出する装置、方法、及びネットワークサーバ
CN107026821A (zh) 报文的处理方法及装置
CN105245403A (zh) 一种基于模糊测试的电网工控协议漏洞挖掘***和方法
US20150195154A1 (en) Creating a Knowledge Base for Alarm Management in a Communications Network
CN109768952A (zh) 一种基于可信模型的工控网络异常行为检测方法
US20190182368A1 (en) Ot system monitoring method, apparatus, and system, and storage medium
CN103763695B (zh) 一种物联网安全测评方法
Nakao et al. Application specific slicing for MVNO through software-defined data plane enhancing SDN
CN109547455A (zh) 工业物联网异常行为检测方法、可读存储介质和终端
Faisal et al. Modeling Modbus TCP for intrusion detection
CN109660518A (zh) 网络的通信数据检测方法、装置以及机器可读存储介质
CN107861856A (zh) 云数据***中告警信息的处理方法和计算机存储介质
CN109688112A (zh) 工业物联网异常行为检测装置
CN104317847A (zh) 一种识别网络文字信息的语种的方法及***
CN108199906B (zh) 一种sdn构架中异常流量处理方法、装置和用户终端
CN103517292A (zh) 一种移动终端信息上报方法和装置
CN106792876A (zh) 端到端网络感知评估方法和***
CN112291226A (zh) 一种网络流量的异常检测方法及装置
CN111427307A (zh) 一种工控异常检测方法、装置及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Co-patentee after: NARI Group Corp.

Patentee after: State Grid Corporation of China

Co-patentee after: NARI INFORMATION AND COMMUNICATION TECHNOLOGY Co.

Co-patentee after: STATE GRID SHANXI ELECTRIC POWER Co.

Address before: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Co-patentee before: NARI Group CORPORATION STATE GRID ELECTRIC POWER INSTITUTE

Patentee before: State Grid Corporation of China

Co-patentee before: NARI INFORMATION AND COMMUNICATION TECHNOLOGY Co.

Co-patentee before: STATE GRID SHANXI ELECTRIC POWER Co.