Attacking the IEC-61131 Logic Engine in Programmable Logic Controllers in Industrial Control Systems

一、摘要

  可编程逻辑控制器(PLC)配备了用IEC-61131语言编写的控制逻辑(如梯形图和结构化文本),定义了PLC应如何控制物理过程。本文提出了一种新的控制逻辑攻击维度,其目标是PLC的控制逻辑引擎(负责运行控制逻辑)。通过利用PLC固有的功能(如程序模式和启动/停止引擎),网络攻击可以成功禁用IEC-61131控制逻辑引擎。我们利用MITRE ATT&CK知识库,在工业环境中使用的真实PLC上,开发了两个关于控制逻辑引擎攻击(干扰或损害控制逻辑引擎正常功能的攻击)的新案例研究:
  (1)Schweitzer工程实验室(SEL)的实时自动化控制器(SEL-3505 RTAC),配备加密流量和设备级访问控制等安全功能
  (2)传统PLC,如施耐德电气的Modicon M221、艾伦·布拉德利的MicroLogix 1400和1100,没有安全功能。
  我们的贡献有三方面:
  (1)我们已经引入了一种新的攻击向量,它以PLC中IEC-61131控制逻辑引擎为目标,以停止物理过程。
  (2)我们成功地利用MITRE ATT&CK知识库开发并演示了对四个真实PLC的控制引擎攻击。
  (3)我们评估了控制引擎攻击连接物理过程的有效性,即一个变电站、一个4层电梯和一条传送带,以演示停止物理过程的实际影响。

二、介绍

(一)PLC攻击类型

  现有的控制逻辑攻击要么针对PLC上运行的控制逻辑代码(也称为控制逻辑注入攻击),要么破坏PLC固件以操纵控制逻辑执行。我们的攻击是新的,它们针对的是控制逻辑引擎,而不是目标PLC中的控制逻辑代码,而无需修改PLC固件。表1显示了对PLC的不同攻击的比较。
PLC的不同攻击的比较

表1

(二)MITRE ATT&CK攻击

  本文中的两个案例研究利用了来自MITRE ATT&CK知识库的以下攻击。表2总结了MITRE ATT&CK知识库中用于演示PLC控制逻辑引擎攻击的攻击子集。
攻击子集

表2

  (1)控制操作(T0831),攻击者可以在工业环境中操纵物理过程控制。
  (2)可用性丧失(T0826),攻击者可以破坏某些组件,以阻止运营商交付产品或服务。
  (3)拒绝查看(T0815),攻击者可以中断或阻止操作员查看ICS环境的状态。
  (4)拒绝控制(T0813),攻击者可以暂时阻止操作员与流程控制交互。
  (5)中间人(T0830),ICS网络中的攻击者可以拦截、修改或丢弃工程工作站和PLC之间交换的数据包。
  (6)网络嗅探(T0842),ICS网络中的攻击者可以尝试嗅探网络流量,以获取有关其目标的信息。
  (7)未经授权的命令消息(T0855),攻击者可能向工业控制系统设备发送未经授权的命令消息,使其无法正常工作。

三、威胁建模

  我们假设对手在ICS网络中,可以与目标控制器通信以发起控制逻辑引擎攻击。攻击者可以使用真实世界的IT攻击(如受感染的U盘或易受攻击的Web服务器)渗透ICS网络并禁用控制器运行控制逻辑,IT攻击超出了本文的范围。在ICS网络中,我们还假设攻击者具有以下能力:
  (1)读取PLC和工程工作站之间的通信。
  (2)通过将自己定位为中间人来删除或修改通信中的任何消息。
  (3)启动与PLC的连接以远程发送恶意消息。

四、实验评估

(一)SEL-3505 RTAC

  第一个案例研究侧重于配备安全功能(如加密流量和设备级访问控制)的SEL RTAC设备。RTAC有一个称为“逻辑引擎”的组件,负责运行控制器的控制逻辑。由于该组件是攻击者的主要关注点,她将自己定位为工程软件和PLC之间的中间人,以防止控制器以下面两种方式执行控制逻辑。
  (1)通过修改负责启动逻辑引擎的数据包
  (2)完全丢弃这个包。
  此外,RTAC 3505通过端口5432与AcSELerator软件通信是使用传输层安全性(TLS)加密的。然而,一旦合法用户登录,就可以在端口1217上进行未加密的通信,使中间人攻击成为可能。
   研究AcSELerator发送到RTAC以启动和停止逻辑引擎的两个请求数据包,我们发现,在每个新会话中,会话ID都会增加3,启动和停止逻辑引擎的功能代码分别为0x10和0x11。我们还发现,其余消息在不同会话中保持不变(标识为未知静态字段),并且攻击不需要语义知识。如图1所示。
通信数据包

图1
  攻击者可以使用Ettercap的ARP欺骗攻击,使自己成为中间人,然后利用Ettercap识别包含逻辑引擎“启动”和“停止”命令的消息,对启动(0x10)和停止stop(0x11)的关键字段进行修改或者丢弃数据包,进而达到控制逻辑引擎的效果。

(二)传统的PLC

  第二个案例研究的重点是没有内置安全功能的传统PLC。它包括三个PLC:Modicon M221、MicroLogix 1100和MicroLogix 1400。这些可编程逻辑控制器与RTAC有两个不同之处:首先,这些PLC没有单独的逻辑引擎,处理器承担这一角色。根据控制器类型,PLC需要处于“运行”模式或发出“启动控制器”命令以运行控制逻辑。其次,与SEL-RTAC不同,与大多数PLC进行的所有通信均未加密。要攻击控制逻辑引擎,攻击者可以创建精心编制的消息,然后将其发送到PLC以远程更改其状态。

(1)Modicon M221

  M221 PLC与其工程软件SoMachine之间的网络通信未加密,并在端口502上使用专有协议,协议封装在Modbus/TCP中。 PLC的状态(启用或禁用其运行控制程序)可以通过工程软件远程更改,并且PLC一次只允许一个工程软件连接到它。
  对M221专有协议进行逆向工程,识别SoMachine软件发送的数据包,以启动和停止PLC逻辑引擎,我们可以看到功能代码0x40和0x41分别用于启动和停止控制器,如果工程软件的请求消息被PLC成功接受,它将发回一条成功消息以确认更改。如下图2所示。
M221启停
  通过网络扫描,攻击者识别PLC的IP地址,然后启动攻击程序。攻击者首先与Modicon M221 PLC建立Modbus协议会话,然后向PLC发送“停止控制器”请求。收到此请求后,PLC停止执行控制逻辑,停止物理过程。只要攻击者保持Modbus会话运行,PLC一次只允许一个连接的功能将禁止控制工程师与PLC通信以运行“启动控制器”命令。

(2) MicroLogix 1400和1100

  两个PLC使用封装在EtherNet/IP中的未加密PCCC协议与工程软件RSLogix通信,都有三种操作模式;运行、编程和远程。在“运行”模式下,PLC执行控制逻辑并控制物理过程。要进行维护或更改控制逻辑,用户必须将PLC置于“编程”模式以进行任何更改。PLC的逻辑引擎在“编程”模式下暂停。因此,只要保持此模式,它就不会执行任何控制逻辑。
  通过手动逆向工程,我们成功地识别了RSLogix发出的请求消息,以将PLC的模式更改为远程运行或远程编程。功能代码0x80用于更改模式,对于远程运行模式,功能代码后跟0x01;对于远程编程,功能代码后跟0x06。工程软件定期发送带有功能代码0x03的请求消息,以查询PLC的状态。远程运行和远程编程模式期间响应消息的差异分析表明,功能代码0x26用于远程运行模式,而0x21用于远程编程模式。如图3所示。
MicroLogix 1400和1100
  攻击者首先使用ARP中毒执行中间人操作,并与Micrologix 1400 PLC建立ENIP会话。 然后,攻击者向PLC发送请求消息,将模式更改为远程编程,因此PLC停止执行控制逻辑。为了防止控制工程师知道PLC的当前状态,攻击者启动Ettercap过滤器将远程编程功能代码更改为远程运行。

五、总结

  大多数PLC的主要问题是通信未加密。虽然RTAC的大部分通信仍然使用TLS,但发生在端口1217上的TLS仍然未加密,这使得攻击者更容易对协议进行逆向工程并发起他们选择的攻击。Modicon M221和Micrologix 1400等PLC具有一定程度的密码安全性。这些PLC使用密码认证方案来保护控制逻辑不被未经授权的用户读取和写入。不幸的是,攻击者可以更改PLC的状态,因此,建议使用密码来更改PLC的状态,以防止控制逻辑在不需要身份验证的情况下运行。此外,M221 PLC还具有固有的默认功能,允许未经授权的用户连接到它,而无需验证。它一次也只允许一个用户连接到它。攻击者连接PLC,阻止控制器运行控制逻辑程序,然后保持会话活动,以禁止合法的现场工程师控制PLC。

[1] Ettercap (www.ettercap-project.org), 2021.
[2] ATT&CK®for Industrial Control Systems,The MITRE Corpo-
ration, (collaborate.mitre.org/attackics/index.php/Main_
Page),2021
[3] H. Adjei, T. Shunhua, G. Agordzo, Y. Li, SSL Stripping Technique
“(DHCP Snooping and ARP Spoofing Inspection)”,Twenty Third
International Conference on Advanced Communication Technology
(ICACT), pp. 187–193, 2021.
[4] I Ahmed,S. Obermeier, S. Sudhakaran and V. Roussev, Pro-
grammable Logic Controller Forensics,IEEE Security Privacy, vol.
15(6), pp. 18–24, 2017.
[5] I. Ahmed, S. Obermeier, M. Naedele, G. Richard III, SCADASys-
tems: Challenges for Forensic Investigators,Computer, vol. 45(12),
pp. 44–51, 2012.
[6] I. Ahmed, V. Roussev, W. Johnson, S Senthivel and S. Sudhakaran,
A SCADA System Testbed for Cybersecurity and Forensic Research
and Pedagogy,Proceedings of the Second Annual Industrial Control
System Security Workshop, pp. 1–9, 2016.
[7] A. Ayub, H. Yoo, I. Ahmed, Empirical Study of PLC Authentica-
tion Protocols in Industrial Control Systems,Fifteenth IEEE Work-
shop on Offensive Technologies (WOOT), 2021.
[8] S. Bhatia, S. Behal and I. Ahmed, Distributed Denial of Service
Attacks and Defense Mechanisms: Current Landscape and Future
Directions,Versatile Cybersecurity, M. Conti, G. Somani and R.
Poovendran (Eds.), Springer International Publishing, Heidelberg
Germany, pp. 55–97, 2018.
[9] T. Chen and S. Abu-Nimeh, Lessons from Stuxnet,Computer, vol.
44(4), pp. 91–93, 2011.
[10] Exe-GUARD (www.energy.gov/sites/prod/files/2017/04/
f34/SEL_Exe-guard_FactSheet.pdf)
[11] N. Falliere, L. Murchu and E. Chien, W32.Stuxnet Dossier, Version
1.3 ,Symantec Corp, Cupertino, CA, USA, 2011.
[12] L. Garcia, F. Brasser, M. Cintuglu, A. Sadeghi, O. Mohammed, S.
Zonouz, Hey, My Malware Knows Physics! Attacking PLCs with
Physical Model Aware Rootkit,Twenty Fourth Annual Symposium
on Network & Distributed System Security(NDSS), pp. 8:1–8:15,
2017.
[13] N. Govil, A. Agarwal, N. Tippenhauer, On Ladder Logic Bombs
in Industrial Control Systems,Computer Security, S. Katsikas,
F. Cuppens, N. Cuppens, C. Lambrinoudakis, C. Kalloniatis,
J.Mylopoulos, A. Anton and S. Gritzalis (Eds), Springer Interna-
tional Publishing, Heidelberg, Germany, pp. 110–126, 2018.
[14] R. Johnson, Survey of SCADA security challenges and potential at-
tack vectors,2010 International Conference for Internet Technology
and Secured Transactions, pp. 1–5, 2010.
[15] S. Kalle, N. Ameen, H. Yoo, I. Ahmed, CLIK on PLCs! Attacking
Control Logic with Decompilation and Virtual PLC, Binary Anal-
ysis Research(BAR) Workshop,Workshop on Binary Analysis Re-
search (BAR), Proceeding of Twenty-Sixth Network and Distributed
System Security Sym-posium, 2021.
[16] N. Kush, E. Foo, E. Ahmed, I. Ahmed, A. Clark, Gap analysis
of intrusion detection in smart grids,Second International Cyber
Resilience Conference(ICR 2011), pp. 38–46, 2011.
[17] Schweitzer Engineering Laboratories Incorporation,SEL-
3505/SEL-3505-3 Real-Time Automation Controller, Pullman,
WA , U S A , (selinc.com/products/3505/docs/), 2020.
[18] S. Mclaughlin, P. McDaniel, SABOT: Specification-based Payload
Generation for Programmable Logic Controllers,Proceedings of the
2012 ACM conference on Computer and communi-cations security,
2012.
[19] S. Qasim, J. Lopez, I.Ahmed, Automated Reconstructionof Control
Logic for Programmable Logic Controller Forensics, inInformation
Security, Z. Lin, C. Papamanthou, M. Polychronakis, Cham, pp.
402–422, 2019.
[20] S. Qasim, J. Smith, I. Ahmed, Control Logic Forensics Framework
using Built-in Decompiler of Engineering Software in Industrial
Control Systems,Forensic Science International: Digital Investi-
gation, vol. 33, pp. 301013, 2020.
[21] M. Rais, Y. Li, I. Ahmed, Spatiotemporal G-code Modeling for Se-
cure FDM-based 3D Printing, inProceedings of the ACM/IEEE
12th International Conference on Cyber-Physical Systems, A s s o c iation for Computing Machinery, New York, NY, USA, 177–186,
2021.
[22] M. Rais, R. Asmar, J. Jr, I. Ahmed, JTAG-based PLC Memory
Acquisition Framework for Industrial Control Systems,Twentieth
Annual Digital Forensics Research Conference, 2021.
[23] C. Schuett, J. Butts, S. Dunlap, An evaluation of modification at-
tacks on programmable logic controllers,International Journal of
Critical Infrastructure Protection, vol. 7(1), pp. 61–68, 2014.
[24] S. Senthivel, I. Ahmed, V. Roussev, SCADA network forensics of the
PCCC protocol,Digital Investigation, vol. 22, pp. S57–S65, 2017.
[25] S. Senthivel, S. Dhungana, H. Yoo, I. Ahmed, V. Roussev,Denial
of Engineering Operations Attacks in Industrial Control Systems,
CODASPY ’18: Proceedings of the Eighth ACM Conference on Data
and Application Security and Privacy, pp. 319–329, 2018.
[26] R. Sun, A. Mera, L. Lu, D. Choffnes, SoK: Attacks on Industrial
Control Logic and Formal Verification-Based Defenses,ArXiv, vol.
abs/2006.04806, 2020.
[27] H. Yoo, I. Ahmed, Control Logic Injection Attacks on Industrial
Control Systems, inICT Systems Security and Privacy Protection,
F. Karlsson, K. Hedstr¨ om, A. Z´ uquete, Springer International Pub-
lishing, Cham, pp. 33–48, 2019.
[28] H. Yoo, S. Kalle, J. Smith, I. Ahmed, Overshadow PLC to Detect
Remote Control-Logic Injection Attacks, inDetection of Intrusions
and Malware, and Vulnerability Assessment, R . P e r d i s c i , C . M a u -
rice, G. Giacinto, M. Almgren, Springer International Publishing,
Cham, pp. 109–132, 2019.


posted @ 2022-07-03 21:45  哆啦哆啦呦  阅读(164)  评论(0编辑  收藏  举报