Gadgets of Gadgets in Industrial Control Systems: Return Oriented Programming Attacks on PLCs

Adeen Ayub, Nauman Zubair, Hyunguk Yoo, Wooyeon Jo, Irfan Ahmed
{"title":"Gadgets of Gadgets in Industrial Control Systems: Return Oriented Programming Attacks on PLCs","authors":"Adeen Ayub, Nauman Zubair, Hyunguk Yoo, Wooyeon Jo, Irfan Ahmed","doi":"10.1109/HOST55118.2023.10132957","DOIUrl":null,"url":null,"abstract":"In industrial control systems (ICS), programmable logic controllers (PLCs) directly control and monitor physical processes in real-time such as nuclear plants, and power grid stations. Adversaries typically transfer malicious control logic to PLCs over the network to sabotage a physical process. These control logic attacks are well-understood containing machine instructions in network packets and are likely to be detected by network intrusion detection systems (IDS). On the other hand, return-oriented programming (ROP) reuses blocks (or gadgets) of existing code in computer memory to create and execute malicious code. It limits or eliminates the need to transfer machine instructions over the network, making it stealthier. Currently, ROP attacks on control logic has never been discussed in the literature to explore it as a practical ICS attack. This paper is the first attempt in this direction to explore challenges for a successful ROP attack on real-world PLCs, including maintaining a continuous (control logic) scan cycle through ROP gadgets, no user input (to cause a buffer overflow) to overwrite the stack for gadget installation, and limited ROP gadgets in a PLC memory to find blocks of instructions equivalent to the high-level constructs of PLC programming languages (such as instruction list, and ladder logic). We identify and utilize typical PLC design features (that we find exploitable) to overcome these challenges, which makes ROP attacks applicable to most PLCs e.g., no stack protection, and remote access to certain PLC memory regions via ICS protocols. We demonstrate two successful ROP attacks on the control logic programs of three fully-functional physical processes, i.e., a belt conveyor system, a four-floor elevator, and a compact traffic light system. The first ROP attack manipulates a PLC’s current control logic and has two variants involving either a single or multiple gadgets; the second ROP attack constructs a control logic from scratch using gadgets in a PLC’s memory. Our evaluation results show that the attacks can be performed using a set of small-sized gadgets with no significant effect on a PLC’s scan time.","PeriodicalId":128125,"journal":{"name":"2023 IEEE International Symposium on Hardware Oriented Security and Trust (HOST)","volume":"61 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE International Symposium on Hardware Oriented Security and Trust (HOST)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HOST55118.2023.10132957","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

In industrial control systems (ICS), programmable logic controllers (PLCs) directly control and monitor physical processes in real-time such as nuclear plants, and power grid stations. Adversaries typically transfer malicious control logic to PLCs over the network to sabotage a physical process. These control logic attacks are well-understood containing machine instructions in network packets and are likely to be detected by network intrusion detection systems (IDS). On the other hand, return-oriented programming (ROP) reuses blocks (or gadgets) of existing code in computer memory to create and execute malicious code. It limits or eliminates the need to transfer machine instructions over the network, making it stealthier. Currently, ROP attacks on control logic has never been discussed in the literature to explore it as a practical ICS attack. This paper is the first attempt in this direction to explore challenges for a successful ROP attack on real-world PLCs, including maintaining a continuous (control logic) scan cycle through ROP gadgets, no user input (to cause a buffer overflow) to overwrite the stack for gadget installation, and limited ROP gadgets in a PLC memory to find blocks of instructions equivalent to the high-level constructs of PLC programming languages (such as instruction list, and ladder logic). We identify and utilize typical PLC design features (that we find exploitable) to overcome these challenges, which makes ROP attacks applicable to most PLCs e.g., no stack protection, and remote access to certain PLC memory regions via ICS protocols. We demonstrate two successful ROP attacks on the control logic programs of three fully-functional physical processes, i.e., a belt conveyor system, a four-floor elevator, and a compact traffic light system. The first ROP attack manipulates a PLC’s current control logic and has two variants involving either a single or multiple gadgets; the second ROP attack constructs a control logic from scratch using gadgets in a PLC’s memory. Our evaluation results show that the attacks can be performed using a set of small-sized gadgets with no significant effect on a PLC’s scan time.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
工业控制系统中的小工具:对plc的面向返回编程攻击
在工业控制系统(ICS)中,可编程逻辑控制器(plc)直接实时控制和监视物理过程,如核电站和电网站。攻击者通常通过网络将恶意控制逻辑传输到plc以破坏物理过程。这些控制逻辑攻击很容易理解,在网络数据包中包含机器指令,并且很可能被网络入侵检测系统(IDS)检测到。另一方面,面向返回的编程(ROP)重用计算机内存中现有代码的块(或小部件)来创建和执行恶意代码。它限制或消除了通过网络传输机器指令的需要,使其更加隐蔽。目前,文献中从未讨论过对控制逻辑的ROP攻击,以探索其作为实际的ICS攻击。本文是在这个方向上探索成功的ROP攻击对现实世界PLC的挑战的第一次尝试,包括通过ROP小工具保持连续的(控制逻辑)扫描周期,没有用户输入(导致缓冲区溢出)覆盖小工具安装的堆栈,以及有限的ROP小工具在PLC内存中找到相当于PLC编程语言的高级结构的指令块(如指令列表和阶梯逻辑)。我们确定并利用典型的PLC设计特征(我们发现可利用的)来克服这些挑战,这使得ROP攻击适用于大多数PLC,例如,没有堆栈保护,以及通过ICS协议远程访问某些PLC内存区域。我们展示了对三个全功能物理过程的控制逻辑程序的两次成功的ROP攻击,即带式输送机系统,四层电梯和紧凑型交通灯系统。第一种ROP攻击操纵PLC的当前控制逻辑,并有两种变体,涉及单个或多个小工具;第二次ROP攻击使用PLC内存中的小工具从头开始构建控制逻辑。我们的评估结果表明,攻击可以使用一组小型设备来执行,对PLC的扫描时间没有显着影响。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
TripletPower: Deep-Learning Side-Channel Attacks over Few Traces Design of Quantum Computer Antivirus Bits to BNNs: Reconstructing FPGA ML-IP with Joint Bitstream and Side-Channel Analysis Disassembling Software Instruction Types through Impedance Side-channel Analysis Generating Lower-Cost Garbled Circuits: Logic Synthesis Can Help
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1