基于强制访问控制的共享用户环境隔离方法、系统及介质与流程

文档序号:20919050发布日期:2020-05-29 13:54阅读:283来源:国知局
基于强制访问控制的共享用户环境隔离方法、系统及介质与流程

本发明涉及操作系统、强制访问控制和虚拟桌面领域,具体涉及一种基于强制访问控制的共享用户环境隔离方法、系统及介质。



背景技术:

在柜台、办公等特定场景下需要多人共用一台计算机,每人使用自己的账号进行登录,各账户间通过自主访问控制机制进行隔离。在虚拟桌面场景下,为了提升单台机器的供给能力会采用共享用户环境的实现方式,即多人使用自己的账号密码通过桌面协议访问相同的机器。共享用户环境共用操作系统内核和系统基础库,较虚拟化相比几乎没有性能损失,在隔离性要求不高且追求性价比的场景下被大量使用。

当前共享用户环境下不同用户间的隔离主要依靠操作系统的自主访问控制机制来实现。自主访问控制(discretionaryaccesscontrol,dac)由客体的属主对自己的客体进行管理,由属主自己决定是否将自己的客体访问权或部分访问权授予其他主体,这种控制方式是自主的。也就是说,在自主访问控制下,用户可以按自己的意愿,有选择地与其他用户共享他的文件。在linux系统下每个用户都对应一个用户和组,权限包括读(r)、写(w)和执行(x),主体可以设置自己文件对应的访问权限,访问权限分为三段,分别是拥有者权限、组权限和其他用户权限,例如rwxr-xr-x就标识宿主有rwx权限,同组用户有r、x权限,其他用户有r-x权限。共享用户环境就是依赖该自主访问控制机制进行隔离,每个用户使用不同的用户uid,不同用户只能访问和操作自己的文件。

但是,这种自主访问控制机制比较简单且仅能限制普通用户间的访问,系统管理员不受该约束限制,当系统存在漏洞时普通用户提权变成管理员后便可以获取和修改其他用户的数据,存在共享用户环境隔离性较弱的缺陷。



技术实现要素:

本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于强制访问控制的共享用户环境隔离方法、系统及介质,本发明能够基于强制访问控制机制来保障共享用户环境下不同用户间的隔离性,提升个人数据的安全性。

为了解决上述技术问题,本发明采用的技术方案为:

本发明还提供一种基于强制访问控制的共享用户环境隔离方法,实施步骤包括:

监测用户登录,当监测到用户登录成功后获取该用户对应的安全类别,使用该安全类别设置进程安全属性,然后通过系统登录器继续创建该用户对应的桌面环境,系统登录器派生的进程全部继承该安全类别,系统派生的子进程默认继承父进程的安全类别,进程产生的包括文件在内的客体也继承该进程的安全类别;

监测进程请求相关权限的操作,当监测到进程请求相关权限时,通过系统强制访问控制机制依据操作的主、客体安全类别进行权限检查,只有主、客体安全类别存在包含关系时才允许该操作,当主、客体安全类别不存在包含关系时则拒绝该权限请求。

可选地,所述监测用户登录之前还包括通过安全管理员设置用户的安全类别的步骤。

可选地,所述设置用户的安全类别默认每个用户的安全类别都不同以使得每个用户间禁止相互访问。

本发明还提供一种基于强制访问控制的共享用户环境隔离系统,包括:

用户登录监测程序模块,用于监测用户登录,当监测到用户登录成功后获取该用户对应的安全类别,使用该安全类别设置进程安全属性,然后通过系统登录器继续创建该用户对应的桌面环境,系统登录器派生的进程全部继承该安全类别,系统派生的子进程默认继承父进程的安全类别,进程产生的包括文件在内的客体也继承该进程的安全类别;

权限访问控制程序模块,用于监测进程请求相关权限的操作,当监测到进程请求相关权限时,通过系统强制访问控制机制依据操作的主、客体安全类别进行权限检查,只有主、客体安全类别存在包含关系时才允许该操作,当主、客体安全类别不存在包含关系时则拒绝该权限请求。

可选地,还包括用于通过安全管理员设置用户的安全类别的程序模块。

可选地,所述通过设置用户的安全类别的程序模块默认每个用户的安全类别都不同以使得每个用户间禁止相互访问。

此外,本发明还提供一种基于强制访问控制的共享用户环境隔离系统,包括计算机设备,该计算机设备被编程或配置以执行所述基于强制访问控制的共享用户环境隔离方法的步骤。

此外,本发明还提供一种基于强制访问控制的共享用户环境隔离系统,包括计算机设备,该计算机设备的存储器上存储有被编程或配置以执行所述基于强制访问控制的共享用户环境隔离方法的计算机程序。

此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行所述基于强制访问控制的共享用户环境隔离方法的计算机程序。

和现有技术相比,本发明具有下述优点:

1、使用本发明可以有效提升共享用户环境下各用户之间的隔离性,默认自主访问控制下各用户仅通过uid差异进行区分,当普通用户提权后(如将uid修改为管理员id,例如linux下修改uid为0)则可以越权访问其他用户的数据,存在数据泄露或被篡改的风险。该发明基于内核的强制访问控制机制实现,即使用户突破系统自主访问控制限制将用户uid进行修改也无法访问其他用户的数据,有效保障了数据的安全性。

2、当前共享用户环境都是基于传统的自主访问控制机制进行安全隔离,该隔离机制安全性较差数据存在风险,往往为了提升不同用户间的安全隔离会使用虚拟机等其他机制,隔离性增强但成本增加。本发明在原有共享用户环境基础上通过引入强制访问控制机制来有效提升系统的隔离性,不仅安全而且成本低廉。

附图说明

图1为本发明实施例方法的基本流程示意图。

图2为本发明实施例的系统结构示意图。

图3为本发明实施例的安全类别示意图。

图4为本发明实施例的用户登录流程示意图。

图5为本发明实施例的权限检查流程示意图。

具体实施方式

如图1所示,本实施例基于强制访问控制的共享用户环境隔离方法的实施步骤包括:

监测用户登录,当监测到用户登录成功后获取该用户对应的安全类别,使用该安全类别设置进程安全属性,然后通过系统登录器继续创建该用户对应的桌面环境,系统登录器派生的进程全部继承该安全类别,系统派生的子进程默认继承父进程的安全类别,进程产生的包括文件在内的客体也继承该进程的安全类别;

监测进程请求相关权限的操作,当监测到进程请求相关权限时,通过系统强制访问控制机制依据操作的主、客体安全类别进行权限检查,只有主、客体安全类别存在包含关系时才允许该操作,当主、客体安全类别不存在包含关系时则拒绝该权限请求。

本实施例中,所述监测用户登录之前还包括通过安全管理员设置用户的安全类别的步骤。

本实施例中,所述设置用户的安全类别默认每个用户的安全类别都不同以使得每个用户间禁止相互访问。

如图2所示采用本实施例基于强制访问控制的共享用户环境隔离方法的操作系统中,系统依赖的强制访问控制机制由内核层实现。强制访问控制机制提供基于安全类别的权限检查机制。用户层上运行多个用户环境,各用户环境共用系统内核和运行库,各用户环境拥有各自的安全类别,各用户安全类别不同,相互间禁止访问。

本实施例中系统强制访问控制机制中安全类别可以有很多种,如1、2、3、……。如图3所示,安全类别1、2包含安全类别1和安全类别2,安全类别1、2、3包含安全类别1、安全类别2和安全类别3以及安全类别1、2等,基于安全类别可以比较好的实现对相同操作的不同类内容进行区分。当安全类别存在包含关系时则认为是同一类操作,权限请求被允许。当安全类别不存在包含关系时则认为不是同一类操作,权限请求被拒绝。图4为系统对用户登录时的操作流程。当用户通过本地登录或者远程桌面协议登录时,首先需要校验用户认证信息是否合法,如果认证失败则退出到登录界面,如果认证成功则获取用户安全类别。系统依据获取的用户安全类别对用户进程的安全属性进行设置,设置后继续执行后面的流程并创建用户环境。系统中子进程默认继承父进程的安全类别,保障安全类别的继承性,即该用户环境下创建的进程及文件等都保持该安全类别。图5所示的权限检查流程描述了系统中强制访问控制机制权限请求时的执行过程。当系统强制访问控制机制收到权限请求时需要先读取该次操作主体和客体的安全类别,然后对二者的安全类别进行检查,如果二者的安全类别存在包含关系则允许该次请求,如果二者不存在包含关系则拒绝该次请求。

如图3所示,系统安全管理员对系统的用户分别设置不同的安全类别(如对用户一设置安全类别1,对用户二设置安全类别2,以此类推),如果设置完全没有包含关系的安全类别则各用户间禁止相互访问。系统共用的基础库设置全安全类别(如安全类别1、2、……)。如图4所示,用户登录系统,登录系统后查看自身进程安全类别或者创建文件后查看该文件的安全类别,获取的安全类别应该与该用户的安全类别保持一致。用户访问与自身安全类别存在包含关系的客体(如访问文件或目录),该访问能够执行成功,用户访问与自身安全类别不存在包含关系的客体(如访问文件或目录),该访问被禁止。为例验证本实施例基于强制访问控制的共享用户环境隔离方法,构造一个提权程序使普通用户能够修改自身的uid(如修改为管理员uid),使用任意一个普通用户执行该提权程序,之后访问与自身安全类别不同的客体(如文件或目录),该访问被禁止,从而证明了本实施例方法的可行性。

此外,本实施例还提供一种基于强制访问控制的共享用户环境隔离系统,包括:

用户登录监测程序模块,用于监测用户登录,当监测到用户登录成功后获取该用户对应的安全类别,使用该安全类别设置进程安全属性,然后通过系统登录器继续创建该用户对应的桌面环境,系统登录器派生的进程全部继承该安全类别,系统派生的子进程默认继承父进程的安全类别,进程产生的包括文件在内的客体也继承该进程的安全类别;

权限访问控制程序模块,用于监测进程请求相关权限的操作,当监测到进程请求相关权限时,通过系统强制访问控制机制依据操作的主、客体安全类别进行权限检查,只有主、客体安全类别存在包含关系时才允许该操作,当主、客体安全类别不存在包含关系时则拒绝该权限请求。

此外,本实施例还包括用于通过安全管理员设置用户的安全类别的程序模块。

本实施例中,通过设置用户的安全类别的程序模块默认每个用户的安全类别都不同以使得每个用户间禁止相互访问。

此外,本实施例还提供一种基于强制访问控制的共享用户环境隔离系统,包括计算机设备,该计算机设备被编程或配置以执行前述基于强制访问控制的共享用户环境隔离方法的步骤。

此外,本实施例还提供一种基于强制访问控制的共享用户环境隔离系统,包括计算机设备,该计算机设备的存储器上存储有被编程或配置以执行前述基于强制访问控制的共享用户环境隔离方法的计算机程序。

此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行前述基于强制访问控制的共享用户环境隔离方法的计算机程序。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1