A Trusted Safety Verifier for Process Controller Code

Stephen McLaughlin, Saman Zonouz, Devin Pohly, Patrick McDaniel

Research output: Contribution to conferencePaperpeer-review

94 Scopus citations

Abstract

Attackers can leverage security vulnerabilities in control systems to make physical processes behave unsafely. Currently, the safe behavior of a control system relies on a Trusted Computing Base (TCB) of commodity machines, firewalls, networks, and embedded systems. These large TCBs, often containing known vulnerabilities, expose many attack vectors which can impact process safety. In this paper, we present the Trusted Safety Verifier (TSV), a minimal TCB for the verification of safety-critical code executed on programmable controllers. No controller code is allowed to be executed before it passes physical safety checks by TSV. If a safety violation is found, TSV provides a demonstrative test case to system operators. TSV works by first translating assembly-level controller code into an intermediate language, ILIL. ILIL allows us to check code containing more instructions and features than previous controller code safety verification techniques. TSV efficiently mixes symbolic execution and model checking by transforming an ILIL program into a novel temporal execution graph that lumps together safety-equivalent controller states. We implemented TSV on a Raspberry Pi computer as a bump-in-the-wire that intercepts all controller-bound code. Our evaluation shows that it can test a variety of programs for common safety properties in an average of less than three minutes, and under six minutes in the worst case—a small one-time addition to the process engineering life cycle.

Original languageEnglish (US)
DOIs
StatePublished - 2014
Event21st Annual Network and Distributed System Security Symposium, NDSS 2014 - San Diego, United States
Duration: Feb 23 2014Feb 26 2014

Conference

Conference21st Annual Network and Distributed System Security Symposium, NDSS 2014
Country/TerritoryUnited States
CitySan Diego
Period2/23/142/26/14

All Science Journal Classification (ASJC) codes

  • Control and Systems Engineering
  • Safety, Risk, Reliability and Quality
  • Computer Networks and Communications

Fingerprint

Dive into the research topics of 'A Trusted Safety Verifier for Process Controller Code'. Together they form a unique fingerprint.

Cite this