IEC61850GOOSE协议字典及协议特征库的构建方法技术

技术编号:34142283 阅读:20 留言:0更新日期:2022-07-14 18:06
本发明专利技术提出IEC61850 GOOSE协议字典及协议特征库的构建方法,协议字典构建包括以下步骤;步骤A1:用XML标签表示协议字段;步骤A2:将表示协议字段的标签作为Protocol标签的元素内容,并以形成的XML文件为协议字典;特征库的构建包括以下步骤;步骤B1:根据协议字典生成协议字段表;步骤B2:针对协议字段的特点,定义多种功能函数,构造功能函数表;步骤B3:结合字段表和功能函数表从多角度构造协议特征,并用特征规则表示,然后将各协议特征对应的特征规则存储到不同的协议特征规则表中;步骤B4:基于协议字段表、功能函数表以及协议特征规则表,构建IEC61850 GOOSE协议特征库;本发明专利技术提供了IEC61850 GOOSE的协议特征提取方案,并提供了统一的协议特征表示方法。供了统一的协议特征表示方法。供了统一的协议特征表示方法。

【技术实现步骤摘要】
IEC61850 GOOSE协议字典及协议特征库的构建方法


[0001] 本专利技术涉及信息安全
,尤其是IEC61850 GOOSE协议字典及协议特征库的构建方法。

技术介绍

[0002] 目前电力监控系统缺乏针对网络安全相关内容的检测,导致上线后容易出现诸多安全隐患。而电力监控系统采用IEC61850 GOOSE协议来实现系统的实时性信号的可靠传输,对于传输的网络报文不进行加密处理,使得报文传输时数据完全暴露在攻击者面前,攻击者能够根据协议报文特征构造恶意报文进行攻击。因此,针对IEC61850 GOOSE协议开展安全性研究对于提升电力监控系统的安全性具有重要意义。
[0003]目前由于IEC61850 GOOSE协议报文格式复杂且报文字段与业务紧密相关,并且针对协议特征的提取研究相对缺乏,也没有统一的协议特征表示方法。此外,针对协议安全性测试使用的随机生成测试用例方式也存在盲目性大、测试效率低下的问题。因此,迫切需要一种描述协议字段特征的方法和描述协议不同特征的方法,并且需要构建合适的特征库以引入到协议的安全性测试当中,提升测试的效率和准确性。

技术实现思路

[0004] 本专利技术提出IEC61850 GOOSE协议字典及协议特征库的构建方法,提供了IEC61850 GOOSE的协议特征提取方案,并提供了统一的协议特征表示方法。
[0005]本专利技术采用以下技术方案。
[0006]IEC61850 GOOSE协议字典的构建方法,采用XML表示方法构建用于电力监控系统的IEC61850 GOOSE协议的协议字典,包括以下步骤;步骤A1:用XML标签表示协议字段;步骤A2:将表示协议字段的标签作为Protocol标签的元素内容,并以形成的XML文件为协议字典。
[0007]步骤A1的具体实现包括以下子步骤:步骤A1.1:根据IEC61850 GOOSE协议的字段编码方式的不同,将协议包含的字段分为以下三类,第一类是直接编码的字段,包括appid、length、reserved1、reserved2四个字段;第二类是TLV编码的普通字段,包括gocbref、timeallowedtolive、dataset字段;第三类是TLV编码的数据字段,包括data字段;步骤A1.2:使用XML标签对协议字段进行表示,针对直接编码的字段,用Block标签的各个属性表示;其中,字段名用name属性表示,字段值类型用valueType属性表示;步骤A1.3:针对TLV编码的普通字段,用Itemgroup、Item标签的各个属性表示。其中,字段名用name属性表示,字段标签用tag属性表示,字段值的取值类型用valueType表示;
步骤A1.4:针对TLV编码的数据字段,用Data标签的各个属性表示。其中字段名用name属性表示,字段标签用tag属性表示。
[0008]IEC61850 GOOSE协议特征库的构建方法,结合以上所述的协议字典来构建用于电力监控系统的IEC61850 GOOSE协议的特征库,包括以下步骤;步骤B1:根据协议字典生成协议字段表;步骤B2:针对协议字段的特点,定义多种功能函数,构造功能函数表;步骤B3:结合字段表和功能函数表从多角度构造协议特征,并用特征规则表示,然后将各协议特征对应的特征规则存储到不同的协议特征规则表中;步骤B4:基于协议字段表、功能函数表以及协议特征规则表,构建IEC61850 GOOSE协议特征库。
[0009]步骤B1的具体实现包括以下子步骤:步骤B1.1:创建一个协议字段表,表里包含字段号、字段名、字段值类型、字段标识和字段类型五个属性;步骤B1.2:顺序读取协议字典XML文件中的标签;步骤B1.3:判断当前标签是否为Block,若是则跳转到步骤B1.4,若否则跳转到B1.5;步骤B1.4:将该标签的所有属性取值作为一条记录插入字段表并设置字段类型为common,其中name取值对应字段名取值,valueType取值对应字段值类型取值;步骤B1.5:将该标签的所有属性取值作为一条记录插入字段表并设置字段类型为tlv,其中name取值对应字段名取值,tag取值对于字段标识取值,valueType取值对应字段值类型取值;步骤B1.6:判断XML文件是否读取完毕,若读取完毕则协议字段表构造结束,否则跳转到步骤B1.2继续执行。
[0010]步骤B2的具体实现包括以下子步骤:步骤B2.1:根据操作字段类型的不同,定义以下两类功能函数,第一类功能函数可以针对直接编码的字段进行赋值操作,直接编码的字段即协议字段表中字段类型为common的字段;第二类功能函数为可以针对TLV编码的字段进行赋值操作,TLV编码的字段即协议字段表中字段类型为tlv的字段;步骤B2.2:构造一个功能函数表,该表包含三个属性,分别是函数号、功能函数名和字段类型,然后将上述功能函数名以及对应的功能函数所能操作的字段类型存储到功能函数表中。
[0011]第一类功能函数有1个,功能函数名为randomChange,其功能为修改目标字段值为32位无符号整数范围内的随机数。
[0012]第二类功能函数有10个,功能函数名分别为changeTag、changeLength、changeValue、increase、decrease、randomString、boolFlip、append、drop、exchange;其中changeTag函数的功能为随机替换目标字段的tag值为协议中定义的其他字段的tag值;changeLength函数的功能为随机修改目标字段的length值,使之与实际value的
长度不一致;changeValue函数的功能为修改目标字段的value值为32位无符号整数范围内的随机数;increase函数的功能为修改目标字段的value值,使之增加32位无符号整数范围内的随机数;decrease函数的功能为修改目标字段的value值,使之减少32位无符号整数范围内的随机数;randomString函数的功能为修改目标字段的value值为变异后的随机字符串;boolFlip函数的功能为修改目标字段的value值,实现布尔翻转;append函数的功能为在目标字段的末尾新增一个成员字段;drop函数的功能为在目标字段的末尾删除一个成员字段;exchange函数的功能为随机交换目标字段中的两个成员字段的顺序。
[0013]步骤B3的具体实现包括以下内容:构造特征规则表,其中包含两个属性,规则号和特征类型号,特征规则的形式有以下两种,第一种形式为:(功能函数,字段),表示对字段执行功能函数所定义的操作;第二种形式为:(功能函数1,字段1)&&(功能函数2,字段2),表示对字段1执行功能函数1所定义的操作,同时对字段2执行功能函数2所定义的操作;步骤B3在构造协议特征时,若从协议编码特征的角度总结,则有三种异常特征,第一种异常特征为TLV编码字段的tag与字段不相符,用格式为(changeTag, 字段)的规则表示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.IEC61850 GOOSE协议字典的构建方法,采用XML表示方法构建用于电力监控系统的IEC61850 GOOSE协议的协议字典,其特征在于:包括以下步骤;步骤A1:用XML标签表示协议字段;步骤A2:将表示协议字段的标签作为Protocol标签的元素内容,并以形成的XML文件为协议字典。2.根据权利要求1所述的IEC61850 GOOSE协议字典的构建方法,其特征在于:步骤A1的具体实现包括以下子步骤:步骤A1.1:根据IEC61850 GOOSE协议的字段编码方式的不同,将协议包含的字段分为以下三类,第一类是直接编码的字段,包括appid、length、reserved1、reserved2四个字段;第二类是TLV编码的普通字段,包括gocbref、timeallowedtolive、dataset字段;第三类是TLV编码的数据字段,包括data字段;步骤A1.2:使用XML标签对协议字段进行表示,针对直接编码的字段,用Block标签的各个属性表示;其中,字段名用name属性表示,字段值类型用valueType属性表示;步骤A1.3:针对TLV编码的普通字段,用Itemgroup、Item标签的各个属性表示;其中,字段名用name属性表示,字段标签用tag属性表示,字段值的取值类型用valueType表示;步骤A1.4:针对TLV编码的数据字段,用Data标签的各个属性表示;其中字段名用name属性表示,字段标签用tag属性表示。3.IEC61850 GOOSE协议特征库的构建方法,结合权利要求1所述的协议字典来构建用于电力监控系统的IEC61850 GOOSE协议的特征库,其特征在于:包括以下步骤;步骤B1:根据协议字典生成协议字段表;步骤B2:针对协议字段的特点,定义多种功能函数,构造功能函数表;步骤B3:结合字段表和功能函数表从多角度构造协议特征,并用特征规则表示,然后将各协议特征对应的特征规则存储到不同的协议特征规则表中;步骤B4:基于协议字段表、功能函数表以及协议特征规则表,构建IEC61850 GOOSE协议特征库。4.根据权利要求3所述的IEC61850 GOOSE协议特征库的构建方法,其特征在于:步骤B1的具体实现包括以下子步骤:步骤B1.1:创建一个协议字段表,表里包含字段号、字段名、字段值类型、字段标识和字段类型五个属性;步骤B1.2:顺序读取协议字典XML文件中的标签;步骤B1.3:判断当前标签是否为Block,若是则跳转到步骤B1.4,若否则跳转到B1.5;步骤B1.4:将该标签的所有属性取值作为一条记录插入字段表并设置字段类型为common,其中name取值对应字段名取值,valueType取值对应字段值类型取值;步骤B1.5:将该标签的所有属性取值作为一条记录插入字段表并设置字段类型为tlv,其中name取值对应字段名取值,tag取值对于字段标识取值,valueType取值对应字段值类型取值;步骤B1.6:判断XML文件是否读取完毕,若读取完毕则协议字段表构造结束,否则跳转
到步骤B1.2继续执行。5.根据权利要求3所述的IEC61850 GOOSE协议特征库的构建方法,其特征在于:步骤B2的具体实现包括以下子步骤:步骤B2.1:根据操作字段类型的不同,定义以下两类功能函数,第一类功能函数可以针对直接编码的字段进行赋值操作,直接编码的字段即协议字段表中字段类型为common的字段;第二类功能函数为可以针对TLV编码的字段进行赋值操作,TLV编码的字段即协议字段表中字段类型为tlv的字段;步骤B2.2:构造一个功能函数表,该表包含三个属性,分别是函数号、功能函数名和字段类型,然后将上述功能函数名以及对应的功能函数所能操作的字段类型存储到功能函数表中。6.根据权利要求5所述的IEC61850 GOOSE协议特征库的构建方法,其特征在于:第一类功能函数有1个,功能函数名为randomChange,其功能为修改目标字段值为32位无符号整数范围内的随机数。7.根据权利要求5所述的IEC61850 GOOSE协议特征库的构建方法,其特征在于:第二类功能函数有10个,功能函数名分别为changeTag、changeLength、changeValue、increase、decrease、randomString、boolFlip、ap...

【专利技术属性】
技术研发人员:邓超平陈锦山余斯航李泽科林国栋李兆祥孙鑫祁琦刘龙辉范海威郭健生林少真晁武杰林宇楷刘林彬
申请(专利权)人:国网福建省电力有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1