一种基于域的访问控制方法及系统的制作方法

文档序号:6442066阅读:170来源:国知局
专利名称:一种基于域的访问控制方法及系统的制作方法
技术领域
本发明涉及一种操作系统,尤其涉及一种操作系统的访问控制方法及系统。
背景技术
现有操作系统的访问控制,一般包括自主访问控制模型(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模型不关心信息保密性的安全级别,因此它的访问控制不是建立在安全级别上,而是建立在完整性级别上。面对当前的应用安全问题,上述访问控制模型并不能针对应用的安全性进行有效的解决,比如基于角色的访问控制(Role-Based Access Control ),主要关注的是系统不同角色的权力、责任分离;自主访问控制(Discretionary Access Control)主体对它所属的对象和运行的程序拥有全部的控制权,当前主流的操作系统默认提供的就是这个访问控制模型,安全性很差。

发明内容
为了解决现有技术存在的不足,本发明提供一种基于域的访问控制Domain-Based Access Control, DBAC)方法及系统,将各个应用划分到不同的域中,限制各应用对非本域数据的访问,对各应用进行隔离;在各应用域的内部设定应用对自身数据的访问权限,只赋予应用最小运行权限。为实现上述目的,本发明提供的基于域的访问控制方法,该方法包括以下步骤 1)按照用户对系统保护的需求,针对不同应用的域,设定访问权限列表,并在系统内各应用的主体与客体上,设定各应用的域标签,建立基于域的访问控制策略库;
2)拦截系统中主体对客体的访问请求;
3)对请求访问的主体进行域标签检测;
4)判断是否允许当前操作,如果允许,则放行当前请求,反之拒绝请求。其中,所述步骤1)在客体上设定各应用的域标签,进一步包括设定该客体在当前域内的访问权限,同域主体只允许对该客体进行域内权限允许的操作。其中,所述步骤2)拦截访问请求采用的是Η00Κ系统调用表中,对客体操作的内核调用。其中,所述步骤3)对请求访问的主体进行域标签检测是指,利用拦截的访问请求的主体、客体去查询访问控制策略库的访问权限列表,找到后对主客体的标签进行比较。其中,所述步骤4)进一步包括以下步骤 如果判断请求客体没有域标签,则允许当前操作; 如果判断主、客体的域标签不同,则拒绝当前操作;
如果判断主、客体的域标签相同,而且具体操作行为在域内允许权限内,则允许当前操作;否则拒绝当前操作。为实现上述目的,本发明还提供了一种基于域的访问控制系统,包括拦截过滤模块、访问控制判断模块、域信息库模块,以及域信息管理模块,其特征在于,
所述拦截过滤模块,连接所述访问控制判断模块,用于拦截、过滤系统中应用程序对数据的访问请求;
所述访问控制判断模块,分别所述连接拦截过滤模块、所述域信息库模块,用于判断主客体域标签是否相同,并确定访问行为是否被允许;
所述域信息库模块,分别连接所述访问控制判断模块和所述域信息管理模块,用于保存访问控制策略库信息;
所述域信息管理模块,分别连接所述域信息库模块和所述安全日志查询模块,用于修改访问控制策略库信息。其中,所述访问控制系统还包括安全日志查询模块,所述安全日志查询模块,分别连接所述访问控制判断模块和所述域信息管理模块,用于存储违反访问控制策略的危险操作信息。本发明的基于域的访问控制方法及系统,针对应用安全当前存在的问题,通过域将各个应用隔离,为每个应用建立一个虚拟的安全运行环境,使各应用互不影响。即使某个应用出现漏洞,也会将其危害限制在其自己的域中,不会危害操作系统及其它应用;在各域内部,通过设定各客体的访问权限,向应用的主体只提供正常运行所需要的最小权限,即使应用出现漏洞,也无法执行正常行为以外的恶意操作;针对应用系统有很强的适用性和易用性。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的内容和实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中 图1为根据本发明的基于域的访问控制方法流程图; 图2为根据本发明的基于域的访问控制系统原理框图。
具体实施例方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。图1为根据本发明的基于域的访问控制方法流程图,下面将参考图1,对本发明的基于域的访问控制方法进行详细描述
首先,在步骤101,按照用户对系统保护的需求,建立一个DBAC策略库,安全管理员定义一系列针对不同应用的域,设定访问权限列表,然后在系统内各应用的主体与客体上,设定各应用的域标签,建立基于域的访问控制策略库;当给客体设定域标签时,还可设定此客体在当前域内的访问权限,同域主体只允许对此客体进行域内权限允诉的操作。设
ID = Domain =域,一个应用的运行环境;
IS = Subject =系统内的主体(操作发起者);
10= Object =系统内的客体(操作目标);
IP = Permissions =操作权限(S对0可以进行那些操作);
IA = Action =在一个操作中S对0的具体操作行为。创建一个用于保护web应用的域,域名称为web_d,将apache web server的主进程添加到域web_d中,再将apache web server需要访问的数据添加到web_d域中,并设置合理的访问权限。设置如下访问权限web客体为web的网页文件;访问权限为r
当配置完以上基于域的访问控制(DBAC)域后,httpd进程将对web的网页文件只读,而其它主体将不能访问网页文件。在步骤102,系统内的主体向客体发送包含具体操作行为的访问请求,该操作行为表示为Al:Sl -> 01
访问请求的内容包括主体(S):用户UID+进程PID ;客体(0)客体全称;操作㈧请求的操作。在步骤103,拦截系统中主体对客体的访问请求;
拦截访问请求采用的是Η00Κ系统调用表中,对客体操作的内核调用。拦截的目的得到系统中主体对客体的访问请求数据,并在需要时阻止其访问操作。在步骤104,对请求访问的主体进行域标签检测,如果判断该客体没有域标签,则转到步骤107,否则进入下一步;
域标签检测方法如下DBAC实现在系统内核中维护了一个访问权限列表(采用AVL 树),其中每一个项代表一个已设置过域的主体或客体、,当接收到拦截的请求时,DBAC就会以请求主体,客体去查询该访问权限列表,找到后对主客体的标签进行比较。在步骤105,判断主体的域标签与目标客体的域标签是否相同,如果域标签相同,则进行下一步;如果域标签不同,则转到步骤108 ;
在步骤106,判断主体访问请求的具体操作行为是否包含在目标客体域内允许权限中, 如果包含在目标客体域内允许权限中[(DSl = D01) & (Al e POl)] (DOl= NULL),则进行下一步骤,否则转到步骤108 (DSl Φ D01) & (D01乒NULL); 在步骤107,允许操作,主体对客体进行具体操作; 在步骤108,拒绝操作,向请求主体发送失败信息。图2为根据本发明的基于域的访问控制系统原理框图,如图2所示,本发明的基于域的访问控制系统,包括拦截过滤模块201、访问控制判断模块202、域信息库模块203、安全日志查询模块204,以及域信息管理模块205,
拦截过滤模块201,连接访问控制判断模块202,用于拦截、过滤系统中应用程序对数据的访问请求,并将访问请求信息发送给访问控制判断模块202 ;接收访问控制判断模块 202返回的访问请求响应信息,并根据访问请求响应信息,对访问请求进行处理。如果访问请求的操作被允许,则按照操作系统的正常处理流程处理本次访问请求,如果访问请求的操作被禁止,则向访问请求发起应用返回失败信息。访问控制判断模块202,分别连接拦截过滤模块201、域信息库模块203,以及安全日志查询模块204,接收拦截过滤模块201发送的访问请求信息和域信息库模块203发送的域标签及访问权限列表,用于判断主客体各自的域标签是否相同来确定访问行为是否被允许,如果客体没有域标签时访问会被允许,如果主客体域标签不同时访问会被禁止,如果主客体域标签相同时通过域内允许权限判断域内访问权限来确定访问行为是否被允许,将访问请求响应信息发送给拦截过滤模块201。访问请求响应信息包括允许访问响应信息和拒绝访问响应信息;将违反DBAC策略的危险操作信息发送给安全日志查询模块204。域信息库模块203,分别连接访问控制判断模块202和域信息管理模块205,用于保存DBAC策略库信息,在该DBAC策略库中包含域划分信息及各个域中客体的访问权限信息,例如域标签以及访问权限列表,管理员可以通过域信息管理模块205修改域划分信息及各个域中客体的访问权限信息。安全日志查询模块204,分别连接访问控制判断模块202和域信息管理模块205, 用于存储违反DBAC策略的危险操作信息,供管理员通过域信息管理模块205进行查询。域信息管理模块205,分别连接域信息库模块203和安全日志查询模块204,向管理员提供的对整个DBAC系统的访问接口,用于修改域信息库模块203中的DBAC策略库信息(域标签以及访问权限列表),以及查询安全日志查询模块204中的安全日志。本发明的基于域的访问控制方法及系统,通过域将各个应用隔离,为每个应用建立一个虚拟的安全运行环境,使各应用互不影响。即使某个应用出现漏洞,也会将其危害限制在其自己的域中,不会危害操作系统及其它应用;在各域内部,通过设定各客体的访问权限,向应用的主体只提供正常运行所需要的最小权限,即使应用出现漏洞,也无法执行正常行为以外的恶意操作;针对应用系统的特点及当前存在的安全问题而设计的一个安全模型,所以针对应用系统有很强的适用性和易用性。本领域普通技术人员可以理解以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于域的访问控制方法,该方法包括以下步骤1)按照用户对系统保护的需求,针对不同应用的域,设定访问权限列表,并在系统内各应用的主体与客体上,设定各应用的域标签,建立基于域的访问控制策略库;2)拦截系统中主体对客体的访问请求;3)对请求访问的主体进行域标签检测;4)判断是否允许当前操作,如果允许,则放行当前请求,反之拒绝请求。
2.根据权利要求1所述的基于域的访问控制方法,其特征在于,所述步骤1)在客体上设定各应用的域标签,进一步包括设定该客体在当前域内的访问权限,同域主体只允许对该客体进行域内权限允许的操作。
3.根据权利要求1所述的基于域的访问控制方法,其特征在于,所述步骤2)拦截访问请求采用的是Η00Κ系统调用表中,对客体操作的内核调用。
4.根据权利要求1所述的基于域的访问控制方法,其特征在于,所述步骤3)对请求访问的主体进行域标签检测是指,利用拦截的访问请求的主体、客体去查询访问控制策略库的访问权限列表,检测请求访问的主、客体是否具有域标签。
5.根据权利要求1所述的基于域的访问控制方法,其特征在于,所述步骤4)进一步包括以下步骤如果判断请求客体没有域标签,则允许当前操作;如果判断主、客体的域标签不同,则拒绝当前操作;如果判断主、客体的域标签相同,而且具体操作行为在域内允许权限内,则允许当前操作;否则拒绝当前操作。
6.一种基于域的访问控制系统,包括拦截过滤模块、访问控制判断模块、域信息库模块,以及域信息管理模块,其特征在于,所述拦截过滤模块,连接所述访问控制判断模块,用于拦截、过滤系统中应用程序对数据的访问请求;所述访问控制判断模块,分别连接所述拦截过滤模块、所述域信息库模块,用于判断主客体域标签是否相同,并确定访问行为是否被允许;所述域信息库模块,分别连接所述访问控制判断模块和所述域信息管理模块,用于保存访问控制策略库信息;所述域信息管理模块,连接所述域信息库模块,用于修改访问控制策略库信息。
7.根据权利要求6所述的基于域的访问控制系统,其特征在于,所述访问控制系统还包括安全日志查询模块,所述安全日志查询模块,分别连接所述访问控制判断模块和所述域信息管理模块,用于存储违反访问控制策略的危险操作信息。
8.根据权利要求6所述的基于域的的访问控制系统,其特征在于,所述拦截过滤模块, 采用HOOK系统调用表中,对客体操作的内核调用得到系统中主体对客体的访问请求数据, 并将访问请求信息发送给所述访问控制判断模块;接收所述访问控制判断模块发送的访问请求响应信息,拒绝或允许主体的访问请求。
9.根据权利要求6所述的基于域的访问控制系统,其特征在于,所述访问控制判断模块,接收所述拦截过滤模块发送的访问请求信息,对主体与目标客体的访问行为进行判定, 并将访问请求响应信息发送给所述拦截过滤模块;将违反域的访问控制策略的危险操作信息发送给安全日志查询模块。
全文摘要
一种基于域的访问控制方法及系统,该方法包括以下步骤按照用户对系统保护的需求,针对不同应用的域,在系统内各应用的主体与客体上,设定各应用的域标签,建立基于域的访问控制策略库;拦截系统中主体对客体的访问请求;将访问请求提交到基于域的访问控制策略库,进行域标签检测;判断是否允许当前操作,如果允许,则放行当前请求,反之拒绝请求。所述系统包括用于拦截、过滤系统中应用程序对数据访问请求的拦截过滤模块、用于判断主客体域标签是否相同,并确定访问行为是否被允许的访问控制判断模块、用于保存访问控制策略库信息的所述域信息库模块、用于修改访问控制策略库信息以及查询安全日志的域信息管理模块,以及用于存储违反访问控制策略的危险操作信息的安全日志查询模块。本发明的基于域的访问控制方法及系统,能够有效地保护应用程序,提高应用程序以及操作系统的安全性。
文档编号G06F21/00GK102495988SQ20111042663
公开日2012年6月13日 申请日期2011年12月19日 优先权日2011年12月19日
发明者艾奇伟 申请人:北京诺思恒信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1