Security evaluation of industrial control systems using system emulation and fuzzing

Recent years have been pivotal in the field of Industrial Control Systems (ICS) security, with a large number of high-profile attacks exposing the lack of a design-for-security initiative in ICS, as well as a substantial number of research works that try to proactively uncover underlying vulnerabilities. The main focus on both sides, though, has been the first and obvious choices when it comes to exploitation, namely the network level as the main gateway to an ICS and the control operation performed by it. As ICS evolve abstracting the control logic to a purely software level hosted on a generic OS, software level evaluation of multiple levels of an ICS is a straightforward choice. In this talk, we will motivate the use of system emulation for the cybersecurity assessment of ICS such as Programmable Logic Controllers (PLC) for in-field security evaluation with no disruption to the actual process. More specifically, we will deploy system emulation to eliminate the need for experiments directly on the actual hardware device, massively improve scalability and compatibility for easy deployment on a multitude of platforms. On the emulated platform, we will apply fuzzing across software levels of the device, the system itself, the hosted PLC abstracting platform as well as the application performing the control logic. Through fuzzing we expose vulnerabilities existing on the system either by poor maintenance or sloppy programming. The PLC platform of choice is the Codesys runtime, an industry-leading solution existing in a quarter of the currently deployed PLC.

hosted by