CN105701415B - 一种移动终端内核权限管理系统及方法 - Google Patents

一种移动终端内核权限管理系统及方法 Download PDF

Info

Publication number
CN105701415B
CN105701415B CN201610004182.9A CN201610004182A CN105701415B CN 105701415 B CN105701415 B CN 105701415B CN 201610004182 A CN201610004182 A CN 201610004182A CN 105701415 B CN105701415 B CN 105701415B
Authority
CN
China
Prior art keywords
application program
module
kernel
mobile terminal
user group
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.)
Expired - Fee Related
Application number
CN201610004182.9A
Other languages
English (en)
Other versions
CN105701415A (zh
Inventor
金果
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Feixun Data Communication Technology Co Ltd
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201610004182.9A priority Critical patent/CN105701415B/zh
Publication of CN105701415A publication Critical patent/CN105701415A/zh
Application granted granted Critical
Publication of CN105701415B publication Critical patent/CN105701415B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Abstract

本发明公开了一种移动终端内核权限管理系统及方法,主要透过映射模块建立内核权限‑用户组‑内核资源的映射关系;绑定模块将应用程序的用户身份信息(UID)与该应用程序的内核权限对应到的用户组绑定;系统调用模块,当用户执行一应用程序而产生一输入参数时,该系统调用模块依据该输入参数创建一调用函数;权限检测模块检测该调用函数中到的应用程序所属的用户组是否与该绑定模块所绑定的该应用程序的用户组一致,若不一致则发出拦截信息;以及修改模块根据该拦截信息修改该系统调用模块创建的调用函数。本发明无需修改移动终端系统系统架构,使系统简化。

Description

一种移动终端内核权限管理系统及方法
技术领域
本发明涉及网络信息安全技术领域,特别是涉及一种移动终端内核权限管理系统及方法。
背景技术
随着移动物联网和智能手机,以及计算机通信技术的飞速融合发展,智能手机在影响我们生活的同时也会给用户带来困扰,市场上有很多的系统安全技术,怎么才能对用户隐私数据进行保护进行管控,市场上有很多技术,其中有数据流追踪控制是智能移动终端隐私防护。
目前广泛使用于智能终端的各类国内外商业安全软件,很多工作在安卓系统的应用层。有的商业软件根据黑名单和软件特征码等技术提供恶意软件的控制;其中部分商业软件通过智能终端“越狱”(ROOT提权)后,可提供对安卓系统的框架层权限动态管控,但也无法深入到Linux内核的权限管控,更无法提供对用户隐私权限的管控,因此具有很大的安全防护缺陷。应用层而这种“越狱”后的智能终端,可能对用户系统和数据造成更严重的安全威胁,如未在黑名单或者不符合恶意软件特征码的各类新型恶意软件或者正常软件中的不当行为,可以轻易规避这些安全措施实施恶意或者不当的行为,造成用户损失。
目前发展到一些安卓系统能进入核心的安全机制管控,从而实现内核权限的使用拦截,但是实现的机理各不相同。如
一种基于移动终端的动态权限管理系统[1],设置于移动终端的操作系统平台上,操作系统平台包括一存储模块,存储模块存储权限列表,权限列表中的所有权限的初始状态为阻止授权状态,通过操作对权限的状态进行改变;一权限使用拦截模块,包括权限使用监视器,权限使用拦截模块用于拦截一权限使用请求并对进行识别,权限使用监视器,用于监视权限的当前状态;一权限请求决策模块,通过判断权限使用请求是否会造成安全隐患,并对权限使用请求进行放行、阻止或要求用户显式授权。现有技术方法实现对内核层和应用程序框架层的每个权限请求进行拦截并识别,以实现动态处理,让用户进行可控的权限管理。
针对上述现有技术的缺失,CN103268451公开一种基于移动终端的动态管理系统,其可对权限请求进行识别、拦截,然,该现有技术需修改移动终端内核层、在内核层中增加了权限使用拦截模块,在应用程序框架层,修改了应用程序安装过程,增加了权限请求决策模块,实现对内核层和应用程序框架层的每个权限请求进行拦截并识别,构建子系统并非易事,且使得系统复杂化。
因此,有必要提出一种新的权限拦截技术以避免现有技术的诸多缺失,实已成为目前业界亟待客服发之难题。
发明内容
鉴于上述现有技术的缺失,本发明之一目的在于一种新的移动终端内核权限管理系统及方法,其无需修改现有移动终端现有系统即可实现内核权限拦截,进而可简化系统。
为达上述及其他目的,本发明揭示一种移动终端内核权限管理系统,包括:映射模块,用于建立内核权限-用户组-内核资源的映射关系;绑定模块,用于将应用程序的用户身份信息与该应用程序的内核权限对应的用户组绑定;系统调用模块,当用户执行一应用程序而产生一输入参数时,该系统调用模块依据该输入参数创建一调用函数;权限检测模块,用于检测该调用函数中的应用程序所属的用户组是否与该绑定模块所绑定的该应用程序的用户组一致,若不一致则发出拦截信息;以及修改模块,用于根据该拦截信息修改该系统调用模块创建的调用函数。
较佳地,该系统还包括权限使用监视模块,用于与系统调用模块通信,当该修改模块修改了该调用函数后,该系统调用模块告知该权限使用监视模块当前的应用程序、应用程序调用链以及正在尝试使用的内核权限。当前的应用程序是透过应用程序的用户身份信息获得,该应用程序调用链是透过该移动终端的系统内核的驱动模块获得。
较佳地,该调用函数为socket函数。
较佳地,该调用函数为open函数,该权限检测模块是先找到open函数所调用的内核资源所在的文件路径,并由该文件路径的索引节点获取该应用程序所在用户组,并检测该用户组与该应用程序所绑定的用户组是否一致。
本发明还提出一种移动终端内核权限管理方法,包括:步骤S1:在移动终端建立内核权限-用户组-内核资源的映射关系;步骤S2:将该应用程序的用户身份信息与该应用程序的内核权限对应的用户组绑定;步骤S3:执行该应用程序产生一输入参数,该移动终端的系统调用模块依据该输入参数创建一调用函数,以便调用一内核资源;步骤S4:检测该调用函数中的应用程序所属的用户组是否与绑定模块所绑定的该应用程序的用户组一致,若不一致则进行下一步骤;以及步骤S5:修改该调用函数,对该用户组对应的内核权限进行拦截。
较佳地,该方法还包括:与该系统内核外的权限使用监视模块通信的系统调用模块,所述系统调用模块告知该权限监视模块当前的应用程序、应用程序调用链以及正在尝试使用的内核权限。当前的应用程序是透过应用程序的用户身份信息获得,该应用程序调用链是透过该移动终端的系统内核的驱动模块获得。
较佳地,该调用函数为socket函数。
较佳地,该调用函数为open函数,该步骤S4进一步包括:检测该open函数所调用的内核资源所在的文件路径;并由该文件路径的索引节点获取该应用程序所在用户组;以及检测该用户组与该应用程序所绑定的用户组是否一致。
本发明主要是透过映射模块预先建立内核权限-用户组-内核资源的映射关系,当用户执行某应用程序时系统调用模块会创建对应的调用函数,之后检测模块会对该调用函数包含的用户组信息进行检测以确定是否拦截该用户组对应的内核权限,与现有技术相比,本发明无需对移动终端现有的系统架构进行修改,在系统内核内即可完成内核权限的拦截,进而可简化系统。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种移动终端内核权限管理系统及方法的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明之移动终端内核权限管理系统基本架构示意图;
图2是本发明之移动终端内核权限管理方法的流程图。
附图标号说明:
10.映射模块,11.绑定模块,12.系统调用模块,13.权限检测模块,14.修改模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
本发明之移动终端内核权限管理系统中,移动终端为例如为基于安卓系统的智能手机,手机的系统内核例如为Linux内核,安卓系统的内核权限所保护的内核资源由Linux内核所管理并执行权限检查。图1所示者,为本发明之移动终端内核权限管理系统,如图1所示,该系统包括映射模块10、绑定模块11、系统调用模块12、权限检测模块13以及修改模块14,以下对该些模块间之逻辑关系及运作机理进行详细说明。
映射模块10,用于建立该移动终端的内核权限-用户组-内核资源的映射关系。本实施例中,是利用Linux用户组机制完成了对“内核权限”的保护,通过约定何种权限对应何种用户组,从而形成了一个内核权限-用户组-内核资源的映射关系。
绑定模块11,用于将移动终端所安装的应用程序的用户身份信息(UserIdentification,UID)与该应用程序的内核权限所对应的用户组绑定。本实施例中,移动终端在安装该应用程序时会授予该应用程序内核权限。后续在执行该应用程序时就具备了使用该权限的能力。
系统调用模块12,在用户执行一应用程序而产生一输入参数时,该系统调用模块12根据该输入参数创建一调用函数,以便透过该调用函数调用与该应用程序对应的内核资源。于本实施例中,应用程序通过例如安卓API、Java API、标准C库、甚至直接通过SWI软中断指令发出系统调用,最终都将进入系统调用的实现部分,即依据程序启动操作产生的输入参数创建调用函数。
权限检测模块13,用于检测该调用函数中的应用程序所属的用户组是否与该绑定模块11所绑定的该应用程序的用户组一致,若不一致则发出拦截信息。
修改模块14,在接收到该拦截信息时修改该调用函数。之后系统调用模块12与系统内核为的权限监视模块(未图示)进行通信,该系统调用模块12告知该权限使用监视模块当前的应用程序(由上述UID获得)、应用程序调用链(通过Linux内核的Binder驱动模块获得)以及正在尝试使用的内核权限,已由该权限使用监视模块拦截该内核权限的使用请求。
如下表1所示,显示安卓系统中的内核权限,在应用程序使用内核权限时需访问系统调用,例如socket调用或open调用。例如在应用程序调用socket时,Linux内核会根据传入参数的不同调用不同的函数创建出相应的socket调用函数。对于INTERNET,BLUETOOTH和BLUETOOTH_ADMIN权限,权限检测模块13(本实施例中权限检测模块13例如为Linux内核)分别在current_has_network、current_has_bt和current_has_bt_admin函数中检查当前应用程序是否处于相应的用户组中(即检测该些函数中的应用程序所属的用户组是否与该绑定模块所绑定的该应用程序的用户组一致)。这三个函数与权限之间存在一一对应的关系,如调用current_has_network意味着试图使用INTERNET权限,使用INTERNET权限也一定会调用current_has_network函数。因此,本发明选择在这三个函数中完成对这三个权限的拦截。在所创建的socket函数入口(即采用socket方式)与权限使用监视模块进行通信,在获得允许使用的通知后再执行原来的代码逻辑。
请继续参考表1,对于其他内核权限,同样存在权限到系统调用open的多对一映射关系。如果通过修改open调用函数完成拦截,则需要判断应用程序传递给系统调用open的参数(即上述输入参数)即打开的文件路径才能确定应用程序试图使用的权限。
表1
由上述可知,由于不同内核权限所在的Linux用户组不同,因此本发明只需获知某个文件(该文件以上述内核资源的形式储存)所属的用户组便可断定访问这个文件是否意味着正在使用某项内核权限。Linux内核在找到文件路径所对应的inode后,会在inode_permission函数中对文件访问者进行权限检查。上述修改模块14对该函数进行了修改,通过inode结构体中的i_gid获取文件所在用户组信息。由于内核权限中用户组与内核权限一一对应,因此通过文件所在用户组的信息足以判断出应用程序试图使用的权限。随后通过socket方式与权限使用监视模块通信,拦截对该内核权限的使用请求。
透过本发明之图1所示之系统执行本发明之移动终端内核权限管理方法之详细步骤如图2所示,该方法包括以下具体步骤。
步骤S1:透过关联模块10建立在移动终端建立内核权限-用户组-内核资源的映射关系。接着进行步骤S2.
步骤S2:绑定模块11将所安装的应用程序的用户身份信息(UID)与该应用程序的内核权限对应的用户组绑定,接着进至步骤S3。
步骤S3:执行该应用程序产生一输入参数,系统调用模块12依据该输入参数创建一调用函数,以便调用一内核资源。接着进至步骤S4。
步骤S4:权限检测模块13检测该调用函数中的应用程序所属的用户组是否与该绑定模块11所绑定的该应用程序的用户组一致,若不一致则进行下一步骤S5。于本实施例中,该步骤S4进一步包括:检测该调用函数所调用的内核资源所在的文件路径;并由该文件路径的索引节点获取该应用程序所在用户组;以及检测该用户组与该应用程序所绑定的用户组是否一致。
步骤S5:修改模块14修改该调用函数,对该用户组对应的内核权限进行拦截。
上述方法还包括系统调用模块创建socket函数与权限监视模块通信,告知告知该权限监视模块当前的应用程序、应用程序调用链以及正在尝试使用的内核权限,拦截该内核权限使用请求。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种移动终端内核权限管理系统,其特征在于,包括:
映射模块,用于建立内核权限-用户组-内核资源的映射关系;
绑定模块,用于将应用程序的用户身份信息与该应用程序的内核权限对应的用户组绑定;
系统调用模块,当用户执行一应用程序而产生一输入参数时,该系统调用模块依据该输入参数创建一调用函数;
权限检测模块,用于检测该调用函数中的应用程序所属的用户组是否与该绑定模块所绑定的该应用程序的用户组一致,若不一致则发出拦截信息;以及
修改模块,用于根据该拦截信息修改该系统调用模块创建的调用函数。
2.如权利要求1所述的移动终端内核权限管理系统,其特征在于:还包括权限使用监视模块,用于与系统调用模块通信,当该修改模块修改了该调用函数后,该系统调用模块告知该权限使用监视模块当前的应用程序、应用程序调用链以及正在尝试使用的内核权限。
3.如权利要求2所述的移动终端内核权限管理系统,其特征在于,当前的应用程序是透过应用程序的用户身份信息获得,该应用程序调用链是透过该移动终端的系统内核的驱动模块获得。
4.如权利要求1所述的移动终端内核权限管理系统,其特征在于:该调用函数为socket调用函数或open调用函数。
5.如权利要求1所述的移动终端内核权限管理系统,其特征在于:该权限检测模块是先找到调用函数所调用的内核资源所在的文件路径,并由该文件路径的索引节点获取该应用程序所在用户组,并检测该用户组与该应用程序所绑定的用户组是否一致。
6.一种移动终端内核权限管理方法,其特征在于,包括:
步骤S1:在移动终端建立内核权限-用户组-内核资源的映射关系;
步骤S2:将所安装的应用程序的用户身份信息与该应用程序的内核权限对应的用户组绑定;
步骤S3:执行该应用程序产生一输入参数,该移动终端的系统调用模块依据该输入参数创建一调用函数,以便调用一内核资源;
步骤S4:检测该调用函数中的应用程序所属的用户组是否与绑定模块所绑定的该应用程序的用户组一致,若不一致则进行下一步骤;以及
步骤S5:修改该调用函数,对该用户组对应的内核权限进行拦截。
7.如权利要求6所述的移动终端内核权限管理方法,其特征在于,该方法还包括:与该系统内核外的权限使用监视模块通信的系统调用模块,所述系统调用模块告知该权限监视模块当前的应用程序、应用程序调用链以及正在尝试使用的内核权限。
8.如权利要求7所述的移动终端内核权限管理方法,其特征在于,当前的应用程序是透过应用程序的用户身份信息获得,该应用程序调用链是透过该移动终端的系统内核的驱动模块获得。
9.如权利要求6所述的移动终端内核权限管理方法,其特征在于,该调用函数为socket调用函数或open调用函数。
10.如权利要求6所述的移动终端内核权限管理方法,其特征在于,该步骤S4进一步包括:检测该调用函数所调用的内核资源所在的文件路径;并由该文件路径的索引节点获取该应用程序所在用户组;以及检测该用户组与该应用程序所绑定的用户组是否一致。
CN201610004182.9A 2016-01-04 2016-01-04 一种移动终端内核权限管理系统及方法 Expired - Fee Related CN105701415B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610004182.9A CN105701415B (zh) 2016-01-04 2016-01-04 一种移动终端内核权限管理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610004182.9A CN105701415B (zh) 2016-01-04 2016-01-04 一种移动终端内核权限管理系统及方法

Publications (2)

Publication Number Publication Date
CN105701415A CN105701415A (zh) 2016-06-22
CN105701415B true CN105701415B (zh) 2018-10-12

Family

ID=56226956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610004182.9A Expired - Fee Related CN105701415B (zh) 2016-01-04 2016-01-04 一种移动终端内核权限管理系统及方法

Country Status (1)

Country Link
CN (1) CN105701415B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107967423B (zh) * 2016-10-20 2020-12-04 腾讯科技(深圳)有限公司 一种权限获取的方法以及终端设备
CN106778208A (zh) * 2016-12-01 2017-05-31 深圳Tcl新技术有限公司 应用程序的访问处理方法及装置
CN108229189A (zh) * 2017-12-29 2018-06-29 北京元心科技有限公司 内核文件的自主访问控制方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268451A (zh) * 2013-06-08 2013-08-28 上海斐讯数据通信技术有限公司 一种基于移动终端的动态权限管理系统
CN104935599A (zh) * 2015-06-18 2015-09-23 北京京东尚科信息技术有限公司 一种通用权限控制管理方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225333B2 (en) * 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268451A (zh) * 2013-06-08 2013-08-28 上海斐讯数据通信技术有限公司 一种基于移动终端的动态权限管理系统
CN104935599A (zh) * 2015-06-18 2015-09-23 北京京东尚科信息技术有限公司 一种通用权限控制管理方法及系统

Also Published As

Publication number Publication date
CN105701415A (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
US10063595B1 (en) Secure execution of enterprise applications on mobile devices
CN104462978B (zh) 一种应用程序权限管理的方法和装置
Shabtai et al. Google android: A comprehensive security assessment
CN108600251B (zh) 移动设备管理和安全
US8769305B2 (en) Secure execution of unsecured apps on a device
EP1512058B1 (en) Secure mobile wireless device
CN105072255A (zh) 移动设备隐私权限控制方法、装置及相应的手机设备
US20100100929A1 (en) Apparatus and method for security managing of information terminal
CN103310149B (zh) 系统功能调用的方法、装置及终端
WO2013075412A1 (zh) 移动终端的安全控制方法及装置
WO2014040461A1 (zh) 访问控制方法及装置
CN103246834B (zh) 控制方法和电子设备
WO2012128860A1 (en) Secure execution of unsecured apps on a device
CN105207775A (zh) 验证信息的读取方法及装置
CN105550595A (zh) 用于智能通信设备的隐私数据访问方法及系统
CN105094996A (zh) 基于动态权限验证的Android系统安全增强方法及系统
CN105701415B (zh) 一种移动终端内核权限管理系统及方法
US20140230012A1 (en) Systems, methods, and media for policy-based monitoring and controlling of applications
CN103617389A (zh) 终端权限管理方法及终端设备
CN115701019A (zh) 零信任网络的访问请求处理方法、装置及电子设备
CN107566375B (zh) 访问控制方法和装置
CN113672901A (zh) 访问请求处理方法、容器云平台、电子设备及存储介质
CN107294962B (zh) 一种配置防火墙安全策略的方法及终端
Ritzdorf Analyzing covert channels on mobile devices
CN104253834B (zh) 对移动应用数据拷贝进行控制的方法、移动终端和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181012

Termination date: 20190104