近年来,随着国家政策和产业数字化的推动,工控安全行业快速发展,这对工控安全研究人员的需求造成了巨大的缺口,对专业水平提出了更高的要求。一方面,工业控制网络安全是信息安全技术与工业自动化控制技术相融合的新兴交叉领域。需要了解和掌握更多领域的相关知识,技术门槛较高;
另一方面,缺乏便利的研究和学习环境。对于企业和个人来说,成本都很高。从事相关研究的公司或者专业人士需要自己购买一些硬件设备,搭建专业的仿真环境,然后进行相应的安全研究。为了解决这些问题,我们做了大量的相关技术研究。通过构建虚拟工控环境,可以降低了解和学习工控安全的门槛,促进相关人才的培养和技术攻防的实战演练。
2.控制器虚拟化技术介绍/
可编程控制器,即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的虚拟机可以直接放置在现场工控计算机上并完整运行。
3. 搭建虚拟SCADA系统/
采用西门子WinCC V7.3上位机组态软件和西门子软PLC,可以实现虚拟化的SCADA系统。
3.1 通信拓扑
3.2 运行西门子软PLC
SIMATIC软PLC是西门子公司开发的基于PC控制的核心部件。它的出现扩大了SIMATIC S7的控制范围。软PLC是名副其实的控制中心,在PC上集PLC控制、数据处理、通信、可视化和技术于一体。
在虚拟机中安装PLC后,运行如下:
虚拟PLC运行环境搭建完成后,就可以向虚拟PLC中写入配置和程序了。
3.3 配置虚拟PLC
(1)打开step7软件
创建一个项目并配置它
(2)定义变量
(3)编写简单的测试程序
(4)下载程序
将程序下载到CPU并运行该程序。
(5)执行程序
程序下载完成后,即可运行程序。
通过修改数值来改变运行状态,并验证程序逻辑是否正确。
3.4 配置虚拟SCADA系统
(1)变量管理
(2) 通讯连接设置
(3) 创建新图形
(4) 配置图形
(五)项目启动
3.5 SCADA运行界面
通过点击“启动按钮”和“停止按钮”可以看到阀门运行状态发生变化。此时,说明上位机WinCC与虚拟PLC之间的通讯没有问题。虚拟PLC可以实现与硬件PLC相同的功能。
4、针对西门子PLC的攻击/
4.1 s7comm协议简介
与Modbus的应用层协议不同,S7comm的协议栈修改程度较高。应用层组织的数据经过COTP协议和TPKT协议进一步处理后,最终通过TCP进行传输。 wireshark wiki给出的S7comm协议栈如下:
OSI层
协议
应用层
S7通讯
表示层
S7通讯(COTP)
会话层
S7通讯(TPKT)
传输层
ISO-on-TCP (RFC 1006)
网络层
知识产权
数据链路层
以太网
物理层
以太网
COTP和TPKT协议涉及网络和PLC设备之间的连接。有兴趣的朋友可以自行上网搜索。
S7Comm数据用作COTP数据包的负载,第一个字节始终为0x32作为协议标识符。 S7Comm协议包含三部分:
标头
范围
数据
S7Comm Header如下图所示:
我们通过两张表来了解Header的结构:
最重要的是ROSCTR字段,其定义如下表:
S7comm协议的Parameter部分和Data部分根据Header中PDU类型的功能码和协议扩展(Userdata)的内容而有所不同。
当PUD类型为JOB和ACK_Data时,Parameter项的第一个字段为Function code,类型为Unsigned inger,长度为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);
功能码为0x05(写);
Item中的DB号为1,地址为0x000000;
Data中写入的数据为01。
查看响应数据如下:
PDU类型为0x03(ACK_DATA);
功能码为0x05(写);
返回代码位于数据中,为0xff(成功)。
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、上位机, ETC。)。
该平台在还原真实工业网络环境的基础上,让不同的学生通过网络进入环境进行学习。
进攻和防守比赛
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/3874.html
用户评论
这个标题太吸引我了!一直想了解软PLC和SCADA系统的安全实践,期待文章内容!
有18位网友表示赞同!
西门子软PLC和SCADA系统,这个组合很有意思,安全实践应该是重点,希望文章能有干货!
有6位网友表示赞同!
虚拟SCADA系统?有点新奇,感觉会很有用,希望能从文章中学习到一些经验。
有18位网友表示赞同!
工控安全一直都是热门话题,期待文章能提供一些实用的解决方案。
有18位网友表示赞同!
感觉这篇文章很专业,期待学习一下关于工控安全方面的知识。
有8位网友表示赞同!
西门子软PLC,这个我知道,虚拟SCADA系统是什么?有点好奇。
有10位网友表示赞同!
安全实践总是要重视的,希望这篇文章能分享一些实用的方法。
有16位网友表示赞同!
工控安全,容不得半点马虎,希望能从文章中得到一些启发。
有17位网友表示赞同!
基于西门子的软PLC,这个话题很有吸引力,期待文章的具体内容。
有6位网友表示赞同!
虚拟SCADA系统,这个概念有点抽象,希望能通过文章理解一下。
有16位网友表示赞同!
工控安全实践,这个主题非常重要,希望能从文章中学习到更多知识。
有17位网友表示赞同!
西门子软PLC,我对这个比较熟悉,希望能从文章中了解虚拟SCADA系统的应用。
有7位网友表示赞同!
期待文章能提供一些具体的案例,帮助我更好地理解工控安全实践。
有7位网友表示赞同!
文章标题很吸引人,希望能从文章中学习到一些关于工控安全方面的知识。
有6位网友表示赞同!
软PLC和虚拟SCADA系统,感觉很有意思,期待文章能分享一些经验。
有15位网友表示赞同!
工控安全,关乎着整个系统的安全稳定运行,这篇文章很有意义。
有10位网友表示赞同!
西门子软PLC和SCADA系统,这个组合很常见,期待文章能分享一些安全实践的经验。
有5位网友表示赞同!
虚拟SCADA系统,这个技术很有潜力,期待文章能介绍一下它的优势和应用。
有9位网友表示赞同!
工控安全实践,这个主题非常重要,希望能从文章中学习到一些安全防范措施。
有17位网友表示赞同!
期待文章能深入探讨虚拟SCADA系统在工控安全方面的应用和挑战。
有9位网友表示赞同!