CN108205630A - 一种多用户下基于SeLinux的资源访问方法及装置 - Google Patents
一种多用户下基于SeLinux的资源访问方法及装置 Download PDFInfo
- Publication number
- CN108205630A CN108205630A CN201611187538.3A CN201611187538A CN108205630A CN 108205630 A CN108205630 A CN 108205630A CN 201611187538 A CN201611187538 A CN 201611187538A CN 108205630 A CN108205630 A CN 108205630A
- Authority
- CN
- China
- Prior art keywords
- resource
- user
- application
- access
- sensitive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种多用户下基于SeLinux的资源访问方法及装置,所述方法包括:接收资源访问请求,其中资源访问请求中携带待访问资源的应用的标识信息及访问的目标资源的标识信息;判断所述目标资源是否为SeLinux中的敏感资源;如果是,根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限;如果是,允许所述应用访问所述目标资源。由于在本发明实施例中,针对在SeLinux中设置了敏感资源,并且针对用户的应用设置了应用访问敏感资源的权限,因此可以根据当前用户的应用是否具有访问所述目标资源权限,确定是否允许所述应用访问该敏感资源,减少了安全漏洞,避免了给机主用户造成损失。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种多用户下基于安全策略(SeLinux)的资源访问方法及装置。
背景技术
随着Android的问世,Android做为一个开放源代码的操作系统,经过不断发展,广泛的应用于移动终端。从Android4.3开始Android内核集成了SeLinux,从而极大的提高了整个系统的安全性,所谓的SeLinux是指在没有规则的允许情况下,任何对资源的访问都是非法的。例如:移动终端中存在多个应用,其中某一应用不是该移动终端的机主用户授权安装的,即使该应用获取了资源访问权限,由于SeLinux的策略判断读取非法,也会阻止该应用进行资源的访问。
由于从Android5.1开始,Android中添加了多用户的支持,在同一台android移动终端中可以建立多个用户账户,每个用户都可以拥有自己的应用程序、应用数据、及系统设置,多个用户使得多个人使用同一移动终端而不造成影响,然而,多个用户共享一套SeLinux,这就导致了非机主用户在使用移动终端运行某些应用时,会获得部分机主用户的权限,可以访问某些机主用户不希望其他用户访问的敏感资源,造成安全漏洞,给机主用户造成损失的问题。
发明内容
本发明提供一种多用户下基于SeLinux的资源访问方法,用以解决现有技术中存在多个用户共享一套SeLinux,造成安全漏洞、给机主用户造成损失的问题。
为达到上述目的,本发明实施例公开了一种多用户下基于SeLinux的资源访问方法,应用于移动终端,所述方法包括:
接收资源访问请求,其中所述资源访问请求中携带待访问资源的应用的标识信息及访问的目标资源的标识信息;
判断所述目标资源是否为SeLinux中的敏感资源;
如果是,根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限;
如果是,允许所述应用访问所述目标资源,否则,拒绝所述应用访问所述目标资源。
进一步地,所述接收资源访问请求之前,所述方法还包括:
接收第二用户对SeLinux中敏感资源的选取指令,其中所述选取指令中携带被选取为敏感资源的标识信息;
将所述第二用户选取的资源标记为敏感资源。
进一步地,所述方法还包括:
接收所述第二用户对第一用户的配置指令,其中所述配置指令中包含所述第一用户的标识信息,及针对SeLinux中每个敏感资源的信息能够访问该敏感资源的应用的标识信息;
根据所述配置指令,在配置表中针对所述第一用户及每个敏感资源,保存能够访问该敏感资源的应用的标识信息。
进一步地,所述方法还包括:
接收所述第二用户发送的配置修改信息,其中所述配置修改信息中包含待修改的配置信息及修改后的配置信息;
根据所述配置修改信息,对所述配置表中相应信息进行修改。
进一步地,所述待修改的配置信息包括以下信息中的至少一种;
第一用户的标识信息、敏感资源的信息和能够访问敏感资源的应用的标识信息。
进一步地,所述根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限包括:
根据当前登录的第一用户的标识信息,判断所述配置表中针对所述标识信息的第一用户保存的能够访问所述目标资源的应用的标识信息中是否包含所述应用的标识信息。
本发明实施例公开了一种多用户下基于SeLinux的资源访问装置,应用于移动终端,所述装置包括:
接收模块,用于接收资源访问请求,所述资源访问请求中携带待访问资源的应用的标识信息及访问的目标资源的标识信息;
SeLinux模块,用于判断所述资源访问请求中所访问的目标资源是否为SeLinux中的敏感资源,如果是,向回调控制模块返回拒绝所述应用访问所述目标资源的信息;
回调控制模块,用于根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限,如果是,将所述应用具有访问所述目标资源的权限发送给SeLinux模块;
所述SeLinux模块,还用于接收到所述应用具有访问所述目标资源的权限后,允许所述应用访问所述目标资源,否则,拒绝所述应用访问所述目标资源。
进一步地,所述SeLinux模块,具体用于如果所述资源访问请求中所访问的目标资源为SeLinux中的敏感资源时,拒绝所述应用访问所述目标资源,将拒绝所述应用访问所述目标资源的信息发送给授权结果驱动模块;
所述装置还包括:
授权结果驱动模块,用于接收SeLinux模块发送拒绝所述应用访问所述目标资源的信息,并将拒绝所述应用访问所述目标资源的信息发送给回调控制模块。
进一步地,所述SeLinux模块,具体用于如果判断所述目标资源为SeLinux中的敏感资源,识别所述资源访问请求中应用的安全标签是否为非敏感安全标签,如果是,向所述回调控制模块返回拒绝所述应用访问所述目标资源的信息;如果所述资源访问请求中应用的安全标签为敏感安全标签,则允许所述应用访问所述目标资源;
所述回调控制模块,具体用于如果接收到拒绝所述应用访问所述目标资源的信息,根据当前登录的第一用户,查询是否保存有所述第一用户的所述应用具有访问所述目标资源的权限,如果是,将所述资源访问请求中应用的非敏感安全标签修改为敏感安全标签,将标签修改后的资源访问请求发送给所述SeLinux模块。
进一步地,所述SeLinux模块,还用于接收第二用户对SeLinux中敏感资源的选取指令,其中所述选取指令中携带被选取为敏感资源的标识信息;将所述第二用户选取的资源标记为敏感资源。
进一步地,所述装置还包括:
用户配置模块,用于接收所述第二用户对第一用户的配置指令,其中所述配置指令中包含所述第一用户的标识信息,及针对SeLinux中每个敏感资源的信息能够访问该敏感资源的应用的标识信息;根据所述配置指令,在配置表中针对所述第一用户及每个敏感资源的信息,保存能够访问该敏感资源的应用的标识信息。
进一步地,所述用户配置模块,还用于接收所述第二用户发送的配置修改信息,其中所述配置修改信息中包含待修改的配置信息及修改后的配置信息;根据所述配置修改信息,对所述配置表中相应信息进行修改。
进一步地,所述回调控制模块,具体用于根据当前登录的第一用户的标识信息,判断所述配置表中针对所述标识信息的第一用户保存的能够访问所述目标资源的应用的标识信息中是否包含所述应用的标识信息。
本发明实施例公开了一种多用户下基于SeLinux的资源访问方法及装置,该方法包括:接收资源访问请求,其中所述资源访问请求中携带待访问资源的应用的标识信息及访问的目标资源的标识信息;判断所述目标资源是否为SeLinux中的敏感资源;如果是,根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限;如果是,允许所述应用访问所述目标资源,否则,拒绝所述应用访问所述目标资源。由于在本发明实施例中,针对在SeLinux中设置了敏感资源,并且针对用户的应用设置了应用访问敏感资源的权限,因此可以根据当前用户的应用是否具有访问所述目标资源权限,确定是否允许所述应用访问该敏感资源,减少了安全漏洞,避免了给机主用户造成损失。
附图说明
图1为本发明实施例1提供的一种多用户下基于SeLinux的资源访问过程示意图;
图2为本发明实施例2提供的一种多用户下基于SeLinux的资源访问过程示意图;
图3为本发明实施例3提供的一种配置表示意图;
图4为本发明实施例5提供的一种多用户下基于SeLinux的资源访问过程示意图;
图5为本发明实施例6提供的一种多用户下基于SeLinux的资源访问装置结构示意图;
图6为本发明实施例7提供的一种多用户下基于SeLinux的资源访问装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种多用户下基于SeLinux的资源访问过程示意图,该过程包括:
S101:接收资源访问请求,其中所述资源访问请求中携带待访问资源的应用的标识信息及访问的目标资源的标识信息。
本发明实施例提供的基于多用户的Android SeLinux资源访问方法,应用于移动终端,该移动终端可以为手机、平板电脑等设备。
随着Android5.1开始,谷歌在Android中添加了支持多用户的功能,在同一台android移动终端中可以建立多个用户账户,每个用户账户对应着一个用户,每个用户都可以拥有自己的应用程序、应用数据、及系统设置。本发明实施例中的所述第一用户可以是移动终端中任意用户账户对应的用户,可以为机主用户,也可以为非机主用户。
具体的,移动终端接收资源访问请求,所述资源访问请求中携带待访问资源的应用的标识信息及访问的目标资源的标识信息。其中应用的标识信息可以为该应用对应安装包的名称、该应用对应的编号等,目标资源的标识信息可以为该目标资源的名称、该目标资源的编号。
例如:待访问的资源的应用的标识信息为kugou、目标资源的标识信息为蓝牙,所述资源访问请求中包含待访问资源的应用的标识信息kugou、目标资源的标识信息蓝牙。
S102:判断所述目标资源是否为SeLinux中的敏感资源,如果是,进行S103,如果否,进行S104。
在本发明实施例中,SeLinux中设置了敏感资源,其中SeLinux中的敏感资源和非敏感资源可以是预先配置的,也可以是机主用户根据自身的需求,针对SELinux中的资源进行划分,将SELinux中的资源划分为敏感资源和非敏感资源。
具体的,如果接收到资源访问请求,判断所述资源访问请求所访问的目标资源是否为SeLinux中的敏感资源,如果是,确定所述资源访问请求所访问的目标资源为SeLinux中的敏感资源。例如:所述资源访问请求所访问的目标资源为蓝牙,SeLinux中的敏感资源包括蓝牙、通讯录等,确定所述资源访问请求所访问的目标资源为SeLinux中的敏感资源。
S103:根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限,如果是,进行S104,如果否,进行S105。
具体的,如果确定所述资源访问请求所访问的目标资源为SeLinux中的敏感资源,识别当前登录的第一用户的标识信息,当前登录的第一用户的标识信息,可以为当前登录的第一用户对应的账号、用户名等信息,判断所述第一用户的所述应用是否具有访问所述目标资源的权限。对于所述第一用户的所述应用是否具有访问所述目标资源的权限,可以针对该目标资源,同时判断所述第一用户该标识信息的应用是否具有访问该目标资源的权限,如果是,确定所述第一用户的应用具有访问所述目标资源的权限,如果否,确定所述第一用户的应用不具有访问所述目标资源的权限。
S104:允许所述应用访问所述目标资源。
具体的,如果所述应用访问的目标资源为非敏感资源,或者所述第一用户的所述应用具有访问目标资源的权限,允许所述应用访问所述目标资源。
S105:拒绝所述应用访问所述目标资源。
具体的,如果所述目标资源为敏感资源,所述第一用户的所述应用不具有访问所述目标资源的权限,拒绝所述应用访问所述目标资源。
由于在本发明实施例中,针对在SeLinux中设置了敏感资源,并且针对用户的应用设置了应用访问敏感资源的权限,因此可以根据当前用户的应用是否具有访问所述目标资源权限,确定是否允许所述应用访问该敏感资源,减少了安全漏洞,避免了给机主用户造成损失。
实施例2:
在本发明实施例中,机主用户可以针对SeLinux中的资源按照自身的需求进行划分,从而提高机主用户的体验,在上述实施例的基础上,所述接收资源访问请求之前,所述方法还包括:
接收第二用户对SeLinux中敏感资源的选取指令,其中所述选取指令中携带被选取为敏感资源的标识信息;
将所述第二用户选取的资源标记为敏感资源。
所述第二用户,可以为该移动终端的机主用户、也可以是被机主用户赋予敏感资源选取权限的非机主用户,在现有的Android多用户机制中,第一个启动移动终端的用户被称为机主用户,类似于个人电脑(PC)中的管理员用户。
具体的,接收第二用户对SeLinux中敏感资源的选取指令,将所述第二用户选取的资源标记为敏感资源。例如:SeLinux中的资源包括:无线网络控制程序、移动终端远程控制程序、屏幕锁控制程序、音量调节键控制程序,接收第二用户的选取指令中携带被选取为敏感资源的无线网络控制程序、移动终端远程控制程序、屏幕锁控制程序的标识信息,将所述无线网络控制程序、移动终端远程控制程序、屏幕锁控制程序标记为敏感资源。
另外,第二用户对SeLinux中敏感资源的选取,可以是一次选取SeLinux中多个资源为敏感资源,也可以是一次选取SeLinux中一个资源作为敏感资源。例如:SELinux中的资源包括:照相机、闪光灯、移动终端远程控制程序、蓝牙,第二用户选取蓝牙为敏感资源,将蓝牙标记为敏感资源。在对SELinux中的敏感资源进行标记时,可以在资源类型(type)后面添加敏感资源后缀(_se_sensitive)表示该资源为敏感资源,非敏感资源的后缀保持不变。例如:SELinux中包括非敏感资源allow test_app service_manager_type:service_manager find,和敏感资源allow test_app_se_sensitive service_manager_type:service_manager add,其中敏感资源中较非敏感资源添加了se_sensitive后缀,表示该资源为敏感资源。
图2为本发明实施例提供的一种多用户下基于SeLinux的资源访问过程示意图,该过程包括:
S201:接收第二用户对SeLinux中敏感资源的选取指令,其中所述选取指令中携带被选取为敏感资源的标识信息;将所述第二用户选取的资源标记为敏感资源。
S202:接收资源访问请求,其中所述资源访问请求中携带待访问资源的应用的标识信息及访问的目标资源的标识信息。
S203:判断所述目标资源是否为SeLinux中的敏感资源,如果是,进行S204,如果否,进行S205。
S204:根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限,如果是,进行S205,如果否,进行S206。
其中第一用户和第二用户可以是相同的用户,也可以是不同的用户。
S205:允许所述应用访问所述目标资源。
S206:拒绝所述应用访问所述目标资源。
实施例3:
为了减少安全漏洞,提供的信息的安全性,在上述各实施的基础上,在本发明实施例中,所述方法还包括:
接收所述第二用户对第一用户的配置指令,其中所述配置指令中包含所述第一用户的标识信息,及针对SeLinux中每个敏感资源能够访问该敏感资源的应用的标识信息;
根据所述配置指令,在配置表中针对所述第一用户及每个敏感资源,保存能够访问该敏感资源的应用的标识信息。
现行的SELinux基本原理是资源访问请求拥有一个安全标签,一个SELinux中的资源也拥有一个安全标签,当资源访问请求访问SELinux中的资源时需要二者的标签被许可,否则拒绝访问。安全标签是一个四元组字符串,其中类型(type)是最重要的元素,其他部分Android使用相同的字符串。在Android系统中,资源访问请求访问资源时,在添加如下规则时,将通过授权:allow subject_type object_type:class operations,含义是:允许subject_type的应用在object_type的资源上执行operations定义的操作。
所述第二用户针对第一用户,对该第一用户的每个应用能够访问的敏感资源进行了配置,或能对每个敏感资源进行访问的应用进行了配置,具体的,接收所述第二用户对第一用户的配置指令,其中所述配置指令中包含所述第一用户的标识信息,及针对SeLinux中每个敏感资源的信息能够访问该敏感资源的应用的标识信息,并根据所述配置信息,在配置表中针对所述第一用户,保存所述每个敏感资源的信息,及能够访问该敏感资源的应用的标识信息。
图3为本发明实施例提供的一种配置表示意图,所述配置表中保存有对应的每条配置表项,该配置表项中包含的ID对应敏感资源的名称、_pkg_name对应可对该敏感资源进行访问的应用的标识信息、_user_name对应可对该敏感资源进行访问的用户的标识信息、_mark_time对应着该条配置表项的信息进行配置的时间。例如:当用户访问的敏感资源为蓝牙控制程序,对应的应用的标识为kugou、对应的用户的标识为0003,权限表中第一行的信息与所述信息匹配,确定该用户具有访问该敏感资源的权限。
实施例4:
为了提高用户的体验,方便用户的操作,在上述各实施例的基础上,在本实施例中,机主用户可以对配置表进行修改,所述方法还包括:
接收所述第二用户发送的配置修改信息,其中所述配置修改信息中包含待修改的配置信息及修改后的配置信息;
根据所述配置修改信息,对所述配置表中相应信息进行修改。
所述待修改的配置信息包括以下信息中的至少一种;
第一用户的标识信息、敏感资源的信息和能够访问敏感资源的应用的标识信息。
具体的,接收所述第二用户发送的配置修改信息,其中所述配置修改信息中包含修改前和修改后的第一用户的标识信息、敏感资源的信息和能够访问敏感资源的应用的标识信息中的一种或者多种,并根据所述配置修改信息对所述配置表中相应信息进行修改。例如:第二用户发送的配置信息可以为将敏感资源蓝牙修改为非敏感资源,也可以是将非敏感资源照相机修改为敏感资源,能访问照相机的应用的标识信息为应用微信和支付宝对应的标识信息,当然也可以是将敏感资源屏幕锁控制程序,对应的可对其访问的应用手势解锁的标识信息、及标识信息为0003用户的标识信息删除的配置修改信息。
实施例5:
为了减少安全漏洞,提高信息的安全性,在上述各实施例的基础上,在本发明实施例中,所述根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限包括:
根据当前登录的第一用户的标识信息,判断所述配置表中针对所述标识信息的第一用户保存的能够访问所述目标资源的应用的标识信息中是否包含所述应用的标识信息。
具体的,根据所述当前登录的第一用户的标识信息,判断所述配置表中针对所述标识信息对应的第一用户保存的所述目标资源及能够访问所述目标资源的应用的标识信息中是否包含所述应用的标识信息,例如:资源访问请求中携带的第一用户的标识信息为0002、待访问目标资源的应用的标识信息为kugou、目标资源为蓝牙,配置表中针对该第一用户保存的所述目标资源蓝牙对应的应用的标识信息包括:kugou、weixin等,包括kugou,确定所述第一用户的所述应用是否具有访问所述目标资源的权限。
图4为本发明实施例提供的一种多用户下基于SeLinux的资源访问过程示意图。具体的,如果接收到用户的访问请求,判断判断该用户的访问请求待访问的目标资源是否为敏感资源,如果该访问请求中待访问的目标资源为非敏感资源,对目标资源进行访问,如果所述目标资源为敏感资源,识别访问请求中应用的标识信息及当前登录的第一用户的标识信息,判断所述第一用户的所述应用是否具有访问所述目标资源的权限,如果否,则拒绝对目标资源进行访问,访问请求结束,如果是,对目标资源进行访问,访问请求结束。
实施例6:
图5为本发明实施例提供的一种多用户下基于SeLinux的资源访问装置结构示意图,所述装置包括:
接收模块51,用于接收资源访问请求,所述资源访问请求中携带待访问资源的应用的标识信息及访问的目标资源的标识信息;
SeLinux模块52,用于判断所述资源访问请求中所访问的目标资源是否为SeLinux中的敏感资源,如果是,向回调控制模块返回拒绝所述应用访问所述目标资源的信息;
回调控制模块53,用于根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限,如果是,将所述应用具有访问所述目标资源的权限发送给SeLinux模块;
所述SeLinux模块52,还用于接收到所述应用具有访问所述目标资源的权限后,允许所述应用访问所述目标资源,否则,拒绝所述应用访问所述目标资源。
所述SeLinux模块52,具体用于如果所述目标资源为SeLinux中的敏感资源时,拒绝所述应用访问所述目标资源,将拒绝所述应用访问所述目标资源的信息发送给授权结果驱动模块;
所述装置还包括:
授权结果驱动模块54,用于接收SeLinux模块发送拒绝所述应用访问所述目标资源的信息,并将拒绝所述应用访问所述目标资源的信息发送给回调控制模块。
所述SeLinux模块52,具体用于如果判断所述目标资源为SeLinux中的敏感资源,识别所述资源访问请求中应用的安全标签是否为非敏感安全标签,如果是,向所述回调控制模块返回拒绝所述应用访问所述目标资源的信息;如果所述资源访问请求中应用的安全标签为敏感安全标签,则允许所述应用访问所述目标资源;
所述回调控制模块53,具体用于如果接收到拒绝所述应用访问所述目标资源的信息,根据当前登录的第一用户,查询是否保存有所述第一用户的所述应用具有访问所述目标资源的权限,如果是,将所述资源访问请求中应用的非敏感安全标签修改为敏感安全标签,将标签修改后的资源访问请求发送给所述SeLinux模块。
所述SeLinux模块52,还用于接收第二用户对SeLinux中敏感资源的选取指令,其中所述选取指令中携带被选取为敏感资源的标识信息;将所述第二用户选取的资源标记为敏感资源。
所述装置还包括:
用户配置模块55,用于接收所述第二用户对第一用户的配置指令,其中所述配置指令中包含所述第一用户的标识信息,及针对SeLinux中每个敏感资源的信息能够访问该敏感资源的应用的标识信息;根据所述配置指令,在配置表中针对所述第一用户及每个敏感资源的信息,保存能够访问该敏感资源的应用的标识信息。
所述用户配置模块55,还用于接收所述第二用户发送的配置修改信息,其中所述配置修改信息中包含待修改的配置信息及修改后的配置信息;根据所述配置修改信息,对所述配置表中相应信息进行修改。
所述回调控制模块53,具体用于根据当前登录的第一用户的标识信息,判断所述配置表中针对所述标识信息的第一用户保存的能够访问所述目标资源的应用的标识信息中是否包含所述应用的标识信息。
实施例7:
图6为本发明实施例提供的一种多用户下基于SeLinux的资源访问装置结构示意图,其中AppX-UserA,AppX-UserB,为用户A或用户B使用应用X对SeLinux模块中的资源进行访问,在用户使用应用发起对SeLinux模块中的资源进行访问时,Android默认将资源访问请求中应用的安全标签标记为非敏感安全标签,非敏感安全标签只能访问SeLinux模块中的非敏感资源,Linux中的授权结果驱动模块接收到资源访问请求后,将所述资源访问请求发送给SeLinux模块,SeLinux模块确定资源访问请求中待访问的目标资源是SeLinux模块中的非敏感资源,识别出资源访问请求中应用的安全标签为非敏感安全标签,则允许访问目标资源,否则拒绝访问目标资源。如果拒绝访问目标资源,授权结果驱动模块将拒绝访问的结果返回给用于SeLinux的回调控制模块,回调控制模块查询用户配置模块中针对每个用户及每个敏感资源,保存的能够访问该敏感资源的应用的标识信息,如果所述发出资源访问请求的用户具有使用所述应用访问所述目标资源的权限,将所述资源访问请求中应用的非敏感安全标签修改为敏感安全标签,将标签修改后的资源访问请求发送给SeLinux模块,SeLinux模块识别出资源访问请求中应用的安全标签为敏感安全标签,允许对敏感资源进行访问。
本发明实施例公开了一种多用户下基于SeLinux的资源访问方法及装置,该方法包括:接收资源访问请求,其中所述资源访问请求中携带待访问资源的应用的标识信息及访问的目标资源的标识信息;判断所述目标资源是否为SeLinux中的敏感资源;如果是,根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限;如果是,允许所述应用访问所述目标资源,否则,拒绝所述应用访问所述目标资源。由于在本发明实施例中,针对在SeLinux中设置了敏感资源,并且针对用户的应用设置了应用访问敏感资源的权限,因此可以根据当前用户的应用是否具有访问所述目标资源权限,确定是否允许所述应用访问该敏感资源,减少了安全漏洞,避免了给机主用户造成损失。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1.一种多用户下基于安全策略SeLinux的资源访问方法,其特征在于,应用于移动终端,该方法包括:
接收资源访问请求,其中所述资源访问请求中携带待访问资源的应用的标识信息及访问的目标资源的标识信息;
判断所述目标资源是否为SeLinux中的敏感资源;
如果是,根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限;
如果是,允许所述应用访问所述目标资源,否则,拒绝所述应用访问所述目标资源。
2.如权利要求1所述的方法,其特征在于,所述接收资源访问请求之前,所述方法还包括:
接收第二用户对SeLinux中敏感资源的选取指令,其中所述选取指令中携带被选取为敏感资源的标识信息;
将所述第二用户选取的资源标记为敏感资源。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述第二用户对第一用户的配置指令,其中所述配置指令中包含所述第一用户的标识信息,及针对SeLinux中每个敏感资源的信息能够访问该敏感资源的应用的标识信息;
根据所述配置指令,在配置表中针对所述第一用户及每个敏感资源,保存能够访问该敏感资源的应用的标识信息。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述第二用户发送的配置修改信息,其中所述配置修改信息中包含待修改的配置信息及修改后的配置信息;
根据所述配置修改信息,对所述配置表中相应信息进行修改。
5.如权利要求4所述的方法,其特征在于,所述待修改的配置信息包括以下信息中的至少一种;
第一用户的标识信息、敏感资源的信息和能够访问敏感资源的应用的标识信息。
6.如权利要求3所述的方法,其特征在于,所述根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限包括:
根据当前登录的第一用户的标识信息,判断所述配置表中针对所述标识信息的第一用户保存的能够访问所述目标资源的应用的标识信息中是否包含所述应用的标识信息。
7.一种多用户下基于安全策略SeLinux的资源访问装置,其特征在于,应用于移动终端,所述装置包括:
接收模块,用于接收资源访问请求,所述资源访问请求中携带待访问资源的应用的标识信息及访问的目标资源的标识信息;
SeLinux模块,用于判断所述资源访问请求中所访问的目标资源是否为SeLinux中的敏感资源,如果是,向回调控制模块返回拒绝所述应用访问所述目标资源的信息;
回调控制模块,用于根据当前登录的第一用户,判断所述应用是否具有访问所述目标资源的权限,如果是,将所述应用具有访问所述目标资源的权限发送给SeLinux模块;
所述SeLinux模块,还用于接收到所述应用具有访问所述目标资源的权限后,允许所述应用访问所述目标资源,否则,拒绝所述应用访问所述目标资源。
8.如权利要求7所述的装置,其特征在于,所述SeLinux模块,具体用于如果所述目标资源为SeLinux中的敏感资源时,拒绝所述应用访问所述目标资源,将拒绝所述应用访问所述目标资源的信息发送给授权结果驱动模块;
所述装置还包括:
授权结果驱动模块,用于接收SeLinux模块发送拒绝所述应用访问所述目标资源的信息,并将拒绝所述应用访问所述目标资源的信息发送给回调控制模块。
9.如权利要求8所述的装置,其特征在于,所述SeLinux模块,具体用于如果判断所述目标资源为SeLinux中的敏感资源,识别所述资源访问请求中应用的安全标签是否为非敏感安全标签,如果是,向所述回调控制模块返回拒绝所述应用访问所述目标资源的信息;如果所述资源访问请求中应用的安全标签为敏感安全标签,则允许所述应用访问所述目标资源;
所述回调控制模块,具体用于如果接收到拒绝所述应用访问所述目标资源的信息,根据当前登录的第一用户,查询是否保存有所述第一用户的所述应用具有访问所述目标资源的权限,如果是,将所述资源访问请求中应用的非敏感安全标签修改为敏感安全标签,将标签修改后的资源访问请求发送给所述SeLinux模块。
10.如权利要求7所述的装置,其特征在于,所述SeLinux模块,还用于接收第二用户对SeLinux中敏感资源的选取指令,其中所述选取指令中携带被选取为敏感资源的标识信息;将所述第二用户选取的资源标记为敏感资源。
11.如权利要求10所述的装置,其特征在于,所述装置还包括:
用户配置模块,用于接收所述第二用户对第一用户的配置指令,其中所述配置指令中包含所述第一用户的标识信息,及针对SeLinux中每个敏感资源的信息能够访问该敏感资源的应用的标识信息;根据所述配置指令,在配置表中针对所述第一用户及每个敏感资源的信息,保存能够访问该敏感资源的应用的标识信息。
12.如权利要求10所述的装置,其特征在于,所述用户配置模块,还用于接收所述第二用户发送的配置修改信息,其中所述配置修改信息中包含待修改的配置信息及修改后的配置信息;根据所述配置修改信息,对所述配置表中相应信息进行修改。
13.如权利要求11所述的装置,其特征在于,所述回调控制模块,具体用于根据当前登录的第一用户的标识信息,判断所述配置表中针对所述标识信息的第一用户保存的能够访问所述目标资源的应用的标识信息中是否包含所述应用的标识信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187538.3A CN108205630A (zh) | 2016-12-20 | 2016-12-20 | 一种多用户下基于SeLinux的资源访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187538.3A CN108205630A (zh) | 2016-12-20 | 2016-12-20 | 一种多用户下基于SeLinux的资源访问方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108205630A true CN108205630A (zh) | 2018-06-26 |
Family
ID=62604261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611187538.3A Pending CN108205630A (zh) | 2016-12-20 | 2016-12-20 | 一种多用户下基于SeLinux的资源访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108205630A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120612A (zh) * | 2018-08-06 | 2019-01-01 | 浙江衣拿智能科技有限公司 | 一种数据包过滤方法、系统及应用程序 |
CN109597640A (zh) * | 2018-07-27 | 2019-04-09 | 北京字节跳动网络技术有限公司 | 一种应用程序的账号管理方法、装置、设备和介质 |
CN113472745A (zh) * | 2021-05-31 | 2021-10-01 | 山东英信计算机技术有限公司 | 一种基于selinux的openstack公有云多租户隔离方法、系统及终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090158385A1 (en) * | 2007-12-17 | 2009-06-18 | Electronics And Telecommunications Research Institute | Apparatus and method for automatically generating SELinux security policy based on selt |
CN104318171A (zh) * | 2014-10-09 | 2015-01-28 | 中国科学院信息工程研究所 | 基于权限标签的Android隐私数据保护方法及系统 |
CN105046146A (zh) * | 2015-06-30 | 2015-11-11 | 中标软件有限公司 | 一种安卓系统的资源访问方法 |
CN105956493A (zh) * | 2016-06-29 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种手机文件的保护方法及保护装置 |
-
2016
- 2016-12-20 CN CN201611187538.3A patent/CN108205630A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090158385A1 (en) * | 2007-12-17 | 2009-06-18 | Electronics And Telecommunications Research Institute | Apparatus and method for automatically generating SELinux security policy based on selt |
CN104318171A (zh) * | 2014-10-09 | 2015-01-28 | 中国科学院信息工程研究所 | 基于权限标签的Android隐私数据保护方法及系统 |
CN105046146A (zh) * | 2015-06-30 | 2015-11-11 | 中标软件有限公司 | 一种安卓系统的资源访问方法 |
CN105956493A (zh) * | 2016-06-29 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种手机文件的保护方法及保护装置 |
Non-Patent Citations (1)
Title |
---|
徐云峰等: "《访问控制》", 28 February 2014, 武汉大学出版社 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109597640A (zh) * | 2018-07-27 | 2019-04-09 | 北京字节跳动网络技术有限公司 | 一种应用程序的账号管理方法、装置、设备和介质 |
CN109120612A (zh) * | 2018-08-06 | 2019-01-01 | 浙江衣拿智能科技有限公司 | 一种数据包过滤方法、系统及应用程序 |
CN109120612B (zh) * | 2018-08-06 | 2021-04-30 | 浙江衣拿智能科技股份有限公司 | 一种数据包过滤方法、系统及应用程序 |
CN113472745A (zh) * | 2021-05-31 | 2021-10-01 | 山东英信计算机技术有限公司 | 一种基于selinux的openstack公有云多租户隔离方法、系统及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104717223B (zh) | 数据访问方法及装置 | |
CN109510849B (zh) | 云存储的帐号鉴权方法和装置 | |
CN106330958B (zh) | 一种安全访问方法及装置 | |
US9495084B2 (en) | Method and apparatus for widget and widget-container distribution control based on content rules | |
KR101861401B1 (ko) | 장치 기능과 애플리케이션의 결합 | |
WO2015180690A1 (zh) | 验证信息的读取方法及装置 | |
EP3032418A1 (en) | Permission control method and device | |
CN106096343A (zh) | 消息访问控制方法及设备 | |
CN106911770A (zh) | 一种基于多云存储的数据共享方法及系统 | |
KR20060089658A (ko) | 애플리케이션 실행의 보안 관리 프로세스 | |
CN106790156A (zh) | 一种智能设备绑定方法及装置 | |
CN105408912A (zh) | 处理认证和资源许可 | |
CN107622203A (zh) | 敏感信息的保护方法、装置、存储介质及电子设备 | |
CN103544447A (zh) | 一种基于安卓系统的防止机密信息泄露的方法和终端 | |
CN105528553A (zh) | 一种数据安全共享的方法、装置和终端 | |
CN103455520A (zh) | 安卓数据库访问的方法及设备 | |
CN107729764A (zh) | 敏感信息的保护方法、装置、存储介质及电子设备 | |
CN108549798A (zh) | 终端设备控制方法及装置、终端设备及计算机可读存储介质 | |
CN104185179A (zh) | 一种用于用户识别卡的控制装置、方法及用户识别卡 | |
CN109905237A (zh) | 通过移动站与蜂窝网络通信的方法 | |
CN108205630A (zh) | 一种多用户下基于SeLinux的资源访问方法及装置 | |
KR101580419B1 (ko) | 적어도 하나의 서비스에 액세스하기 위한 방법 및 대응하는 시스템 | |
CN112765655A (zh) | 一种基于隐私数据外发的管控方法及装置 | |
CN105612731A (zh) | 跨受信和非受信平台漫游互联网可访问应用状态 | |
CN106534102A (zh) | 设备访问的方法及装置、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180626 |
|
RJ01 | Rejection of invention patent application after publication |