With the advent of the fourth industrial revolution, networked industrial Programmable Logic Controllers (PLCs) have been introduced for critical infrastructure control. A number of recent discoveries of exploitable vulnerabilities in third-party libraries in such devices has raised concerns about their supply chain security. Supply chain security verification of software used in this context is challenging due to the proprietary nature of the platforms, and the difficulty of their runtime introspection. In particular, network-based fuzzing is often the only way to test the devices, but without guidance through execution tracing this fuzzing is inefficient. In this work, present a novel approach for dynamic analysis of such platforms, leveraging two main contributions: i) a `Ghost' application injected into the fuzzing target to allow on-system tracing and coverage computation, and ii) stateful fuzzing based on automated command discovery and status code extraction. We present FieldFuzz, a framework that realizes this approach for the widespread Codesys runtime for PLCs used by 80 industrial device vendors ranging from over 400 devices. Our fuzzing campaigns uncovered multiple vulnerabilities, leading to three reported CVE IDs. To study the cross-platform applicability of FieldFuzz, we reproduce the findings on a diverse set of Industrial Control System (ICS) devices, showing a significant improvement over the state-of-the-art.
翻译:随着第四次工业革命的到来,为关键的基础设施控制引入了可联网的工业可编程逻辑控制器(PLC),最近发现第三方图书馆在这类设备中存在可利用的弱点,这些发现引起了对供应链安全的担忧。供应链对这方面使用的软件的安全核查具有挑战性,因为平台的专有性质,以及其运行时间的反省困难。特别是,基于网络的模糊往往是测试设备的唯一方法,但没有通过执行跟踪跟踪这一故障提供指导是效率低下的。在这项工作中,为动态分析这些平台提供了一种新颖的方法,利用了两个主要贡献:(1) 将“Ghost”应用程序注入了模糊目标,允许进行系统跟踪和覆盖计算,(2) 以自动指令发现和状态代码提取为基础,说明模糊不清。我们介绍了一个框架,这个框架使来自400多个装置的80个工业设备供应商使用广泛的编码系统运行时间实现了这一方法。我们的模糊运动揭示了多种脆弱性,使三个系统(CVE-S-D-D-D-D-D-S-S-SVA-S-SD-Servical ID-S-Servical-Servical Profervical Restraction-s-s-Systststst Stat-s-s-s-Systrolvicalstal ID) 研究,我们报告了对系统结构的系统结构的系统进行系统的系统图。