Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

StructuredFuzzer: Fuzzing Structured Text-Based Control Logic Applications

Journal Article · · Electronics
Rigorous testing methods are essential for ensuring the security and reliability of industrial controller software. Fuzzing, a technique that automatically discovers software bugs, has also proven effective in finding software vulnerabilities. Unsurprisingly, fuzzing has been applied to a wide range of platforms, including programmable logic controllers (PLCs). However, current approaches, such as coverage-guided evolutionary fuzzing implemented in the popular fuzzer American Fuzzy Lop Plus Plus (AFL++), are often inadequate for finding logical errors and bugs in PLC control logic applications. They primarily target generic programming languages like C/C++, Java, and Python, and do not consider the unique characteristics and behaviors of PLCs, which are often programmed using specialized programming languages like Structured Text (ST). Furthermore, these fuzzers are ill suited to deal with complex input structures encapsulated in ST, as they are not specifically designed to generate appropriate input sequences. This renders the application of traditional fuzzing techniques less efficient on these platforms. To address this issue, this paper presents a fuzzing framework designed explicitly for PLC software to discover logic bugs in applications written in ST specified by the IEC 61131-3 standard. The proposed framework incorporates a custom-tailored PLC runtime and a fuzzer designed for the purpose. We demonstrate its effectiveness by fuzzing a collection of ST programs that were crafted for evaluation purposes. We compare the performance against a popular fuzzer, namely, AFL++. The proposed fuzzing framework demonstrated its capabilities in our experiments, successfully detecting logic bugs in the tested PLC control logic applications written in ST. On average, it was at least 83 times faster than AFL++, and in certain cases, for example, it was more than 23,000 times faster.
Research Organization:
Idaho National Laboratory (INL), Idaho Falls, ID (United States)
Sponsoring Organization:
USDOE Laboratory Directed Research and Development (LDRD) Program
Grant/Contract Number:
AC07-05ID14517
OSTI ID:
2438034
Report Number(s):
INL/JOU--24-80084-Rev000
Journal Information:
Electronics, Journal Name: Electronics Journal Issue: 13 Vol. 13; ISSN 2079-9292
Publisher:
MDPICopyright Statement
Country of Publication:
United States
Language:
English

References (21)

Programmable logic controllers based systems (PLC-BS): vulnerabilities and threats journal July 2019
Cybersecurity for industrial control systems: A survey journal February 2020
A systematic literature review on wireless security testbeds in the cyber-physical realm journal October 2023
Learning-Guided Network Fuzzing for Testing Cyber-Physical System Defences conference November 2019
Optimizing Seed Inputs in Fuzzing with Machine Learning conference May 2019
Comparison of Leading Language Parsers – ANTLR, JavaCC, SableCC, Tree-sitter, Yacc, Bison conference October 2023
The real story of stuxnet journal March 2013
Skyfire: Data-Driven Seed Generation for Fuzzing conference May 2017
SAVIOR: Towards Bug-Driven Hybrid Testing conference May 2020
Angr - The Next Generation of Binary Analysis conference September 2017
Symbolic execution of programmable logic controller code conference August 2017
Safl conference May 2018
Polar journal October 2019
An empirical study of the reliability of UNIX utilities journal December 1990
Fuzzing: a survey journal June 2018
Embedded fuzzing: a review of challenges, tools, and solutions journal September 2022
INSTRIM: Lightweight Instrumentation for Coverage-guided Fuzzing conference January 2018
PropFuzz — An IT-security fuzzing framework for proprietary ICS protocols conference September 2017
IFFSET: In-Field Fuzzing of Industrial Control Systems using System Emulation conference March 2020
Security Challenges in Industry 4.0 PLC Systems journal October 2021
WPAxFuzz: Sniffing Out Vulnerabilities in Wi-Fi Implementations journal October 2022

Similar Records

Program Fuzzing on High Performance Computing Resources
Technical Report · Mon Dec 31 23:00:00 EST 2018 · OSTI ID:1492735

Speeding-up fuzzing through directional seeds
Journal Article · Thu Feb 13 19:00:00 EST 2025 · International journal of information security · OSTI ID:2516767