一种基于主体标记的访问控制方法及系统的制作方法

文档序号:6442460阅读:280来源:国知局
专利名称:一种基于主体标记的访问控制方法及系统的制作方法
技术领域
本发明涉及一种操作系统,尤其涉及一种操作系统的访问控制方法及系统。
背景技术
现有操作系统的访问控制,一般包括自主访问控制模型(Discretionary Access Control )、强制访问控制模型(Mandatory Access Control )、基于角色的访问控制 (Role-Based Access Control) Bell- Lapadula 模型,以及 Biba 模型,其中,
自主访问控制模型(Discretionary Access Control ),主体可以自主地把自己所拥有客体的访问控制权限授予其他主体或从其他主体收回所授予的权限,将赋予或取消访问权限的一部分权利留给用户个人,管理员难以确定哪些用户对哪些资源有访问权限,不利于实现统一的全局访问控制。在许多组织中,用户对他所能访问的资源并不具有所有权, 组织本身才是系统中资源的真正所有者。各组织一般希望访问控制与授权机制的实现结果能与组织内部的规章制度相一致,并且由管理部门统一实施访问控制,不允许用户自主地处理。而强制访问控制模型(Mandatory Access Control)则是根据客体的敏感级和主体的许可级来限制主体对客体的访问,多用于多级军用系统。Bell-Iapadula使用主体,客体,访问操作(读,写,读/写)以及安全级别这些概念,当主体和客体位于不同的安全级别时,主体对客体就存在一定的访问限制。实现该模型后,它能保证信息不被非授权主体所访问。Biki模型是在Bell-lapadula模型之后开发的,它跟Bell-lapadula模型很相似, 被用于解决应用程序数据的完整性问题。Bell-lapadula使用安全级别(绝密,机密,秘密等),这些安全级别用于保证敏感信息只被授权的个体所访问,而Bib模型不关心信息保密性的安全级别,因此它的访问控制不是建立在安全级别上,而是建立在完整性级别上。上述访问控制模型,关心的重点都在于如何控制主体对重要的一小部分客体的访问权限,很少关注主体对系统内大范围一般或公共客体资源的访问限制,即关注的是主体与一组重要客体的访问控制关系,这让一般客体或公共客体资源的安全性受到了很大的威胁。

发明内容
为了解决现有技术存在的不足,本发明提供一种基于主体标记的访问控制 (Subject Label-Based Access Control,简称SLBAC)方法及系统,按照主体需要完成的任务类型不同,给各种不同的主体设定不同的安全标记,以限定主体对系统内所有一般或公共客体资源只拥有运行所需的最小访问权限。为实现上述目的,本发明提供的基于主体标记的访问控制方法,该方法包括以下步骤
1)根据系统的特点,为主体设定安全标记,设定访问请求权限列表,建立基于主体标记的访问控制策略库;
2)拦截系统中主体对客体的访问请求;
3)对请求访问的主体进行安全标记检测;
4)判断是否允许当前操作,如果允许,则放行当前请求,反之拒绝请求。其中,所述步骤1)为主体设定安全标记的方法是为主体预定义一组安全标记, 每个标记表示主体对一组客体的访问权限,或按主体在系统中有可能出现的合理行为对其进行分类,并设定不同的安全标记,每个标记表示主体对某类客体的访问权限。其中,所述步骤2)拦截访问请求采用的是Η00Κ系统调用表中,对客体操作的内核调用。其中,所述步骤3)对请求访问的主体进行安全标记检测方法是利用拦截的访问请求的主体去查询访问控制策略库的访问请求权限列表,检测请求访问的主体是否具有安全标记;
其中,所述步骤4)进一步包括以下步骤 如果检测到请求主体没有安全标记,则允许当前操作;
利用当前请求主体的安全标记,对其中的访问请求权限列表进行一一检测,将其中所设主体安全标记保护的客体,与当前被请求客体进行比较,如果其中任意一个当前被请求客体的安全标记与当前请求主体的安全标记相同,则拒绝当前操作;反之,则允许请求主体的操作。为实现上述目的,本发明还提供了一种基于主体标记的访问控制系统,包括拦截过滤模块、访问控制判断模块、主体标记库模块、安全日志查询模块,以及主体标记管理模块,其特征在于,
所述拦截过滤模块,连接所述访问控制判断模块,用于拦截、过滤系统中应用程序对数据的访问请求;
所述访问控制判断模块,分别连接所述拦截过滤模块、所述主体标记库模块和所述安全日志查询模块,以当前主体的安全标记为准,对请求主体对目标客体的访问行为进行判定,拒绝或允许该访问行为;
所述主体标记库模块,分别连接所述访问控制判断模块和所述主体标记管理模块,用于保存访问控制策略库的访问请求权限列表;
所述安全日志查询模块,分别连接所述访问控制判断模块和所述主体标记管理模块, 用于存储违反访问控制策略的危险操作信息。所述主体标记管理模块,连接所述主体标记库模块,用于修改访问控制策略库的访问请求权限列表。其中,所述拦截过滤模块,采用HOOK系统调用表中,对客体操作的内核调用得到系统中主体对客体的访问请求数据,并将访问请求信息发送给所述访问控制判断模块;接收所述访问控制判断模块发送的访问请求响应信息,拒绝或允许主体的访问请求。其中,所述访问控制判断模块,接收所述拦截过滤模块发送的访问请求信息,对主体与目标客体的访问行为进行判定,并将访问请求响应信息发送给所述拦截过滤模块;将违反主体标记访问控制策略的危险操作信息发送给安全日志查询模块。本发明的基于主体标记的访问控制方法及系统,保护的对象是系统中现在模型不曾顾及的公用数据和非核心的一般数据,是对现在模型短板的一个很好的补充,而且限定了主体对系统内所有一般或公共客体资源只拥有运行所需的最小访问权限。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的内容和实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中
图1为根据本发明的基于主体标记的访问控制方法流程图; 图2为根据本发明的基于主体标记的访问控制系统原理框图。
具体实施例方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。图1为根据本发明的基于主体标记的访问控制方法流程图,下面将参考图1,对本发明的基于主体标记的访问控制方法进行详细描述
首先,在步骤101,根据系统的特点,为主体设定安全标记,设定一个访问请求权限列表,建立基于主体标记的访问控制(SLBAC)策略库;在该步骤中,可以为主体预定义一组安全标记,每个标记表示主体对一组客体的访问权限,也可以按主体在系统中有可能出现的合理行为对其进行分类,并设定不同的安全标记,每个标记表示主体对某类客体的访问权限;

L = Label =标记,每个标记都对某类客体有特定的访问限制; S = Subject =系统内的主体(操作发起者); 0 = Object =系统内的客体(操作目标); A = Action =在一个操作中S对0的具体操作行为。创建如下安全标记
标记名exe_0nly_r,标记保护对象为*. exe文件,限制后的权限为只读;标
记名dll_only_r,标记保护对象为*. dll文件,限制后的权限为只读; 给apache web server的主进程设定安全标记 主体进程为httpd,安全标记为exe_only_r。当配置完以上SLBAC策略后,httpd进程将对系统内的exe与dll只能读,不能进行任何破坏性的操作。在步骤102,系统内的主体向系统内的客体发送包含具体操作行为的访问请求, A1IS1 -> O1 ;
访问请求的内容包括主体(S):用户UID+进程PID ;客体(0)客体全称;操作㈧请求的操作。在步骤103,拦截系统中应用程序对数据的访问请求;拦截访问请求采用的是Η00Κ系统调用表中,对客体操作的内核调用。拦截的目的得到系统中主体对客体的访问请求数据,并在需要时阻止其访问操作。在步骤104,对请求访问的主体进行安全标记的检测,如果判断该主体没有安全标记,则转到步骤106,否则进入下一步;
安全标记检测方法SLBAC实现在系统内核中维护了访问请求权限列表(采用AVL树), 其中每一个项代表一个已设置过主体安全标记的主体,当接收到拦截请求时,SLBAC就会以请求主体去查询该访问请求权限列表,如果找到,则表示此主体需要进行主体安全标记权限检查。在步骤105,检测主体的操作行为是否受安全标记的限制,如果是受安全标记的限制,即iSi对O1的操作~在51安全标记Msi的限制范围之内时,转到步骤107,否则当S1 对O1的操作A1不在S1安全标记Msi的限制范围之内时则进入下一步骤;
主体标记检测方式利用当前请求主体的安全标记,对其中的访问请求权限列表进行一一检测,将其中所设主体安全标记保护的客体,与当前被请求的客体进行一一对比,如果其中任意一个SLBAC不允许当操作(当前被请求客体的安全标记与当前请求主体的安全标记相同),则拒绝操作,反之允许操作。在步骤106,允许操作,主体对客体进行具体操作; 在步骤107,拒绝操作,向请求主体发送失败信息。图2为根据本发明的基于主体标记的访问控制系统原理框图,如图2所示,本发明的基于主体标记的访问控制系统,包括拦截过滤模块201、访问控制判断模块202、主体标记库模块203、安全日志查询模块204,以及主体标记管理模块205,
拦截过滤模块201,连接访问控制判断模块202,用于拦截、过滤系统中应用程序对数据的访问请求,并将访问请求信息发送给访问控制判断模块202 ;接收访问控制判断模块 202返回的访问请求响应信息,并根据访问请求响应信息,对访问请求进行处理。如果访问请求的操作被允许,则按照操作系统的正常处理流程处理本次访问请求,如果访问请求的操作被禁止,则向访问请求发起应用返回失败信息。访问控制判断模块202,分别连接拦截过滤模块201、主体标记库模块203,以及安全日志查询模块204,接收拦截过滤模块201发送的访问请求信息(主体对客体的访问请求数据)和主体标记库模块203发送的访问请求权限列表,以当前主体的安全标记为准,对当前主体与目标客体之间的访问行为进行判定,确定访问请求是否被允许,将访问请求响应信息发送给拦截过滤模块201。如果数据中没有安全标记或安全标记不在安全标记限制之内,则向拦截过滤模块201返回允许访问的访问请求响应信息;如果数据中的安全标记属于安全标记限制之内,则向拦截过滤模块201返回拒绝访问的访问请求响应信息;将违反 SLBAC策略的危险操作信息发送给安全日志查询模块204。主体标记库模块203,分别连接访问控制判断模块202和主体标记管理模块205, 用于存储建立的基于主体标记的访问控制(SLBAC)策略库,管理员可以通过主体标记管理模块205修改SLBAC策略库中访问请求权限列表的某一个主体的安全标记来限定它的权限。安全日志查询模块204,分别连接访问控制判断模块202和主体标记管理模块205,用于存储违反SLBAC策略的危险操作信息(安全日志),管理员可以通过主体标记管理模块205进行查询。主体标记管理模块205,分别连接主体标记库模块203和安全日志查询模块204, 用于修改主体标记库模块203中SLBAC策略库的访问请求权限列表,以及查询安全日志查询模块204中的安全日志。本发明的基于主体标记的访问控制方法及系统,按照主体需要完成的任务类型不同,给各种不同的主体设定不同的安全标记,以限定主体对系统内所有一般或公共客体资源只拥有运行所需的最小访问权限,保护系统中现有模型不曾顾及的公用数据和非核心的一般数据,并限定主体对系统内所有一般或公共客体资源只拥有运行所需的最小访问权限。本领域普通技术人员可以理解以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于主体标记的访问控制方法,该方法包括以下步骤1)根据系统的特点,为主体设定安全标记,设定访问请求权限列表,建立基于主体标记的访问控制策略库;2)拦截系统中主体对客体的访问请求;3)对请求访问的主体进行安全标记检测;4)判断是否允许当前操作,如果允许,则放行当前请求,反之拒绝请求。
2.根据权利要求1所述的主体标记的访问控制方法,其特征在于,所述步骤1)为主体设定安全标记的方法是为主体预定义一组安全标记,每个标记表示主体对一组客体的访问权限,或按主体在系统中有可能出现的合理行为对其进行分类,并设定不同的安全标记, 每个标记表示主体对某类客体的访问权限。
3.根据权利要求1所述的基于主体标记的访问控制方法,其特征在于,所述步骤2)拦截访问请求采用的是Η00Κ系统调用表中,对客体操作的内核调用。
4.根据权利要求1所述的基于主体标记的访问控制方法,其特征在于,所述步骤3)对请求访问的主体进行安全标记检测方法是利用拦截的访问请求的主体去查询访问控制策略库的访问请求权限列表,检测请求访问的主体是否具有安全标记;根据权利要求1所述的主体标记的访问控制方法,其特征在于,所述步骤4)进一步包括以下步骤如果检测到请求主体没有安全标记,则允许当前操作;利用当前请求主体的安全标记,对其中的访问请求权限列表进行一一检测,将其中所设主体安全标记保护的客体,与当前被请求客体进行比较,如果其中任意一个当前被请求客体的安全标记与当前请求主体的安全标记相同,则拒绝当前操作;反之,则允许请求主体的操作。
5.一种基于主体标记的访问控制系统,包括拦截过滤模块、访问控制判断模块、主体标记库模块、安全日志查询模块,以及主体标记管理模块,其特征在于,所述拦截过滤模块,连接所述访问控制判断模块,用于拦截、过滤系统中应用程序对数据的访问请求;所述访问控制判断模块,分别连接所述拦截过滤模块、所述主体标记库模块和所述安全日志查询模块,以当前主体的安全标记为准,对请求主体对目标客体的访问行为进行判定,拒绝或允许该访问行为;所述主体标记库模块,分别连接所述访问控制判断模块和所述主体标记管理模块,用于保存访问控制策略库的访问请求权限列表;所述安全日志查询模块,分别连接所述访问控制判断模块和所述主体标记管理模块, 用于存储违反访问控制策略的危险操作信息。
6.所述基于主体标记管理模块,连接所述主体标记库模块,用于修改访问控制策略库的访问请求权限列表。
7.根据权利要求6所述的基于主体标记的访问控制系统,其特征在于,所述拦截过滤模块,采用HOOK系统调用表中,对客体操作的内核调用得到系统中主体对客体的访问请求数据,并将访问请求信息发送给所述访问控制判断模块;接收所述访问控制判断模块发送的访问请求响应信息,拒绝或允许主体的访问请求。
8.根据权利要求6所述的基于主体标记的访问控制系统,其特征在于,所述访问控制判断模块,接收所述拦截过滤模块发送的访问请求信息,对主体与目标客体的访问行为进行判定,并将访问请求响应信息发送给所述拦截过滤模块;将违反主体标记访问控制策略的危险操作信息发送给安全日志查询模块。
全文摘要
一种基于主体标记的访问控制方法及系统,该方法包括以下步骤根据系统的特点,为主体设定安全标记,设定访问请求权限列表,建立基于主体标记的访问控制策略库;拦截系统中主体对客体的访问请求;对请求访问的主体进行安全标记检测;判断是否允许当前操作,如果允许,则放行当前请求,反之拒绝请求。所述系统包括用于拦截、过滤系统中应用程序对数据的访问请求的拦截过滤模块、对请求主体对目标客体的访问行为进行判定,拒绝或允许该访问行为的访问控制判断模块、用于保存访问控制策略库的访问请求权限列表的主体标记库模块、用于存储违反访问控制策略的危险操作信息的安全日志查询模块,以及用于修改访问控制策略库的访问请求权限列表和查询安全日志的主体标记管理模块。保证了系统中的公用和一般数据的安全。
文档编号G06F21/00GK102495989SQ20111043243
公开日2012年6月13日 申请日期2011年12月21日 优先权日2011年12月21日
发明者艾奇伟 申请人:北京诺思恒信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1