本发明属于智能变电站信息安全防护技术领域,尤其涉及一种基于智能变电站配置描述(scd)文件的过程层报文白名单表示方法。
背景技术:
如今智能电网朝着物理信息电力系统(cyberphysicalpowersystems,cpps)方向发展,信息系统和物理系统的关系越来越紧密,信息系统对物理系统的影响也越来越大。与之相应的是网络攻击风险的日渐突出;攻击者可通过攻击信息系统达到损坏物理系统的目的,其危害是传统信息安全攻击无法相提并论的。
工业控制系统(industrialcontrolsystem,ics)对生产过程规定了严格的报文序列。因此,业内提出了序列攻击这一概念。序列攻击可分成两类:基于次序的序列攻击和基于时序的序列攻击。前者是将正常的消息和命令以非法的次序发送和执行;而后者是将消息和命令在非法的时间内进行发送和操作。一旦遭受序列攻击,将会导致生产流程的逻辑出现混乱,对设备、产品甚至人员造成极大危害。
智能变电站是智能电网的重要组成部分,尤其是在数据实时检测和故障态防御方面发挥了不可替代的作用。因此智能变电站的攻击检测对于智能电网的安全具有重要意义,一旦智能变电站收到例如序列攻击在内的网络攻击,其造成的包括经济在内的各项损失将是难以估计的。同时,目前智能变电站所广泛使用的iec-61850标准,是在信息安全与网络防护方面极为脆弱的开放标准,其主要规定了goose、smv和mms三种格式的通信协议。虽然此三种协议可以有效的进行智能变电站内通信,但这三种协议均未对安全性进行考虑,处于无防护状态,无法对信息截获与重放等攻击进行防范。
而与此同时,针对信息安全的攻击也在不断的发展中,其攻击呈现出多样化、持续化与定制化的特点。有介于此,对于智能变电站的网络与信息安全的防护技术变得十分重要。
技术实现要素:
本发明所要解决的技术问题就是提供一种智能变电站过程层报文白名单的表示方法,对网络攻击进行有效的防范。
为解决上述技术问题,本发明采用如下技术方案:智能变电站过程层报文白名单的表示方法,包括如下步骤:
步骤s1:解析变电站配置描述文件,根据当前的逻辑设备,将数据集参数配置datset属性作为匹配源进行匹配,最终获得数据集名与datset属性匹配的数据集;
步骤s2:解析发送数据集dataset,在scd文件中匹配到与之对相应的数据实例,并根据数据实例计算获得发布/发送虚端子的地址;
步骤s3:解析接收数据集,在scd文件中匹配到与之对相应的数据实例,并根据数据实例计算获得订阅/接收虚端子的地址;
步骤s4:根据发送虚端子的地址和接收虚端子的地址确定一条唯一的合法报文传输路径与相关属性,并由此获得报文传输路径的字符串标识方式。
优选的,步骤s1中解析变电站配置描述文件的方法为:smv/goose报文的完全配置包括三个部分:控制块参数配置、报文传输参数配置、数据集参数配置,通过将ied的name属性、接入点name属性与ld实例的ldinst属性、控制块apname属性进行比对找到与当前控制块相匹配的smv或gse报文配置信息。
优选的,步骤s2中解析发送数据集dataset的方法为:根据fcda的前6个参数组成一个ied内部的数据属性引用名inaddr,其格式为:inaddr=ldinst/prefix+lnclass+lninst.doname.daname,借助fcda内部数据引用名inaddr在scd文件中匹配到与之对相应的数据实例。
优选的,从数据实例中获取发布/发送虚端子和订阅/接收虚端子的智能终端命名iedname、逻辑装置ldinst、逻辑节点ln前缀名prefix、逻辑节点定义名lnclass、逻辑节点后缀名lninst、数据对象名doname与数据值名daname,定义虚端子地址为caddr=iedname+ldinst/prefix+lnclass+lninst$doname$daname,根据定义获得发布/发送虚端子的地址。
优选的,步骤s4中使用公式
本发明还提供了一种智能变电站过程层报文白名单的表示装置,包括:
数据集名与datset属性匹配模块:解析变电站配置描述文件,根据当前的逻辑设备,将datset属性作为匹配源进行匹配,最终获得数据集名与datset属性匹配的数据集;
发布/发送虚端子地址获得模块:解析发送数据集,在scd文件中匹配到与之对相应的数据实例,并根据数据实例计算获得发布/发送虚端子的地址;
订阅/接收虚端子地址获得模块:解析接收数据集,在scd文件中匹配到与之对相应的数据实例,并根据数据实例计算获得订阅/接收虚端子的地址;
报文传输路径字符串标识方式获得模块:根据发送虚端子的地址和接收虚端子的地址确定一条唯一的合法报文传输路径与相关属性,并由此获得报文传输路径的字符串标识方式。
本发明还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的智能变电站过程层报文白名单的表示方法。
本发明还提供了一种介质,所述介质存储有计算机程序,所述计算机程序被处理器执行时能够实现所述的智能变电站过程层报文白名单的表示方法。
本发明采用的技术方案,具有如下有益效果:基于白名单的检测相对于黑名单,具有更好的拦截准确性和防御效果,对scd文件进行解析,获取其中的关键字段建立报文序列的白名单,便可检测序列攻击,对其进行有效的防范。
本发明的具体技术方案及其有益效果将会在下面的具体实施方式中结合附图进行详细的说明。
附图说明
下面结合附图和具体实施方式对本发明作进一步描述:
图1是本发明智能变电站过程层报文白名单的表示方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
智能变电站在过程层中实现了合并单元及智能终端信息的数字化,实现了相关数字信息在网络平台上的共享。此外与传统变电站不同的是,智能变电站将传统变电站中二次回路的硬端子转变为了逻辑上的虚端子,其结果就是二次回路的连接关系依赖于虚端子的关联关系。虚端子之间的发布/订阅关系不仅仅体现了ied之间的通信关系,也表明了虚端子之间报文传输的逻辑关系。智能变电站相对于一般工业控制系统而言,具有其自身的配置描述文件,即智能变电站配置描述(scd)文件。scd文件详细记录了包括虚端子报文传输关系、路径在内的信息。
实施例一
如图1所示,智能变电站过程层报文白名单的表示方法,包括以下步骤:
步骤s1:解析变电站配置描述文件,根据smv/goose报文的完全配置包括三个部分:
控制块参数配置(gsecontrol/sampledvaluecontrol)、报文传输参数配置(smv/gse)、数据集参数配置(dataset)。通过将ied的name属性、接入点name属性与ld实例的ldinst属性、控制块apname属性进行比对可以找到与当前控制块相匹配的smv或gse报文配置信息。在确定了当前的逻辑设备后,将datset属性作为匹配源进行匹配,数据集名与datset属性匹配的数据集就是当前控制块对应的数据集。
在理清了控制块参数、报文传输参数、数据集配置三者之间的关联关系后,根据一一对应的发送数据集和接收数据集能够唯一获得一条虚端子连接关系。
步骤s2:发送数据集dataset由多个具有功能约束的数据属性fcda标签组成,根据fcda的前6个参数组成一个ied内部的数据属性引用名inaddr,其格式为:
inaddr=ldinst/prefix+lnclass+lninst.doname.daname,其是可定义一个逻辑虚端子的相关属性和地址,具有唯一性。借助fcda内部数据引用名inaddr可在scd文件中匹配到与之对相应的数据实例,由此通过fcda的配置信息建立了从模型到引用实例再到物理地址的映射关系。
随后从实例中获取发布/发送虚端子和订阅/接收虚端子的智能终端命名(iedname)、逻辑装置ld(ldinst)、逻辑节点ln前缀名(prefix)、逻辑节点定义名(lnclass)、逻辑节点后缀名(lninst)、数据对象名(doname)与数据值名(daname)。
定义虚端子地址为:
caddr=iedname+ldinst/prefix+lnclass+lninst$doname$daname
根据定义可获得发布/发送虚端子的地址。
步骤s3:接收数据集由若干个外部引用子节点extref组成,它描述了逻辑装置ldevice接收的外部数据引用集合,以及内部数据和外部引用的连接关系。通过与上述步骤s2相同的方法获得订阅/接收虚端子的地址。
步骤s4:令
基于白名单的检测相对于黑名单,具有更好的拦截准确性和防御效果,对scd文件进行解析,获取其中的关键字段建立报文序列的白名单,便可检测序列攻击,对其进行有效的防范。
实施例二
智能变电站过程层报文白名单的表示装置,包括:
数据集名与datset属性匹配模块:解析变电站配置描述文件,根据当前的逻辑设备,将datset属性作为匹配源进行匹配,最终获得数据集名与datset属性匹配的数据集;
发布/发送虚端子地址获得模块:解析发送数据集,在scd文件中匹配到与之对相应的数据实例,并根据数据实例计算获得发布/发送虚端子的地址;
订阅/接收虚端子地址获得模块:解析接收数据集,在scd文件中匹配到与之对相应的数据实例,并根据数据实例计算获得订阅/接收虚端子的地址;
报文传输路径字符串标识方式获得模块:根据发送虚端子的地址和接收虚端子的地址确定一条唯一的合法报文传输路径与相关属性,并由此获得报文传输路径的字符串标识方式。
实施例三
一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如实施例一所述的智能变电站过程层报文白名单的表示方法。
本发明实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、pda(个人数字助理)、pad(平板电脑)等的移动终端以及诸如台式计算机等的固定终端。
电子设备可以包括处理装置(例如中央处理器),其可以根据存储在只读存储器(rom)中的程序或者从存储装置加载到随机访问存储器(ram)中的程序而执行各种适当的动作和处理。在ram中,还存储有电子设备操作所需的各种程序和数据。处理装置、rom以及ram通过总线彼此相连。输入/输出(i/o)接口也连接至总线。
通常,以下系统可以连接至i/o接口:包括例如触摸屏、触摸板、键盘、鼠标等的输入装置;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许电子设备与其他设备进行无线或有线通信以交换数据。
承载在计算机可读介质上的计算机程序,包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从rom被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的装置、系统或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、系统或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行装置、系统或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、步骤smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。
1.智能变电站过程层报文白名单的表示方法,其特征在于,包括如下步骤:
步骤s1:解析变电站配置描述文件,根据当前的逻辑设备,将数据集参数配置datset属性作为匹配源进行匹配,最终获得数据集名与datset属性匹配的数据集;
步骤s2:解析发送数据集dataset,在scd文件中匹配到与之对相应的数据实例,并根据数据实例计算获得发布/发送虚端子的地址;
步骤s3:解析接收数据集,在scd文件中匹配到与之对相应的数据实例,并根据数据实例计算获得订阅/接收虚端子的地址;
步骤s4:根据发送虚端子的地址和接收虚端子的地址确定一条唯一的合法报文传输路径与相关属性,并由此获得报文传输路径的字符串标识方式。
2.根据权利要求1所述的智能变电站过程层报文白名单的表示方法,其特征在于:步骤s1中解析变电站配置描述文件的方法为:smv/goose报文的完全配置包括三个部分:控制块参数配置、报文传输参数配置、数据集参数配置,通过将ied的name属性、接入点name属性与ld实例的ldinst属性、控制块apname属性进行比对找到与当前控制块相匹配的smv或gse报文配置信息。
3.根据权利要求1所述的智能变电站过程层报文白名单的表示方法,其特征在于:步骤s2中解析发送数据集dataset的方法为:根据fcda的前6个参数组成一个ied内部的数据属性引用名inaddr,其格式为:
inaddr=ldinst/prefix+lnclass+lninst.doname.daname,借助fcda内部数据引用名inaddr在scd文件中匹配到与之对相应的数据实例。
4.根据权利要求1所述的智能变电站过程层报文白名单的表示方法,其特征在于:从数据实例中获取发布/发送虚端子和订阅/接收虚端子的智能终端命名iedname、逻辑装置ldinst、逻辑节点ln前缀名prefix、逻辑节点定义名lnclass、逻辑节点后缀名lninst、数据对象名doname与数据值名daname,定义虚端子地址为caddr=iedname+ldinst/prefix+lnclass+lninst$doname$daname,根据定义获得发布/发送虚端子的地址。
5.根据权利要求1所述的智能变电站过程层报文白名单的表示方法,其特征在于:步骤s4中使用公式
6.智能变电站过程层报文白名单的表示装置,其特征在于,包括:
数据集名与datset属性匹配模块:解析变电站配置描述文件,根据当前的逻辑设备,将datset属性作为匹配源进行匹配,最终获得数据集名与datset属性匹配的数据集;
发布/发送虚端子地址获得模块:解析发送数据集,在scd文件中匹配到与之对相应的数据实例,并根据数据实例计算获得发布/发送虚端子的地址;
订阅/接收虚端子地址获得模块:解析接收数据集,在scd文件中匹配到与之对相应的数据实例,并根据数据实例计算获得订阅/接收虚端子的地址;
报文传输路径字符串标识方式获得模块:根据发送虚端子的地址和接收虚端子的地址确定一条唯一的合法报文传输路径与相关属性,并由此获得报文传输路径的字符串标识方式。
7.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现如1-6中任一所述的智能变电站过程层报文白名单的表示方法。
8.一种介质,所述介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时能够实现如权利要求1-6中任一所述的智能变电站过程层报文白名单的表示方法。
技术总结