StructuredFuzzer: Fuzzing Structured Text-Based Control Logic Applications

Author:

Koffi Koffi Anderson1ORCID,Kampourakis Vyron2ORCID,Song Jia1ORCID,Kolias Constantinos1ORCID,Ivans Robert C.3ORCID

Affiliation:

1. Department of Computer Science, University of Idaho, 1776 Science Center Dr suite 304, Idaho Falls, ID 83402, USA

2. Department of Information Security and Communication Technology, Norwegian University of Science and Technology, 2802 Gjøvik, Norway

3. Idaho National Laboratory, Idaho Falls, ID 83415, USA

Abstract

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.

Funder

DoE

Publisher

MDPI AG

Reference50 articles.

1. Stouffer, K., Pease, M., Tang, C., Zimmerman, T., Pillitteri, V., Lightman, S., Hahn, A., Saravia, S., Sherule, A., and Thompson, M. (2023). Guide to Operational Technology (OT) Security, NIST. Technical Report NIST Special Publication (SP) 800-82 Rev. 3.

2. Cybersecurity for industrial control systems: A survey;Bhamare;Comput. Secur.,2020

3. Tychalas, D., Benkraouda, H., and Maniatakos, M. (2021, January 11–13). {ICSFuzz}: Manipulating {I/Os} and Repurposing Binary Code to Enable Instrumented Fuzzing in {ICS} Control Applications. Proceedings of the 30th USENIX Security Symposium (USENIX Security 21), Vancouver, BC, Canada.

4. Ukraine power grid cyberattack and US susceptibility: Cybersecurity implications of smart grid advancements in the US;Shehod;Cybersecur. Interdiscip. Syst. Lab. MIT,2016

5. ICS malware Triton attack and countermeasures;Myung;Int. J. Emerg. Multidiscip. Res.,2019

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3