论文部分内容阅读
摘要:本文在研究Bell-Lapadula模型和Biba模型的基础上,结合二者的优点,提出了既满足信息保密性和又满足信息完整性的强制访问控制模型。编写了Windows过滤驱动程序,可主动拦截用户进程对文件的操作。加载自主设计的强制访问控制模块,实现了对Windows系统下文件资源的强制访问控制,并可通过入侵检测机制发现非法入侵者的来源。实验结果表明,原型系统可有效地对Windows文件系统实施强制访问控制保护,能够主动阻断入侵者的非法操作。
关键词:访问控制;新强制访问控制模型;安全标签;文件过滤驱动程序
中图分类号:TP302文献标识码:A文章编号:1009-3044(2008)09-11733-05
Information Protecting System Research Based on Access Control Model
WANG Lin, TANG Bo, YANG Liu
(Department of Electronic and Computer Science, Guilin Institute of Technology, Guilin 541004, China)
Abstract: This paper firstly discusses about a new access control model which takes advantage of both Bell-Lapadula model and Biba model, protects the information confidentiality and the integrity of system resources. MACMS uses Windows file filter driver program to intercept I/O request actively, and uses self-design model to set the accessory or authority of particular processes, implements mandatory access control. Further more, it uses the IDS which to detect illegal users or processes.
Key words: Access Control; NMACM; security label; file system filter driver
近年来,计算机网络的发展异常迅速。特别是随着国际互联网络Internet的不断推广应用,计算机网络的发展愈来愈成为人们所关注的全球性热点之一。社会对计算机网络的使用越来越广泛,用户对网络的依赖性也越来越大。国际标准组织ISO在其网络安全体系的设计标准(ISO7498-2)中,定义了五大安全服务功能:身份认证服务、访问控制服务、数据保密服务、数据完整性服务、不可否认服务。作为五大服务之一的访问控制服务,在网络安全体系结构中具有不可替代的作用。[1]它对保护主机系统和应用系统的安全都有重要意义。
1 访问控制
访问控制就是通过某种途径显式地限制对关键资源的访问。防止因非法用户的侵入或合法用户的不慎操作所造成的破坏。访问控制系统一般包括:主体、客体和安全访问规则。访问控制机制制定了哪些主体能够访问客体,访问权限有多大。其目的是为了检测和防止系统中未经授权的访问。访问控制一般是在操作系统的控制下,按照事先确定的规则决定是否允许主体访问客体,它贯穿于系统工作的全过程,是在文件系统中广泛应用的安全防护方法。
美国国防部在1983年公布计算机系统安全性的标准《Department Of Defense Trusted Computer System Evaluation Criteria》中,明确提出了访问控制在计算机安全系统中的重要作用。并指出一般的访问控制机制有两种:一种是自主访问控制(Discretionary Access Control),一种是强制访问控制(Mandatory Access Control);之后在强制访问控制的基础上又发展了基于角色的访问控制机制(Role-based Access Control)。
自主访问控制(DAC,Discretionary Access Control)随分时系统的出现而产生。基本思想是:系统中的主体(用户或用户进程)可以自主地将其拥有的对客体的访问权限(全部或部分地)授予其它主体。其实现方法一般是建立系统访问控制矩阵,矩阵的行对应系统的主体,列对应系统的客体,元素表示主体对客体的访问权限。为了提高系统性能,在实际应用中常常是建立基于行(主体)或列(客体)的访问控制方法。基于行的方法是在每个主体上都附加一个该主体可以访问的客体的明细表,根据表中信息的不同可分为三种形式:权能表(Capabilities List)、前缀表(Profiles)和口令(Password)。权能表决定用户是否可以对客体进行访问以及进行何种形式的访问(读、写、改、执行等)。[2]一个拥有某种权力的主体可以按一定方式访问客体,并且在进程运行期间访问权限可以添加或删除。前缀表包括受保护的客体名以及主体对它的访问权。当主体需要访问某客体时,自主访问控制系统将检查主体的前缀是否具有它所请求的访问权。至于口令机制,每个客体(甚至客体的每种访问模式)都需要一个口令,主体访问客体时首先向操作系统提供该客体的口令,基于列的自主访问控制是对每个客体附加一个可访问它的主体的明细表。尽管 DAC在许多系统中得以实现(如 UNIX), 然而DAC的一个致命弱点是:访问权的授予是可以传递的。一旦访问权被传递出去将难以控制,访问权的管理是相当困难的,会带来严重的安全问题;另一方面,DAC不保护受保护的客体产生的副本,即一个用户不能访问某一客体,但能够访问它的拷贝,这更增加了管理的难度;而且在大型系统中主、客体的数量巨大,无论使用哪一种形式的DAC,所带来的系统开销都是难以支付的,效率相当低下,难以满足大型应用特别是网络应用的需要。
强制访问控制(MAC,Mandatory Access Control)源于对信息机密性的要求以及防止特洛伊木马之类的攻击,MAC 通过无法回避的存取限制来阻止直接或间接的非法入侵。系统中主、客体都被分配一个固定的安全属性,利用安全属性决定一个主体是否可以访问某个客体。安全属性是强制性的,由安全管理员分配,用户或用户进程不能改变自身或其它主、客体的安全属性。MAC 是基于格的非循环单向信息流政策,系统中的每个主体都被授予一个安全证书,而每个客体被指定为一定的敏感级别,访问控制的两个关键规则是:不向上读和不向下写,即信息流只能从低安全级向高安全级流动,任何违反循环信息流的行为都是被禁止的。MAC可通过使用敏感标签对所有用户和资源强制执行安全策略,即实行强制访问控制。安全级别一般有四级:绝密级(Top Secret)、秘密(Secret)、秘密级(Confidential)和无级别级(Unclassified)。
2 强制访问控制模型
要实现操作系统的强制访问控制就必需实现强制访问控制模型,我们介绍了访问控制的两个重要模型——BLP模型和Biba模型之后,在这两个模型基础上设计和实现的新强制访问控制模型NMACM(New MAC Model)。模型中主体主要指的是用户进程,而客体主要指的是操作系统中的文件。BLP(Bell-LaPadula)安全模型是最著名的安全策略模型。BLP 模型是根据军方的安全政策设计的,它要解决的本质问题是对具有密级划分的信息访问进行控制。BLP模型中密级是集合{绝密,机密,秘密,公开}中的任一元素,此集合是全序的,即:绝密>机密>秘密>公开;类别集合是系统中非分层元素集合中的一个子集,这一集合的元素依赖于所考虑的环境和应用领域。[3]而Biba模型是Biba等人于70年代提出的,它主要是针对信息完整性的保护方面。它用完整性等级取代了BLP模型中的保密等级。
《计算机信息系统安全保护等级划分准则》中对强制访问控制做了如下规定:[4]计算机信息系统可信计算基对外部主体能够直接或间接访问的所有资源(例如:主体、存储客体和输入输出资源)实施强制访问控制。为这些主体及客体指定敏感标记,这些标记是等级分类和非等级类别的组合,它们是实施强制访问控制的依据。计算机信息系统可信计算基支持两种或两种以上成分组成的安全级。
在遵循《准则》规定的基础上,我们结合BLP模型和Biba模型二者的优点,设计和实现可同时维护Windows文件系统保密性和完整性的强制访问控制模型。每个主体拥有两个安全标签:保密性标签和完整性标签。主体保密性标签定义为三元组:,H为保密性等级,C为信息范畴;其中Hs
关键词:访问控制;新强制访问控制模型;安全标签;文件过滤驱动程序
中图分类号:TP302文献标识码:A文章编号:1009-3044(2008)09-11733-05
Information Protecting System Research Based on Access Control Model
WANG Lin, TANG Bo, YANG Liu
(Department of Electronic and Computer Science, Guilin Institute of Technology, Guilin 541004, China)
Abstract: This paper firstly discusses about a new access control model which takes advantage of both Bell-Lapadula model and Biba model, protects the information confidentiality and the integrity of system resources. MACMS uses Windows file filter driver program to intercept I/O request actively, and uses self-design model to set the accessory or authority of particular processes, implements mandatory access control. Further more, it uses the IDS which to detect illegal users or processes.
Key words: Access Control; NMACM; security label; file system filter driver
近年来,计算机网络的发展异常迅速。特别是随着国际互联网络Internet的不断推广应用,计算机网络的发展愈来愈成为人们所关注的全球性热点之一。社会对计算机网络的使用越来越广泛,用户对网络的依赖性也越来越大。国际标准组织ISO在其网络安全体系的设计标准(ISO7498-2)中,定义了五大安全服务功能:身份认证服务、访问控制服务、数据保密服务、数据完整性服务、不可否认服务。作为五大服务之一的访问控制服务,在网络安全体系结构中具有不可替代的作用。[1]它对保护主机系统和应用系统的安全都有重要意义。
1 访问控制
访问控制就是通过某种途径显式地限制对关键资源的访问。防止因非法用户的侵入或合法用户的不慎操作所造成的破坏。访问控制系统一般包括:主体、客体和安全访问规则。访问控制机制制定了哪些主体能够访问客体,访问权限有多大。其目的是为了检测和防止系统中未经授权的访问。访问控制一般是在操作系统的控制下,按照事先确定的规则决定是否允许主体访问客体,它贯穿于系统工作的全过程,是在文件系统中广泛应用的安全防护方法。
美国国防部在1983年公布计算机系统安全性的标准《Department Of Defense Trusted Computer System Evaluation Criteria》中,明确提出了访问控制在计算机安全系统中的重要作用。并指出一般的访问控制机制有两种:一种是自主访问控制(Discretionary Access Control),一种是强制访问控制(Mandatory Access Control);之后在强制访问控制的基础上又发展了基于角色的访问控制机制(Role-based Access Control)。
自主访问控制(DAC,Discretionary Access Control)随分时系统的出现而产生。基本思想是:系统中的主体(用户或用户进程)可以自主地将其拥有的对客体的访问权限(全部或部分地)授予其它主体。其实现方法一般是建立系统访问控制矩阵,矩阵的行对应系统的主体,列对应系统的客体,元素表示主体对客体的访问权限。为了提高系统性能,在实际应用中常常是建立基于行(主体)或列(客体)的访问控制方法。基于行的方法是在每个主体上都附加一个该主体可以访问的客体的明细表,根据表中信息的不同可分为三种形式:权能表(Capabilities List)、前缀表(Profiles)和口令(Password)。权能表决定用户是否可以对客体进行访问以及进行何种形式的访问(读、写、改、执行等)。[2]一个拥有某种权力的主体可以按一定方式访问客体,并且在进程运行期间访问权限可以添加或删除。前缀表包括受保护的客体名以及主体对它的访问权。当主体需要访问某客体时,自主访问控制系统将检查主体的前缀是否具有它所请求的访问权。至于口令机制,每个客体(甚至客体的每种访问模式)都需要一个口令,主体访问客体时首先向操作系统提供该客体的口令,基于列的自主访问控制是对每个客体附加一个可访问它的主体的明细表。尽管 DAC在许多系统中得以实现(如 UNIX), 然而DAC的一个致命弱点是:访问权的授予是可以传递的。一旦访问权被传递出去将难以控制,访问权的管理是相当困难的,会带来严重的安全问题;另一方面,DAC不保护受保护的客体产生的副本,即一个用户不能访问某一客体,但能够访问它的拷贝,这更增加了管理的难度;而且在大型系统中主、客体的数量巨大,无论使用哪一种形式的DAC,所带来的系统开销都是难以支付的,效率相当低下,难以满足大型应用特别是网络应用的需要。
强制访问控制(MAC,Mandatory Access Control)源于对信息机密性的要求以及防止特洛伊木马之类的攻击,MAC 通过无法回避的存取限制来阻止直接或间接的非法入侵。系统中主、客体都被分配一个固定的安全属性,利用安全属性决定一个主体是否可以访问某个客体。安全属性是强制性的,由安全管理员分配,用户或用户进程不能改变自身或其它主、客体的安全属性。MAC 是基于格的非循环单向信息流政策,系统中的每个主体都被授予一个安全证书,而每个客体被指定为一定的敏感级别,访问控制的两个关键规则是:不向上读和不向下写,即信息流只能从低安全级向高安全级流动,任何违反循环信息流的行为都是被禁止的。MAC可通过使用敏感标签对所有用户和资源强制执行安全策略,即实行强制访问控制。安全级别一般有四级:绝密级(Top Secret)、秘密(Secret)、秘密级(Confidential)和无级别级(Unclassified)。
2 强制访问控制模型
要实现操作系统的强制访问控制就必需实现强制访问控制模型,我们介绍了访问控制的两个重要模型——BLP模型和Biba模型之后,在这两个模型基础上设计和实现的新强制访问控制模型NMACM(New MAC Model)。模型中主体主要指的是用户进程,而客体主要指的是操作系统中的文件。BLP(Bell-LaPadula)安全模型是最著名的安全策略模型。BLP 模型是根据军方的安全政策设计的,它要解决的本质问题是对具有密级划分的信息访问进行控制。BLP模型中密级是集合{绝密,机密,秘密,公开}中的任一元素,此集合是全序的,即:绝密>机密>秘密>公开;类别集合是系统中非分层元素集合中的一个子集,这一集合的元素依赖于所考虑的环境和应用领域。[3]而Biba模型是Biba等人于70年代提出的,它主要是针对信息完整性的保护方面。它用完整性等级取代了BLP模型中的保密等级。
《计算机信息系统安全保护等级划分准则》中对强制访问控制做了如下规定:[4]计算机信息系统可信计算基对外部主体能够直接或间接访问的所有资源(例如:主体、存储客体和输入输出资源)实施强制访问控制。为这些主体及客体指定敏感标记,这些标记是等级分类和非等级类别的组合,它们是实施强制访问控制的依据。计算机信息系统可信计算基支持两种或两种以上成分组成的安全级。
在遵循《准则》规定的基础上,我们结合BLP模型和Biba模型二者的优点,设计和实现可同时维护Windows文件系统保密性和完整性的强制访问控制模型。每个主体拥有两个安全标签:保密性标签和完整性标签。主体保密性标签定义为三元组: