SIS系统安全防护设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SIS系统安全防护设计与实现
【摘要】本文阐述了SIS系统安全系统区域的划分,根据电力系统安全目标和具体要求对SIS 系统的安全防护进行了设计,详细介绍了安全防护设计方案及其代码实现。
Abstract This paper expounds the SIS system security system area differentiate, according to the safety of the electricity system target and specific requirements in the SIS system safety protection to carry on the design, this paper introduces the designing plan and safety protection code realization.
【关键词】SIS系统;安全防护;物理隔离器
Keyword Supervisory Information System;security defence;Physics isolation equipment
1 前言
SIS系统(Supervisory Information System,厂级监控信息系统)属于厂级生产过程控制自动化的范畴,电厂SIS系统以分散控制系统DCS(Distributed Control System)为基础,集发电实时生产过程监测、优化控制、实时生产过程管理为一体,具有厂级实时生产过程监控、厂级负荷优化调度、厂级及机组性能计算、经济指标分析及诊断、优化运行操作、设备寿命管理、主机和辅机故障诊断等功能,其作用是提高机组运行的安全性和经济性, 提供在线分析和指导,并为管理决策服务。[1]
随着竞价上网等电力市场化改革, 对发电企业的要求越来越高,此时SIS系统提供了一个很好的生产数据分析平台。而如何保证系统的安全性和信息的开放性成为SIS系统建设必须面对和必须解决的问题。[2]
2 安全系统区域划分
为了防范黑客及恶意代码等对电力二次系统所造成的攻击侵害,避免引发电力系统事故,根据原国家经济贸易委员会2002年5月8日发布的《电网和电厂计算机监控系统及调度数据网络安全防护规定》(简称经贸委30号令)和国家电力监管委员会2005发布实施的《电力二次系统安全防护规定》(简称电监会5号令)规定:
电力二次系统安全防护工作应当坚持安全分区、网络专用、横向隔离、纵向认证的原则
●发电企业、电网企业、供电企业内部基于计算机和网络技术的业务系统,
原则上划分为生产控制大区和管理信息大区
●生产控制大区可以分为控制区(安全区I)和非控制区(安全区Ⅱ);管理
信息大区内部在不影响生产控制大区安全的前提下,可以根据各企业不
同安全要求划分安全区。
目前,电力企业划分安全区域如图1所示。
DCS系统属于安全Ⅰ区、SIS系统是生产控制大区中的安全区Ⅱ区,它与DCS 等直接控制系统相连,自身不参与控制,但与DCS系统有数据交互。MIS网络中的业务平台,如OA、邮件等属于安全Ⅲ区,互联网络属于安全Ⅳ区。
图1 电厂安全区域示意图
3 安全设计方案
发电企业在落实二次防护规定时,可遵循标准或强于标准执行,但原则不能低于标准中规定。下面主要针对Ⅰ区、Ⅱ区及Ⅲ区之间的连接,给出一种符合标准、成本可控的设计方案。
3.1 安全Ⅰ区与安全Ⅱ区之间
在安全Ⅰ区和安全Ⅱ区之间加装防火墙来达到系统间限制访问的目的,此部分需考虑几个因素:安装位置、成本、对系统影响等。其网络拓扑结构如图2所示。
100M 电通道
1000M 光通道
SIS 交换机
SIS 接口机
核心交换机
图2 安全Ⅰ区与安全Ⅱ区网络结构图
在DCS 、辅控系统、脱硫系统等出口处,一般加装硬件防火墙,设置数据传输规则,保证只有可控的端口号、可控的数据在SIS 系统与控制系统之间传输,对于RTU ,如果其对外访问为RS232方式,一般不加装防火墙,因其本身已具有足够的安全性。防火墙规则的逻辑结构如图3所示。
DCS 端
SIS 端
图3 防火墙设置规则示意图
开放SIS 端至DCS 端某设定端口的访问权,DCS 端仅开放某一设定端口,由特定的程序监听此端口,这样,DCS 端仅响应来自SIS 端的合法请求并给出数据回应,对于其他访问均认为无效。为进一步增加安全性,还可将两端设备的硬件信息、IP 地址信息等进行绑定。
设置防火墙可达到如下效果。
(1)有效将非法攻击、病毒等控制在一个区域内,不会造成DCS 系统之间的互相干扰;
(2)对单套的DCS系统,阻击来自SIS侧潜在的风险攻击,保证DCS系统的正常运行。
为降低系统造价,可在二级交换机与核心交换机之间加装防火墙,这样能够减少防火墙的数量,但对防火墙的性能要求较高,这一点需要在工程中进行权衡。
3.2 安全Ⅱ区与安全Ⅲ区之间
安全Ⅱ区与安全Ⅲ区之间加装物理隔离器,其网络逻辑拓扑如图4所示。此种方式下,需要在安全Ⅲ区设置一台MIS服务器,同时,SIS系统的数据通过物理隔离器装置发送至MIS服务器,MIS服务器将数据保存至当地,并对外提供访问。
磁盘阵列
图4 安全Ⅱ区与安全Ⅲ区网络拓扑图
物理隔离器内部由两套分别独立的系统构成,即:其网络口、CPU、内存、缓存数据区等均为两套,两套之间只能单向传输,无法反向传输。其结构如图5所示。
图5 物理隔离器结构图
当物理隔离器与A端连接时,其内部及B端连接是断开的;当物理隔离器内部进行数据转移时,与A、B两端为断开的;当物理隔离器与B端连接时,其内部及A端是断开的。即:同时只能有一个连接,且其数据传输方向为单向,任何数据均无法自B端传输至A端(除一个特定的比特位之外)。
为实现数据的传输,一般在A端以UDP数据包的方式向B端发送,B端接收来自A端的UDP数据包,并写入数据库系统。其软件的实现过程如以下程序所示(以PI数据库为例)。
A端:其功能是从PI数据库中取得数据,并以UDP方式向外发送。
//简单的包装winsock、初始化socket等
init_udp()
{
//初始化winsock
if (WSAStartup(0x101, &wsa_data) != 0)
......
}
//绑定socket
bind_udp(udp_socket, 0)
{
BOOL optval = TRUE;
struct sockaddr_in bind_addr;
if (socket_h)
closesocket(socket_h);
//初始化socket
if ((socket_h = socket(AF_INET, SOCK_DGRAM, 0)) == INVALID_SOCKET)
.............
//绑定socket
if (bind(socket_h, (LPSOCKADDR)&bind_addr, sizeof(bind_addr))) //设置为广播方式
if (setsockopt(socket_h, SOL_SOCKET, SO_BROADCAST, (char*)&optval, sizeof(optval)) == SOCKET_ERROR)