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 language | English (US) |
---|---|
DOIs | |
State | Published - 2014 |
Event | 21st Annual Network and Distributed System Security Symposium, NDSS 2014 - San Diego, United States Duration: Feb 23 2014 → Feb 26 2014 |
Conference
Conference | 21st Annual Network and Distributed System Security Symposium, NDSS 2014 |
---|---|
Country/Territory | United States |
City | San Diego |
Period | 2/23/14 → 2/26/14 |
All Science Journal Classification (ASJC) codes
- Control and Systems Engineering
- Safety, Risk, Reliability and Quality
- Computer Networks and Communications