Towards Automated Safety Vetting of PLC Code in Real-World Plants
Mu Zhang, Chien-Ying Chen, Bin-Chou Kao, Yassine Qamsane, Yuru Shao, Yikai Lin, Elaine Shi, Sibin Mohan, Kira Barton, James R. Moyne, Z. Morley Mao
Abstract
Safety violations in programmable logic controllers (PLCs), caused either by faults or attacks, have recently garnered significant attention. However, prior efforts at PLC code vetting suffer from many drawbacks. Static analyses and verification cause significant false positives and cannot reveal specific runtime contexts. Dynamic analyses and symbolic execution, on the other hand, fail due to their inability to handle real-world PLC programs that are event-driven and timing sensitive. In this paper, we propose VetPLC, a temporal context-aware, program analysis-based approach to produce timed event sequences that can be used for automatic safety vetting. To this end, we (a) perform static program analysis to create timed event causality graphs in order to understand causal relations among events in PLC code and (b) mine temporal invariants from data traces collected in Industrial Control System (ICS) testbeds to quantitatively gauge temporal dependencies that are constrained by machine operations. Our VetPLC prototype has been implemented in 15K lines of code. We evaluate it on 10 real-world scenarios from two different ICS settings. Our experiments show that VetPLC outperforms state-of-the-art techniques and can generate event sequences that can be used to automatically detect hidden safety violations.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers12
- ICSFuzz: Manipulating I/Os and Repurposing Binary Code to Enable Instrumented Fuzzing in ICS Control ApplicationsDimitrios Tychalas, Hadjer Benkraouda, Michail ManiatakosUSENIX Security 2021 · 42 citations
- Active fuzzing for testing and securing cyber-physical systemsYuqi Chen, Bohan Xuan, Christopher M. Poskitt, Jun Sun et al.ISSTA 2020 · 25 citations
- A Tale of Two Industroyers: It was the Season of DarknessLuis E. Salazar, Sebastián R. Castro, Juan Lozano, Keerthi Koneru et al.S&P 2024 · 22 citations
- Code integrity attestation for PLCs using black box neural network predictionsYuqi Chen, Christopher M. Poskitt, Jun SunFSE 2021 · 16 citations
- SoK: Security of Programmable Logic ControllersEfrén López-Morales, Ulysse Planta, Carlos E. Rubio-Medrano, Ali Abbasi et al.USENIX Security 2024 · 10 citations
Builds on2
- TriggerScope: Towards Detecting Logic Bombs in Android ApplicationsYanick Fratantonio, Antonio Bianchi, William K. Robertson, Engin Kirda et al.S&P 2016 · 161 citations
- Learning from Mutants: Using Code Mutation to Learn and Monitor Invariants of a Cyber-Physical SystemYuqi Chen, Christopher M. Poskitt, Jun SunS&P 2018 · 135 citations
Related papers
- Discovering Blind-Trust Vulnerabilities in PLC Binaries via State Machine RecoveryFangzhou Dong, Arvind S. Raj, Efrén López-Morales, Siyu Liu et al.NDSS 2026 · 1 citation
- SAIN: Improving ICS Attack Detection Sensitivity via State-Aware InvariantsSyed Ghazanfar Abbas, Muslum Ozgur Ozmen, Abdulellah Alsaheel, Arslan Khan et al.USENIX Security 2024 · 9 citations
- An LLM-Driven Fuzzing Framework for Detecting Logic Instruction Bugs in PLCsJiaxing Cheng, Ming Zhou, Haining Wang, Xin Chen et al.NDSS 2026 · 3 citations
- ICSREF: A Framework for Automated Reverse Engineering of Industrial Control Systems BinariesAnastasis Keliris, Michail ManiatakosNDSS 2019 · 90 citations
- CoToRu: Automatic Generation of Network Intrusion Detection Rules from CodeHeng Chuan Tan, Carmen Cheh, Binbin ChenINFOCOM 2022 · 12 citations
