Detecting PLC control corruption via on-device runtime verification

With an increased emphasis on the cyber-physical security of safety-critical industrial control systems, programmable logic controllers have been targeted by both security researchers and attackers as critical assets. Security and verification solutions have been proposed and/or implemented either externally or with limited computational power. Online verification or intrusion detection solutions are typically difficult to implement within the control logic of the programmable logic controller due to the strict timing requirements and limited resources. Recently, there has been an increased advancement in open controller systems where programmable logic controllers are coupled with embedded hypervisors running operating systems with much more computational power. Development environments are provided that allow developers to directly integrate library function calls from the embedded hypervisor into the program scan cycle of the programmable logic controller. In this paper, we leverage these coupled environments to implement online cyber-physical verification solutions directly integrated into the program scan cycle as well as online intrusion detection systems within the embedded hypervisor. This novel approach allows advanced security and verification solutions to be directly enforced from within the programmable logic controller program scan cycle. We evaluate the proposed solutions on a commercial-off-the-shelf Siemens product.