攻击ICS中PLC的IEC-61131逻辑引擎

  • 一、摘要
  • 二、介绍
    • (一)PLC攻击类型
    • (二)MITRE ATT&CK攻击
  • 三、威胁建模
  • 四、实验评估
    • (一)SEL-3505 RTAC
    • (二)传统的PLC
      • (1)Modicon M221
      • (2) MicroLogix 1400和1100
  • 五、总结

一、摘要

  可编程逻辑控制器(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的不同攻击的比较。

表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所示。

  通过网络扫描,攻击者识别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所示。

  攻击者首先使用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.

Attacking the IEC-61131 Logic Engine in Programmable Logic Controllers in Industrial Control Systems相关推荐

  1. Post-exploitation and Persistence Techniques Against Programmable Logic Controller

    PLC的后开发和持久化技术 一.摘要 二.威胁建模 三.攻击方法 (一)获取远程访问 (二)权限提升及收集信息 (三)持续化 四.攻击场景 五.结论 一.摘要   从对最近ICS重大事件的调查中可以看 ...

  2. IEC 61131标准系列

    IEC 61131标准系列 IEC 61131是IEC可编程控制器标准.在IEC改变编码系统之前,它被称为IEC 1131.IEC 61131标准的各部分由IEC TC65技术委员会SC 65B分委会 ...

  3. IEC 6-1131/3的5种标准编程语言

    用于开发控制系统和商业管理系统的TRACE MODE6编程工具面向不同领域的软件工程师. TRACE MODE6包含的五种编程语言为:Techno SFC.Techno LD.Techno FBD.T ...

  4. ABB AC500 - Programmable Logic Controllers PLCs可编程逻辑控制器

    ABB AC500 - Programmable Logic Controllers PLCs可编程逻辑控制器 ABB AC500 PLC 系列包括各种 CPU.I/O 模块.通信模块.通信接口模块和 ...

  5. php中logic(),thinkphp中的logic和service层是干什么用的?

    thinkphp中的logic和service层的用处: logic:顾名思义,主要是用来堆砌业务代码的: service:一般跟API接口做对接的代码都放在这里. 不管框架如何分层,本质上就是一个代 ...

  6. Apple Logic Pro 10.7 (Logic Pro 10.7 + MainStage 3.5 (Universal))

    请访问原文链接:https://sysin.org/blog/apple-logic-pro/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页:www.sysin. ...

  7. 过程分析对进行有针对性ICS攻击的意义

    On the Significance of Process Comprehension for Conducting Targeted ICS Attacks 一.摘要 二.介绍 (一)实验台 (二 ...

  8. Introducing a forensics data type taxonomy of acquirable artefacts from PLCs

    介绍PLC可以获取人工的取证数据类型分类法 一.摘要 二.介绍 三.实验评估 (一)实验台设置 (二)取证数据分类法 (三)PLC取证数据类型 四.总结 一.摘要 本文研究了存储在PLC上的特定数据类 ...

  9. 一种使用可满足性模数理论模型检查可编程逻辑控制器系统的恶意软件检测方法

    A malware detection method using satisfiability modulo theory model checking for the programmable lo ...

最新文章

  1. SAX解析XML文档——(二)
  2. pythonchallenge_level9
  3. linux和android调试概要
  4. Effective C++ --1 让自己习惯C++
  5. mysql mybatis模糊查询语句_详解MyBatis模糊查询LIKE的三种方式
  6. LeetCode 248. 中心对称数 III(DFS/BFS)
  7. 北工大计算机网络基础期末考试,2013北工大计算机网络应用复习提纲整理版.doc...
  8. 今天的离离原上草的飞鸽传书
  9. GetRegisterAsBrowser CHtmlView::GetRegisterAsBrowser
  10. 各种SQL数据库的数据类型
  11. UVA10341 Solve It【二分】
  12. python使用lxml库对解析后的DOM树形成的xpath计算得到平均值、中位数、方差
  13. Arcgis中按照cass标准分幅图框进行批量正射影像DOM分幅裁剪并命名
  14. ArcGIS教程:按单个值进行重分类
  15. 腾讯翻译君API使用笔记
  16. NEW:5.9.4/Foxit PDF SDKfor ActiveX
  17. 优质短信api接口具备的特点
  18. 社交鼻祖人人网被卖 曾意气风发比肩Facebook 一代人的回忆终结了
  19. 【转载】Linux摄像头驱动1——vivid
  20. 2019届华为秋招面试

热门文章

  1. Illustrator画出可爱驯鹿头像
  2. 【GoCN酷Go推荐】Go 系统监控利器-gopsutil
  3. 推荐西安交通大学东南门沙坡村的买买提烤肉店
  4. Adobe CS4 安装
  5. [量化-017]防雷
  6. NYOJ 248 BUYING FEED (贪心)
  7. togglebutton用法 java_Android中ToggleButton开关状态按钮控件使用方法详解
  8. sql 四舍五入后补零
  9. 小黑小波比.自学android安卓遇到的问题以及解决方案
  10. File Cache Conflict 文件缓存冲突