一种基于IEC61850的电力工业控制网络入侵检测方法及系统与流程

文档序号:11681331阅读:1168来源:国知局
一种基于IEC 61850的电力工业控制网络入侵检测方法及系统与流程

本发明属于工业控制系统网络信息安全技术领域,尤其涉及一种基于iec61850的电力工业控制网络入侵检测方法及系统。



背景技术:

工业控制系统是以计算机为基础的生产过程控制与调度自动化系统,它可以对现场的运行设备进行监视和控制,在电力、石油、化工等关键基础设施的工业控制系统中发挥着重要作用。随着工业控制系统的复杂性和互连性不断增加,恶意网络攻击的可能性也大幅增加。遵循传统通信协议的工业控制网络,在设计之初对网络安全威胁的考虑往往不足。不断发展的工业控制系统可能被恶意攻击者或心怀不满的内部员工视为攻击的重点目标,在未经授权的情况下利用系统脆弱点实现非法访问和控制。这种入侵可能是一些简单或高级持续的攻击,并可能危及工业控制系统的安全稳定运行。国内外工业界和学术界对电力工控系统网络安全问题愈加重视并更加关注,电力工业控制系统网络信息安全问题已经成为关系电力系统安全、可靠和稳定运行的工程实际问题。

随着新的信息安全威胁的出现,已有的针对一般it安全的方法,与基于iec61850标准的电力工控系统的运行场景不能完全兼容。例如,传统的it安全设备如防火墙、入侵检测系统(ids)一般是无法解释这种通信的应用层数据。虽然iec62351标准为基于iec61850协议的网络安全规定定义了一个框架,但厂家一般不会对其智能电子设备(ied)实施适当的防护。在厂商响应速度缓慢的情况下,电网公司如何应对安全漏洞,使其能够检测和减轻再次出现的威胁成为亟待解决的问题。然而,现阶段的入侵检测方法还不能解决这类问题。

目前已经发布的适用于电力工控系统的入侵检测方法主要针对dnp3、ethernet/ip和modbustcp协议,这些snort检测规则可以识别未经授权的请求、不正确格式的协议请求及响应、较少使用且危险的命令,以及其它可能的攻击情况。但基于iec61850的电力工控网络入侵检测系统的研究仍处于初期阶段。iec61850传输协议已被广泛应用于电力工控系统中(如智能变电站)。智能变电站工控网络中的数据以明文方式进行传输,导致信息传输可能存在被窃听、嗅探或篡改的风险。例如,攻击者可以发起中间人攻击(mitm)以嗅探和收集遥测值、远程控制命令或其它远程信号。在每种情况下,它们可以被纂改后重新注入到通信系统中,将危及电力工控系统的稳定性或降低系统的安全性,还可能在未来发起进一步的攻击。由于传统电力工业系统缺乏控制指令认证机制,恶意攻击者可能会未经授权访问工控系统,破坏信息的完整性和可用性,发起欺骗攻击、重放攻击和中间人攻击,可能导致灾难性的损害并危及系统的安全运行。现有的基于iec61850的入侵检测系统存在着以下不足:(1)不能有效防范“零日攻击”(未知威胁或未被发现的漏洞);(2)受报文制造规范(mms)和面对通用对象的变电站事件(goose)消息的影响,使得多数统计分析检测方法产生错误否定,错过真正攻击;(3)检测精度有待提高,未能适应实际变电站。



技术实现要素:

发明目的:为解决现有技术中存在的问题,本发明提出了一种基于iec61850的电力工业控制网络入侵检测方法及系统。

技术方案:一种基于iec61850的电力工业控制网络入侵检测方法,包括:

acd访问控制检测:用于在初始感染阶段,防止试图与控制服务器通信的恶意软件活动和攻击;其包括从捕获的报文中提取目的和源ip地址、目的和源mac地址或端口,并与预先建立的访问控制白名单进行比较,如果所述ip地址、mac地址或端口不属于所述的访问控制白名单,则视为可疑的ip地址、mac地址或端口;如果属于所述的访问控制白名单,则视为正常的ip地址、mac地址或端口;

pwd协议白名单检测:用于检测变电站站控层网络和过程层网络中的异常协议流量并告警;其包括对站控层网络和过程层网络的支持的各种协议进行设置,所述各种协议包括mms、cotp、tpkt、sntp、goose、smv和ieee1588;对于所述站控层网络,仅允许符合mms、cotp、tpkt或sntp协议的通信业务,否则将认为是可疑通信而生成告警信息;对于所述过程层网络,只允许goose、sv或ieee1588流量,否则将认为是可疑流量而生成告警信息;

mbd基于模型的检测:用于检测站控层网络和过程层网络中恶意攻击或无意异常的行为;其包括分析scd文件和iec61850报文内容,并将检测的报文与使用协议分析定义的正常行为模型进行比较,如果出现违反任何正常行为模型的情形,将生成告警并记录检测结果;

mpd基于多参数的检测:用于通过监测智能变电站的参数来识别由于内部无意误用或外部恶意攻击而导致的威胁;其包括对来自站控层网络和过程层网络的遥测数据和遥信数据进行的检测,通过同源比对识别异常数据,当同源数据不一致时,视为异常数据;具体为遥信比较检测和遥测比较检测。

进一步的,所述acd访问控制检测中,建立的访问控制白名单包括数据链路层中的mac地址、网络层中的ip地址和传输层端口的访问控制白名单。

进一步的,所述acd访问控制检测中,对所述视为可疑的ip地址、mac地址或端口,还将采取预设的动作,其具体为:在ids模式下发出警报,在ips模式下阻止,并记录检测结果;如下式(1):

其中,ac=macsrc,macdst,ipsrc,ipdst,portsrc,portdst,acwl表示建立的访问控制白名单;macsrc,macdst,ipsrc,ipdst,portsrc,portdst分别表示源mac地址和目的mac地址,源ip地址和目的ip地址,以及源端口和目的端口;每个主机或设备都有唯一的<ip,mac>匹配;如果智能电子设备没有被新的装置替换,但如果两个或多个mac地址对应相同的ip地址,即判断为发生欺骗攻击。

进一步的,所述对站控层网络进行的mbd基于模型的检测具体为:

在站控层网络中,基于映射到mms的acsi或sntp建立正常行为模型,如果违反任何正常行为模型,将生成告警并记录检测结果;所述正常行为模型的建立如下:

a)报告服务模型

在scd文件中,已配置每个智能电子设备的可实例化报告控制块的最大数量;所提出的报告服务模型将每个智能电子设备的可实例化报告控制块的最大数目定义为检测规则;如果识别可能占用智能电子设备的所有可实例化报告控制块的异常连接请求,则告警可疑拒绝服务dos攻击并记录检测结果;

b)关联服务模型

关联服务模型定义了可连接的iec61850客户端的最大数量;如果检测到对客户端的异常连接请求,则产生告警并记录检测结果;

c)设置服务模型

设置服务模型定义仅允许iec61850客户端修改设置,如果违反该定义,将发出告警信息。

d)文件传输模型

acsigetfile服务由客户端用于将文件的内容从服务器传输到客户端,客户端使用acsigetfileattributevalues服务来获取服务器文件存储中的特定文件的名称和属性,文件传输模型定义了iec61850客户端只能传输单个文件,如果违反此定义,将生成告警并记录检测结果;

e)sntp模型

在变电站网络中,sntp用于通过lan通信实现时间同步,sntp流量在传输层采用用户数据报协议,在sntp流量方面,到iec61850服务器的用户数据报协议连接的端口号应为<123>,如果sntp流量的端口号不是<123>,将触发告警并将结果保存在日志文件中;

f)时间相关模型

重要的控制命令具有时间相关的约束,该约束包括时间间隔限制和频率限制,如果相同的合法命令发送太频繁,则违反式(2)(3)规则,在每种情况下,将启动一些告警和日志动作:

cv(n)-cv(n-1)<t→actions(alert,log)(2)

式(2)中cv是控制命令,n是正整数(n>1),并且t是时间间隔的极限;

式(3)中f表示频率限制。

进一步的,所述对过程层网络进行的mbd基于模型的检测具体为:在过程层网络中,基于goose和smv协议规范建立所述正常行为模型,如果违反任何正常行为模型,将生成告警并记录检测结果;gooseapdu具有十二个字段为gocbref,timeallowedtolive,datset,goid,t,stnum,sqnum,test,confrev,ndscom,numdatsetentries和alldata;根据iec61850-9-2、smv数据报在数据链路层中采用iso/iec8802-3;svapdu具有svid,smpcnt,confrev,smpsynch和seqdata五个字段,所述正常行为模型定义如下:

a)目的地址模型

在scd文件<communication>→<subnetwork>→<connectedap>中配置目的iso/iec8802-3多播地址用于传输goose/smv;goose报文和smv报文的目的地址字段分别以四个八位字节01-0c-cd-01和01-0c-cd-04开始。goose和smv的目的地地址如式(4)和(5):

式(4)中p是过程层网络中捕获的报文,pgoose表示goose报文,dstafield表示iso/iec8802-3帧格式中的目的地址字段的值;

式(5)中psmv表示smv报文;

b)tpid字段模型

标签协议标识符字段2个八位字节显示为802.1q以太网编码帧分配的以太网类型;goose/smv报文中的tpid字段的值应为0x8100,即

其中tpidfield表示tpid字段的值,并且pgoose/smv表示goose或smv报文;

c)ethertype字段模型

iso/iec8802-3的ethertype字段2个字节由ieee授权机构注册,goose和smv的分配的ethertype值分别是0x88b8和0x88ba,即式(7)(8):

其中ethtfield是ethertype字段的值;

d)优先级域模型

定义goose和smv报文的优先级值,goose/smv的默认值为4,同时在scd文件中配置,优先级值应该从0到7,即式(9):

式(9)中priofield是用户优先级字段的值;

e)appid字段模型

每个goose/smv控制块在scd文件中具有唯一的appid,goose报文的appid字段2个八位字节是4位十六进制[0000-3fff],并且smv报文的字段是[4000-7fff],如式(10)和(11):

f)长度模型

goose/smv报文的长度字段2个八位字节指定从appid到apdu开始的帧中的字节总数,其等于8+m,其中,m是apdu的长度,m<1492,长度字段模型如式(12):

其中lengfield是长度字段的值;

gooseapdu中的good字段的长度小于65字节,即式(13),

其中lengoidfield是good字段的长度;

g)timeallowedtolive字段模型

gooseapdu中的timeallowedtolive字段应为doublemaxtime(2t0)。“maxtime”通常在scd文件中配置为<5000>、<communication>→<subnetwork>→<connectedap>→<gse>→<maxtime>;如果在10000ms内没有任何goose数据包,将发送通信中断报警;

h)标记字段模型

在goose标记字段模型中,goose报文的gocbref,timeallowedtolive,datset,goid,t,stnum,sqnum,test,confrev,ndscom和numdatsetentries字段的标记值是0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89和0x8a。在smv标签字段模型中,smv报文的svid,smpcnt,confrev和smpsynch字段的标签值分别为0x80,0x82,0x83和0x85;

i)smpcnt字段模型

smpcnt字段模型指定计数器的值,其在每次采样模拟值的新样本时递增;当合并单元mu的采样率为4000hz时,其中,80个采样/周期,smpcnt的值在[0,3999]的范围内保持正确的顺序,即式(14),

其中smpcfield是smpcnt字段的值;

j)相关模型

根据智能变电站的实际scd配置,appid字段等于目的地址字段的最后两个八位字节,被定义为相关域模型,即式(15):

其中dstafield(p)5,6表示目的地址字段的最后两个八位字节;

gooseapdu中的gocbref字段的类型是包括逻辑设备ld名称、逻辑节点ln名称、功能约束fc和控制块cb名称的字符串,即ld/ln$fc$cb;gooseapdu中的datset字段包括ld名称、ln名称和数据集ds名称,即ld/ln$ds;gooseapdu中的goid字段的默认值类似于gobi参考字段的默认值,即ld/ln$cb;gocoref字段中的ld/ln值与dataset字段中的ld/ln值匹配;gocoref字段中的控制块名称与goid字段中的控制块名称匹配;gocbref:pm5001apigo/lln0$go$gocb1,dataset:pm5001apigo/lln0$dsgoose1,goid:pm5001apigo/lln0.gocb1,对应的相关字典模型如式(16):

其中gibfield,datsfield和goidfield分别表示gobiref,dataset和goid字段;

gooseapdu中的状态数量stnum和序列号sqnum的变化严格遵守相关联的行为模式;当发送的goose消息中datset的值改变时,stnum的值将增加,这将导致sqnum的值被设置为零;当stnum的值没有变化时,sqnum的值将对每个goose传输递增,但是它将在其最大值sqnummax=4,294,967,295处翻转到0:

式(17)中stnum(gpi)和sqnum(gpi)分别表示第i个goose报文的stnum和sqnum值;

k)基于流量的模型

根据从实际变电站场景捕获的业务,基于业务的模型定义了每秒报文传输速率pps、每秒传输字节大小bps、报文长度lop和报文大小sop的上限和下限阈值,作为正常流量行为,如式(18):

其中ppsmin和ppsmax表示pps的下限和上限阈值。

进一步的,所述遥信比较检测具体为:在iec61850智能变电站中,过程层网络中的智能电子设备采用goose报文来向间隔层中的智能电子设备发送遥信数据,并从保护或测控装置接收跳闸/合闸指令;所述遥信比较检测通过比较goose报文和相关联的mms报文来识别异常事件;如果过程层网络中保护智能电子设备goose报文的开入信号和来自站控层网络的相关联的信号报告mms报文不一致,则将发生异常告警。

进一步的,所述遥测比较检测具体为:在iec61850智能变电站中,合并单元mu具有采样值模型,并向保护测控装置发送sv消息,所述遥测比较检测包含两个规则:

a)范围检测规则

采样值具有上边界值和下边界值,如果测量值在预期范围之外,则发出告警,即式(19):

其中smv(i)(i=i,u,...)表示不同的采样值,电流i和电压u;[smv(i)min-e(i),smv(i)max+e(i)]代表上下边界之间的范围,e(i)是测量公差,在正常操作情况下,根据变电站的设计和操作规范配置上下边界,500(330)kv变电站的总线电压上、下边界设置为90%和110%额定电压。

b)一致性检测规则

间隔层中的双重化配置智能电子设备为a和b组,从关联的电流互感器ct/电压互感器vt接收相同的mu采样值,检测已配置的合并单元smv参数和相关联的多个保护设备的mms之间的不一致性,遥测比较的参数包括电压、电流和差动电流,如果违反一致性检测规则,将发生异常告警。

本发明还提供一种基于iec61850的电力工业控制网络入侵检测系统,包括:

acd访问控制检测模块:该模块用于在初始感染阶段,防止试图与控制服务器通信的恶意软件活动和攻击;其通过预先建立的数据链路层中的mac地址、网络层中的ip地址和传输层端口的访问控制白名单进行检测,从捕获的报文中提取目的和源ip地址、目的和源mac地址或端口,并与建立的访问控制白名单进行比较,如果所述ip地址、mac地址或端口不属于所述的访问控制白名单,则视为可疑的ip地址、mac地址或端口,该模块将采取预设的动作;如果属于所述的访问控制白名单,则视为正常的ip地址、mac地址或端口;

pwd协议白名单检测模块:该模块用于检测变电站站控层网络和过程层网络中的异常协议流量并告警;其通过设置站控层网络和过程层网络的支持的各种协议,建立协议白名单进行检测,所述各种协议包括mms、cotp、tpkt、sntp、goose、smv和ieee1588;对于所述站控层网络,该模块仅允许符合mms、cotp、tpkt或sntp协议的通信业务,否则将认为是可疑通信而生成告警信息;对于所述过程层网络,该模块只允许goose、sv或ieee1588流量,否则将认为是可疑流量而生成告警信息;

mbd基于模型的检测模块:该模块用于检测站控层网络和过程层网络中恶意攻击或无意异常的行为;其通过分析scd文件和iec61850报文内容,并将检测的报文与使用协议分析定义的正常行为模型进行比较,如果出现违反任何正常行为模型的情形,将生成告警并记录检测结果;

mpd基于多参数的检测模块:该模块用于通过监测智能变电站的参数来识别由于内部无意误用或外部恶意攻击而导致的威胁;其通过对来自站控层网络和过程层网络的遥测数据和遥信数据进行的检测,通过同源比对识别异常数据,当同源数据不一致时,视为异常数据;具体包括遥信比较检测模块和遥测比较检测模块。

进一步的,所述acd访问控制检测模块将采取预设的动作具体为:在ids模式下发出警报,在ips模式下阻止,并记录检测结果;如下式(1):

其中,ac=macsrc,macdst,ipsrc,ipdst,portsrc,portdst,acwl表示建立的访问控制白名单;macsrc,macdst,ipsrc,ipdst,portsrc,portdst分别表示源mac地址和目的mac地址,源ip地址和目的ip地址,以及源端口和目的端口;每个主机或设备都有唯一的<ip,mac>匹配;如果智能电子设备没有被新的装置替换,但如果两个或多个mac地址对应相同的ip地址,即该模块判断为发生欺骗攻击。

有益效果:本发明提高了基于iec61850协议的工控系统的网络安全性,提出了适用于基于iec61850的工控网络入侵检测方法及系统,集成了电力业务知识、协议规范和逻辑行为,是一种能够减轻多种网络攻击的综合有效的解决方案。本发明包括访问控制检测、协议白名单检测、基于模型的检测和基于多参数的检测。其中,访问控制检测可以防止试图与控制服务器通信的恶意软件活动和攻击,在初始感染阶段尤为有效;协议白名单检测可检测变电站站控层和过程层网络中的异常协议流量并告警;基于模型的异常行为检测方法具有发现站控层和过程层网络中恶意攻击或无意异常的潜力;基于多参数的检测通过监测智能变电站的最敏感的参数来识别由于内部无意误用或外部恶意攻击而导致的针对工控系统的可能威胁。本发明在模拟实际500kv智能变电站的网络物理试验平台进行验证,证实了入侵检测方法的实时性和可用性。

附图说明

图1为本发明的流程图;

图2为本发明中遥信比较检测的流程图;

图3为本发明中一致性检测的流程图。

具体实施方式

下面将结合附图,对本发明的实施案例进行详细的描述;

如图1所示,本发明所述的一种基于iec61850的电力工业控制网络入侵检测方法包括:

acd访问控制检测:用于在初始感染阶段,防止试图与控制服务器通信的恶意软件活动和攻击;其包括建立数据链路层中的mac地址、网络层中的ip地址和传输层端口的访问控制白名单,如果任何地址或端口不在相应的白名单中,将采取预设的动作;

pwd协议白名单检测:用于检测变电站站控层网络和过程层网络中的异常协议流量并告警;其包括对站控层网络和过程层网络的支持的各种协议进行设置,建立协议白名单,所述各种协议包括mms、cotp、tpkt、sntp、goose、smv和ieee1588;对于所述站控层网络,仅允许符合mms、cotp、tpkt或sntp正常协议的通信业务,否则将认为是可疑通信而生成告警信息;对于所述过程层网络,只允许goose、sv或ieee1588正常流量,否则将认为是可疑流量而生成告警信息;

mbd基于模型的检测:用于检测站控层网络和过程层网络中恶意攻击或无意异常的行为;其包括分析scd文件(substationconfigurationdescription,全站系统配置文件)和正常的iec61850报文内容,使用深入的协议分析定义正常行为模型,并将检测的报文与正常行为模型进行比较,构建检测模型识别异常偏差;

mpd基于多参数的检测:用于通过监测智能变电站的最敏感的参数来识别由于内部无意误用或外部恶意攻击而导致的威胁;其包括对来自站控层网络和过程层网络的遥测和遥信数据进行的检测,识别异常,具体为遥信比较检测和遥测比较检测。

同时,本发明还提供一种能实现上述基于iec61850的电力工业控制网络入侵检测烦方法的系统,包括:

acd访问控制检测模块:该模块用于在初始感染阶段,防止试图与控制服务器通信的恶意软件活动和攻击;其通过建立数据链路层中的mac地址、网络层中的ip地址和传输层端口的访问控制白名单进行检测,如果任何地址或端口不在相应的白名单中,该模块将采取预设的动作;

pwd协议白名单检测模块:该模块用于检测变电站站控层网络和过程层网络中的异常协议流量并告警;其通过设置站控层网络和过程层网络的支持的各种协议,建立协议白名单进行检测,所述各种协议包括mms、cotp、tpkt、sntp、goose、smv和ieee1588;对于所述站控层网络,该模块仅允许符合mms、cotp、tpkt或sntp正常协议的通信业务,否则将认为是可疑通信而生成告警信息;对于所述过程层网络,该模块只允许goose、sv或ieee1588正常流量,否则将认为是可疑流量而生成告警信息;

mbd基于模型的检测模块:该模块用于检测站控层网络和过程层网络中恶意攻击或无意异常的行为;其通过分析scd文件和正常的iec61850报文内容,使用深入的协议分析定义正常行为模型,并将检测的报文与正常行为模型进行比较,构建检测模型来识别异常偏差;

mpd基于多参数的检测模块:该模块用于通过监测智能变电站的最敏感的参数来识别由于内部无意误用或外部恶意攻击而导致的威胁;其通过对来自站控层网络和过程层网络的遥测和遥信数据进行的检测,识别异常,具体包括遥信比较检测模块和遥测比较检测模块。

下面详细描述本发明方法中各检测的过程,同时也是本发明系统中各检测模块的实现过程:

(1)acd访问控制检测

acd是一种访问控制白名单策略,其中包括数据链路层中的介质访问控制(mac)地址、网络层中的ip地址和传输层中的端口。iec61850流量的tcp端口为<102>。如果任何地址或端口不在相应的白名单中,该ids将采取预设的动作。例如,在ids(intrusiondetectionsystem,入侵检测系统)模式下发出警报,在ips(intrusionpreventionsystem,入侵防御系统)模式下阻止,并记录检测结果。如下式(1):

在这里,ac=macsrc,macdst,ipsrc,ipdst,portsrc,portdst,acwl表示相应的白名单集合。macsrc,macdst,ipsrc,ipdst,portsrc,portdst表示源mac和目的mac,源ip和目的ip,以及源端口和目的端口。

智能变电站二次系统中的每个主机或设备都有唯一的<ip,mac>匹配。如果ied设备没有被新的装置替换,但从两个或多个mac地址对应相同的ip地址,这意味着可能发生欺骗攻击。

(2)pwd协议白名单检测

协议白名单检测参考开放系统互连(osi)模型的第2-7层,处理智能变电站网络的各种协议,例如mms、cotp、tpkt、简单网络时间协议(sntp)、goose、smv和ieee1588。基于iec61850的典型变电站网络包括站控层网络和过程层网络。对于站控层网络,ids可以被设置为仅允许符合mms/cotp/tpkt/sntp等正常协议的通信业务。对于过程层网络,ids只允许goose/sv/ieee1588等正常流量。在不同的情况下,ids可以设置为支持其它特定协议。例如,当ids部署在智能变电站过程层网络时,仅允许goose/sv/ieee1588流量,否则将认为是可疑流量而生成告警信息。

(3)mbd基于模型的检测

基于模型的检测方法分析了scd文件和正常的iec61850报文内容,使用深入的协议分析定义了正常行为模型,并将检测的报文与正确行为模型进行比较,以识别异常偏差。基于模型的异常行为检测方法具有检测未知攻击的潜力。与传统it网络相比,智能变电站中的工控网络具有不同的特征,例如有规律的流量和可预测的行为模式,这可能会简化行为模型。所提出的mbd具有发现站控层和过程层网络中的恶意攻击或无意异常的潜力。

1)针对站控层网络的mbd

在站控层网络中,异常行为检测基于映射到mms的acsi或sntp。检测模型定义如下,

a)报告服务模型

在scd文件中,已配置每个ied的可实例化报告控制块的最大数量。所提出的报告服务模型将每个ied的可实例化报告控制块的最大数目定义为检测规则。如果mbd识别可能占用ied的所有可实例化报告控制块的异常连接请求,则告警可疑拒绝服务(dos)攻击并记录检测结果。

b)关联服务模型

提出的关联服务模型定义了可连接的iec61850客户端的最大数量。如果mbd检测到对客户端的异常连接请求,则产生告警并记录检测结果。

c)设置服务模型

所提出的设置服务模型定义仅允许iec61850客户端修改设置。在违反此模型时,mbd将发出告警信息。

d)文件传输模型

acsigetfile服务由客户端用于将文件的内容从服务器传输到客户端。客户端使用acsigetfileattributevalues服务来获取服务器文件存储中的特定文件的名称和属性。文件传输模型定义了iec61850客户端只能传输单个文件。如果违反此规则,它将生成告警并记录检测结果。

e)sntp模型

在变电站网络中,sntp用于通过lan通信实现时间同步。sntp流量在传输层采用用户数据报协议(udp)。在sntp流量方面,到iec61850服务器的udp连接的端口号应为<123>。如果sntp流量的端口号不是<123>,mbd将触发告警并将结果保存在日志文件中。

f)时间相关模型

重要的控制命令具有时间相关的约束,例如时间间隔限制和频率限制。如果相同的合法命令发送太频繁,则可能违反以下规则,如式(2)(3)。在每种情况下,ids将启动一些动作(告警和日志)。

cv(n)-cv(n-1)<t→actions(alert,log)(2)

式(2)中cv是控制命令,n是正整数(n>1),并且t是时间间隔的极限。

式(3)中f表示频率限制。

2)过程层的mbd

在过程层网络中,模型检测基于goose和smv协议规范。gooseapdu具有十二个字段,例如gocbref(控制块引用),timeallowedtolive,datset(数据集引用),goid(gooseid),t(事件时间戳),stnum(状态号),sqnum(测试标识符),test(测试位),confrev(配置修订),ndscom(需要调试),numdatsetentries(数据集条目数)和alldata。根据iec61850-9-2,smv数据报在数据链路层中采用iso/iec8802-3,类似于goose数据报。svapdu具有诸如svid(smv控制块id),smpcnt(采样计数器),confrev(配置修订),smpsynch(采用同步)和seqdata(数据序列)的五个字段。部分检测模型定义如下:

a)目的地址模型

在scd文件(<communication>→<subnetwork>→<connectedap>)中配置目的iso/iec8802-3多播地址用于传输goose/smv。goose报文和smv报文的目的地址字段(6个八位字节)分别以四个八位字节(01-0c-cd-01)和(01-0c-cd-04)开始。goose和smv的目的地地址模型如(4)和(5),即:

式(4)中p是过程层网络中捕获的报文,pgoose表示goose报文,dstafield表示iso/iec8802-3帧格式中的目的地址字段的值。

式(5)中psmv表示smv报文。

b)tpid字段模型

标签协议标识符(tpid)字段(2个八位字节)显示为802.1q以太网编码帧分配的以太网类型。goose/smv报文中的tpid字段的值应为0x8100,即

其中tpidfield表示tpid字段的值,并且pgoose/smv表示goose或smv报文。

c)ethertype字段模型

iso/iec8802-3的ethertype字段(2个字节)由ieee授权机构注册。goose和smv的分配的ethertype值分别是0x88b8和0x88ba,即式(7)(8):

其中ethtfield是ethertype字段的值。

d)优先级域模型

优先级字段(3比特)模型定义goose和smv报文的优先级值。goose/smv的默认值为4,也在scd文件中配置。优先级值应该从0到7,即式(9):

式(9)中priofield是用户优先级字段的值。

e)appid字段模型

每个goose/smv控制块在scd文件中具有唯一的appid。goose报文的appid字段(2个八位字节)应当是4位十六进制,即[0000-3fff],并且smv报文的字段应该是[4000-7fff]。这种检测模型如式(10)和(11),

f)长度模型

goose/smv报文的长度字段(2个八位字节)指定从appid到apdu开始的帧中的字节总数,其等于8+m(m是apdu的长度,m<1492)。长度字段模型如式(12),

其中lengfield是长度字段的值。

gooseapdu中的good字段的长度小于65字节,即式(13),

其中lengoidfield是good字段的长度。

g)timeallowedtolive字段模型

gooseapdu中的timeallowedtolive字段应为doublemaxtime(2t0)。“maxtime”通常在scd文件中配置为<5000>(<communication>→<subnetwork>→<connectedap>→<gse>→<maxtime>)。如果在10000ms内没有任何goose数据包,这种检测模式将发送通信中断报警。

h)标记字段模型

在goose标记字段模型中,goose报文的gocbref,timeallowedtolive,datset,goid,t,stnum,sqnum,test,confrev,ndscom和numdatsetentries字段的标记值是0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89和0x8a。在smv标签字段模型中,smv报文的svid,smpcnt,confrev和smpsynch字段的标签值分别为0x80,0x82,0x83和0x85。

i)smpcnt字段模型

smpcnt字段模型指定计数器的值,其在每次采样模拟值的新样本时递增。当合并单元(mu)的采样率为4000hz(80个采样/周期)时,smpcnt的值应当在[0,3999]的范围内保持正确的顺序,即式(14),

其中smpcfield是smpcnt字段的值。

j)相关模型

根据智能变电站的实际scd配置,appid字段等于目的地址字段的最后两个八位字节。它可以被定义为相关域模型,即式(15),

其中dstafield(p)5,6表示目的地址字段的最后两个八位字节。

gooseapdu中的gocbref字段的类型是包括逻辑设备(ld)名称、逻辑节点(ln)名称、功能约束(fc)和控制块(cb)名称的字符串,即ld/ln$fc$cb。gooseapdu中的datset字段包括ld名称、ln名称和数据集(ds)名称,即ld/ln$ds。gooseapdu中的goid字段的默认值类似于gobi参考字段的默认值,即ld/ln$cb。gocoref字段中的ld/ln值与dataset字段中的ld/ln值匹配。gocoref字段中的控制块名称与goid字段中的控制块名称匹配。例如,gocbref:pm5001apigo/lln0$go$gocb1,dataset:pm5001apigo/lln0$dsgoose1,goid:pm5001apigo/lln0.gocb1。对应的相关字典模型如式(16),

其中gibfield,datsfield和goidfield分别表示gobiref,dataset和goid字段。

gooseapdu中的状态数量(stnum)和序列号(sqnum)的变化严格遵守相关联的行为模式。当发送的goose消息中datset的值改变时,stnum的值将增加,这将导致sqnum的值被设置为零。当stnum的值没有变化时,sqnum的值将对每个goose传输递增,但是它将在其最大值(sqnummax=4,294,967,295)处翻转到0。

式(17)中stnum(gpi)和sqnum(gpi)分别表示第i个goose报文的stnum和sqnum值。

k)基于流量的模型

根据从实际变电站场景捕获的业务,基于业务的模型定义了每秒报文传输速率(pps)、每秒传输字节大小(bps)、报文长度(lop)和报文大小(sop)的上限和下限阈值,作为正常流量行为。这种流量检测模型如式(18),

其中ppsmin和ppsmax表示pps的下限和上限阈值。

在这些协议模型之外的行为被认为是异常和可疑的。如果违反任何上述模型,则mbd将生成告警并记录检测结果。

(4)mpd基于多参数的检测

基于多参数的检测的核心思想是通过监测智能变电站的最敏感的参数来识别由于内部无意误用或外部恶意攻击而导致的针对工控系统的可能的威胁。这些多维参数与智能变电站的安全和稳定操作相关,例如来自站控层和过程层网络的遥测和遥信数据。从智能变电站的业务知识和操作经验提出了多参数检测策略,如关键开关信号和关键模拟信号比较。

1)遥信比较检测规则

在iec61850智能变电站中,过程层网络中的智能终端采用goose报文来向间隔层中的ied发送遥信数据,并从保护或测控装置接收跳闸/合闸指令。如图2所示,所提出的遥信比较检测规则通过比较goose报文和相关联的mms报文来识别异常事件。例如,如果过程层网络中保护ied(goose报文)的开入信号和来自站控层网络的相关联的信号报告(mms报文)不一致,则将发生异常告警。

2)遥测比较检测规则

在iec61850智能变电站中,合并单元(mu)具有采样值模型,并向保护测控装置发送sv消息。遥测比较检测规则包含两个类别:

a)范围检测规则

通常采样值具有上边界值和下边界值(例如电流(i)和电压(u))。如果测量值在预期范围之外,则发出告警,即式(19),

其中smv(i)(i=i,u,...)表示不同的采样值,例如电流和电压;[smv(i)min-e(i),smv(i)max+e(i)]代表上下边界之间的范围,e(i)是测量公差。在正常操作情况下,根据变电站的设计和操作规范配置上下边界。例如,500(330)kv变电站的总线电压上、下边界设置为90%和110%额定电压。从工控系统安全操作的角度来看,只要测量值在预期范围之外,这种可疑现象应该被变电站中的运行人员注意到并解决。因此,所提出的范围检测规则可以识别由测量错误或恶意攻击导致的异常事件。

b)一致性检测规则

在实际情况下,间隔层中的双重化配置ied(a和b组)从关联的电流互感器/电压互感器(ct/vt)接收相同的mu采样值。如图3所示,提出的一致性检测规则用于检测已配置的合并单元smv参数和相关联的多个保护设备的mms之间的不一致性(例如线路保护a/b、母线保护a/b和变压器保护a/b)。遥测比较的参数包括电压和电流,还包括差动电流,即比较两套保护mms报文中的差分电流。如果违反一致性检测规则,将发生异常告警。本发明提出的一种基于iec61850的电力工业控制网络入侵检测方法及系统,可在数字化变电站中形成一个逻辑网络边界,其中包含一个iec61850相关通信的安全区。下一步确保纵深防御是在安全区建立监督机制,可以检测漏洞和失败的安全控制,例如攻击者穿透配置错误的防火墙,或完全绕过防火墙由一个工程师已经直接连接到变电站局域网并且被恶意软件感染的电脑来发动攻击。一旦入侵者在目标变电站网络建立了存在,从基本网络扫描到有意尝试从ied获得响应;或者使特定命令被执行;自动或手动动作将启动,这些行动不会被边界防火墙阻止。因此,设计针对iec61850的入侵检测系统是为了发现电力工控系统中可能存在的可疑惑异常行为,提高基于iec61850协议的电力工控系统的安全性。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1