警惕!Schneider Electric软件再爆漏洞,PLC自查请开启

 

 1、概述

  近日, 络安全公司Trustwave的研究人员 告称他们在Schneider Electric软件中发现了一个安全漏洞CVE-2020-7489,该漏洞类似于Stuxnet恶意软件利用的漏洞。Stuxnet是十年前美国和以色列用来破坏伊朗核计划的恶意软件,其设计目标是西门子的SIMATICS7-300和S7-400可编程逻辑控制器(PLC)。利用该漏洞可以访问托管SoMachine软件和目标PLC的环境。EcoStruxure Machine Expert–Basic 以及其前身 SoMachine Basic 都是法国施耐德电气(Schneider Electric)公司的产品,SoMachine Basic,也被称为EcoStruxure Machine Expert,是一款轻量级的编程软件,专为施耐德Modicon M221可编程逻辑控制器(Programmable Logic Controller,PLC)而设计。

  2、漏洞描述

  Schneider Electric EcoStruxure Machine Expert – Basic或SoMachine Basic中存在注入漏洞。此漏洞的结果是DLL替换,攻击者可利用该漏洞将恶意代码传输到控制器。

图1-1 CVSS评分

图1-2 CVSS评分

  2.1漏洞披露时间

  发布时间:2020年4月22日

  更新时间:2020年5月5日

  2.2漏洞影响版本

  SoMachine Basic(所有版本)

  EcoStruxure Machine Expert-Basic(所有版本)

  Modicon M100逻辑控制器(所有版本)

  Modicon M200逻辑控制器(所有版本)

  Modicon M221逻辑控制器(所有版本)

  2.3已知受影响的软件配置

图2 受影响的软件配置

  3、漏洞原理及复现

  3.1 漏洞原理

  该漏洞的跟踪源为CVE-2020-7475,该漏洞在多款Schneider Electric产品中存在注入漏洞。该漏洞源于用户输入构造命令、数据结构或记录的操作过程中, 络系统或产品缺乏对用户输入数据的正确验证,未过滤或未正确过滤掉其中的特殊元素,导致系统或产品产生解析或解释方式错误。而CVE-2020-7489类似于CVE-2020-7475漏洞,攻击者可利用该漏洞将恶意代码传输到控制器。

  3.2 漏洞复现

  首先确定SoMachine Basic使用的两个DLL来构建 络数据包,并将这些库加载到IDA Pro中以识别将控制命令发送到控制器的所有功能。下图突出显示了一些功能。

图3 函数调用了将消息发送到PLC的函数

  我们分析了两个功能(分别称为功能A和功能B),用于发送命令以启动PLC。其思想是了解两个功能之间的执行情况,以识别其子功能所部署的安全机制,以防止操纵控制平面。

  直观地说,当操作员使用SoMachine Basic图形用户界面单击“start controller”时,函数A被触发,调用函数B准备数据包并将其发送到PLC以启动控制器。

  控制命令由数据包中的单个字节表示。用于启动PLC的控制命令值是硬编码在函数B中的,如下图所示。其他命令控制值可以在其他函数中找到,这些函数被调用来为其他控制操作做准备。

图4 硬编码值从功能B复制到出口Modbus消息

  当操作员在SoMachine Basic UI上单击“启动控制器”时,功能A将调用一个子功能以检查PLC设备的当前状态。如果目标PLC可用,功能A将继续调用功能B。将要发送到PLC的数据包将在功能B中创建,然后再发送给PLC。流程图如下:

图5 部分控制流程图

  遵循过程间控制流程图,我们发现从未检查或验证硬编码值。这使威胁参与者可以修补DLL,修改值并更改数据包的预期行为。

图6 修改DLL上的硬编码值,数据包通过“OK”响应成功发送到PLC

 

 4、漏洞危害及防护建议

  4.1漏洞危害

  l 获取管理访问权:攻击者可利用该漏洞将恶意代码传输到控制器,很可能获得对受害系统的管理访问权,并且该系统可能已被锁定到与周围 络形成物理隔离的地步

  l 系统崩溃:攻击者可能会替换所有命令功能,以在PLC上执行违反PLC设计方式的命令。例如,他可以修改所有硬编码值以运行“停止PLC”命令,而操作员将失去对PLC的控制。他还可以修改(来自PLC的)所有返回数据包,以便即使威胁执行者可能已经将恶意代码注入到PLC中,也将始终返回预期的良好行为。

  4.2防护建议

  1. 更新软件以及固件

  l 将项目更新到EcoStruxure Machine Expert – Basic V1.0 SP2或更高版本;

  l 在Modicon M100/M200/M221逻辑控制器上,更新到最新固件版本;

  l 在项目属性中为读和写操作激活应用程序保护。

  2. 程序转移

  l 将应用程序转移到Modicon M100/M200/M221逻辑控制器。EcoStruxure Machine Expert-Basic将在传输应用程序时执行完整性检查,如果应用程序在传输期间被更改,将向用户显示一个警告弹出窗口。

  参考文献

  [1] MISC:
https://www.se.com/ww/en/download/document/SEVD-2020-105-01/

  [2] NVD:
https://nvd.nist.gov/vuln/detail/CVE-2020-7489

  [3] CVE:
https://www.tenable.com/cve/CVE-2020-7489

  [4] OSINT:
https://osint.geekcq.com/2020/04/22/cve-2020-7489/

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月18日
下一篇 2020年4月18日

相关推荐