Bisimulation for Secure Information Flow Analysis of Multi-Threaded Programs
Open Access
- 17 June 2019
- journal article
- research article
- Published by MDPI AG in Mathematical and Computational Applications
- Vol. 24 (2) , 64
Abstract
Preserving the confidentiality of information is a growing concern in software development. Secure information flow is intended to maintain the confidentiality of sensitive information by preventing them from flowing to attackers. This paper discusses how to ensure confidentiality for multi-threaded programs through a property called observational determinism. Operational semantics of multi-threaded programs are modeled using Kripke structures. Observational determinism is formalized in terms of divergence weak low-bisimulation. Bisimulation is an equivalence relation associating executions that simulate each other. The new property is called bisimulation-based observational determinism. Furthermore, a model checking method is proposed to verify the new property and ensure that secure information flow holds in a multi-threaded program. The model checking method successively refines the Kripke model of the program until the quotient of the model with respect to divergence weak low-bisimulation is reached. Then, bisimulation-based observational determinism is checked on the quotient, which is a minimized model of the concrete Kripke model. The time complexity of the proposed method is polynomial in the size of the Kripke model. The proposed approach has been implemented on top of PRISM, a probabilistic model checking tool. Finally, a case study is discussed to show the applicability of the proposed approach.Keywords
This publication has 20 references indexed in Scilit:
- Model checking the observational determinism security property using PROMELA and SPINFormal Aspects of Computing, 2015
- A new algorithm for low-deterministic securityInternational Journal of Information Security, 2014
- Effective verification of confidentiality for multi-threaded programsJournal of Computer Security, 2014
- On Adversary Models and Compositional SecurityIEEE Security & Privacy, 2010
- A Type System for Observational Determinism2008
- Language-based information-flow securityIEEE Journal on Selected Areas in Communications, 2003
- Noninterference for concurrent programs and thread systemsTheoretical Computer Science, 2002
- Probabilistic noninterference in a concurrent language1Journal of Computer Security, 1999
- A sound type system for secure flow analysisJournal of Computer Security, 1996
- Proving Noninterference and Functional Correctness Using TracesJournal of Computer Security, 1992