利用施耐德PLC模拟器漏洞可远程控制工作站

简介: 本文讲的是利用施耐德PLC模拟器漏洞可远程控制工作站,用于向施耐德电气公司各种工业控制器编辑和部署代码的软件存在漏洞,攻击者可向工业工程软件发送恶意代码,远程控制用于编程和控制PLC(可编程逻辑控制器)的工作站。

本文讲的是利用施耐德PLC模拟器漏洞可远程控制工作站,用于向施耐德电气公司各种工业控制器编辑和部署代码的软件存在漏洞,攻击者可向工业工程软件发送恶意代码,远程控制用于编程和控制PLC(可编程逻辑控制器)的工作站。

image

该软件名为 Unity Pro,运行在工程师所用PC上,包含在往PLC上部署代码前进行测试的模拟器。PLC是监视和控制机械过程的专用硬件设备,工厂、电站、炼油厂、公共事业公司和其他工业机构都要用到,电机的旋转、阀门的启闭等等靠的就是PLC。

工业网络安全公司Indegy的研究人员发现,未授权的攻击者可在安装了 Unity Pro PLC 模拟器的Windows计算机上执行恶意代码。该代码将以调试权限运行,拿下整个系统的控制权。

由于工程工作站通常都装有 Unity Pro,对这些系统的入侵就会为攻击者提供重编程正在生产中的PLC,以及干扰关键过程的能力。而且,这些被入侵的系统还能让攻击者获取到知识产权(IP),比如正在生产中的产品的秘密配方,从部署到PLC上的逻辑程序就能推导出来。

Indegy的研究人员称,Unity Pro PLC 模拟器会在工作站上打开一项网络服务,监听特定TCP端口,允许远程计算机向模拟器发送专有格式的控制代码包。

任何能通过网络与工程工作站通信的计算机,即便没有身份验证,也能发送.apx文件给 Unity Pro PLC 模拟器执行。该模拟器支持施耐德电气公司各种PLC上运行的二进制文件,包括那些使用x86架构的。

Indegy的研究人员可以编制包含恶意x86指令的.apx文件,Unity Pro 软件将开子进程执行之。

问题在于,该进程在Windows系统中是以调试权限运行的,因而你能对该机器做任何想做的事。翻出这个进程很容易,因为根本没沙箱或代码隔离。

由于其特权地位,工程工作站就是工业控制网络的权杖。即便有防火墙将PLC与网络中其他部分进行隔离,工程工作站依然位列白名单中,能够与网络中其他实体进行通信,因为这就是它们的任务。

施耐德电气公司安全顾问称,该攻击至少存在一个受限因素:只有在PLC模拟器里没有其他应用程序运行,或者程序没有密码保护的情况下,攻击才能成功。

因此,新发布的 Unity Pro 11.1 是不会在没有关联应用的情况下启动模拟器的。然而,公司在公告中说道:“选择 Unity Pro 模拟器默认启动应用的决定权在用户,该应用是否采用密码保护也取决于用户。”

另一个限制因素在于,潜在攻击者首先要能访问网络中能与 Unity Pro 工程工作站通信的计算机。

很多种方法都能获取此类计算机的访问权,比如说通过恶意软件攻击、利用其它漏洞,甚至通过恶意内部人士。不过,该漏洞还是凸显出了恰当的网络分段的重要性,工业控制资产,包括工程工作站,应与公司的通用IT网络分隔开来。

原文发布时间为:十月 28, 2016
本文作者:nana
本文来自云栖社区合作伙伴安全牛,了解相关信息可以关注安全牛。
原文链接:http://www.aqniu.com/threat-alert/20594.html

相关文章
|
SQL BI 数据库
达梦(DM) SQL日期操作及分析函数
讲述DM 数据库中如何实现各种日期相关的运算以及如何利用分析函数 lead() over() 进行范围问题的处理
|
数据采集 存储 缓存
SpringBoot与布隆过滤器的完美邂逅:高效防护大规模数据的奇妙结合【实战】
SpringBoot与布隆过滤器的完美邂逅:高效防护大规模数据的奇妙结合【实战】
728 0
|
4月前
|
弹性计算 人工智能 固态存储
阿里云服务器多少钱一年?整理2026年阿里云服务器新购、续费与升级配置价格费用明细
阿里云服务器主要分为轻量应用服务器、云服务器 ECS 和 GPU 服务器三类,不同类型适配不同使用场景,费用因配置、租期及计费方式存在差异。以下从新购价格、续费优惠、升级规则及额外收费项等方面,详细说明阿里云服务器的费用情况。
|
9月前
|
Java 编译器 测试技术
Java注解(Annotation)与元编程实践
本文深入讲解Java注解的原理与实战应用,涵盖内置注解、自定义注解、编译期与运行期处理机制,以及在依赖注入、Web框架和数据验证中的实际应用,助你掌握元编程核心技能。
STM32CubeMX 按键控制LED
STM32CubeMX 按键控制LED
561 0
|
自然语言处理 搜索推荐 算法
ES之道:IK分词器的魔法般变身
ES之道:IK分词器的魔法般变身
542 0
|
定位技术 API 容器
vue3高德地图点击标点
vue3高德地图点击标点
813 1
vue3高德地图点击标点
|
前端开发 测试技术 程序员
测试相关知识小全
测试相关知识小全
814 0
|
小程序 前端开发
微信小程序的生命周期与uniapp的生命周期
微信小程序的生命周期与uniapp的生命周期
702 0
|
存储 程序员 芯片
一文详解8086微处理器系统结构
地址指针和变址寄存器 - 地址指针和变址寄存器组包括堆栈指针 SP、堆栈基址寄存器 指针BP以及变址寄存器 指针SI和DI等4个16位寄存器。它们主要是用来存放或指示操作数的偏移地址。 - 堆栈指针SP中存放的是当前堆栈段中**栈顶**的偏移地址。堆栈操作指令PUSH和POP就是从SP中得到操作数的段内偏移地址的。 - BP是访问堆栈时的基址寄存器。BP中存放的是堆栈中某一存储单元的偏移地址,SP、BP通常和SS联用。 - **SI和DI称为变址寄存器**。它们通常与DS联用,为程序访问当前数据段提供操作数的**段内**偏移地址。SI和DI除
1892 0
一文详解8086微处理器系统结构