CN106506445A - 一种apk权限管理方法、装置和系统 - Google Patents

一种apk权限管理方法、装置和系统 Download PDF

Info

Publication number
CN106506445A
CN106506445A CN201610839150.0A CN201610839150A CN106506445A CN 106506445 A CN106506445 A CN 106506445A CN 201610839150 A CN201610839150 A CN 201610839150A CN 106506445 A CN106506445 A CN 106506445A
Authority
CN
China
Prior art keywords
apk
hal layer
authority information
obtaining
hal
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
Application number
CN201610839150.0A
Other languages
English (en)
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.)
Shenzhen Xinguodu Payment Technology Co Ltd
Original Assignee
Shenzhen Xinguodu Payment 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 Shenzhen Xinguodu Payment Technology Co Ltd filed Critical Shenzhen Xinguodu Payment Technology Co Ltd
Priority to CN201610839150.0A priority Critical patent/CN106506445A/zh
Publication of CN106506445A publication Critical patent/CN106506445A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration

Abstract

本发明公开了一种APK权限管理方法、装置和系统,该方法包括:为Android系统增加Hal层管理模块,所述Hal层管理模块用于获取APK注册的申请权限信息并基于申请权限信息控制APK对Hal层接口的访问。该装置执行对应方法。该系统为能实现对应方法的系统。本发明通过增加一个Hal层管理模块,获取APK的申请的访问权限,通过监视进程获取APK的访问操作,基于申请的访问权限判断并处理访问操作,能够在Hal层上实现对APK的监控,防止APK越过framework层进行访问,能够增加Android系统的防护能力。

Description

一种APK权限管理方法、装置和系统
技术领域
本发明涉及一种APK权限管理方法、装置和系统,属于Android系统领域。
背景技术
Framework层,是Android架构中非常重要的一层,起着“承上启下”的作用,同时它也负责对apk的行为进行控制,apk在AndroidManifest.xml中申请相关的控制权限,framework负责在apk执行对应操作时,检查其是否已经申请了该权限。Hal层,是主要由C/C++编写,编译成so库,主要是对设备操作的相关接口的封装,应用可以通过调用so中的接口来控制设备。
目前Android上,对应用权限进行检查和控制,都由framework完成,如果绕开了framework直接调用hal层的接口,就无法检查应用的权限,导致无法控制应用的行为,具有很大的风险。
例如某个apk,它在AndroidManifest.xml中申请了某权限例如<uses-permissionandroid:name="android.permission.CLOUDPOS_CONTACTLESS_CARD"/>,apk先调用他们自己用C写的so库,这个so库里面使用dlopen调用系统hal层提供的so,起到操作某设备功能,这样就完全绕开了framework层,无法判断其是否申请了对应的权限,这样会对系统的安全造成潜在的威胁。
发明内容
为了解决上述问题,本发明通过提供一种APK权限管理方法、装置和系统。
本发明采用的技术方案一方面为一种APK权限管理方法,为Android系统增加Hal层管理模块,所述Hal层管理模块用于获取APK注册的申请权限信息并基于申请权限信息控制APK对Hal层接口的访问。
优选地,所述Hal层管理模块获取APK注册的申请权限信息的步骤包括:S1、基于getpid函数获取APK的进程号;S2、读取cmdline文件以获取APK的包名;S3、解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
优选地,所述Hal层管理模块包括若干接口,所述接口用于基于getpid函数获取APK的进程号,用于读取cmdline文件以获取APK的包名,还用于解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
优选地,所述接口基于C语言实现。
本发明采用的技术方案另一方面为一种APK权限管理装置,该装置用于为Android系统增加Hal层管理模块,所述Hal层管理模块用于获取APK注册的申请权限信息并基于申请权限信息控制APK对Hal层接口的访问。
优选地,所述Hal层管理模块获取APK注册的申请权限信息的步骤包括:S1、基于getpid函数获取APK的进程号;S2、读取cmdline文件以获取APK的包名;S3、解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
优选地,所述Hal层管理模块包括若干接口,所述接口用于基于getpid函数获取APK的进程号,用于读取cmdline文件以获取APK的包名,还用于解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
优选地,所述接口基于C语言实现。
本发明采用的技术方案另一方面为一种Android系统,所述系统包括Hal层管理模块,所述Hal层管理模块用于获取APK注册的申请权限信息并基于申请权限信息控制APK对Hal层接口的访问。
本发明的有益效果为通过增加一个Hal层管理模块,获取APK的申请的访问权限,通过监视进程获取APK的访问操作,基于申请的访问权限判断并处理访问操作,能够在Hal层上实现对APK的监控,防止APK越过framework层进行访问,能够增加Android系统的防护能力。
附图说明
图1所示为基于本发明实施例的获取APK注册的申请权限信息的流程图;
图2所示为基于本发明实施例的一种Android系统的示意图。
具体实施方式
以下结合实施例对本发明进行说明。
基于发明的实施例,一种APK权限管理方法,为Android系统增加Hal层管理模块,所述Hal层管理模块用于获取APK注册的申请权限信息并基于申请权限信息控制APK对Hal层接口的访问。
通过在Android系统里面附加一个新的模块(Hal层管理模块),对APK的相关进程进行监控,防止其避过framework层而直接调用Hal层的接口,由于正常的APK在启动的时候会登入其申请的权限(一般存储在AndroidManifest.xml文件中),因此Hal层管理模块会通过读取记载着正式的申请的权限的文件,获取该APK的申请的权限,同时基于该申请的权限的信息控制APK对Hal层接口的访问,即正式登陆过的权限会让其执行,没有申请的权限则认为其非法并禁止其执行。
如图1所示流程图,所述Hal层管理模块获取APK注册的申请权限信息的步骤包括:S1、基于getpid函数获取APK的进程号;S2、读取cmdline文件以获取APK的包名;S3、解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
所有安装的apk申请的权限,最后会统一注册到/data/system/packages.xml;基于getpid函数获得APK的进程号(首先,Hal层管理模块实时接收到访问Hal层的进程的信息,区别出那些是APK发出的进程,通过getpid函数追溯属于APK的进程的来源,即对应的APK的进程号);有了进程号之后,通过读取 /proc/(pid)/cmdline文件以获取当前APK的包名;知道包名之后,解析/data/system/packages.xml查询到对应包名位置,就可以解析出apk申请了哪些权限,标记这些信息为申请权限信息。
所述Hal层管理模块包括若干接口,所述接口用于基于getpid函数获取APK的进程号,用于读取cmdline文件以获取APK的包名,还用于解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
Hal层管理模块主要的结构为一套接口,可以供Hal层实用,通过这一套接口,实现上述的用于基于getpid函数获取APK的进程号,用于读取cmdline文件以获取APK的包名,还用于解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息等功能。
所述接口基于C语言实现。
接口的编写语言主要为C语言。
基于本发明的实施例,一种APK权限管理装置,该装置用于为Android系统增加Hal层管理模块,所述Hal层管理模块用于获取APK注册的申请权限信息并基于申请权限信息控制APK对Hal层接口的访问。
所述Hal层管理模块获取APK注册的申请权限信息的步骤包括:S1、基于getpid函数获取APK的进程号;S2、读取cmdline文件以获取APK的包名;S3、解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
所述Hal层管理模块包括若干接口,所述接口用于基于getpid函数获取APK的进程号,用于读取cmdline文件以获取APK的包名,还用于解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
所述接口基于C语言实现。
基于本发明的实施例,一种Android系统,其特征在于,所述系统包括Hal层管理模块,所述Hal层管理模块用于获取APK注册的申请权限信息并基于申请权限信息控制APK对Hal层接口的访问。
该Android系统相较一般的系统,多了用于增加系统安全性的Hal层管理模块,该Hal层管理模块的作用与上述实施例的Hal层管理模块一致,能够提高Android系统的安全性。
如图2所述的一种Android系统的示意图,首先,APK启动的时候,在AndroidManifest.xml中申请权限,同时调用APK自己写的SO库,然后这个SO库里面会使用dlopen函数调用系统Hal层提供的SO库,起到操作设备的目的(即执行相关的操作),而本系统能在这个阶段,通过对比APK的操作和其在AndroidManifest.xml中申请的权限(是否存在),判断是否进行了正式的申请,如果其操作符合其申请的权限,则允许其继续执行操作,否则不允许操作。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (9)

1.一种APK权限管理方法,其特征在于,为Android系统增加Hal层管理模块,所述Hal层管理模块用于获取APK注册的申请权限信息并基于申请权限信息控制APK对Hal层接口的访问。
2.根据权利要求1所述的一种APK权限管理方法,其特征在于,所述Hal层管理模块获取APK注册的申请权限信息的步骤包括:
S1、基于getpid函数获取APK的进程号;
S2、读取cmdline文件以获取APK的包名;
S3、解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
3.根据权利要求2所述的一种APK权限管理方法,其特征在于,所述Hal层管理模块包括若干接口,所述接口用于基于getpid函数获取APK的进程号,用于读取cmdline文件以获取APK的包名,还用于解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
4.根据权利要求3所述的一种APK权限管理方法,其特征在于,所述接口基于C语言实现。
5.一种APK权限管理装置,其特征在于,该装置用于为Android系统增加Hal层管理模块,所述Hal层管理模块用于获取APK注册的申请权限信息并基于申请权限信息控制APK对Hal层接口的访问。
6.根据权利要求5所述的一种APK权限管理装置,其特征在于,所述Hal层管理模块获取APK注册的申请权限信息的步骤包括:
S1、基于getpid函数获取APK的进程号;
S2、读取cmdline文件以获取APK的包名;
S3、解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
7.根据权利要求6所述的一种APK权限管理装置,其特征在于,所述Hal层管理模块包括若干接口,所述接口用于基于getpid函数获取APK的进程号,用于读取cmdline文件以获取APK的包名,还用于解析packages.xml文件以获取APK申请的访问权限,标记其为申请权限信息。
8.根据权利要求7所述的一种APK权限管理装置,其特征在于,所述接口基于C语言实现。
9.一种Android系统,其特征在于,所述系统包括Hal层管理模块,所述Hal层管理模块用于获取APK注册的申请权限信息并基于申请权限信息控制APK对Hal层接口的访问。
CN201610839150.0A 2016-09-21 2016-09-21 一种apk权限管理方法、装置和系统 Pending CN106506445A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610839150.0A CN106506445A (zh) 2016-09-21 2016-09-21 一种apk权限管理方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610839150.0A CN106506445A (zh) 2016-09-21 2016-09-21 一种apk权限管理方法、装置和系统

Publications (1)

Publication Number Publication Date
CN106506445A true CN106506445A (zh) 2017-03-15

Family

ID=58290887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610839150.0A Pending CN106506445A (zh) 2016-09-21 2016-09-21 一种apk权限管理方法、装置和系统

Country Status (1)

Country Link
CN (1) CN106506445A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563564A (zh) * 2018-04-02 2018-09-21 上海畅联智融通讯科技有限公司 终端人机接口测试方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077018A (zh) * 2012-12-27 2013-05-01 广州英码信息科技有限公司 一种基于安卓系统的设备接口的控制方法及系统
CN104038821A (zh) * 2014-06-09 2014-09-10 四川长虹电器股份有限公司 统一收集Android电视各功能模块故障信息的方法
CN104794374A (zh) * 2015-04-16 2015-07-22 香港中文大学深圳研究院 一种用于安卓系统的应用权限管理方法和装置
US20160132665A1 (en) * 2011-07-13 2016-05-12 Salesforce.Com, Inc. Mechanism for facilitating management of data in an on-demand services environment
CN106027365A (zh) * 2016-04-29 2016-10-12 乐视控股(北京)有限公司 一种信息交互的方法及装置
CN106055983A (zh) * 2016-07-27 2016-10-26 北京鼎源科技有限公司 一种基于IDA通信的Android应用反调试方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160132665A1 (en) * 2011-07-13 2016-05-12 Salesforce.Com, Inc. Mechanism for facilitating management of data in an on-demand services environment
CN103077018A (zh) * 2012-12-27 2013-05-01 广州英码信息科技有限公司 一种基于安卓系统的设备接口的控制方法及系统
CN104038821A (zh) * 2014-06-09 2014-09-10 四川长虹电器股份有限公司 统一收集Android电视各功能模块故障信息的方法
CN104794374A (zh) * 2015-04-16 2015-07-22 香港中文大学深圳研究院 一种用于安卓系统的应用权限管理方法和装置
CN106027365A (zh) * 2016-04-29 2016-10-12 乐视控股(北京)有限公司 一种信息交互的方法及装置
CN106055983A (zh) * 2016-07-27 2016-10-26 北京鼎源科技有限公司 一种基于IDA通信的Android应用反调试方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108563564A (zh) * 2018-04-02 2018-09-21 上海畅联智融通讯科技有限公司 终端人机接口测试方法及系统
CN108563564B (zh) * 2018-04-02 2021-06-18 上海畅联智融通讯科技有限公司 终端人机接口测试方法及系统

Similar Documents

Publication Publication Date Title
US9141801B2 (en) Apparatus and method for analyzing permission of application for mobile devices and detecting risk
CN105354488B (zh) 一种应用安装方法、相关装置及应用安装系统
CN103744686B (zh) 智能终端中应用安装的控制方法和系统
CN106775716A (zh) 一种基于度量机制的可信plc启动方法
CN108574709B (zh) 跨域操作的实现方法和装置
CN102622311A (zh) Usb移动存储设备访问控制方法、装置及系统
CN107016282B (zh) 一种信息处理方法及装置
CN113794569B (zh) 基于区块链的物资盘点数据提供方法、装置及系统
CN104199654A (zh) 开放平台的调用方法及装置
WO2016033966A1 (zh) 应用数据的保护方法及装置
DE112020000792T5 (de) Durch grafikverarbeitungseinheit beschleunigte vertrauenswürdige ausführungsumgebung
CN107517124A (zh) 基于tcp协议远程配置版本管理软件svn权限的方法及装置
CN104508676B (zh) 虚拟机中的强制保护控制
CN104156660A (zh) 一种基于运行环境状态的Android权限细粒度访问控制方法
CN102902911A (zh) 一种在Java虚拟机中安全运行第三方代码的方法
CN103902884A (zh) 虚拟机数据保护系统和方法
CN105049445A (zh) 一种访问控制方法及独立式访问控制器
CN109992489B (zh) 一种用于监控用户设备中应用的执行行为的方法与设备
CN105337995A (zh) 一种智能卡快速个人化方法及系统
CN104951707A (zh) 基于Android平台的敏感资源访问控制策略系统
CN106506445A (zh) 一种apk权限管理方法、装置和系统
CN108229115A (zh) 一种鉴权方法及装置
CN104462898B (zh) 基于Android系统的目标文件保护方法及装置
CN104021074A (zh) PhoneGap框架的应用程序的漏洞检测方法及装置
EP3286682A1 (en) Method of managing applications in a secure element when updating the operating system

Legal Events

Date Code Title Description
C06 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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170315