We use cookies to improve your experience with our site.

一种反射式中间件的访问控制框架

An Access Control Framework for Reflective Middleware

  • 摘要: 开放和安全往往是矛盾的,开放环境下的应用系统不得不考虑安全问题。反射式中间件的目标是开放系统的内部细节,允许用户观测和调整系统的状态和行为。这意味着用户不仅可以通过非正常渠道调用业务功能,还能通过恶意修改系统使得业务用户在不知不觉中受损。基于J2EE和Java安全体系,PKUAS设计了一个反射体系安全框架,确保反射式PKUAS能够满足标准的J2EE应用服务器安全要求。在反射式中间件中集成访问控制框架的一个原因是反射式中间件的初衷是允许应用透明地利用中间件提供的反射能力。不可否认,现有的J2EE和Java安全体系也不是绝对安全的。但是,如果使得反射式J2EE应用服务器具有与普通的J2EE应用服务器同等级别的安全,那么这种反射体系已经是可用的了。更高级别的安全也不是本文能够解决的。本文首先建立了一个反射系统的计算模型,用于识别所有由反射引入的访问控制点. 随后,给出了相应的访问控制机制,包括MBeans的适配器以及一种Java类装载机制。这些机制与J2EE访问控制机制一起构成了反射式中间件PKUAS的访问控制框架。本文实现的访问控制框架,通过复用标准的J2EE访问控制服务以及Java类装载机制,使得用户能够以与使用J2EE 安全一致的方式配置反射实体的访问控制策略,而框架本身则负责实施用户定义的访控策略。类装载机制能够保证只有中间件的开发者才能定义直接反射中间件内部实体的反射实体,而第三方的反射实体(可能来自不可信源)必须通过其他元层实体反射基层实体,这就使得中间件的管理者能够灵活地声明各种策略,以控制第三方反射实体对本地和远程资源的访问。本文定性评估了框架的安全性和易用性,并定量评估了使用此框架的性能开销。首先,该框架能够提供与J2EE访问控制服务相同的安全性和易用性,而其所引入的性能消耗远远低于JMX的默认访问控制机制所引入的性能消耗。然而,此框架并不能解决J2EE系统的所有安全问题。例如,基于时间的访问控制规则、基于内容的访问控制规则等均不能由此框架所支持。另外,尽管声明访问控制策略远比直接编写访控代码简单,但是开发者仍然需要精心定义访控策略才能获得符合期望的访问控制行为,特别地,某些情况下,针对反射实体的访问控制策略与保护其反射的基层实体的访问控制策略存在一定的关联。因此,后续的工作一方面侧重于如何在反射式中间件层面提供更强大的访问控制机制,充分利用反射能力提供易用的、安全的访问控制框架,另一方面侧重于如何根据业务规则和已有的针对系统原有访问控制策略,自动挖掘针对反射实体的访问控制策略。本文实现的访问控制框架保证了反射式中间件能够在提供系统适应性的同时兼顾安全,提高了反射式中间件的实用性。本文的访问控制框架构建于符合J2EE标准的应用服务器之上,能够比较方便地集成到目前的企业系统当中,为企业系统提供安全的适应能力。

     

    Abstract: Reflective middleware opens up the implementationdetails of middleware platform and applications at runtime for improvingthe adaptability of middleware-based systems. However, such opennessbrings new challenges to access control of the middleware-basedsystems. Some users can access the system via reflective entities,which sometimes cannot be protected by access control mechanisms oftraditional middleware. To deliver high adaptability securely,reflective middleware should be equipped with proper access controlmechanisms for potential access control holes induced by reflection.One reason of integrating these mechanisms in reflective middleware isthat one goal of reflective middleware is to equip applications withreflection capabilities as transparent as possible. This paper studieshow to design a reflective J2EE middleware --- PKUAS with access control inmind. At first, a computation model of reflective system is built toidentify all possible access control points induced by reflection. Thena set of access control mechanisms, including the wrapper of MBeans anda hierarchy of Java class loaders, are equipped for controlling theidentified access control points. These mechanisms together with J2EEaccess control mechanism form the access control framework for PKUAS.The paper evaluates the security and the performance overheads of theframework in quality and quantity.

     

/

返回文章
返回