控制系统设备:架构和供应渠道概述

报告原文:Control System Devices: Architectures and Supply Channels Overview(美国桑迪亚国家实验室报告 ,SAND2010-5183)

原文连接:energy.sandia.gov/wp-co

摘要

桑迪亚国家实验室开展了一个研究项目,该项目研究了自动控制系统中使用的硬件,本报告介绍了这个项目的部分研究成果。本报告提供了多种主流的控制系统设备的供应商、采用的体系结构以及供应链情况。这个项目尝试更深入地探讨可编程逻辑控制器(PLC)这一领域,PLC是自动化控制领域的一种特殊的数字计算机。

本报告的主要内容如下:

(1)简单介绍了控制系统的基本架构和PLC的基本架构。

(2)简单介绍了全球PLC市场前几大供应商。

(3)讨论了不同行业使用的通信协议。

(4)对几种常用的PLC设备进行了拆解并对其使用的零部件进行了初步分析。

作为该项目的一部分,研究者拆解了几个PLC并分析其不同的组成部分。这些信息将极大地增加我们对PLC硬件和软件领域的理解,为进一步进行安全研究提供基础。这些知识对于辨别控制设备中存在的安全漏洞,以及这些安全漏洞对安全生产造成的影响至关重要,并可以作为制定积极主动的应对策略的依据。

备注:本文仅做翻译,版权归桑迪亚实验室所有,所有观点也仅是桑迪亚实验室的观点,仅供参考 (知乎--“也西湖”工控安全专栏)

1 介绍

1.1 背景

工业控制系统控制着每个国家的关键基础设施,如智能电网、石油和天然气管道等,一旦受到物理或者网络攻击,可能产生严重的负面影响,包括公共服务的大范围中断、人民的生命和财产损失等。为了更好的理解和缓解关键基础设施控制系统所面临的威胁,科研和产业界已经开展了一些研究工作。其中,美国国家SCADA测试床计划(NSTB)是其中最具代表意义的一个项目,该计划由美国能源部(DOE)下属的电力输送和能源可靠性办公室(OE)部署和指导,该办公室的主要任务是协助产业界和政府智能部门改善能源领域控制系统的安全性。本报告也是建立在NSTB项目研究和经验的基础之上。本文提到的研究项目涉及一个尚未充分探索的研究领域---调研不同行业和地区的自动控制系统中使用的硬件和通信协议。本报告简答介绍了多个主要的控制系统的设备供应商、体系结构和供应链。本项目尝试更深入地探讨可编程逻辑控制器(PLC)这一领域,PLC是自动化控制领域的一种特殊的数字计算机。

1.2 目的

本报告主要介绍了控制系统的市场概况,重点关注PLC行业,介绍了包括主要供应商信息、所使用的技术、主要的行业趋势、服务的市场分布以及一些供应链分析,还包括对几个PLC设备的拆解及其各个组件的详细描述。

以往对关键基础设施控制系统的攻击大多数都是针对控制系统中基于PC的部分。针对这些攻击的防御也集中在这些部分上。但PLC依然是攻击和防御的一个重点领域,因为(1)他们普遍存在于各种控制系统中,(2)它们位于受控制的物理系统附近,(3)嵌入式设备的检测、保护或取证机制还不完善。为了制定有效的防御策略并研究相关技术,必须详细分析PLC的硬件组件和底层软件,这对理解这些系统的潜在威胁是十分必要的。通过阅读本报告,读者可以对关键基础设施安全威胁有更深入的理解。本报告中提供的分析,可以将安全评估功能扩展到硬件组件级别。

1.3 范围和方法

本报告中主要使用公开信息编制,包括公司公开报告、报表和行业新闻。作者还通过与相关专家访谈收集了部分信息。该报告的研究还包括对几台PLC设备的拆解和内部硬件检查,以了解PLC最常见的硬件组件,并研究确定这些组件的功能和来源。本报告的目标是提高我们对设备的了解,未来的工作将侧重于对各个设备的更详细分析。这些设备的选择将以本报告中的市场调查结果为指导。

2 控制系统概述

2.1 控制系统的组件

控制系统组件根据其所处的位置,可大致分为两类:控制中心设备远程站点设备。控制中心设备位于系统控制中心,包括人机界面(HMI)、工程师工作站和数据历史记录服务器(Historian)。远程站点设备驻留在现场,并直接连接到执行器和传感器,以监督和控制物理过程。尽管现场设备通常不与人直接交互,但由于现场位置通常不如控制中心安全,它们可能会展现出更多的受攻击面。

2.1.1 控制中心设备

人机界面HMI(有时也称为SCADA系统)是允许操作人员监视和控制过程的系统。HMI通常是在商用硬件上运行的纯软件应用程序,通常运行在微软Windows系列操作系统环境中。工业领域常见的HMI包括Wonderware,Siemens WinCC,Rockwell RSView和Areva e-terra等。

历史记录Historian是一个包含过程控制系统状态历史的数据库。在某些情况下,如果Historian的界面功能足够强大,也可以作为控制系统的HMI使用。Historian通常运行在主流的操作系统和通用硬件设备上,而且通常在企业网络中存在镜像备份。

2.1.2 远程站点设备

远程站点设备包括PLC、远程终端单元(RTU)、智能电子设备(IED)和电子继电器。虽然这些设备在功能和目的上有很大差异,但为了简化讨论,根据其所处的位置和相似性,可以大致组合在一起。另外,这些设备中使用的硬件结构也有相似之处,这些设备一般提供模拟或数字输入/输出(I/O)和控制功能。通常,它们直接从传感器读取数据并向执行器发送操作指令。某些情况下,它们与其他现场设备连接在一起。

备注:在此,我们对设备进行了简化讨论。其实,上面提到的这些设备(PLC、RTU、IED和电子继电器)都在控制系统对象关系模型(ORM)中执行某个功能子集。例如,RTU通常仅提供I/O控制器的SCADA现场设备功能,通过现场I/O传感器进行采样。某些RTU会为执行器生成触发器,但并非总是如此。另一方面,继电器将始终执行采样和触发功能。RTU将生成状态数据字段点,有时还会处理命令数据字段点。继电器将产生状态数据字段点,但不太可能处理命令数据字段点。RTU没有本地控制功能,但继电器具有该功能。除了与传感器,执行器和上层控制功能通信外,PLC还具有重要的本地控制功能。这些功能看似相似,但在ORM中有很大不同。读者应该注意这一点。

2.2 典型控制系统架构

图1显示了典型的控制系统架构。其中,运行HMI的普通商用PC通过标准网络协议(例如以太网)与PLC等现场设备通信。工程师站和历史数据库通常也是普通商用PC,通过标准网络协议与现场设备通信。现场设备使用“基金会”Fieldbus等基于以太网的工控协议连接到其他现场设备(如第5节所述)。有些现场设备采用RS232或RS485等标准的串行总线通信协议与智能设备连接,有些现场设备直接与传感器、I\O设备和机器设备连接。

图1. 典型的分布式控制系统DCS架构

2.3 可编程逻辑控制器PLC

我们在第1部分提到过,PLC是本报告主要焦点。PLC是一种现场设备,可以直接连接到传感器和执行器或其他现场设备。PLC通过逻辑程序形式进行本地控制(通常以IEC 61131-3定义的格式),并且能够通过控制系统通信协议从HMI接收控制命令和查询请求。PLC可以是模块化的,也可以组合成紧凑的固定形状,但两种类型基本上使用相同的底层组件。

2.3.1 PLC编程

PLC可以使用IEC 61131-3中列出的语言之一进行编程:

  • 梯形图(LD),图形化
  • 功能框图(FBD),图形化
  • 结构化文本(ST),文本形式
  • 指令列表(IL),文本形式
  • 顺序功能图(SFC),图形化

PLC在称为“扫描”的循环周期中运行,扫描包括输入、逻辑执行和输出。

2.3.2 通用模块化PLC架构

图2显示了通用模块化PLC的基本架构。模块化PLC通过背板连接的各个组成模块。非模块化PLC共享所有相同的组件,这些组件集成在一个电路板中。

图2. 通用模块化PLC架构

2.3.3 PLC模块交互

在图2所示的通用PLC架构中,每个模块都有一个物理插槽,并为其分配了一系列背板地址。接口寄存器和存储器缓冲区在背板地址范围内公开。通过模块读取、写入寄存器以及其他模块缓冲区等方式,实现消息的发送和接收。

2.3.4 处理器模块

处理器模块是PLC的核心。它实现模块之间的协调,有时还用作背板仲裁器。如果其他模块不存储自己的配置,则处理器模块将在加电时对他们进行配置。

处理器模块解释并执行梯形逻辑,从通信模块或者I/O模块读取数值,维护操作状态,运行梯形逻辑的“扫描”并将输出值写入通信模块和I/O模块。

2.3.5 通信模块

通信模块从处理器模块中取走复杂的通信协议特定代码。它们从处理器模块取走时间敏感协议的交互数据,确保处理器模块处于其自己的时间敏感控制环路中。由于某些控制系统协议非常复杂,通信模块可能包含重要的处理能力。这些模块可能会像处理器模块一样复杂。

2.3.6 I/O模块

I/O模块在低电压(3.3伏或5伏)、低电流(毫安级)控制逻辑和高电压(24伏以上),高电流(安培级)过程控制之间转换信号。模拟I/O模块包含模数转换器(ADC)和数模转换器(DAC)。这些模块逻辑简单,包含较少智能硬件,他们唯一的任务是在模拟信号和数字信号之间进行转换。

2.3.7 通用处理器

PLC中最常见的处理器架构有三种类型:

  • ARM架构(7或9系列)
  • 摩托罗拉/飞思卡尔68000系列架构
  • IBM的Power架构

ARM架构由总部位于英国的ARM公司设计,该公司拥有超过1700名员工。ARM不制造芯片,而是设计和授权芯片的知识产权(IP)。(1)ARM架构广泛应用于嵌入式系统和设备,它在移动电话和个人数字助理(PDA)等消费电子产品中占有特别大的份额,市场份额超过90%。(2)ARM处理器可以以big-endian或little-endian模式运行,也可以使用ARM(32位)和Thumb(16位)指令集。ARM处理器通常是定制芯片系统(SOC)的一部分。

摩托罗拉(现为飞思卡尔)68000系列是一款32位复杂指令集(CISC)微处理器。它广泛用于嵌入式系统中。在2000年时,它曾是世界上最畅销的32位架构处理器,68000系列是big-endian。

Power架构包括PowerPC,是由IBM,Freescale,AMCC,Tundra和P.A. Semi等公司实施的精简指令集(RISC)微处理器架构。Power架构是big-endian。

2.3.8 存储布局

PLC通常使用非易失性闪存存储来存储处理器模块固件和梯形逻辑程序(或其他IEC 61131-3语言)。闪存存储器的地址映射到处理器的地址空间,其他板载设备的控制寄存器也是如此。RAM用于存储运行时状态。

2.3.9 嵌入式操作系统

许多嵌入式操作系统被同时也是实时操作系统(RTOS)。要被视为RTOS,操作系统必须是“确定性延迟,或者保证最坏的中断延迟和上下文切换时间”。

PLC经常使用商业RTOS实现,例如VxWorks、Windows CE或QNX。也可能使用自定义的“内部”操作系统。虽然目前还不常见,但一些制造商已开始在PLC上使用基于Linux的操作系统。

3 行业概述

PLC和SCADA系统用于许多行业,它们提供对自动化功能的监督和控制。这些行业包括(美国的行业分类):

  • 汽车制造业
  • 建筑(设施)自动化行业
  • 水泥和玻璃行业(非金属矿物制造业)
  • 化工行业
  • 电子电气制造业
  • 电力行业
  • 食品和饮料行业
  • 机械设备制造行业
  • 采矿和金属行业
  • 石油和天然气行业
  • 制药和生物技术
  • 纸浆和造纸行业
  • 石油炼化行业
  • 半导体制造业
  • 自来水和污水处理行业

本文的目的与行业无关的; 然而,有些章节可能更侧重电力行业和石油和天然气行业,这反映了作者最有经验的领域(桑迪亚国家实验室受美国能源部DOE资助,主要服务于美国电力行业)。

4 PLC市场概述

2007年是我们找到全球数据最全的最近的一年(本报告于2010年发布),全球PLC市场总额约为89亿美元(估算)。西门子(Siemens, 31.3%的市场份额)和罗克韦尔自动化(Rockwell Automation,22.1%)是PLC市场的主要供应商,市场份额超过50%。其他大型供应商包括三菱电机(Mitsubishi Electric, 12.7%)、施耐德电气(Schneider Electric,8.0%)、欧姆龙(Omron, 6.1%),贝加莱工业自动化(B&R Industrial Automation,3.6%),通用-发那科(GE Fanuc, 3.5%)和ABB(2.1%)。各种较小的供应商构成了剩余的10.6%的市场份额。图3是各个PLC厂商市场占有率的饼图。

图3. 2007年PLC供应商在全球市场中的份额饼图

不同地理区域的供应商市场份额差异很大。例如,西门子的工业部门(包括自动化和SCADA系统)2009年的收入超过一半来自欧洲国家,而罗克韦尔自动化的销售额约有一半来自美国市场。

供应商的市场份额因行业和地区而不同。图4显示了北美电力公用事业部门的市场份额。在这个细分领域市场中,施耐德电气是领先的PLC供应商,占有45%的市场份额,其次是罗克韦尔自动化(29%)、卡特卡汉漠Cutler Hammer(9%)和其他(17%)。

本报告提供市场份额数据,可以展示各行业领导者的整体状况。在以下供应商概述中,我们仅考虑总收入,这种考虑反映了这样一个事实,即我们并不关心利润率,而是关注购买和使用的实际单位数量。

图4. 北美电力行业PLC市场份额

以下小节是各主要供应商的简单介绍。原文附录B中提供了对这些供应商的全面调查- 包括有关产品、收入、人员规模和行业部门的信息(本文没有包含附录B的内容,感兴趣的读者可以查阅原文)。

4.1 西门子(Siemens)

西门子总部位于德国,在全球拥有405,000名员工。西门子是PLC市场的领先供应商,也是能源领域的主要供应商之一。其业务主要集中在欧洲市场,但在全球其他地区也拥有较大的市场份额。西门子主要为三个市场领域提供设备:工业领域、能源领域和医疗保健领域。

西门子2009年的总收入达到了1040亿美元。其中,西门子的工业部门的收入为476亿美元,能源部门营收350亿美元,医疗保健部门营收162亿美元,其他业务领域还有约52亿美元的营收。西门子工业部门的主营业务之一是PLC生产。

图5. 2009年西门子公司数据摘要

4.2 罗克韦尔自动化(Rockwell Automation)

罗克韦尔自动化总部位于美国威斯康星州密尔沃基市,在全球拥有19,000名员工,主要销售Allen-Bradley品牌的控制系统组件。Allen-Bradley产品几乎涉及所有行业,在制造业、楼宇自动化和电力基础设施中比较普遍。该公司正在积极提高其在石油和天然气行业的市场渗透率。罗克韦尔2009年的收入总计43亿美元。

图6. 2009年罗克韦尔自动化公司数据摘要

4.3 三菱电机(Mitsubishi Electric)

三菱电机是一家总部位于日本的公司,在全球拥有107,000名员工,生产用于能源领域的电气系统、工业自动化、信息和通信系统、电子设备和家用电器等电气和电子设备。三菱电机2009年的收入总额为374亿美元。特别是其能源和电力部门(销售额106亿美元)及其工业自动化部门(87亿美元的销售额)。

图7. 2009年三菱电机公司数据摘要

4.4 施耐德电气(Schneider Electric)

施耐德电气总部位于法国,在全球拥有近105,000名员工。施耐德专注于能源管理,业务遍及全球100多个国家。施耐德控制设备用于能源基础设施、工业、建筑、数据中心网络以及住宅。施耐德电气2009年的收入总额为214亿美元。其自动化和控制业务的销售额为58亿美元,其配电业务占125亿美元。

图8. 2009年施耐德电气公司数据摘要

4.5 欧姆龙(Omron)

欧姆龙公司总部位于日本,在全球拥有32,500名员工。该公司主要致力于自动化系统的制造和销售,也生产医疗设备。欧姆龙超过一半的销售额来自日本,超过70%销售额来自亚洲国家。欧姆龙2008年的总收入为67亿美元,其工业自动化部门的收入为28亿美元。

图9. 2009年欧姆龙公司数据摘要

4.6 贝加莱工业自动化(B&R Industrial Automation)

贝加莱工业自动化是一家总部位于奥地利Eggelsberg的小公司,拥有1700名员工。它是自动化和过程控制领域最大的私人拥有的公司之一。贝加莱的产品范围包括控制、运动、用户操作界面HMI、通信和软件产品。由于贝加莱是私人拥有的公司(未上市),因此难以获得详细的销售数据。

图10. 贝加莱工业自动化公司数据摘要,因为贝加莱是一个私人拥有的公司,公开可用的信息较少

4.7 通用电气&通用发那科(GE Fanuc)

通用电气(GE)是一家总部位于美国的大型公司,在全球拥有323,000名员工。GE在能源和基础设施领域拥有强大的技术实力。GE的智能平台部门为多个行业提供PLC、HMI和其他过程控制设备,客户覆盖能源行业、技术服务业和制造业。

GE-FANUC自动化公司是发那科机器人美国公司和通用电气的合资企业。然而,2009年8月,两家公司解散了合资公司。

图11. 2009年通用电气GE公司数据摘要

4.8 ABB集团

ABB集团总部位于瑞士,拥有120,000名员工,其产品用于电力系统、生产流程控制和机器人自动化。该公司主要开发用于公用服务事业和工业领域的自动化技术。ABB 2009年的总收入为3490亿美元,其自动化产品部门的总额为103亿美元,其过程自动化部门的总收入为78亿美元。

图12. 2009年ABB集团的公司数据摘要

5 控制系统通信协议

在控制系统中使用的通信协议在不同的行业、不同的区域和不同的供应商之间差别很大。

5.2 电力行业

5.2.1 IEC 60870-5

IEC 60870-5可能是国际上最流行的变电站自动化协议。在美国,它在功能上等同于DNP3,它使用IEC 60870-5的部分来为数据链路层提供基础。已经制定了许多配套标准,包括以下内容:

  • IEC 60870-5-101:用于远程控制、远程保护相关的电力系统,是具有监视、控制功能的通信传输协议
  • IEC 60870-5-103:实现安全保护装置和变电站控制系统设备之间互操作性的传输协议
  • IEC 60870-5-104:是IEC 60870-5-101的扩展,包括传输、网络、链路和物理层服务的变化,以及与TCP/IP和其他传输(ISDN、X.25帧中继等)连接的套件

IEC 60870-5典型的通信介质包括以太网和串行,典型端口为2404/UDP和2404/TCP。

5.2.2 分布式网络协议3.0(DNP3)

DNP3广泛应用于北美地区,主要用于替代IEC 60870-5系列协议。它是在20世纪90年代早期开发的一种串行协议,但现在也存在UDP/IP和TCP/IP变体版本。DNP3和IEC 60870-5之间存在许多相似之处,因为IEC 60870-5开发委员会的几个成员在开发过程中离开,创建了后来的DNP3。因此,DNP3和IEC 60870-5的数据链路层非常相似,但协议的上层差异性较大。

DNP3主要应用于北美电力行业,但该协议也渗透到自来水和污水处理行业。根据牛顿-埃文斯研究公司调查,2008年北美电力公司中有一半以上使用DNP3协议的UDP/IP或TCP/IP变体版本。

目前,研究者正在开发DNP3的安全扩展,预计这些扩展将提供链接加密和密钥管理服务。

DNP3协议典型的通信介质包括以太网和串行连接,DNP3通常使用端口有20000/UDP,20000/TCP,19999/UDP和19999/TCP。

5.2.3 基金会现场总线(FOUNDATION Fieldbus)

基金会现场总线协议是不同工业进程中的主要现场总线协议。它主要用于过程/工厂自动化,已部署在各种装置中,包括发电厂/发电机控制和半导体制造的控制。Fieldbus的通信介质包括双绞线和光纤。典型端口包括1089/UDP,1089/TCP,1090/UDP,1090/TCP,1091/UDP和1091/TCP。

现场总线基金会网站上提供了基金会现场总线协议支持设备的公共列表。现场总线基金会的成员包括350多家领先的控制系统和仪表供应商以及一些最终用户。

5.2.4 控制中心间通信协议(ICCP)

ICCP(IEC 60870-6/TASE.2)用于控制中心之间的通信,主要用于电力行业。在美国,ICCP网络经常被用于公用事业公司的协同-- 通常是具有传输业务的公用事业,如输电、配电和不同区域的发电厂,将这些不同区域的服务商连接在一起,可以以协调不同地区之间的电力输入和输出。ICCP通常使用端口102/TCP。

5.2.5 Modbus协议

由于其使用简单、可免费下载以及免版权费部署等特性,Modbus成为所有领域中最受欢迎的控制协议。

PLC和继电器等智能设备通常使用Modbus协议或者其变体与远程RTU等简单设备进行通信。除Modbus标准协议外,Modbus+是最普遍的一个变体。Modbus网站上提供了Modbus成员列表(属于Modbus开发人员组的公司和开发人员)。此列表包括各个成员以及每个成员制造的产品的简要说明。还提供了Modbus供应商列表、Modbus设备列表以及提供Modbus系统集成服务的公司列表。

现在有许多Modbus变体,Modbus RTU是一种开放标准、允许通过串行连接进行通信的二进制编码协议。Modbus ASCII也是一种开放标准、支持串行连接的ASCII编码协议。Modbus/TCP是一种开放标准、它将Modbus RTU有效负载封装在TCP数据包中,并对功能码进行了一些限制。Modbus/UDP因供应商而异,但最常见的是通过UDP传输Modbus/TCP。Modbus +是一种扩展的高速(1Mbps)版本,它使用令牌传递技术进行传输介质访问控制,但Modbus +是Modicon的专有协议。Enron(或Daniels)Modbus是标准的Modbus协议,具有供应商扩展,将32位值视为一个寄存器而不是两个。JBus是具有较小的寻址变化的Modbus协议版本。

Modbus典型的通信介质包括以太网和串口(RS485双线非常常见)。Modbus通常在端口502/TCP上通信。

5.3 石油和天然气行业

石油和天然气行业没有明显的主流专用协议。该行业使用各种协议,如DNP3,IEC 60870-5和Modbus。第5.2节更深入地讨论了这些协议。多种现场总线协议,如基金会现场总线协议Feildbus,也能在许多石油和天然气设施中也能看到。

石油和天然气行业的通信经常通过无线进行传输,通过RTU和传感器为PLC提供流量和压力数据,PLC运行安全保护系统和油井控制系统等。

5.3.1 DNP3和IEC 60870-5

关于DNP3和IEC 60870-5的讨论在5.2节的电力行业部分中已经给出。在Triangle Microworks Inc.网站上,列出了使用DNP3和IEC 60870-5的石油和天然气公司的清单,在该网站还可以找到关于协议的白皮书。

典型的通信介质包括以太网和串行连接。DNP3通常使用端口20000/UDP,20000/TCP,19999/UDP和19999/TCP,而IEC 60870-5通常使用2404/UDP和2404/TCP。

5.3.2 Modbus协议

如第5.2节中对Modbus的描述所述,Modbus是石油和天然气领域的流行控制协议。另外基金会现场总线协议在石化领域也很受欢迎。

典型的通信介质包括以太网和串口(RS485双线非常常见)。Modbus通常在端口502/TCP上运行。

5.4 水处理行业

5.4.1 DNP3协议

如第5.2节中对DNP3的描述所述,该协议在水处理领域也很受欢迎。典型的通信介质包括以太网和串行连接。DNP3通常使用端口20000/UDP,20000/TCP,19999/UDP和19999/TCP。

5.4.2 Modbus协议

在上文关于电力行业部分,对Modbus的描述中提到过,Modbus是水处理行业中比较流行控制协议。典型的通信介质包括以太网和串行总线。Modbus通常在端口502/TCP上运行。

5.5 建筑自动化领域

在建筑自动化领域,LonWorks(也称为LonTalk或ANSI/CEA 709.1B)是主流的通信协议,其次是DyNet,还有一些其他通信协议。典型的通信介质包括电力线载波、双绞线/以太网、光纤和RF。主要通信端口包括2540/UDP,2540/TCP,2541/UDP和2541/TCP。

5.5.1 LonWorks (LonTalk, 或ANSI/CEA 709.1-B)

美国埃施朗公司(Echelon)基于LonWorks协议了一个网络平台,也叫做LonWorks平台。该平台广泛应用于许多行业,包括半导体制造、照明控制系统、能源管理系统、HVAC系统、安防系统、家庭自动化、消费电器控制、公共街道照明/监控/控制和加油站控制。LonWorks的典型应用是用作恒温器,通过LonTalk协议与PC和PLC通信,来协调建筑物内部的空调和通风系统(HVAC)。

ISO和IEC已授予LonWorks平台兼容性标准号ISO/IEC 14908-1,-2,-3和-4(ANSI/CEA-852)。LonWorks还构成了IEEE 1473-L(列车网络,Locomotive networking)以及其他几个特定的应用领域的应用。中国已批准LonWorks作为国家控制标准(GB/Z 20177.1-2006)并作为建筑和智能社区标准(GB/T 20299.4-2006)。欧洲设备制造商委员会也已将LonWorks作为其家用电器控制和监控- 应用互通规范标准的一部分。

5.5.2 DyNet

DyNet是由Dynalite(现为飞利浦电子公司所有)开发的专有协议。DyNet设备包括自己的可编程控制器,并通过点对点模型通信。

DyNet典型的通信介质包括RS-485串行总线、RS-232串行总线、以太网和红外。

5.5.3 其他协议

还有许多协议用于建筑自动化系统。最受欢迎的包括INSTEON,X10,ZigBee,X-Wave和KNX/Konnex。

5.6 过程自动化(制造业)领域

过程自动化领域的以现场总线协议为主,包括PROFINET、基金会现场总线协议Fieldbus和通用工业协议CIP及其衍生协议。IEC 61158和IEC 61784包含每种主要现场总线协议及其变体的详细说明。

5.6.1 DF1协议

DF1是ANSI X3.28协议中D1和F1部分中定义的串行通信协议。该协议最初由Allen-Bradley(现为罗克韦尔自动化公司所有)开发,通常用作向Allen-Bradley PLC传输可编程控制器通信命令(PCCC)。

5.6.2 基金会现场总线协议Fieldbus

基金会现场总线协议Fieldbus适用于基本和高级调节控制的应用,以及与这些功能相关的大部分离散控制场景。基金会现场总线协议Fieldbus有两种不同速度和不同传输媒介运行的实现方式:H1是最常见的实现方式,通常连接现场设备并以31.25Kbps运行; HSE(高速以太网)连接主机、I/O子系统、网关和现场设备,运行速度为100 Mbps。基金会现场总线协议Fieldbus已经作为IEC 61804中的现场总线标准。

5.6.3 过程现场总线协议Profibus

Profibus由德国教育和研究部门BMBF开发。它有两种变体,其中较常见的变体是分散式外围设备(DP)协议,通常用于集中控制器与传感器/执行器的通信;另一种变体是过程自动化(PA)协议,用于过程控制系统PCS监控测量设备。PA变体设计并用于爆炸性或危险区域,并使用符合IEC 61158-2的物理传输链路。PA和DP相同的基本相同的通信规约,但PA的运行速度为31.25Kpbs。DP网络和PA网络可以通过一个耦合器连接起来,DP用作骨干网。Profibus现场总线协议包含在IEC 61158和IEC 61784标准中。

5.6.4 Profinet IO协议

PROFINET概念具有两个视角:PROFINET CBA和PROFINET IO,两者都可以在同一总线系统上进行通信。它们可以单独操作或组合使用,PROFINET IO子系统可以从另一个角度作为PROFINET CBA系统。POFINET IO开发用于与分布式外围设备的实时(RT)和等时(IRT)通信,实时通信RT的周期时间为10毫秒,等时通信IRT驱动循环时间为1ms或更短。PROFINET CBA适用于通过TCP/IP进行基于组件的通信,以及用于模块化系统工程中的实时通信。两种通信通信模式可以并行使用。PROFINET CBA的反应时间范围为100ms。

PROFINET现场总线协议包含在IEC 61158和IEC 61784标准中。

5.6.5 CC-Link协议

CC-Link是由日本三菱电机开发,并被其他日本供应商广泛采用的一种现场总线协议。目前,使用CC-Link设备总数超过600万台,涵盖1000多种不同的设备。使用CC-Link协议的工业以太网可以很方便的跟传统的IT网络进行集成。

有四种CC-Link格式:

  • CC-Link
  • CC-Link LT(用于低通信需求设备的轻量化版本)
  • CC-Link Safety(高可靠性版本,符合IEC 61508 SIL3和ISO13849-1 Cat 4标准)
  • CC-Link IE(工业以太网版)

典型的CC-Link通信介质包括双绞线和光纤,CC-Link合作伙伴协会提供合作伙伴名单。

5.6.6 通用工业协议(CIP)

通用工业协议(CIP)尝试为整个制造业提供统一的通信架构。CIP是EtherNet/IP、DeviceNet、CompoNet和ControlNet的等协议的统一应用层协议。CIP包含一整套消息和服务,用于收集制造自动化应用程序的控制、安全、同步、运动、配置等信息。该协议由Open DeviceNet Vendors Association (ODVA)管理。

5.6.7 ControlNet协议

ControlNet是由Allen-Bradley开发的一种CIP实现。ControlNet具有支持完全冗余链路电缆的内置功能,所有通信都经过严格的安排从而具有高度确定性。

ControlNet物理层是使用BNC连接器的RG-6同轴电缆或光纤。ControlNet使用曼彻斯特编码,总线速度为5 Mbps。链路层的运行周期称为网络更新时间(NUT),每个NUT具有两个阶段,第一阶段预留给的常规流量传输,以保证传输机会,第二阶段用于没有任何保证的计划外流量传输。ControlNet的最大帧大小为510字节。

5.6.8 DeviceNet协议

DeviceNet是由Allen-Bradley开发的另一个CIP实现版本。DeviceNet位于控制器区域网络(CAN)物理层之上,并采用ControlNet技术,与传统的基于RS-485的协议相比,它的成本更低和健壮更高。

DeviceNet的波特率分别为125 Kbps、250 Kbps和500 Kbps,主干线长度与总线速度成反比,即分别为500米、250米和125米。大多数部署使用主/从模式,但也可以使用点对点传输。多个主设备在单个逻辑网络上共存。DeviceNet经过精心设计,可以在复杂的电磁环境下稳定运行。

5.6.9 EtherNet/IP协议

EtherNet/IP是由罗克韦尔自动化开发的CIP协议的实现版本。协议的应用层是CIP。EtherNet/IP是在标准TCP/IP堆栈上构建的应用层协议,它将网络上的所有设备统一视为一系列“对象”,底层利用现有的以太网基础设施(无论速度如何)。整个EtherNet/IP堆栈可以在通用处理器上通过软件实现,无需ASIC或现场可编程门阵列(FPGA)。EtherNet/IP利用44818/TCP进行显式消息传递和2222/UDP用于隐式消息传递。

5.6.10 EtherCAT协议

EtherCAT(Ethernet for Control Automation Technology)是用于控制自动化技术的以太网协议,其Ethertype为0x88A4,通过将帧数据插入UDP数据包可以实现IP可路由。EtherCAT没有采用每个周期每个节点处理一个帧(更新时间)的模式,而是使用“即时处理”模式。EtherCAT不是简单的从设备接收以太网帧,而是在数据报通过设备时读取发往它们的数据,并在每个节点处作为过程数据进行解释和复制,类似地,在数据报通过时插入输入数据。许多节点可以用一帧寻址。

EtherCAT网络可以通过网关与CANopen,DeviceNet,PROFIBUS和其他协议集成。EtherCAT技术组是国际用户和供应商组建的组织; 截至2009年8月,它由来自47个国家的1100多家公司组成。EtherCAT作为现场总线协议包含在IEC 61158和IEC 61784标准中。EtherCAT使用端口34980/UDP和34980/TCP在以太网LAN之间进行路由。

5.6.11 EGD协议(Ethernet Global Data)

以太网全局数据(EGD)协议是一种通信机制,它使一个CPU能够以定期调度的周期速率与一个或多个其他CPU共享其内部存储器的一部分。某些GE发那科的PLC使用EGD协议。

5.6.12 FINS协议

FINS是欧姆龙(一家日本控制公司)开发的协议,并在其新的PLC中使用。它通常使用端口9600/UDP在支持IP的系统上运行。

5.6.13 Host Link协议

Host Link是欧姆龙为其旧PLC系列开发的协议,但是,许多新的欧姆龙PLC仍然可以使用HostLink协议进行通信。它是基于ASCII码的RS-232总线协议。

5.6.14 SERCOS协议(Serial Real-Time Communication System)

SERCOS具有严格的实时要求,尤其适用于运动控制,例如金属切割和成型、机械装配、包装、机器人、印刷和材料处理等领域。该协议由SERCOS International管理,目前的版本是SERCOSIII。SERCOS在IEC 61158和IEC 61784标准中有详细的定义。

5.6.15 SRTP协议(Service Request Transfer Protocol)

SRTP是一种用于通过PC向PLC进行命令和数据通信的协议。它被GE发那科PLC用作应用层通信协议。

5.6.16 Sinec H1协议

Sinec H1是西门子开发的传输层协议,不同的应用层协议可以在其上运行。该协议的大带宽特性使其成为大数据量传输的理想选择。

6 PLC组件分析

作为该研究项目的一部分,本文作者拆解了几个PLC,以确定其组成部分。我们确定了一些有用的特征,例如发现几乎所有的PLC都使用ARM架构的芯片(仅发现一个例外案例)。

6.1方法

我们拆解了每个PLC,记录了所有芯片标记并了拍摄这些组件的照片。对于每个主要组件,我们在电路板上对其进行定位、识别并记录其特征。在某些情况下,我们对组件的描述是基于对该设备如何在现场使用的理解。我们还确定了总线和芯片的连接方法,还为无法识别的芯片添加了芯片标记。

6.1.1 供应链分析

为了确定哪些国家参与了每个PLC的生产,我们记录了芯片标记、标签和制造商信息,此信息可用于供应链分析。

6.1.2 下一步分析

对PLC设备的进一步分析将纳入本研究项目的下一步。我们将选择具有代表性的设备,并对其硬件和软件组件进行深入分析。执行这些分析需要具备硬件和软件逆向工程的能力。而且许多PLC设备同时使用多个处理器架构(例如,单个电路板上集成ARM和PowerPC处理器),需要对处理器架构和嵌入式系统设计具有深入和广泛的理解。

该分析将大大提高我们对PLC硬件和软件层面的安全性的理解。这种理解对于识别这些设备中安全漏洞,以及潜在国家安全影响,从而制定积极主动的对策具有重要作用。

6.2 西门子Simatic S7-200

西门子Simatic S7-200是一种模块化PLC,各模块使用小型带状连接器串联连接,外部标记表明该设备是在德国制造的。PLC由主模块、以太网模块和模拟I/O模块组成。

6.2.1 主模块

该模块有两个串行端口、多个I/O端口和一侧的带状连接器,用于串联外部模块(图13)。在内部有三块电路板,分别是处理器板、I/O板和电源板,图13右侧文字是主模块的外部标记。

图13. 西门子S7-200的CPU226主模块(左)和外部标记(右)

在处理器板上(图14),有几个三星存储芯片、一个AMD芯片(闪存)和一个德州仪器(TI)的处理器,右侧文字为德州仪器处理器的外部标记。I/O板或电源板上,只有一些普通电子元器件,没有存储芯片(图15)。该模块还包含扩展模块端口(图16)。

图14 西门子S7-200的处理板(左)和德州仪器TI处理器标记(右)
图15. 西门子S7-200的I/O板(左)和电源板(右)
图16. 西门子S7-200的扩展模块端口

6.2.2 模拟I/O模块

模拟I/O模块有一个带I/O端口的主板和一块扩展板。主板有三个Maxim芯片,扩展板有一个Atmel芯片。图17显示了模块处于关闭状态的外观,右侧为该模块的外部标记。图18显示了模块的扩展板,右侧为Atmel的芯片标记。图19显示了模块的主板,右侧文字为Maxim的芯片标记。

图17. 西门子S7-200的模拟I/O模块(左)和外部标记(右)
图18. 西门子S7-200的I/O模块扩展板(左)和芯片标记(右)
图19. 西门子S7-200的I/O模块主板(左)和芯片标记(右)

6.2.3 以太网模块

该模块外部具有以太网接口和电源接口。内部有一个主板和一个扩展板,主板上有一个Net+ ARM 50芯片,这是一个32位,44MHz ARM7TDMI处理器,带有以太网模块和8kB片上高速缓存。图20显示了外部模块的外观及外部标记。

图20. 西门子S7-200的I/O以外我模块(左)和外部标记(右)


图21显示了模块的主板的外观和主要芯片标记。图22显示了扩展板的外观和芯片标记。

图21. Siemens S7-200以太网模块主板(左)和芯片标记(右)
图22. 西门子S7-200以太网模块扩展板(左)和芯片标记(右)

6.3 霍尼韦尔Experion C200过程控制器

霍尼韦尔Experion C200过程控制器是一种模块化PLC。它由一个外壳、一个独立的电源模块、一个控制处理器模块、一个网络模块和几个I/O模块组成。值得注意的是,这个控制器基本上是Allen-Bradley PLC的一个重新命名的产品。霍尼韦尔没有自己的PLC,因此没有列入我们的PLC供应商名单。控制器外观如图23所示。

图23. 霍尼韦尔Experion C200过程控制器

6.3.1 控制处理器模块C200 Rev J

C200控制器的控制处理器模块如图24所示,右侧文字为该模块的外部标记。图25显示了控制模块的主板和扩展板。以下小节描述了模块的组件。

图24. 霍尼韦尔Experion C200控制处理器模块

图25. 霍尼韦尔Experion C200过程控制模块主板(左上),过程控制模块扩展板(左下)和板上芯片标记(右)

6.3.2 冗余网络接口TC-CCR014型号Rev. C01

冗余网络接口模块(图26)有一个以太网和两个BNC同轴电缆接口。在内部,它包含一块带有多个微控制器的电路板,上面有FPGA、闪存和RAM。背板接口附近是Atmel AT56微控制器,AT56是客户定制的基于单元的ASIC。这部分有法国Rousset的质量保证,并在韩国制造。

图26. 霍尼韦尔Experion C200网络接口模块(左)和外部标记(右)

该板还有一片Xilinx Spartan XC2S200,一个200,000门的FPGA,这部分是台湾制造的。位于主板(图27)附近的存储器是飞思卡尔半导体MPC855T,该处理器是MPC860系列的成员,采用Power架构,该芯片在马来西亚制造。另外,在以太网端口附近有一个AMI 0642YMH芯片,以及一个Broadcom芯片。

图27. 霍尼韦尔Experion C200网络接口模块主板(左)和芯片标记(右)

6.3.3 模拟输入模块TC-IAH061,REV K01,FW Rev 1.9

模拟输入模块支持10V电压4-20 mA电流的电源。电路板上有一个Atmel “CORELESS 2.4”微控制器,还有一个Hitachi H8/510微控制器。图28显示了该模块外形和外部标记。图29显示了内部电路板和主要的芯片标记。

图28. 霍尼韦尔Experion C200模拟输入模块外部(左侧)和标记(右侧)


图29.霍尼韦尔Experion C200模拟输入模块内部板(左)和微控制器标记(右)。

6.3.4 模拟输出模块TC-OAH061,REV J01,FW Rev 1.9

模拟输出模块(图30)支持4-20 mA电流。电路板上有一个Atmel微控制器。

图30.霍尼韦尔Experion C200模拟输出模块内部板(左)和标记(右)

6.3.5 数字输入模块,型号TC-IDJ161,Rev M01,FW Rev 2.1

数字输入模块的电路板和主要标记如图31所示。外壳上的标记表示它可以在10 mA电流10-30VDC工作和/或24 VDC隔离电源下工作。

图31.霍尼韦尔Experion C200数字输入模块(左)和标记(右)

6.3.6 数字输出模块,TC-ODJ161,Rev N01,FW Rev 3.2

数字输出模块的外形和外部标记如图32所示。数字输出模块电路板中有一个未识别的AMI微处理器,如图33所示。

图32.霍尼韦尔Experion C200数字量输出模块(左)和标记(右)

图33.霍尼韦尔Experion C200数字量输出模块主板(左)和标记(右)

6.3.7 十槽机架,TC-FXX102,Rev K01

十槽插槽,如图34所示,是其他模块插入的插槽。它是一个简单的钢制保持架和背板,没有明显的芯片或其他电路。它最多支持10个模块和一个电源模块。该PLC中使用的电源模块是SOLA电源SDN 5-24-100P,能将110/220VAC转换为24VDC/5A。每个模块插入背板上的18×4针连接器。

图34. 霍尼韦尔Experion C200十槽机架(左)和外部标记(右)

6.4 Allen-Bradley Logix 5561

Allen-Bradley Logix 5561是一款模块化PLC。图35所示的Allen-Bradley单元有一个7槽机架和背板、一个电源、一个控制模块、一个EtherNet/IP模块和一些I/O模块,外部标记表明它是在美国制造的。该PLC上的主板(图36)具有一个ARM背板通信处理器和另一个ARM处理器

图35. Allen-Bradley Logix 5561机箱(左)和标记(右)

6.4.1控制模块

控制模块(图36)有一个RS-232接口、一条发光二极管(LED)、一个闪存卡空间和一个外部钥匙开关。内部有两个Phillips ARM处理器,以及赛普拉斯Cypress、美光科技和三星制造的几款内存芯片。5561内部的电路板的特写如图37所示。

图36. Allen-Bradley Logix 5561控制模块(左)和外部标记(右)

图37. Allen-Bradley Logix 5561主板(左上),扩展板(左下)和芯片标记(右)。

6.4.2 EtherNet/IP模块

在这个Allen-Bradley PLC上,EtherNet/IP模块上的处理器是PowerPC架构的,上文提到的Honeywell C200 Experion也是如此,但他们使用了不同型号的处理器。这款PLC还和上文提到的霍尼韦尔的处理模块使用相同的ARM背板通信处理器。EtherNet/IP模块外观以及外部标记如图38所示,该模块的主板和芯片标记如图39所示。

图38. Allen-Bradley Logix 5561 EtherNet/IP模块(左)和外部标记(右)

图39. Allen-Bradley Logix 5561 EtherNet/IP主板(左)和芯片标记(右)

6.4.3 模拟输入模块

该模块有一块电路板,带有几个模拟输入,上面有很多芯片。图40显示模块外观和外部标记。图41显示了模块电路板及主要芯片标记。

图40. Allen-Bradley Logix 5561模拟输入模块(左)和外部标记(右)。

图41. Allen-Bradley Logix 5561模拟输入模块电路板(左)和芯片标记(右)

6.4.4 直流输入模块

直流输入模块(外观和标记如图42所示)在电路板上有一个中等大小的芯片。图43提供了模块的内部视图和芯片标记。

图42. Allen-Bradley Logix 5561 DC输入模块外观(左)和外部标记(右)

图43. Allen-Bradley Logix 5561 DC输入模块内部(左)和芯片标记(右)

6.4.5 继电器输出模块

继电器输出模块外观及其外部标记如图44所示。继电器输出模块上没有处理或存储芯片(如图45所示)。

图44. Allen-Bradley Logix 5561继电器输出模块外观(左)和外部标记(右)

图45. Allen-Bradley Logix 5561继电器输出模块内部电路板

6.4.6 电源模块

电源模块外观和外部标记如图46所示。


图46. Allen-Bradley Logix 5561电源模块(左)和标记(右)。

6.5 Allen-Bradley MicroLogix 1100

Allen-Bradley MicroLogix 1100是一体化(而非模块化)PLC。该装置包括多个模拟输入和输出、一个EtherNet/IP端口和一个RS-232/485端口。

PLC(如图47所示)包括四块电路板:处理和网络板、LCD显示组件、模拟I/O板和电源板。

图47. Allen-Bradley MicroLogix 1110外观(左)和外部标记(右)

6.5.1 处理和网络板

处理和网络板就是PLC的主板,如图48所示,包含主处理器和通信处理器,该板还有两个外部端口(EtherNet/IP和RS-232/485)。

图48. Allen-Bradley MicroLogix 1100主板外观(左)和主要芯片标记(右)

6.5.2 LCD显示组件

LCD显示组件有一个LCD显示屏和几个按钮(ESC、OK和一个四向按钮),板上没有芯片。

图49. Allen-Bradley MicroLogix 1100 LCD显示组件(左)和电路板标记(右)

6.5.3 模拟I/O板

模拟I/O板具有所有输入和输出连接器,电路板如图50所示,模拟I/O板上没有处理或存储芯片。

图50. Allen-Bradley MicroLogix 1100的模拟I/O板(左)和板标记(右)

6.5.4 电源板

电源板由大电容器、变压器和稳压器组成。电源板(如图51所示)没有处理或存储芯片。

图51. Allen-Bradley MicroLogix 1100电源板(左)和电路板标记(右)

7 结论

本文主要扫描了PLC的主要供应商,简单介绍了几个行业的控制系统中使用的通信协议,并拆解和分析了几款PLC设备。

全球市场上的顶级PLC供应商是西门子(占31%的市场份额),罗克韦尔自动化(22%)和三菱电机(13%)。值得注意的是,PLC市场份额在不同的国家和行业具有显著的差异,例如,在北美电力行业市场,顶级供应商是施耐德电气(45%的市场份额),罗克韦尔自动化(29%)和卡特卡汉漠Cutler Hammer(9%)。图52显示了这些市场份额数据,左图为全球市场份额,右图为北美电力行业市场份额。

图52.全球市场(左)和北美电力行业市场(右)中PLC供应商的市场份额

本文假设PLC很大程度上依赖于通用IT组件,而专门的零件很少。设备拆解和分析结果证实了这一假设。这些PLC设备使用大型制造商的生产的通用芯片,只有少数芯片似乎是为特定供应商生产的定制型号。这些器件还使用其他嵌入式系统中的常用的闪存和RAM等典型配置。PLC通常使用相当简单(两到四层)的电路板构成,而普通的PC主板通常是七层。尽管如此简单,PLC中电路板的连接我们无法分析,因为电路板布局是由效率驱动,相对比较复杂。

在该项目中的发现表明,PLC系统最常见的处理器架构是ARM、PowerPC和Motorola 68k。但是,我们注意到在单个电路板上具有多个不同的处理器架构是很常见的。图53显示了在单个板上混合处理器架构的一个示例:霍尼韦尔Experion C200 PLC的控制处理模块主板上具有飞利浦ARM背板通信处理器和飞思卡尔PowerPC主处理器。该单板包括两个具有完全不同架构的处理器。

编辑于 2019-03-11

文章被以下专栏收录

    关于工业控制系统ICS安全、工业互联网安全、网络空间安全的一些资料翻译、心得整理、论文分享等内容,为工控安全研究者提供一个交流平台。