警惕!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.png

图片2.png

图1 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已知受影响的软件配置

 图片3.png

  图2 受影响的软件配置

  3、漏洞原理及复现

  3.1 漏洞原理

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

  3.2 漏洞复现

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

 图片4.png

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

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

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

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

 图片5.png

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

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

 图片6.png

图5 部分控制流程图

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

 图片7.png

图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/

来源:freebuf.com 2020-05-22 17:56:59 by: 北京天地和兴科技有限公司

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论