一种安卓系统APK监控管理方法及其装置与流程

文档序号:12363362阅读:540来源:国知局
一种安卓系统APK监控管理方法及其装置与流程

本发明涉及嵌入式安卓系统应用程序的安全性和稳定性技术领域,尤其涉及一种安卓系统APK监控管理方法及其装置。



背景技术:

Android是一种基于Linux的自由及开放源代码的操作系统,主要是用于移动设备,如智能手机和平板电脑等,由Google公司和开放手机联盟领导及开发。该平台由操作系统、中间件、用户界面和应用软件组成。由于其源码开放且硬件丰富易于开发,被广泛用于嵌入式产品中。

但同时鉴于目前的嵌入式安卓系统中安装包APK的卸载和安装的灵活性,导致其易被不法者植入恶意程序,引起设备异常,甚至影响用户信息安全。对于安全性能要求极高的一些嵌入式安卓终端产品,比如Mini刷卡机、移动Mini终端等,其业务的保密性要求极高,如果APK被篡改或卸载,对于用户来说,存在很大风险。同时,对于无操作界面的嵌入式安卓系统设备而言,由于无界面提示框,其隐藏的风险更大。

因此,一种对APK的保护机制,在开发这些安全性能要求极高设备中是必不可少的一项需求。当前对APK的加密的方法已经有很多了。但是无法实时检测APK是否已启动,无法实时检测APK是否运行正常,以及无法确认正在运行的APK是否是发行者原版本的APK。所以,本专利申请文件就是通过一种APK监测管理装置,实时监控APK的运行状态,同时对异常的APK进行还原。



技术实现要素:

本发明要解决的技术问题之一,在于提供一种安卓系统APK监控管理方法,可以实时监测APK的运行状态,有效防止APK被恶意破坏或卸载。同时,本发明具有自动还原正常的APK的功能,有效的保证设备运行的稳定。

本发明的技术问题之一是这样实现的:一种安卓系统APK监控管理方法,所述方法为:

对所有被监控APK的相关信息进行注册;

设置一APK监控服务ApkManagerServer,通过APK监控服务ApkManagerServer对被监控APK的启动监测;

被监控APK与监控服务ApkManagerServer的交互验证,从而实现对APK的监控管理。

进一步的,所述对所有被监控APK的相关信息进行注册,具体为:设备启动前,对所有被监控APK信息进行注册,即将APK的安装包名、与监控服务交互密码、备份APK的安装路径、以及是否是自启动APK标志的信息写入到一配置文件中,并对配置文件加密后放入到安卓系统盘可读写的目录下。

进一步的,所述设置一APK监控服务ApkManagerServer,通过APK监控服务ApkManagerServer对被监控APK的启动监测,具体为:在安卓系统框架层添加APK监控服务ApkManagerServer,在设备启动后,自动启动该服务;

APK监控服务ApkManagerServer拷贝被监控APK信息的加密配置文件到不可读写目录/system,并删除可读写盘下的配置文件;然后解密加密的配置文件后,读取出被监控APK信息列表中的所有信息;

APK监控服务ApkManagerServer根据获取到的被检测APK信息中是否是自启动APK标志,判断是否需要做APK启动超时检测,若是且超时,则会在一设定时间内启动APK;若不是,则会始终检测直到APK启动。

进一步的,所述被监控APK与监控服务ApkManagerServer的交互验证,从而实现对APK的监控管理,具体为:当被监测APK启动后,进行与APK监控服务ApkManagerServer交互验证,验证方式是APK监控服务ApkManagerServer会等待被监测APK往指定系统属性表中写入验证码,如果该验证码与APK信息表中与监控服务交互密码一致,则认为该APK是安全的;如果不一样,就强制卸载APK;然后启动APK自动安装流程,开始根据APK信息表中信息,从安全备份区安装原始APK。

进一步的,被监控APK启动后,必须往系统属性表persist.sys.code中写入指定的验证码,该验证码必须满足与系统已保存的与监控服务交互密码一致,才能正常运行,否则视为不可靠应用,会被APK监控服务ApkManagerServer卸载。

本发明要解决的技术问题之二,在于提供一种安卓系统APK监控管理装置,可以实时监测APK的运行状态,有效防止APK被恶意破坏或卸载。同时,本发明具有自动还原正常的APK的功能,有效的保证设备运行的稳定。

本发明的技术问题之二是这样实现的:一种安卓系统APK监控管理装置,所述装置包括注册模块、设置模块以及交互验证模块,

所述注册模块,用于对所有被监控APK的相关信息进行注册;

所述设置模块,用于设置一APK监控服务ApkManagerServer,通过APK监控服务ApkManagerServer对被监控APK的启动监测;

所述交互验证模块,用于被监控APK与监控服务ApkManagerServer的交互验证,从而实现对APK的监控管理。

进一步的,所述注册模块具体实现方式为:设备启动前,对所有被监控APK信息进行注册,即将APK的安装包名、与监控服务交互密码、备份APK的安装路径、以及是否是自启动APK标志的信息写入到一配置文件中,并对配置文件加密后放入到安卓系统盘可读写的目录下。

进一步的,所述设置模块具体实现方式为:在安卓系统框架层添加APK监控服务ApkManagerServer,在设备启动后,自动启动该服务;

APK监控服务ApkManagerServer拷贝被监控APK信息的加密配置文件到不可读写目录/system,并删除可读写盘下的配置文件;然后解密加密的配置文件后,读取出被监控APK信息列表中的所有信息;

APK监控服务ApkManagerServer根据获取到的被检测APK信息中是否是自启动APK标志,判断是否需要做APK启动超时检测,若是且超时,则会在一设定时间内启动APK;若不是,则会始终检测直到APK启动。

进一步的,所述交互验证模块具体实现方式为:当被监测APK启动后,进行与APK监控服务ApkManagerServer交互验证,验证方式是APK监控服务ApkManagerServer会等待被监测APK往指定系统属性表中写入验证码,如果该验证码与APK信息表中与监控服务交互密码一致,则认为该APK是安全的;如果不一样,就强制卸载APK;然后启动APK自动安装流程,开始根据APK信息表中信息,从安全备份区安装原始APK。

本发明具有如下优点:本发明可以实时监测APK的运行状态,可以有效防止APK被恶意破坏或卸载。同时,本发明具有自动还原正常的APK的功能,有效的保证设备运行的稳定。与现有的一些APK加密保护完全不同,本发明可以在有效时间内启动APK,对异常APK可以进行强制卸载并还原安全的APK。

附图说明

图1为本发明的方法流程示意图。

图2为本发明的原理框架图。

图3为本发明的APK信息表更新流程图。

图4为本发明的APK信息表初始化流程。

图5为本发明的APK自启动监控流程图。

图6为本发明的APK异常处理流程图。

图7为本发明装置的原理框架图。

具体实施方式

请参阅图1和图6所示,本发明的一种安卓系统APK监控管理方法,所述方法在安卓系统框架层上添加一个APK监控服务,所述APK监控服务用来对某个或多个APK进行安全监测;同时,对于异常的APK,进行强制卸载,并替换为系统中备份的安全APK;所述方法为:

对所有被监控APK相关信息进行注册;

设置一APK监控服务ApkManagerServer,通过APK监控服务ApkManagerServer对被监控APK的启动监测;

被监控APK与监控服务ApkManagerServer的交互验证,从而实现对APK的监控管理。

实现过程如下:

所述对所有被监控APK的相关信息进行注册,具体为:1)设备启动前,先需要对所有被监控APK信息进行注册,即将APK的安装包名、与监控服务交互密码、备份APK的安装路径和是否是自启动APK标志等信息按照一定格式写入到配置文件中,并进行配置文件加密后,将配置文件放入到系统盘可读写目录下。

所述设置一APK监控服务ApkManagerServer,通过APK监控服务ApkManagerServer对被监控APK的启动监测,具体为:2)在安卓系统框架层添加系统级服务ApkManagerServer,在设备启动后,自动启动该服务。

3)APK监控服务ApkManagerServer拷贝被监控APK信息配置文件到不可读写目录/system,并删除可读写盘下的配置文件。然后解密文件后,读取出被监控APK信息列表中的所有信息。

4)APK监控服务ApkManagerServer根据获取到的被检测APK信息中是否是自启动APK标志,判断是否需要做APK启动超时检测。若是且超时,则会在一定时间内启动的APK。若不是,则会始终检测直到APK启动。

所述被监控APK与监控服务ApkManagerServer的交互验证,从而实现对APK的监控管理,具体为:5)当被监测APK启动后,就开始进行与ApkManagerServer的交互验证。验证方式是ApkManagerServer会等待被监测APK往指定系统属性表中写入验证码,如果该验证码与APK信息表中与监控服务交互密码一致,则认为该APK是安全的。如果不一样,就强制卸载APK。然后启动APK自动安装流程,开始根据APK信息表中信息,从安全备份区安装原始APK。

鉴于安卓系统源码在软件行业的普遍应用,现就安卓源码的基础上,做如下几点详细说明:

1.frameworks\base\services\java\com\android\server下增加APK监控服务AppManagerService.java,服务在后台始终检测需要监控的APK是否异常。

2.APK的信息更新维护。

在APK信息中需要注册信息有:

1)被监控APK安装包名称

2)被监控APK是否自启动标志

3)被监控APK的预安装路径

4)被监控APK与AppManagerService交互验证密码

该信息以文件形式进行加密后,放入系统盘可读写目录下。一旦监测APK服务AppManagerService启动就会读取APK信息表,并存入到新的系统路径下。删除原始系统盘可读写目录路径下信息表。

3.被监控APK写入交互验证码。

被监控APK启动后,必须马上往系统属性表persist.sys.code中写入指定的验证码,该验证码必须满足与系统已保存的与监控服务交互密码一致,才可正常运行,否则视为不可靠应用,会被AppManagerService卸载。

本发明实施步骤如下:

1.根据实际应用需求,创建一个APK信息表。

步骤1:

创建一个配置文件(即APK信息表),文件名为apk_config.xml。例如:

其中:

apk_name:APK安装包名称。

apk_start:APK是否自启动标志。1表示“是”,0表示“否”。

apk_path:APK预安装路径

apk_code:与监控服务交互密码

步骤2:apk_config.xml文件进行加密。

步骤3:拷贝apk_config.xml文件到APK到可读写目录(如sdcard目录)下。

2.在系统中创建一个APK监控服务ApkManagerServer

步骤1:判读APK信息表是否更新,若有更新,校验信息表文件,并确认是否有效,有效则拷贝新APK信息表到系统盘,否则直接删除。具体操作如图3。

步骤2:读取系统盘APK信息表文件,获取需要检测APK总个数n。根据APK总个数,创建n个APK应答验证码属性表,并清为0。具体操作如图4。

步骤3:判断需要每个被监测的APK是否是自启动APK,若是则超时检测APK是否启动,若否则始终等待APK直到启动运行。若是自启动APK且超时未启动,则从APK预安装路径中获取原始安装包,重新安装程序。安装成功后,将原始APK的相关信息,写入到配置文件/system/apk_config.xml的对应位置若APK正常启动,就进入下一步操作。具体操作如图5。

步骤4:判断启动的APK是否未被篡改,在服务监测到APK启动后,会超时等待对应的APK应答验证码属性表是否和APK信息表中系统的交互密码apk_code一致。正常的APK会在启动时,往APK信息表序列号对应的系统属性表中写入对应的验证码。例如:System.setProperty("persist.apk.code1","1234");

若二者验证超时或密码不一致,说明APK异常,卸载APK,并从APK对应的预安装原始包中,重新安装程序。安装成功后,将原始APK的相关信息,写入到配置文件/system/apk_config.xml的对应位置。若密码一致,说明程序安全,系统服务进入监测APK是否被卸载监测。若检测到APK被外部重安装,则从步骤3开始重新检测。具体操作如图6。

如图7所示,本发明的一种安卓系统APK监控管理装置,所述装置包括注册模块、设置模块以及交互验证模块,

所述注册模块,用于对所有被监控APK的相关信息进行注册;

所述设置模块,用于设置一APK监控服务ApkManagerServer,通过APK监控服务ApkManagerServer对被监控APK的启动监测;

所述交互验证模块,用于被监控APK与监控服务ApkManagerServer的交互验证,从而实现对APK的监控管理。

所述注册模块具体实现方式为:设备启动前,对所有被监控APK信息进行注册,即将APK的安装包名、与监控服务交互密码、备份APK的安装路径、以及是否是自启动APK标志的信息写入到一配置文件中,并对配置文件加密后放入到安卓系统盘可读写的目录下。

所述设置模块具体实现方式为:在安卓系统框架层添加APK监控服务ApkManagerServer,在设备启动后,自动启动该服务;

APK监控服务ApkManagerServer拷贝被监控APK信息的加密配置文件到不可读写目录/system,并删除可读写盘下的配置文件;然后解密加密的配置文件后,读取出被监控APK信息列表中的所有信息;

APK监控服务ApkManagerServer根据获取到的被检测APK信息中是否是自启动APK标志,判断是否需要做APK启动超时检测,若是且超时,则会在一设定时间内启动APK;若不是,则会始终检测直到APK启动。

所述交互验证模块具体实现方式为:当被监测APK启动后,进行与APK监控服务ApkManagerServer交互验证,验证方式是APK监控服务ApkManagerServer会等待被监测APK往指定系统属性表中写入验证码,如果该验证码与APK信息表中与监控服务交互密码一致,则认为该APK是安全的;如果不一样,就强制卸载APK;然后启动APK自动安装流程,开始根据APK信息表中信息,从安全备份区安装原始APK。

总之,本发明可以实时监测APK的运行状态,可以有效防止APK被恶意破坏或卸载。同时,本发明具有自动还原正常的APK的功能,有效的保证设备运行的稳定。与现有的一些APK加密保护完全不同,本发明可以在有效时间内启动APK,对异常APK可以进行强制卸载并还原安全的APK。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

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