An Access Control Framework for Reflective Middleware

Reflective middleware opens up the implementation details of middleware platform and applications at runtime for improving the adaptability of middleware-based systems. However, such openness brings new challenges to access control of the middleware-based systems. Some users can access the system via reflective entities, which sometimes cannot be protected by access control mechanisms of traditional middleware. To deliver high adaptability securely, reflective middleware should be equipped with proper access control mechanisms for potential access control holes induced by reflection. One reason of integrating these mechanisms in reflective middleware is that one goal of reflective middleware is to equip applications with reflection capabilities as transparent as possible. This paper studies how to design a reflective J2EE middleware — PKUAS with access control in mind. At first, a computation model of reflective system is built to identify all possible access control points induced by reflection. Then a set of access control mechanisms, including the wrapper of MBeans and a hierarchy of Java class loaders, are equipped for controlling the identified access control points. These mechanisms together with J2EE access control mechanism form the access control framework for PKUAS. The paper evaluates the security and the performance overheads of the framework in quality and quantity.

[1]  Hui Song,et al.  An Approach for Generation of J2EE Access Control Configurations from Requirements Specification , 2008, 2008 The Eighth International Conference on Quality Software.

[2]  Gordon S. Blair,et al.  The Design and Implementation of Open ORB 2 , 2001, IEEE Distributed Syst. Online.

[3]  James Gosling,et al.  The Java Language Specification, 3rd Edition , 2005 .

[4]  Fabio Kon,et al.  Monitoring, Security, and Dynamic Configuration with the dynamicTAO Reflective ORB , 2000, Middleware.

[5]  Gang Huang,et al.  Runtime recovery and manipulation of software architecture of component-based systems , 2006, Automated Software Engineering.

[6]  Gang Huang,et al.  PKUAS: an architecture-based reflective component operating platform , 2004, Proceedings. 10th IEEE International Workshop on Future Trends of Distributed Computing Systems, 2004. FTDCS 2004..

[7]  Ivan Marsic,et al.  Latecomer and Crash Recovery Support in Fault-Tolerant Groupware , 2001, IEEE Distributed Syst. Online.

[8]  Denis Caromel,et al.  A security framework for reflective Java applications , 2003, Softw. Pract. Exp..

[9]  Sabrina De Capitani di Vimercati,et al.  Access control: principles and solutions , 2003, Softw. Pract. Exp..

[10]  Ian Shawn Welch,et al.  Using a loadtime metaobject protocol to enforce access control policies upon user-level compiled code , 2005 .

[11]  Yasuhiko Yokote,et al.  The Apertos reflective operating system: the concept and its implementation , 1992, OOPSLA.

[12]  Gang Huang,et al.  Validating Access Control Configurations in J2EE Applications , 2008, CBSE.

[13]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[14]  Meng Wang,et al.  Architecture based deployment of large-scale component based systems: the tool and principles , 2005, CBSE'05.

[15]  Francisco Reverbel,et al.  The JBoss Extensible Server , 2003, Middleware.

[16]  Brian Cantwell Smith,et al.  Procedural reflection in programming languages , 1982 .

[17]  Guy L. Steele,et al.  Java Language Specification, Second Edition: The Java Series , 2000 .

[18]  Zhao Liu,et al.  Towards autonomic computing middleware via reflection , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[19]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[20]  Mamdouh H. Ibrahim Reflection and metalevel architectures in object-oriented programming (workshop session) , 1990, OOPSLA/ECOOP '90.

[21]  Luiz Eduardo Buzato,et al.  The Design and Implementation of Guaraná , 1999, COOTS.

[22]  Walter Cazzola Communication-Oriented Reflection: a Way to Open Up the RMI Mechanism , 2000 .

[23]  Benjamin J. Shannon,et al.  Java 2 platform enterprise edition specification , 2001 .