In this report, we aim at establishing proper ways for model checking the global security of distributed systems, which are designed consisting of set of localised security policies that enforce specific issues about the security expected.
The systems are formally specified following a syntax, defined in detail in this report, and their behaviour is clearly established by the Semantics, also defined in detail in this report. The systems include the formal attachment of security policies into their locations, whose intended interactions are trapped by the policies, aiming at taking access control decisions of the system, and the Semantics also takes care of this.
Using the Semantics, a Labelled Transition System (LTS) can be induced for every particular system, and over this LTS some model checking tasks could be done. We identify how this LTS is indeed obtained, and propose an alternative way of model checking the not-yet-induced LTS, by using the system design directly. This may lead to over-approximation thereby producing imprecise, though safe, results. We restrict ourselves to finite systems, in the sake of being certain about the decidability of the proposed method.
To illustrate the usefulness and validity of our proposal, we present 2 small case-study-like examples, where we show how the system can be specified, which policies could be added to it, and how to decide if the desired global security property is met.
Finally, an Appendix is given for digging deeply into how a tool for automatically performing this task is being built, including some implementation issues. The tool takes advantage of the proposed method, and given some system and some desired global security property, it safely (i.e. without false positives) ensures satisfaction of it.
[1]
Nicholas Carriero,et al.
Coordination languages and their significance
,
1992,
CACM.
[2]
Irène Guessarian,et al.
Proceedings of the LITP spring school on theoretical computer science on Semantics of systems of concurrent processes
,
1990
.
[3]
Michael Huth,et al.
Access-Control Policies via Belnap Logic: Effective and Efficient Composition and Analysis
,
2008,
2008 21st IEEE Computer Security Foundations Symposium.
[4]
Fred B. Schneider,et al.
Enforceable security policies
,
2000,
TSEC.
[5]
Christel Baier,et al.
Principles of Model Checking (Representation and Mind Series)
,
2008
.
[6]
Bowen Alpern,et al.
Recognizing safety and liveness
,
2005,
Distributed Computing.
[7]
Javier Esparza,et al.
Decidability of model checking for infinite-state concurrent systems
,
1997,
Acta Informatica.
[8]
Rocco De Nicola,et al.
Action versus State based Logics for Transition Systems
,
1990,
Semantics of Systems of Concurrent Processes.
[9]
Rocco De Nicola,et al.
KLAIM: A Kernel Language for Agents Interaction and Mobility
,
1998,
IEEE Trans. Software Eng..
[10]
J. Meseguer,et al.
Security Policies and Security Models
,
1982,
1982 IEEE Symposium on Security and Privacy.
[11]
Flemming Nielson,et al.
Advice from Belnap Policies
,
2009,
2009 22nd IEEE Computer Security Foundations Symposium.
[12]
Ravi S. Sandhu,et al.
Lattice-based access control models
,
1993,
Computer.
[13]
Nuel D. Belnap,et al.
How a Computer Should Think
,
2019,
New Essays on Belnap-Dunn Logic.