Dependable Cyber-Physical Systems through Control Flow Monitoring
Stuxnet, a computer virus found in Iranian nuclear facilities, proved the feasibility of an attack on an industrial control system. Similar attacks on critical infrastructure such as the power grid or clean water supply could have enormous economic and political consequences. In the interest of preventing future attacks on cyber-physical systems, we investigate methods of prevention. We explore the benefits of making architecture-level changes to the microprocessor as well as leveraging the constraints of many embedded systems in order to prevent binary code injection. Our approach utilizes control flow monitoring to ensure correct behavior of the system. By monitoring the control flow, we are able to detect an attack on the cyber-physical system and gracefully fail by switching to a trusted Simplex controller. Our control flow checking mechanism is a stand-alone hardware module implemented with hooks into the pipeline of a LEON3 processor. Our approach avoids incurring high overheads present in software-based approaches, due to the parallel execution of our hardware module. We show that it is possible to detect injected malicious code in such a way that allows us to transition to a trusted Simplex controller in the event of an attack.
This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.
- The following copyright notice applies to all of the above items that appear in IEEE publications: "Personal use of this material is permitted. However, permission to reprint/publish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from IEEE."
- The following copyright notice applies to all of the above items that appear in ACM publications: "© ACM, effective the year of publication shown in the bibliographic information. This file is the author’s version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in the journal or proceedings indicated in the bibliographic data for each item."
- The following copyright notice applies to all of the above items that appear in IFAC publications: "Document is being reproduced under permission of the Copyright Holder. Use or reproduction of the Document is for informational or personal use only."