Static Code Analysis of IEC 61131-3 ST Programs via Symbolic Execution

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

A Programmable Logic Controller (PLC) is an essentially domain-specific computer used to control physical equipment and is widely used in industrial control fields. It plays a crucial role in automating complex processes for industrial automation systems, requiring high reliability as code vulnerabilities can potentially lead to disasters. Therefore, vulnerability detection in PLC programs is of significant importance. However, the availability of tools supporting vulnerability detection in PLC programming languages is limited. This paper attempts to improve industrial security from the perspective of code security and proposes a static code analysis approach specifically designed for IEC 61131-3 Structured Text (ST) programs. This approach uses structural pattern matching and symbolic execution technology to identify program defects and improve quality by detecting problematic code structures and potential issues early in the development process, thereby reducing the debugging effort required during developments. Considering the characteristic of periodic loop execution in PLCs, we introduce the loop unwinding technique to collect constraints from subsequent execution cycles for detection purposes. Based on the aforementioned approach, we implement a static code analysis tool, ST-Checker and make a series of evaluations. The experimental results show that this method is feasible and can detect potential defects that existing PLC compilers cannot detect, improving the precision of defect detection with data dependencies.

Original languageEnglish
Title of host publication2024 IEEE International Conference on Systems, Man, and Cybernetics, SMC 2024 - Proceedings
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages1510-1517
Number of pages8
ISBN (Electronic)9781665410205
DOIs
StatePublished - 2024
Event2024 IEEE International Conference on Systems, Man, and Cybernetics, SMC 2024 - Kuching, Malaysia
Duration: 6 Oct 202410 Oct 2024

Publication series

NameConference Proceedings - IEEE International Conference on Systems, Man and Cybernetics
ISSN (Print)1062-922X

Conference

Conference2024 IEEE International Conference on Systems, Man, and Cybernetics, SMC 2024
Country/TerritoryMalaysia
CityKuching
Period6/10/2410/10/24

Keywords

  • Code Security
  • IEC 61131-3 Standard
  • Programmable Logic Controller (PLC)
  • Static Code Analysis

Fingerprint

Dive into the research topics of 'Static Code Analysis of IEC 61131-3 ST Programs via Symbolic Execution'. Together they form a unique fingerprint.

Cite this