目录

  • 1 第一章 工业控制系统安全概述
    • 1.1 工业控制系统安全简介
  • 2 第二章 工业控制系统通信协议
    • 2.1 Profinet 协议简介
    • 2.2 Profibus 协议简介
    • 2.3 OPC协议攻击病毒与防御
    • 2.4 DNP3.0协议分析
    • 2.5 Modbus协议分析
    • 2.6 IEC61850标准系统组成
  • 3 第三章 工业控制系统通信采集技术
    • 3.1 Modbus协议病毒攻击与防御
    • 3.2 SCADA漏洞库管理系统
    • 3.3 百度地图电力演练系统
    • 3.4 基于Arduino的红外通信
  • 4 第四章 工业控制系统编程技术
    • 4.1 正向反向隔离装置的病毒攻击与防御
    • 4.2 电力授时(GPS北斗)系统安全性分析
    • 4.3 S7——200仿真软件和编程软件的使用
    • 4.4 应用MATPOWER软件进行电力系统潮流计算
    • 4.5 FireWallOS——命令行界面
    • 4.6 EWB
    • 4.7 LFS
  • 5 第五章 工业控制系统攻击与检测技术
    • 5.1 Black Energy 病毒分析
    • 5.2 基于HoneyNet的SCADA入侵检测系统的配置
    • 5.3 RFID卡破解
    • 5.4 正向反向隔离装置的配置与安全性分析
    • 5.5 隔离装置漏洞攻击检测
  • 6 第六章 工业控制系统防御技术
    • 6.1 工业控制系统防火墙设计
    • 6.2 信安防火墙Web端设计
    • 6.3 工业SCADA入侵检测系统的架构与配置
    • 6.4 Winbox 与ROS界面展示
    • 6.5 Mikro Tik ROS安装
    • 6.6 WFilter RouterOS防火墙系统
  • 7 实验内容
    • 7.1 实验目的与知识点
    • 7.2 实验内容(1)变电站SCADA系统采集设备数据
    • 7.3 实验内容(2)变电站Kingview漏洞利用攻击
    • 7.4 实验内容(3)乌克兰电力系统BlackEnergy病毒分析
    • 7.5 试验内容(4)变电站3D虚拟攻防视频
OPC协议攻击病毒与防御


OPC System

OPC全称是Object Linking and Embedding(OLE) for Process Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。在过去,为了存取现场设备的数据信息,每一个应用软件开发商都需要编写专用的接口函数。由于现场设备的种类繁多,且产品的不断升级,往往给用户和软件开发商带来了巨大的工作负担。通常这样也不能满足工作的实际需要,系统集成商和开发商急切需要一种具有高效性、可靠性、开放性、可互操作性的即插即用的设备驱动程序。在这种情况下,OPC标准应运而生。OPC标准以微软公司的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的,在OPC技术中使用的是OLE 2技术,OLE标准允许多台微机之间交换文档、图形等对象。

1.OPC技术

OPC(OLE for Process Control, 用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。 基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。

2.OPC原理

首先简单介绍一下Microsoft发展的COM/DCOM[2]:

COM是一种发展软件组件的方法,所谓的软件组件,是指一个可以提供应用程序、操作系统、以及其它组件服务的二进制可执行程序。依据 COM 这样的概念,发展应用程序就像是堆积木一样,每一个 COM 组件就是一块积木,你可以利用各式各样不同的积木,拼凑出你所需要的应用程序。

在实作上,COM 透过一组一组的接口 (Interface) 提供服务,所有 COM 组件的使用者,都必须透过这些 Interface 来使用组件提供的功能。

如前面所述,OPC Server 透过一组一组的接口提供服务,不过在实作的架构上,OPC Server 共分为三层:分别是 OPCServer, OPCGroup, OPCItem。

其中每一个 OPCItem 对应到一个实际的硬件装置上的某一个 channel 或 port;每一个 OPCGroup 则包含了许多的 OPCItem,同时并定义这些 OPCItem 更新的时间、方式,以及提供读取 OPCItem 值的接口;而每一个 OPCServer 则包含若干个 OPCGroup,同时提供操作这些 OPCGroup 的接口。

3.OPC Server架构

如前面所述,OPC Server 透过一组一组的接口提供服务,不过在实作的架构上,OPC Server 共分为三层:分别是 OPCServer, OPCGroup, OPCItem。

其中每一个 OPCItem 对应到一个实际的硬件装置上的某一个 channel 或 port;每一个 OPCGroup 则包含了许多的 OPCItem,同时并定义这些 OPCItem 更新的时间、方式,以及提供读取 OPCItem 值的接口;而每一个 OPCServer 则包含若干个 OPCGroup,同时提供操作这些 OPCGroup 的接口。