Weaving rewrite-based access control policies

Access control is a central issue among the overall security goals of information systems. Despite the existence of a vast literature on the subject, it is still very hard to assure the compliance of a large system to a given dynamic access control policy. Based on our previous work on formal islands, we provide in this paper a systematic methodology to weave dynamic, formally specified policies on existing applications using aspect-oriented programming. To that end, access control policies are formalized using term rewriting systems, allowing us to have an agile, modular, and precise way to specify and to ensure their formal properties. These high-level descriptions are then weaved into the existing code, such that the resulting program implements a safe reference monitor for the specified policy. For developers, this provides a systematic process to enforce dynamic policies in a modular and flexible way. Since policies are independently specified and checked to be later weaved into various different applications, the level of reuse is improved. We implemented the approach on test cases with quite encouraging results.

[1]  Indrakshi Ray,et al.  Verifiable composition of access control and application features , 2005, SACMAT '05.

[2]  Fred B. Schneider,et al.  Enforceable security policies , 2000, TSEC.

[3]  Jorge Lobo,et al.  Policies for Distributed Systems and Networks , 2001, Lecture Notes in Computer Science.

[4]  Lujo Bauer,et al.  Enforcing Non-safety Security Policies with Program Monitors , 2005, ESORICS.

[5]  Kevin W. Hamlen,et al.  Security Policy Enforcement by Automated Program-rewriting , 2006 .

[6]  Anderson Santana de Oliveira Rewriting-Based Access Control Policies , 2006, SecReT@ICALP.

[7]  Alberto Martelli,et al.  Rule-based Policy Specification : State of the Art and Future Work , 2004 .

[8]  Maribel Fernández,et al.  Term Rewriting for Access Control , 2006, DBSec.

[9]  Benedict G. E. Wiedemann Protection? , 1998, Science.

[10]  Pierre-Etienne Moreau,et al.  Optimizing Pattern Matching Compilation by Program Transformation , 2006, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[11]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[12]  Jürgen Giesl,et al.  Automated Termination Proofs with AProVE , 2004, RTA.

[13]  Claude Kirchner,et al.  Formal validation of pattern matching code , 2005, Trustworthy Software.

[14]  David E. Evans,et al.  Flexible policy-directed code safety , 1999, Proceedings of the 1999 IEEE Symposium on Security and Privacy (Cat. No.99CB36344).

[15]  Nora Cuppens-Boulahia,et al.  Availability enforcement by obligations and aspects identification , 2006, First International Conference on Availability, Reliability and Security (ARES'06).

[16]  Claude Kirchner,et al.  Formal Islands , 2006, AMAST.

[17]  Sushil Jajodia,et al.  Flexible support for multiple access control policies , 2001, TODS.

[18]  Úlfar Erlingsson,et al.  SASI enforcement of security policies: a retrospective , 1999, NSPW '99.

[19]  Frédéric Cuppens,et al.  Organization based access control , 2003, Proceedings POLICY 2003. IEEE 4th International Workshop on Policies for Distributed Systems and Networks.

[20]  Anderson Santana de Oliveira,et al.  Automated Detection of Information Leakage in Access Control , 2007 .

[21]  Pierre-Etienne Moreau,et al.  Tom: Piggybacking Rewriting on Java , 2007, RTA.

[22]  Kathi Fisler,et al.  Specifying and Reasoning About Dynamic Access-Control Policies , 2006, IJCAR.

[23]  Sushil Jajodia,et al.  Policies, Models, and Languages for Access Control , 2005, DNIS.

[24]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[25]  Ravi S. Sandhu,et al.  Role-Based Access Control Models , 1996, Computer.

[26]  Ondrej Lhoták,et al.  Optimising aspectJ , 2005, PLDI '05.

[27]  Claude Kirchner,et al.  Modular Access Control Via Strategic Rewriting , 2007, ESORICS.

[28]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[29]  Antoine Reilles Canonical Abstract Syntax Trees , 2006, WRLA.

[30]  Lujo Bauer,et al.  Composing security policies with polymer , 2005, PLDI '05.