工控机系统培训 技术干货|基于西门子软PLC的虚拟SCADA系统的工控安全实践

小编 2024-10-07 发现工业 23 0

技术干货|基于西门子软PLC的虚拟SCADA系统的工控安全实践

一、概述 /

近几年,随着国家政策和工业数字化发展的推动,工控安全行业发展迅速,造成了对工控安全研究人员需求的巨大缺口的同时,提出了对专业度更高的要求。一方面,工控网络安全是集成了信息安全技术与工业自动化控制技术的跨学科的全新领域, 需要了解并掌握更多领域的相关知识,有着较高的技术门槛;

另一方面,缺乏可研究和学习的便利环境。对于企业和个人层面来说,成本耗费较高,从事相关研究的公司或专业人才,需自行采购一些硬件设备,搭建专业模拟环境,再进行相应的安全研究。为了解决这些难题,我们做了很多相关的技术研究,通过构建一套虚拟的工业控制环境,从而降低了解和学习工控安全的门槛,推动相关人才的培养和技术攻防的实战演练。

二、控制器虚拟化技术介绍 /

可编程控制器,即PLC。PLC的实现分为硬PLC和软PLC。 所谓硬PLC从严格意义上来说是由硬件或者一块专用的ASIC芯片来实现PLC指令的执行。而软PLC是用一些通用的CPU或者MCU来实现PLC指令的解释或者编译持行。

软件PLC(SoftPLC,也称为软逻辑SoftLogic)是一种基于PC机开发结构的控制系统,它具有硬PLC在功能、可靠性、速度、故障查找等方面的特点,利用软件技术可以将标准的工业PC转换成全功能的PLC过程控制器。

软件PLC综合了计算机和PLC的开关量控制、模拟量控制、数学运算、数值处理、网络通信、PID调节等功能,通过一个多任务控制内核,提供强大的指令集、快速而准确的扫描周期、可靠的操作和可连接各种I/O系统的及网络的开放式结构。所以,软件PLC 提供了与硬PLC同样的功能,同时又提供了PC环境的各种优点。

虚拟机技术是虚拟化技术的一种,所谓虚拟化技术就是将事物从一种形式转变成另一种形式,最常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。

如果将软PLC安装在虚拟机下,在软PLC出现故障时,用备份的虚拟机代替当前的虚拟机,即可快速恢复系统运行;此外,开发人员不必在现场,即可开发调试项目,在调试完成后,将包含软PLC的虚拟机直接放在现场的工控计算机上就直接可以完全运行。

三、构建虚拟SCADA系统 /

使用西门子WinCC V7.3上位机组态软件和西门子软PLC,可以实现一个虚拟化运行的SCADA系统。

3.1 通讯拓扑

3.2 运行西门子软PLC

SIMATIC软PLC是西门子公司开发的基于PC控制的核心组件,它的出现扩展了SIMATIC S7的控制范围。软PLC是一个名副其实的控制中心,它将PLC控制、数据处理、通讯、可视化及工艺集成于一台PC机上。

在虚拟机中安装PLC后,运行如下:

虚拟PLC的运行环境搭建好了之后,下面就可以往虚拟PLC里面写配置和程序了。

3.3 配置虚拟PLC

(1)打开step7软件

创建工程,并进行组态配置

(2)定义变量

(3)编写一个简单的测试程序

(4)下载程序

将程序下载至CPU中,就可以运行程序。

(5)执行程序

程序下载完成后,就可以运行程序。

通过修改值改变运行状态,经验证程序逻辑正确。

3.4 配置虚拟SCADA系统

(1)变量管理

(2)通讯连接设置

(3)创建一个新图形

(4)组态图形

(5)项目激活

3.5 SCADA运行界面

通过点击“启动按钮”和“停止按钮”可以看到阀门运行状态会改变,至此,说明上位机WinCC和虚拟PLC通讯没有任何问题,虚拟PLC能够和硬件PLC一样,实现同样功能。

四 针对西门子PLC的攻击行为 /

4.1 s7comm协议简介

和Modbus的应用层协议不同,S7comm的协议栈修改程度更高,在应用层组织的数据经过COTP协议、TPKT协议的进一步处理后,最终通过TCP进行传输,wireshark wiki给出的S7comm的协议栈如下:

OSI layer

Protocol

Application Layer

S7 communication

Presentation Layer

S7 communication(COTP)

Session Layer

S7 communication(TPKT)

Transport Layer

ISO-on-TCP (RFC 1006)

Network Layer

IP

Data Link Layer

Ethernet

Physical Layer

Ethernet

COTP与TPKT协议涉及到网络与PLC设备的连接问题,有兴趣的朋友可以自行上网搜索。

S7Comm数据作为COTP数据包的有效载荷,第一个字节总是0x32作为协议标识符。S7Comm协议包含三部分:

Header

Parameter

Data

S7Comm Header如下图所示:

我们通过两个表来了解Header的结构:

其中最为重要的就是ROSCTR字段,其定义如下表:

S7comm 协议的 Parameter 部分与 Data 部分,则是根据 Header 中 PDU type 的功能码的不同、协议扩展(Userdata)的内容不同而变得不同。

当PUD类型为JOB和ACK_Data时,Parameter项的第一个字段为Function code,其类型为Unsigned interger,长度为1byte,其详细的功能码如下:

采用S7comm协议进行读写操作时,Parameter结构相同,只是写操作多了Data结构。

当PDU类型是JOB时,Parameter部分的结构如下:

其中一个Item的结构如下

当PDU类型是ACK_DATA时,Parameter部分的结构如下:

Data 部分存储 Item 结构体,其中一个 Item 的结构如下

4.2 抓包分析

通过对虚拟PLC与SCADA系统的通讯进行抓包分析,过滤出func为0x05,即写入操作的数据包:

查看wireshark中的包信息:

PDU类型为0x01(JOB);

Function Code为0x05(Write);

Item中的DB number为1,地址为0x000000;

Data中写入的数据为01。

查看响应数据如下:

PDU类型为 0x03(ACK_DATA);

Function Code为0x05(Write);

Return Code在Data中,为0xff(Success)。

4.3 非法接入实施网络攻击

由于虚拟PLC与SCADA系统未进行授权访问,在未配置工控安全防护设备时,极易受到未授权访问(非法接入)或数据篡改类型的攻击。

在了解到工控系统中某些写入的DB编号和地址后,可通过多种脚本方式轻易对工控环境中的PLC设备或SCADA系统等进行攻击,如通过python脚本连接s7comm协议的设备,进行数据篡改或操控plc的启停等。

五、 虚拟PLC和SCADA系统对工控网络安全实践的意义

由于工控现场对设备运行具有高安全性和高可靠性的强需求,加之工控领域使用的技术和产品具有高度的非标准化特点,对工控领域的技术研究及防护不可能像在实验室中那样轻易地、快速地进行。

而虚拟PLC和SCADA系统的利用为解决上述问题提供了便利和技术可行性,同时也为安全厂商提供了一种快速搭建贴近客户现场仿真环境的方法,便于其对防护技术及效果进行验证,这对于安全厂商帮助工业领域的企业提高其自身运行的安全性具有积极的推动作用。

虚拟PLC和SCADA系统还可以将工业网络安全靶场提升到一个新的高度,原有环境的工业网络安全靶场受硬件条件的约束,对场地、人员等的要求,不便于环境的搭建和迁移;

但基于虚拟SCADA系统的工业网络安全靶场可以完全虚拟化,上传到云环境中,可以实现工业网络安全靶场的攻防实训平台、网上教学、举办大型的工业网络安全攻防大赛等。

快速部署

在搭建传统的工业网络安全靶场时,使用硬件PLC会带来各种不便并加大调试时间,增加人力和物力的投入成本;但使用虚拟SCADA系统来搭建工业网络安全靶场,仅仅只通过软件设置就可以还原真实的工业网络环境,效果一样而且操作便捷,可减少很多时间,满足了真正意义上的快速部署需求。

攻防试验

虚拟SCADA系统具有真实SCADA系统的特性,可以通过该平台实时获取到工业生产环境中工业网络的流量,经过流量分析后可以在线对工业设备进行攻击,例如常见的USB木马攻击、数据篡改攻击、控制器攻击等行为。如下图就是模拟的数据篡改攻击,模拟攻击者接入过程控制网交换机,针对生产中的重要数据进行篡改,软件PLC误以为是上位机发送的指令,将错误的数据通过PLC输出控制板发送给现场设备执行。

教育培训

基于虚拟SCADA系统的工业网络安全靶场可以作为教学与培训的实验环境,集合各类工控领域行业级安全产品(如攻防对抗、网络威胁管理、漏洞挖掘检测、工控安全大数据、全网检测审计、数据采集隔离、系统安全监管、智能保护等设备),及工业网络相关元器件及过程控制系统(PLC、DCS、SCADA、上位机等)。

该平台在还原真实的工业网络环境的基础上,可让不同学员通过网络就能进入该环境进行学习。

攻防大赛

能够通过云搭建工业网络安全靶场,意味着以后关于工业网络安全的攻防大赛不必在现场搭建环境,不仅能节约场地费用,还能满足快速搭建,不受人数的限制,不受地理位置的制约,只要有网络就可以通过云平台进入模拟的工业网络安全靶场,这样收益人群更广,具有传统的工业网络安全大赛环境所不能比拟的优势。

工控机:如何选择最佳工控机及使用指南

在现代工业领域,工控机扮演着至关重要的角色,它们是自动化与智能化的核心。本文将深入探讨如何选择最适合您需求的工控机,以及提供使用指南,以确保其高效运行。

如何选择最佳工控机?

1. 硬件要求

首先,确定您的应用程序的硬件需求。考虑处理器速度、内存、存储容量和外部接口。不同的应用需要不同配置的工控机,确保选择合适的硬件规格。

2. 操作系统

选择适当的操作系统对于工控机的性能至关重要。通常,Windows和Linux是最常见的选择。根据您的应用程序需求和可维护性,选择合适的操作系统。

3. 耐用性和环境

考虑工作环境对工控机的影响。如果在恶劣环境中使用,选择具有高度耐用性和防尘、防水能力的机型。

4. 支持和维护

确保选择的工控机品牌和型号具有可靠的技术支持和维护服务。这有助于解决潜在的问题和延长设备的寿命。

工控机使用指南

1. 定期维护

定期检查和维护工控机,包括清洁散热系统、更新软件和操作系统,以确保其稳定性和性能。

2. 数据备份

定期备份重要数据,以防止数据丢失或损坏。实施可靠的数据备份策略是至关重要的。

3. 安全性

采取适当的安全措施,以保护工控机免受潜在的网络攻击。确保及时安装安全更新和防病毒软件。

4. 培训

为工作人员提供必要的培训,使其熟悉工控机的操作和故障排除。这有助于提高设备的有效使用率。

总之,工控机在现代工业自动化中扮演着至关重要的角色。通过选择合适的硬件和操作系统,并遵循使用指南,您可以确保工控机的高效运行,提高生产效率和可靠性。

相关问答

PLC培训里的Wincc组态,培训是不是就是触摸屏培训?也就是说Wincc组态,是什么意思?

Wincc是一个组态系统,包括计算机组态和触摸屏组态。你说的,应该是应用于工业上的工控机上的组态,不是触摸屏培训。因为都是同一个组态系统,内容差不多,你...

foxborodcs编程怎么学?-盖德问答-化工人互助问答社区

福克斯波罗一点没有接触,很想学。你说的虚拟机从哪儿来的?上海?给兄弟指条明路。上海foxboro公司,这还不够明确吗?在奉贤,在他们那里培训用的就...

plc工程师需要掌握哪些知识和技术?

二、应用技能5、PLC编程PLC编程是电气工程师的核心知识,学习PLC并不是自学就可以完成的。学习PLC编程是一个系统性的过程,需要理论联系实际,在理论学习的同...

化工厂控制系统维护的内容有哪些?-盖德问答-化工人互助问答社区

2楼说的真好!让后生们好好学习了!!!!1.对控制系统的品牌、系列、各个模块型号、数量、图纸建档,定期备份好项目程序预计重要的历史数据、趋势报表...

,2U工控机,武汉工控机,研华工控机,研祥工控机,西门子工控...

[回答]武汉研威电子科技有限公司的产品效果还是不错的,一对一客服指导操作,前期如果公司没有客服人员的话,可以托管到{{:company}}做售后方面的,而且他们...

研华工控机的缺点有哪些

》研华的优势,广告曾铺天盖地,如今人人皆知。产品性能还可以。但价格偏高,性价比不算太好。2》研祥的,国内品牌,做的也不错。从使用情况来看,确实与...

应用电子技术专业要学哪些课程?

应用电子技术专业需要学习的课程主要有电子技术课程、信号与系统课程、自动控制原理课程、高频电子线路课程、电测技术课程、电声技术课程、模拟电路课程、数...

在单位做设备维修,很多设备上有PLC,想在PLC上多下点功夫,怎么做?

我是矿山电气小东,分享电气知识。看到这个问题时,第一时间就想到了我自己在十几年前,初次接触PLC的场景我与PLC初相识那还是在2007年的一天,我们矿的一斜...1...

我是计算机专业的,以后当程序员是不是都在工作,基本不会学习了?

这对开发手机版支持软件显得非常重要。公司一般定期会找一些行业大牛讲新技术,定期参加一些开发者大会,更新知识。微软,Intel及其相关的大的工控机IPC研发公...

如果想在航天事业做贡献怎么做?

比如航天用轴承为洛轴所研制,航天员头盔为郑州大学研制,好多航天力学试验由苏博试验承担,很多航天机械结构由吴江天龙机械生产,工控机由研华科技提供等等。...