Visible to the public Securing Real-Time Cyber-Physical Systems Using WCET-Aware Artificial Diversity

TitleSecuring Real-Time Cyber-Physical Systems Using WCET-Aware Artificial Diversity
Publication TypeConference Paper
Year of Publication2017
AuthorsFellmuth, J., Herber, P., Pfeffer, T. F., Glesner, S.
Conference Name2017 IEEE 15th Intl Conf on Dependable, Autonomic and Secure Computing, 15th Intl Conf on Pervasive Intelligence and Computing, 3rd Intl Conf on Big Data Intelligence and Computing and Cyber Science and Technology Congress(DASC/PiCom/DataCom/CyberSciTech)
ISBN Number978-1-5386-1956-8
KeywordsArtificial Diversity, artificial software diversity, block-level diversity, code-reuse attacks, Collaboration, Cyber-physical systems, Embedded systems, hardware resources, human factors, individual probability, Layout, Metrics, movable instruction sequences, policy-based governance, Policy-Governed Secure Collaboration, probability, pubcrawl, Real-time, real-time cyber-physical systems, real-time processes, Real-time Systems, resilience, Resiliency, Safe Coding, safe diversity approach, safety-critical real-time systems, safety-critical software, security, security of data, software errors, software vulnerabilities, static WCET analysis, Timing, timing guarantees, timing properties, unacceptable performance overheads, WCET, WCET-aware artificial diversity, worst case execution time

Artificial software diversity is an effective way to prevent software vulnerabilities and errors to be exploited in code-reuse attacks. This is achieved by lowering the individual probability of a successful attack to a level that makes the attack unfeasible. Unfortunately, the existing approaches are not applicable to safety-critical real-time systems as they induce unacceptable performance overheads, they violate safety and timing guarantees, or they assume hardware resources which are typically not available in embedded systems. To overcome these problems, we propose a safe diversity approach that preserves the timing properties of real-time processes by controlling its impact on the worst case execution time (WCET). Our main idea is to use block-level diversity with a large, but fixed set of movable instruction sequences, and to use static WCET analysis to identify non-critical areas of code where it can safely be split into more movable instruction sequences.

Citation Keyfellmuth_securing_2017