论文标题
fieldFuzz:现场黑盒通过网络对专有工业自动化运行时间的构图
FieldFuzz: In Situ Blackbox Fuzzing of Proprietary Industrial Automation Runtimes via the Network
论文作者
论文摘要
网络可编程逻辑控制器(PLC)是在关键基础架构中使用的专有工业设备,这些设备在复杂的专有运行时环境中执行控制逻辑应用程序,可在PLC中提供对硬件资源的标准化访问。这些控制应用程序以特定于领域的IEC 61131-3语言进行编程,并将其编译成专有二进制格式,并通过工业协议提供了过程数据。控制应用显示受操纵流量威胁的攻击表面。例如,控制申请中的远程代码注入将直接允许接管PLC,威胁物理过程损害和人类操作员的安全。但是,由于特定于领域的挑战和合适的方法的有限可用性,评估控制应用程序的安全性是具有挑战性的。基于网络的模糊通常是测试此类设备的唯一方法,但没有执行跟踪的指导,效率低下。这项工作介绍了现场模拟框架,该框架分析了Codesys运行时带来的安全风险(由80个工业plc供应商的400多个设备使用)。基于三个主要贡献,FieldFuzz利用了有效的基于网络的模糊:i)反向工程启用控制应用程序和运行时组件的遥控器控制,ii)自动化命令发现和通过网络流量提取的自动化命令代码和状态代码提取通过网络流量和III)进行监视设置,以允许系统跟踪和覆盖计算。我们使用fieldFuzz运行模糊活动,这些活动发现了多个漏洞,从而导致了三个报告的CVE ID。为了研究现场模拟的跨平台适用性,我们在各种工业控制系统(ICS)设备方面重现了发现结果,显示出对最新设备的显着改善。
Networked Programmable Logic Controllers (PLCs) are proprietary industrial devices utilized in critical infrastructure that execute control logic applications in complex proprietary runtime environments that provide standardized access to the hardware resources in the PLC. These control applications are programmed in domain-specific IEC 61131-3 languages, compiled into a proprietary binary format, and process data provided via industrial protocols. Control applications present an attack surface threatened by manipulated traffic. For example, remote code injection in a control application would directly allow to take over the PLC, threatening physical process damage and the safety of human operators. However, assessing the security of control applications is challenging due to domain-specific challenges and the limited availability of suitable methods. Network-based fuzzing is often the only way to test such devices but is inefficient without guidance from execution tracing. This work presents the FieldFuzz framework that analyzes the security risks posed by the Codesys runtime (used by over 400 devices from 80 industrial PLC vendors). FieldFuzz leverages efficient network-based fuzzing based on three main contributions: i) reverse-engineering enabled remote control of control applications and runtime components, ii) automated command discovery and status code extraction via network traffic and iii) a monitoring setup to allow on-system tracing and coverage computation. We use FieldFuzz to run fuzzing campaigns, which uncover 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.