杜军龙,周剑涛
(江西省信息中心,南昌 330001)
强制性访问控制(Mandatory Access Control,MAC)[1]被美国国家计算机安全中心NCSC的安全标准TCSEC列为B级安全操作系统的基本要求[2]。MAC具有非常强的鲁棒性,能够绝对执行安全管理员预定的访问控制策略,有效防止特洛伊木马的攻击。目前对Linux操作系统平台的MAC机制研究较多且侧重点不同,主要研究包括Flask模型、Clark-Wilson模型、Bell-lapadula模型、Biba模型、Chinese-Wall模型、DTE模型和Lattice模型以及各企业、团体自主研发的设计模型等[3-6]。
然而,在特殊单位中,单一MAC机制很难完全满足其通用Linux平台使用的特殊性与多样性安全需求,需要多种MAC机制并存互补,以提供更高的系统安全性。目前针对通用Linux系统中的多MAC机制并存研究较少,以Selinux机制为代表的具有主/从性的多MAC堆叠并存机制较为普及,它将Selinux作为主安全模块,后续MAC机制通过mod_reg_security函数在主模块中进行注册成为从安全模块,较好地支持了MAC并存与调用,但从安全模块受主安全模块策略的约束与管理,并且在kernel-2.6.19以后不支持mod_reg_security函数的使用[7]。文献[8]设计了一种在kernel源码中以安全域数组的形式实现的多MAC机制并存管理器,有效地支持了多MAC并存,但这种并存管理器的平台可迁移性差,对于不愿更改内核的用户,他们难以接受这种方法。文献[9]利用扩展内核hook安全域的形式,以内核通用链表做载体为系统提供一种多MAC并存机制,但是该法的综合决策和链式调用存在系统开销大和灵活性不足问题。
基于以上问题,在沿袭内核hook安全域扩展的基础上,本文提出一种多种MAC机制并存的动态装载方法。……