Home // International Journal On Advances in Software, volume 9, numbers 3 and 4, 2016 // View article


Automatic Information Flow Validation for High-Assurance Systems

Authors:
Kevin Mueller
Sascha Uhrig
Flemming Nielson
Hanne Riis Nielson
Ximeng Li
Michael Paulitsch
Georg Sigl

Keywords: Security; High-Assurance; Information Flow; Decentralized Label Model

Abstract:
Nowaydays, safety-critical systems in high-assurance domains such as aviation or transportation need to consider secure operation and demonstrate its reliable operation by presenting domain-specific level of evidences. Many tools for automated code analyses and automated testing exist to ensure safe and secure operation; however, ensuring secure information flows is new in the high-assurance domains. The Decentralized Label Model (DLM) allows to partially automate, model and prove correct information flows in applications’ source code. Unfortunately, the DLM targets Java applications; hence, it is not applicable for many high-assurance domains with strong realtime guarantees. Reasons are issues with the dynamic character of object-oriented programming or the in general uncertain behaviors of features like garbage collectors of the commonly necessary runtime environments. Hence, many high-assurance systems are still implemented in C. In this article, we discuss DLM in the context of such high-assurance systems. For this, we adjust the DLM to the programming language C and developed a suitable tool checker, called Cif. Apart from proving the correctness of information flows statically, Cif is able to illustrate the implemented information flows graphically in a dependency graph. We present this power on generic use cases appearing in almost each program. We further investigate use cases from the high-assurance domains of avionics and railway to identify commonalities regarding security. A common challenge is the development of secure gateways mediating the data transfer between security domains. To demonstrate the benefits of Cif, we applied our method to such a gateway implementation. During the DLM annotation of the use case’s C source code, we identified issues in the current DLM policies, in particular, on annotating special data-dependencies. To solve these issues, we extend the data agnostic character of the traditional DLM and present our new concept on the gateway use case. Even though this paper uses examples from aviation and railway, our approach can be applied equally well to any other safety-critical or security-critical system. This paper demonstrates the power of Cif and its capability to graphically illustrate information flows, and discusses its utility on selected C code examples. It also presents extension to the DLM theory to overcome identified shortcomings.

Pages: 191 to 206

Copyright: Copyright (c) to authors, 2016. Used with permission.

Publication date: December 31, 2016

Published in: journal

ISSN: 1942-2628