项目1 工业控制系统安全_第1页
项目1 工业控制系统安全_第2页
项目1 工业控制系统安全_第3页
项目1 工业控制系统安全_第4页
项目1 工业控制系统安全_第5页
已阅读5页,还剩93页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工业控制系统安全主讲人:觅小知时间:2029年9月任务1.1认识工业控制系统一任务1.2了解工业控制系统架构二任务1.3熟悉工业控制系统组成三任务1.4熟悉工业控制协议四CONTENTS目录任务1.1认识工业控制系统Part011.工业控制系统定义ICS定义工业控制系统(IndustrialControlSystem,简称ICS),也称为工业自动控制系统(IndustrialAutomaticControlSystem,简称IACS),是由各种自动化控制组件以及对实时数据进行采集、监测的过程控制组件共同构成的,实现工业设施自动化运行、过程控制与监控的业务流程管控系统。组成要素工业控制系统包括分布式控制系统(DCS)、可编程逻辑控制器(PLC)、远程终端单元(RTU)、监视控制与数据采集(SCADA)系统、运动控制(MC)系统、智能电子设备、网络电子传感和控制、监视和诊断系统等。主要功能工业控制系统通过工业控制计算机对传感器及局域网所采集的各种信息进行归纳、分析、整理,实现信息管理与自动控制的一体化,并通过权限认证确保信息的安全。1.1.1工业控制系统简介2.工业控制系统组成要素DCS系统集散控制系统(DCS)是以微处理器为基础,实行集中管理、分散控制的计算机控制系统。DCS结合了控制技术、计算机技术、通信技术、CRT图形显示技术和网络技术。PLC系统可编程逻辑控制器(PLC)是一种专为工业生产设计的数字运算操作的电子装置,采用可编程的存储器,用于内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令。RTU系统远程终端单元(RTU)是一种远端测控单元装置,负责对现场信号、工业设备的监测和控制,具有优良的通讯能力和更大的存储容量,适用于更恶劣的温度和湿度环境。SCADA系统数据采集与监视控制系统(SCADA)是以计算机为基础的DCS与电力自动化监控系统,应用于电力、冶金、石油、化工、燃气、铁路等领域的数据采集与监视控制以及过程控制。1.1.1工业控制系统简介应用领域工业控制系统广泛应用于石油、化工等工业领域,提高生产效率和安全性。石油化工工业控制系统在电力、能源领域的应用,保障了电力生产和能源管理的高效运行。电力能源工业控制系统在制造业中的应用,实现了生产过程的自动化和智能化,提升了生产效率。制造业3.工业控制系统重要性1.1.1工业控制系统简介重要性分析生产效率工业控制系统通过自动化和智能化的控制手段,提高了生产效率,降低了生产成本。安全保障工业控制系统在生产过程中的应用,确保了生产安全,防止了事故的发生,保障了社会的正常运行。3.工业控制系统重要性1.1.1工业控制系统简介(1)硬件革新时期1935年以前继电器的广泛应用使工业控制系统在这一时期实现了从人工控制向自动控制的转变,解决了许多控制系统的可靠性及物理安全性问题。4.工业控制系统发展历程1.1.1工业控制系统简介(2)理论革新时期1935-1950年

理论革新时期,奠定工业控制理论及相关标准基础。这一时期的工业控制产业和相关标准由四个美国组织所建立,由分散电路控制过渡到集中电路控制。战争是这一时期工业控制系统理论与技术蓬勃发展的重要原因。有了战时技术与理论的积累,工业控制系统在百废待兴的战后时期进行了大规模的更新换代,使得执行机构更加耐用、更加精密;数据采集系统效率更高、更具实时性;中央控制机构的操作更加直观、更加简单。4.工业控制系统发展历程1.1.1工业控制系统简介(3)数字化时期1950-1980年

数字化时期,1950年斯佩里-兰德公司造出了第一台商业数据处理机UNIVAC,工业控制系统正式全面与通信系统及电子计算机结合,开启了工业控制系统数字化的新疆域。数年后,全球第一个数字化工业控制系统建设完成。这个系统使用单一计算机控制整个工业控制系统,被称为直接数字控制(DirectDigitalControl:DDC),也就是第一代工业控制系统:计算机集中控制系统。这一时期出现了可编程逻辑控制器(PLC)、数据采集与监控系统(SCADA)、远程终端单元(RTU)等控制器/系统。但这个时期各供应商的通信标准不同,无法兼容。4.工业控制系统发展历程1.1.1工业控制系统简介(4)标准化时期1981-1990年

数字化时期,1950年斯佩里-兰德公司造出了第一台商业数据处理机UNIVAC,工业控制系统正式全面与通信系统及电子计算机结合,开启了工业控制系统数字化的新疆域。数年后,全球第一个数字化工业控制系统建设完成。这个系统使用单一计算机控制整个工业控制系统,被称为直接数字控制(DirectDigitalControl:DDC),也就是第一代工业控制系统:计算机集中控制系统。这一时期出现了可编程逻辑控制器(PLC)、数据采集与监控系统(SCADA)、远程终端单元(RTU)等控制器/系统。但这个时期各供应商的通信标准不同,无法兼容。4.工业控制系统发展历程1.1.1工业控制系统简介(5)电脑化时期基于PC的工业控制系统,以其极强的开放性势不可挡地进入工控系统领域,各大可编程逻辑控制器厂商、工业控制系统集成商也逐步接受了工业PC的技术路线。1990-2000年工业PC发展4.工业控制系统发展历程1.1.1工业控制系统简介(6)网络化时期2000-2010年通过以太网和web技术实现开放性分布式的智能系统,基于以太网和TCP/IP协议的技术标准,提供模块化、分布式、可重用的工业控制方案。互联网技术应用4.工业控制系统发展历程1.1.1工业控制系统简介(7)智能化时期2010至今Ethernet+TCP/IP直接实现工业现场控制参数和节点状态直接在企业信息网络中传输和共享。4.工业控制系统发展历程1.1.1工业控制系统简介任务1.2工业控制系统与传统信息系统区别

工业控制系统与传统信息系统的区别从大体上看

,

工业控制网络与传统IT信息网络在网络边缘、

体系结构和传输内容三大方面有着

主要的不同:一、

网络边缘不同工控系统在地域上分布广阔

,其边缘部分是智能程度不高的含传感和控制功能的远动装置

,

而

不是IT系统边缘的通用计算机

,

两者之间在物理安全需求上差异很大。二、体系结构不同工业控制网络的结构纵向高度集成

,

主站节点和终端节点之间是主从关系。

传统IT信息网络则是扁平的对等关系

,

两者之间在脆弱节点分布上差异很大。三、传输内容不同工业控制网络传输的是工业设备的

“

四遥信息”

,

即遥测、

遥信、

遥控、

遥调。

与传统信息网

络传输内容有本质区别。

1.工业控制系统与传统信息系统防护目标的区别

l

工业控制系统■在不利条件下维护生产系统功能正常可用■确保信息实时下发传递■防范外部、

内部的网络攻击■保护工控系统免受病毒等恶意代码的侵袭■避免工控系统遭受有意无意的违规操作■安全事件发生后能迅速定位找出问题根源l

传统安全■在不利条件下保证不出现信息泄露■保护信息资产的完整性■基本不考虑信息传递实时性■防范外部、

内部的网络攻击■保护信息系统免受病毒等恶意代码的侵袭■安全事件发生后能迅速定位找出问题根源7l

工业控制系统(主动防护)■

白名单机制■旁路机制保证网络畅通■抵御已知未知病毒■学习建立防护策略■五元组+协议解析l

传统安全(被动防御)■黑名单机制■冗余热备保证网络畅通■识别清除已知病毒■预先设置防护策略

■五元组

2.工业控制系统与传统信息系统防护手段的区别

8

3.工业控制系统与传统信息系统网络架构的区别

l

工业控制系统■

网络复杂

,

多种网络混合

,包含有线、

无

线、

卫星通信、

无线电通信、

移动通讯等■通信协议复杂

,包含很多专用通讯协议及

私有协议■设备复杂

,

网络设备、

主机设备、

防护设

备、控制设备、

现场设备种类繁多l

传统安全■

网络相对简单

,

多为有线、

无线■标准TCP/IP通信协议■设备类型相对简单

,

网络设备、

主机设备、

防护设备为主9

4.工业控制系统与传统信息系统数据传输的区别

l

传统安全■实时性要求不高

,允许延迟■加密认证防护■文件、

邮件、

即时消息为主■数据交叉传输l

工业控制系统■实时性要求高

,不允许延迟■基本无加密认证机制■指令、

组态、

采集数据为主■流向明确基本无交叉

5.工业控制系统与传统信息系统运行环境的区别

l

工业控制系统■

网络相对隔离

,不联互联网■操作系统老旧

,很少更新补丁■基本不安装杀毒软件■专用软件为主

,

类型数量不多■信息交互通过多通过U盘实现■安全漏洞较多

,

易受攻击l

传统安全■

网络与互联网相通■操作系统新

,频繁更新补丁■杀毒软件是标配■办公软件为主

,

类型数量繁多■信息交互多通过网络实现■安全漏洞较少

,

防护措施完善

6.工业控制系统与传统信息系统物理环境的区别

l

传统安全■配有专用机房

,统一放置设备■配有空调■环境条件优良

,温湿度基本恒定

,灰尘小,

无振动

,

无腐蚀性■配有防盗门、

视频监控、

出入登记等l

工业控制系统■一般无机房

,

直接部署在生产环境■无专用散热装备■环境条件恶劣

,

高温、

高湿、

粉尘大、

振

动、

酸碱腐蚀等■基本无监控、

登记管理措施12

7.工业控制系统与传统信息系统防护硬件的区别

l

工业控制系统■工业级设计

,全密封■

RISC架构

,功耗低■

自身散热

,

宽温工作■时延100us以下■标配Bypass机制■深度识别工业协议■使用寿命15—20年■基本无三防设计■X86架构

,功耗高■风扇散热

,温度范围有限■时延毫秒级以上■

Bypass机制非标配■基本不支持工业协议■使用寿命5—8年l

传统安全13l

传统安全■黑名单机制■需频繁升级库和补丁■不加固操作系统■

防范已知病毒■缺少自我保护■支持新版系统■运行比较耗资源

8.工业控制系统与传统信息系统防护软件的区别

l

工业控制系统■

白名单机制■不需要升级库和补丁■操作系统加固■抵御已知未知病毒■具备自我保护能力■运行占用资源少■支持老旧系统14

9.工业控制系统与传统信息系统管理维护的区别

l

传统安全■管理制度比较完善■配备专业维护技术人员■能够实现自我维护■标准政策文件完整l

工业控制系统■管理制度不完善甚至缺失■缺乏专业技术人员■设备维护依赖提供商■政策标准文件不完善任务1.2了解工业控制系统架构Part02典型的企业生产或制造系统包括现场设备层、

现场控制层、

过程监控层、

制造执行层(MES)

、企业管理层。从右图可以看出

,

以制造执

行层为界

,

向上为通用IT领域

,

向下为工业控制系统领域。

1.2.1工业控制系统典型架构

1.2.2工业控制系统组成要素

最上面一层为企业管理层

,也称为企业资源层

,负责公司的日常商业计划和物流管理

,

工程

系统等

,

主要涉及企业应用资源

,如企业资源配

置EPR、

生产制造执行系统MES和办公自动化OA等与企业运营息息相关的系统

,通常由各种功能

的计算机、

服务器等构成。

企业管理层大部分的

应用需要接入互联网使用。

1.企业管理层

1.2.2工业控制系统组成要素

制造执行系统(

MES)

层包括:工厂信息管理系统(PIMS)

,先进控制系统(APC)

,历史数据库

,计划排

产

,仓储管等。

2.制造执行层(

MES)制造执行层(

MES)

的含义

MES系统是一套面向制造企业车间执行层的生产信息化管理系统。

MES可以为企业提供包括制造数

据管理、

计划排程管理、

生产调度管理、

库存管理、

质量管理、

人力资源管理、

工作中心/设备管理、

工具

工装管理、

采购管理、

成本管理、

项目看板管理、

生产过程控制、

底层数据集成分析、

上层数据集成分解

1.2.2工业控制系统组成要素

工厂信息管理系统(

PIMS)

-“生产管理实用化”工厂信息管理系统顾名思义就是进行工厂信息管理的

,把工厂内部的各个车间的信息都集中到一个平

台上

,整合工厂内部信息

,解决工厂内各个车间信息不流通或者不能及时流通的问题

,消除工厂内部信息

孤岛

,促进工厂内部各个车间的协调工作

,还能使工厂的管理者对每个车间的生产工作情况做好把控

,

为决策提供一些依据

先进控制系统(APC)先进控制系统就是以先进过程控制APC技术为核心的上位机监控系统。先进控制系统(Advanced

control

theory)

又称高级控制

,

它是除传统的以PID为基础

的单回路控制和串级、

前馈、

比值等复杂控制系统外

,打破传统方法的束缚的控制系统。从工业系统特点出发

,寻求对模型要求低

,在线计算方便

,对过程和环境的不确定性有一

定适应能力的新的实用控制算法的总称、

.例如解藕控制

,推断控制、

模型预测控制、

自适应

控制、

多变最约束优化控制等。

这种控制算法往往不在基础控制〔如DCS)

中实现.

,在上位

计算机中实现。

1.2.2工业控制系统组成要素

MES系统十大核心功能

,

即资源分配即状态管理、

工序调度、

生产单元分配、

过程

管理、

数据采集、

维修管理、

计划管理、

文档控制、

生产的跟踪及历史以及执行分析。

具体如下所示。

1.2.2工业控制系统组成要素

过程监控层包括数据采集与监控系统(

SCADA)

,分散式控制系统(

DCS)

,安全仪表控制系统(

S

IS)

,

可编程逻辑控制系统(

PLC)

的

工程师站、

操作员站、

OPC服务器、

实时数据库、

监控中心等。

3.过程监控层过程监控层的含义过程监控层负责监控、

现场监测以及现场数据展示

,是现场总线控制网络和企业网络之间数据交互与展示的桥梁

,该层网络负责接收来自现场控制层的数据

,现场总线控制网络通过PLC控制器处理数据

,

由远程数据单元RTU和SCADA服务器MTU组成远程传输链路

,将数据传输至过程控制与监控网络中的监控设备。SCADA系统涉及到组态软件、

数据传输链路。

它可以对现场的运行设备

进行监视和控制

,

实现数据采集、

设备控制、

测量、参数调节以及各类信号报

警等各项功能。SCADA应用领域很广,可以应用于电力、

冶金、

石油、

化工、

燃气、

铁路

等领域的数据采集与监视

控制以及过程控制等诸多领域。长扬科技-内蒙古工业大学-2024032数据采集与监控系统(

SCADA)

是以计算

机为基础生产过程控制与

调度自动化系统。

它可以

对现场的运行设备进行监控和控制。15

1.2.2工业控制系统组成要素

数据采集与监控系统(SCADA)

1.2.2工业控制系统组成要素

l

DCS分散型控制系统:分散控制系统是以微处理器为基础

,采用控制功能分散、

显示操作集中、

兼顾分

而自治和综合协调的设计原则的新一代仪表控制系统。

集散控制系统简称DCS

,也可

直译为

“分散控制系统”或

“分布式计算机控制系统”。它采用控制分散、

操作和管理集中的基本设计思想

,采用多层分级、

合作自治的结构形式。

其主要特征是它的集中管理和分散控制。

目前DCS在电力、

冶金、

石化等各行各业都获得了极其广泛的应用。

1.2.2工业控制系统组成要素

l

安全仪表系统SIS:安全仪表系统

,

Safety

instrumentation

System

,简称SIS;

又称为安全联锁系

统(

Safety

interlocking

System)

。

主要为工厂控制系统中报警和联锁部分

,对控

制系统中检测的结果实施报警动作或调节或停机控制

,是工厂企业自动控制中的重要

组成部分。

安全仪表系统用于监视生产装置或独立单元的操作

,如果生产过程超出安

全操作范围

,

可以使其进入安全状态

,确保装置或独立单元具有一定的安全度。

安全系统不同于批量控制、

顺序控制及过程控制的工艺联锁

,

当过程变量(温度、

压力、流量、

液位等)

超限

,机械设备故障

,系统本身故障或能源中断时

,安全仪表系统自

动(必要时可手动)

地完成预先设定的动作

,使操作人员、

工艺装置处于安全状态。

1.2.2工业控制系统组成要素

l

OPC服务器OPC全称是Object

Linking

and

Embedding(

OLE)

for

Process

Control,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。

在过去

,

为了

存取现场设备的数据信息

,每一个应用软件开发商都需要编写专用的接口函数。

由于

现场设备的种类繁多

,且产品的不断升级

,往往给用户和软件开发商带来了巨大的工

作负担。

通常这样也不能满足工作的实际需要

,系统集成商和开发商急切需要一种具

有高效性、

可靠性、

开放性、

可互操作性的即插即用的设备驱动程序。

在这种情况下,OPC标准应运而生。

OPC标准以微软公司的OLE技术为基础

,

它的制定是通过提供一套标准的OLE/COM接口完成的

,在OPC技术中使用的是OLE2技术

,

OLE标准允许多

台微机之间交换文档、

图形等对象。

1.2.2工业控制系统组成要素

4.现场控制层现场控制层(

Control

level

)在工业自动控制系统(Industrial

automatic

control

system简称:

IACS

)层次模型中处于第四层。

是整个控制系统的关键环节。该层网络通常包含PLC(可编程逻辑控制器)

、

DCS(分

布式控制系统)

等现场控制站。

现场总线控制网络利用

诸如PRI

FI

BUS(过程现场总线)

、

FF-BUS(基金会现场

总线)

、

CAN-BUS(控制器局域网络总线)

等现场总线

技术将传感器、

继电器等现场设备与一些PLC控制器或者RTU等现场控制设备相连

,

直接采集现场数据到现场控制

站FCS或DCS或PLC控制系统

,

完成基本的数据采集

,提

供生产调度的重要数据源。

1.2.2工业控制系统组成要素

4.现场控制层在工业控制系统中

,

常见的控制器有可编程逻辑控制器(PLC)

、分布式控制器(DCS)

、

可编程自动化控制器

(

PAC)

、远程终端单元(

RTU)

等。

1.2.2工业控制系统组成要素

5.现场设备层

现场设备层(

Fieldlevel

)在工业自动控制系

统(Industrial

automaticcontrol

system简称:IACS

)层次模型中处于最

底层。

由温度、

压力、

流量、

液位、

电量、

位移、

特种检

1.2.2工业控制系统组成要素

5.现场设备层

现场设备层包括现场仪表和其他控制设备。

现场仪表通常包括温度、

压力、

流量、

液位、

电量、

位移等仪表,特种检测仪表如成分分析仪

,

以及控制阀、

电动阀等执行机构。(1)远程终端终端(

RTU)远程终端装置(

Remote

Terminal

Unit

,

RTU)

是用于监视、

控制与数据采集的应用控制设备

,具有遥测、

遥信、

遥调、

遥控等功能。RTU主要特点如下:(

1)通信距离长

,

同时提供多种通信端口

,

以适应分散应用和本地的不同通信要求。(2)

CPU计算能力强

,提供大容量程序和数据存储空间

,适合就地运算和大量数据安全存储。(3)适应恶劣的温度和湿度环境

,

工作环境温度为-40

~

+85℃。(4)模块结构化设计

,便于扩展。正是由于RTU完善的功能

,使得RTU产品在SCADA系统中得到了大量的应用。

1.2.2工业控制系统组成要素

5.现场设备层

(2)工业仪表工业自动化设备品种繁多

,从信息的获得、

传递、

反映和处理的过程把工业自动化仪表分为六大类:l

检测仪表

:生产过程中

,介质在设备、

管道不同部位的温度、

压力、

流量、

物位以及其他物理量瞬息

万变

,始终处于变化之中。

检测仪表就是用以检测上述物理量在每个瞬间的量值;l

显示仪表

:此类仪表是指与检测仪表配套用以指示或记录被测参数的瞬时值;l

控制仪表

:接受过程检测仪表及变送器的测量信号进行显示

,且发出调节信号控制执行器(执行机构

及调节阀)

的动作

,

组成闭环控制系统;l

执行器

:接受控制器送来的控制信号

,

改变被控介质的大小

,从而将被控变量维持在所要求的数值上或一定的范围内;l

集中检测与控制装置

:利用检测元件或探测器将被测变量或报警接点信号予以集中显示和被测变量信

号按设定程序对执行器进行控制的装置。

任务1.3熟悉工业控制系统组成Part02

1.3.1控制器

控制器是工业控制系统的核心部件,负责接收传感器采集的数据,根据预设的算法和控制逻辑,输出控制信号给执行器。控制器的种类繁多,常见的有可编程逻辑控制器(PLC)、分布式控制系统(DCS)和工业计算机(IPC)等。控制器的性能指标包括处理速度、控制精度和稳定性等,选择合适的控制器是工业控制系统设计的关键。

1.3.2传感器

传感器是工业控制系统中用于检测被控对象状态信息的装置。传感器的种类繁多,常见的有温度传感器、压力传感器、流量传感器和位置传感器等。传感器的精度和可靠性直接影响到控制系统的性能,因此选择高精度、高可靠性的传感器是必要的。

1.3.3执行器

执行器是工业控制系统中用于执行控制信号的装置。执行器的种类繁多,常见的有电动执行器、气动执行器和液压执行器等。执行器的性能指标包括调节精度、响应速度和稳定性等,选择合适的执行器是实现精确控制的重要环节。

1.3.4

人机界面

人机界面是工业控制系统中用于实现人与机器交互的设备。人机界面的种类繁多,常见的有触摸屏、显示屏和操作面板等。人机界面应设计得易于操作和理解,提供直观的控制界面和状态信息显示,提高操作效率和安全性。

1.3.5通讯设备

通讯设备是工业控制系统中用于实现各部件之间信息传输的设备。通讯设备的种类繁多,常见的有工业以太网、现场总线、无线通讯等。通讯设备应具备高速、稳定和可靠的信息传输能力,保证各部件之间的信息实时交互和控制指令的准确传输。

任务1.4熟悉工业控制协议Part02

1.4.1Modbus协议简介

Modbus协议最早由Modicon公司于1979年推出

,后来施耐德收购了Modicon公司

,

并于1996年推出了Modbus

TCP协议

,

由于此协议具有标准、

开放和实时性好的特点

,在食品饮料、

地铁、

水处理、

水

电、金属和采矿等工业控制系统中得到了广泛应用

,

已经成为通用工业标准

,深入分析研究Modbus协议

实现原理和其安全性对提高工控系统安全性有着重要的现实意义。

1.4.1Modbus协议简介

Modbus是一种应用层报文传输协议

,

用于不同类型的总线或网络连接的设备之间的客户机/服务器通讯

,

它有三种协议:n

ModbusTCPn

Modbus

RTU/ASCIIn

Modbus

PlusModbus协议分类

Modbus协议最初是用于串行通讯设计的

,但目前应用最多的还是TCP版本。

1.4.1Modbus协议简介

Modbus协议原理上图中

,第1、

2层底层驱动程序

,

由计算机自己完成;第7层

,

Modbus应用

,这一层和用户数据相关

,对PLC数据的读取报文在这里完成。

1.4.1Modbus协议简介

Modbus协议技术规范

右图为Modbus协议技术规范的OSI模型封装图。

Modbus协议处于OSI模型第七层(应用层)

。Modbus物理层可以是RS232、

RS485或者是TCP/IP以太网口。

1.4.1Modbus协议简介

Modbus协议工作模式

Modbus是一种客户机/服务器应用协议。n

客户机向服务器发送请求。n

服务器分析请求/处理请求

,然后向客户机发送应答数据。

1.4.1Modbus协议简介

Modbus事务处理(无差错)

n

当服务器对客户机响应时

,

可以使用功能码域来指示正常(无差错)

的响应。n

对于一个正常响应来说

,

服务器仅复制原始功能码。

1.4.1Modbus协议简介

Modbus事务处理(异常响应)n

当服务器对客户机响应时

,也可以使用功能码域来指示出现的某种差错(异常响应)

。n

对于一个异常响应来说

,

服务器将原始功能码的最高有效位设置为逻辑1后返回。n

异常码指示差错的类型。

1.4.1Modbus协议分析

Modbus报文类型

Modbus报文传输服务提供设备之间的客户机/服务器通信

,这些设备联接在一个

Ethernet(以太网)

TCP/IP

网络上

,

下图为Modbus客户机/服务器工作模式。这个模式基于四种类型报文:l

Modbus请求l

Modbus证实l

Modbus指示l

Modbus

响应

1.4.1Modbus协议分析

Modbus帧结构-协议数据单元

Modbus

TCP协议数据帧分为两部分:n

MBAPn

PDU下图为Modbus

TCP/IP

ADU在网络中进行的

Modbus请求或响应的封装:

1.4.1Modbus协议分析

Modbus帧结构-MBAPn

MBAPMBAP为Modbus报头文件

,

长度为7个字节

,其帧结构如下:•事务处理标识

:报文序列号;•协议标识:

0000表示Modbus

TCP协议;•长度

:表示下面的数据长度

,

单位为byte;•单元标识符:

可以理解为设备地址。

1.4.1Modbus协议分析

Modbus帧结构-PDUn

PDUPDU由功能码+数据构成。

其帧结构如下:功能码

:对设备操作的功能

,其长度为1byte;数据

:其长度不定

,

由具体的功能码决定。

1.4.1Modbus协议分析

Modbus帧结构-功能码的操作对象功能码的操作对象有以下四种

:线圈、

离散输入、

输入寄存器、

保持寄存器。具体含义如下:

1.4.1Modbus协议分析

Modbus帧结构-常用功能码n

PDU根据对象的不同

,

Modbus有如下常用的八种功能码:

1.4.2S7协议

S7协议简介

目前西门子PLC已经广泛应用于各个行业中

,如能源、

石油化工、

钢铁、

电力、

机械制造、

汽车、

纺织、轨道交通、

环保、

汽车等行业

,其安全性直接关乎国计民生。S7comm协议作为西门子PLC专有通讯协议

,是S7协议簇中的一种

,对其研究关乎整个PLC控制系统的安全性。

1.4.2S7协议

S7协议原理S7协议(

S7Communication)

就是西门子为了它生产的PLC之间、

SCADA与PLC之间的通信而设计的专属协议

,是西门子S7通讯协议簇里的一种。S7协议的TCP/IP实现依赖于面向块的ISO传输服务

,

它的协议栈修改程度更高

,在应用层组

织的数据经过COTP协议、

TPKT协议的进一步处理后

,最终通过TCP进行传输。

1.4.2S7协议

S7协议原理•上图中

,第1-4层底层驱动程序

,

由计算机自己完成;•第5层TPKT

,是应用程数据传输协议

,

主要用来在COTP和TCP之间建立桥梁;•第6层COTP

,是OSI7层协议定义的位于TCP之上的协议。

COTP以

“

Packet”为基本单位

来传输数据

,这样接收方会得到与发送方具有相同边界的数据;•第7层

,

S7comm

,这一层和用户数据相关

,对PLC数据的读取报文在这里完成。

1.4.2S7协议

S7协议原理S7comm协议的OSI模型封装

,

下图为其结构图:

1.4.2S7协议

S7协议分析协议分析主要包括三部分内容:n

TPKT协议n

COTP协议n

S7comm协议以下章节将一一进行详细分析。

1.4.2S7协议

S7协议分析-TPKTTPKT协议是应用程数据传输协议

,介于TCP和COTP协议之间。

这是一个传输服务协议

,

主要用来在COTP和TCP之间建立桥梁

,

以下为TPKT协议的数据结构:

1.4.2S7协议

S7协议分析-TPKT以实际抓取的数据包为例

,如右图:•

Version

:版本信息;•

Reserved

:保留(值为0x00)

;•

Length:

TPKT、

COTP、

S7三层协议

的总长度。

1.4.2S7协议

S7协议分析-COTPCOTP(Connection-OrientedTransport

Protocol)COTP是OSI7层协议定义的位于TCP之上的协议。

COTP以

“

Packet”为基本单位来传输数据

,这

样接收方会得到与发送方具有相同边界的数据。COTP协议分为两种形态:

COTP连接包(

COTP

Connection

Packet)

COTP功能包(

COTP

Function

Packet)

1.4.2S7协议

S7协议分析-COTP

COTPConnection

Packet下图为连接包结构图:

1.4.2S7协议

S7协议分析-COTP

COTPConnection

Packet•Length:

COTP后续数据的长度(注意:

长度不包含length的长度)

;•Type:

PDU

type

,包括连接确认、

断开请求等;•

DST

Ref(

Destination

reference):

目标值引用;•SRC

Ref(

Source

reference)

:源值引用;•Opt(

Option)

:选项

,包括Extended

formats、

No

explicit

flow

control

,

Bool值类型;•Parameter:

一般包含Parameter

code(1

byte)、

Parameter

length(1

byte)、

Parameterdata三部分。

1.4.2S7协议

S7协议分析-COTP

COTPConnection

Packet以实际抓取的数据包为例

,如右图为连接请求包:•

Length:

17•

PDU

Type:

0x0e•

Destination

Reference:

0x0000•

Source

Reference:

0x000f•

Option:

Opt•

Parameter:

1~3parameter

1.4.2S7协议

S7协议分析-COTP

COTPConnection

Packet为与请求包作对比

,

右图为上一页连接响应包:•

Length:

17•

PDU

Type:

0x0d•

Destination

Reference:

0x000f•

Source

Reference:

0x0003•

Option:

Opt•

Parameter:

1~3parameter

1.4.2S7协议

S7协议分析-COTP

COTP

Function

Packet相比COTP

Connection

Packet

,

COTP

Fuction

Packet就简单多了

,

下图为COTP功能包结构图:

1.4.2S7协议

S7协议分析-COTP

COTP

Function

Packet•Length:

COTP后续数据的长度(注意:

长度不包含length的长度)

;•Type:

PDU

type

,包括连接确认、

断开请求等;•Opt(

Option)

:选项

,包括Extended

formats、

No

explicit

flow

control

,

Bool值类型。

1.4.2S7协议

S7协议分析-COTP

COTP

Function

Packet以实际抓取的数据包为例

,如右图为功能包:•

Length:

2•

PDU

Type:

0x0f•

Option:

Opt

1.4.2S7协议

S7协议分析-S7commS7Comm协议数据作为COTP数据包的有效载荷

,第一个字节总是0x32作为协议标识符。S7Comm协议包含三部分(如下图):

Header

Parameter

Data

1.4.2S7协议

S7协议分析-S7comm

Header定义了该包的类型、

参数长度、

数据长度等

,其结构如下图所示:

1.4.2S7协议

S7协议分析-S7comm

Header

,具体数据格式如下图:•

PDUType:

PDU类型

,如数据读/写请求等;•

Protocol

ID

:协议ID号;•

Reserved

:保留数据

,一般为0x0000;•

PDU

Reference

:协议数据单元参考;•

Parameter

Length

:参数长度;•

Data

Length

:数据长度;•

Errorclass/Errorcode

:报错类型及代码。

1.4.2S7协议

S7协议分析-S7comm

Header

,

右图为一个Job请求包的例子:•

Protocol

Id:

0x32•ROSCTR:

Job•

Reserved:

0x0000•

Protocol

Data

Unit

Reference:

512•

Parameter

length:

8•

Data

length:

0

1.4.2S7协议

S7协议分析-S7comm

Header

,

右图为上图Job请求包的响应包:•

Protocol

Id:

0x32•

ROSCTR:

Ack_Data•

Reserved:

0x0000•

Protocol

Data

Unit

Reference:

512•

Parameter

length:

8•

Data

length:

0•

Error

class:

No

error(

0x00)•

Error

code:

0x00

1.4.2S7协议

S7协议分析-S7comm

ParameterParameter项定义了该包的功能码等内容

,功能码不同,

后面的数据格式也会有变化,右图为建立通讯的一个实例

,

其结构如图所示

,

下面将对建

立通讯、

PLC停机等功能进行

详细说明。

1.4.2S7协议

S7协议分析-S7comm

Parameter-建立通讯(

Setup

communication)具体结构如右图所示:•

Function

code:

0xf0•

Reserved

:保留字节•

Max

AmQ

calling:•

Max

AmQ

called:•

PDU

length:

PDU长度

1.4.2S7协议

S7协议分析-S7comm

Parameter-建立通讯(

Setup

communication)

右图为实际请求数据包的例子:•

Function:

0xf0•

Reserved:

0x00•

Max

AmQ

calling:

1•

Max

AmQ

called:

1•

PDU

length:

240

1.4.2S7协议

S7协议分析-S7comm

Parameter-建立通讯(

Setup

communication)

右图为上一页请求数据包的响应包:•

Function:

0xf0•

Reserved:

0x00•

Max

AmQ

calling:

1•

Max

AmQ

called:

1•

PDU

length:

240

1.4.2S7协议

S7协议分析-S7comm

Parameter-PLC停机(

PLC

Stop)再举一个例子

,

右图为PLC停机的请求包:•

Function:

0x29•

Unknown

bytes:

0000000000•

Length

part

2:

9•

PI(program

invocation)

service:

P_PROGRAM

1.4.2S7协议

S7协议分析-S7comm

Data

,其结构如下图所示:

1.4.2S7协议

S7协议分析-S7comm

Data作为返回值或写入值等

,具体结构如下图所示:•

Return

code

:返回代码;•

Transport

size

:数据传输大小;•

Length

:数据长度;•

Data

:负载数据;•

Fill

byte

:填充字节。

1.4.2S7协议

S7协议分析-S7comm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论