一种Android平台修复系统库漏洞方法及装置与流程

文档序号:13673784阅读:123来源:国知局
技术领域本发明涉及一种漏洞修复的方法及装置,特别是关于一种Android平台修复系统库漏洞方法及装置。

背景技术:
目前,Android作为一个主流的智能手机操作系统,其安全性备受广大用户的关注。在影响Android安全性的众多因素中,系统库漏洞尤为突出。近些年曝光的大量高危系统库漏洞,给Android安全性带来了巨大挑战。相对于只影响某个特定应用的应用层漏洞而言,系统库漏洞对整个系统的影响更大且更难以修复。一方面,应用程序的运行需要依赖于系统库提供相应的支持,如果一个系统库存在漏洞,则会影响所有使用这一系统库的应用程序;另一方面,系统库漏洞无法在应用层修复,当前对系统库漏洞的修复主要依赖于Google或者设备厂商提供补丁支持。由于Android系统版本的碎片化,许多系统库漏洞得不到及时有效的补丁支持。当一个系统漏洞被发现之后,Google致力于为当前主要流行的Android系统提供补丁,却不承诺甚至拒绝为历史版本的Android系统提供补丁。在这种补丁策略之下,对于Android用户而言,最可靠和切实可行的漏洞修复方式就是系统升级。大多数设备厂商只为其生产的手机提供一段时间的升级支持,有些设备厂商甚至不对其为运营商定制的手机提供系统升级支持。此外,即便一款手机能够得到系统更新的支持,从Google发布系统更新到设备厂商最终将更新分发到用户手机上,依然有数月的时间间隔。基于上述原因,大量正在使用的Android手机含有许多已被曝光的高危系统漏洞。现有的第三方系统库漏洞修复技术需要用户对手机进行刷机或者ROOT操作,以便将补丁植入到含有漏洞的系统库中。但是,刷机和ROOT操作存在一定的风险,难以被用户所接受。因此,亟需一种新的漏洞修复技术,能够在不刷机、不ROOT设备的情况下,为系统库漏洞提供修复。

技术实现要素:
针对上述问题,本发明的目的是提供一种Android平台修复系统库漏洞方法及装置,可以在不刷机、不ROOT设备的情况下为系统库漏洞提供及时有效的修复。为实现上述目的,本发明采取以下技术方案:一种Android平台修复系统库漏洞方法,其特征在于包括以下步骤:1)构建修复后的系统库文件,将修复后的系统库文件导入Android设备中;2)调整目标应用,引入执行环境重构模块,并令入口类指向执行环境重构模块;3)在调整后的目标应用装载过程中重构执行环境,新的执行环境使用修复后的系统库。优选地,所述步骤1)中修复系统库的步骤如下:1.1)通过在源码上打补丁或者重写系统库文件方式,生成修复后的系统库文件;1.2)将修复后的系统库文件导入Android设备中。优选地,所述步骤2)中,执行环境重构模块引入方法如下:2.1)解包目标应用,生成的文件目录包含目标应用代码文件和目标应用配置文件;2.2)在目标应用代码文件中引入执行环境重构模块;2.3)在目标应用配置文件中修改入口类声明,使入口类指向执行环境重构模块;2.4)将解包生成的文件目录重新打包,生成调整后的目标应用。优选地,所述步骤3)中,执行环境重构方法如下:3.1)目标应用装载时,清除目标应用的初始执行环境;3.2)设置环境变量,指定嵌入修复后的系统库文件所在路径作为系统库的搜索路径;3.3)为目标应用建立新的执行环境,该执行环境从新设置的系统库搜索路径中装载系统库;3.4)重新装载目标应用后,目标应用引用嵌入修复后的系统库。一种Android平台修复系统库漏洞装置,其特征在于它包括系统库漏洞修复模块、目标应用调整模块和执行环境重构模块;所述系统库漏洞修复模块修复含有漏洞的系统库文件,将修复后的系统库文件导入Android设备内;所述目标应用调整模块引入执行环境重构模块,所述执行环境重构模块内使目标应用嵌入修复后的系统库。优选地,所述系统库漏洞修复模块包括漏洞修复单元和系统库导入单元;含有漏洞的系统库文件经所述漏洞修复单元进行补丁修复,通过所述系统库导入单元将系统库文件导入Android设备内。优选地,所述目标应用调整模块包括应用程序解包单元、入口类修改单元和应用程序打包单元;所述应用程序解包单元解包目标应用,所述入口类修改单元引入执行环境重构模块并修改入口类声明,所述应用程序打包单元重新打包文件目录。优选地,所述执行环境重构模块包括执行环境清除单元、环境变量设置单元、执行环境新建单元和目标应用装载单元;所述执行环境清除单元清除初始执行环境,所述环境变量设置单元设置目标应用的环境变量,所述执行环境新建单元为目标应用建立新的执行环境,所述目标应用装载单元重新装载目标应用。本发明由于采取以上技术方案,其具有以下优点:1、本发明提供了一种切实可行的系统库漏洞修复方案,使得用户无需依赖Google或者设备厂商也能进行漏洞修复。2、本发明无需刷机及ROOT终端设备,便可以在Android平台上对存在漏洞的系统库进行修复,以保护特定的目标应用。附图说明图1是本发明方法的整体流程示意图;图2是本发明构建修复后的系统库的流程示意图;图3是本发明调整目标应用的流程示意图;图4是本发明目标应用重构执行环境的流程示意图;图5是本发明整体装置的原理示意图。具体实施方式下面结合附图和实施例对本发明进行详细的描述。如图1所示,本发明提供一种Android平台修复系统库漏洞方法,包括以下步骤:1)构建修复后的系统库文件,将修复后的系统库文件导入Android设备中;其中,如图2所示,修复系统库的步骤如下:(1)通过在源码上打补丁或者重写系统库文件等方式,生成修复后的系统库文件;(2)将修复后的系统库文件导入Android设备中。2)调整目标应用,引入执行环境重构模块,并令入口类指向执行环境重构模块;其中,如图3所示,执行环境重构模块引入方法步骤如下:(1)解包目标应用,生成的文件目录包含目标应用代码文件和目标应用配置文件;(2)在目标应用代码文件中引入执行环境重构模块;(3)在目标应用配置文件中修改入口类声明,使入口类指向执行环境重构模块;(4)将解包生成的文件目录重新打包,生成调整后的目标应用。3)在调整后的目标应用装载过程中重构执行环境,通过执行环境重构模块清除初始执行环境,并重构一个新的执行环境,新的执行环境将使用修复后的系统库;其中,如图4所示,执行环境重构方法步骤如下:(1)目标应用装载时,清除目标应用的初始执行环境,从而切断目标应用对原始系统库的引用;(2)设置环境变量,指定嵌入修复后的系统库文件所在路径作为系统库的搜索路径;(3)为目标应用建立新的执行环境,该执行环境从新设置的系统库搜索路径中装载系统库;(4)重新装载目标应用后,则目标应用引用修复后的系统库。如图5所示,本发明还提供一种Android平台修复系统库漏洞装置,其包括系统库漏洞修复模块1、目标应用调整模块2和执行环境重构模块3。含有漏洞的系统库文件经系统库漏洞修复模块1修复后,将修复后的系统库文件导入Android设备内;目标应用在目标应用调整模块2内导入执行环境重构模块3,并令应用入口类指向执行环境重构模块3。调整后的目标应用在执行环境重构模块3内重构执行环境,使目标应用嵌入修复后的系统库。上述实施例中,系统库漏洞修复模块1包括漏洞修复单元4和系统库导入单元5。含有漏洞的系统库文件经漏洞修复单元4进行补丁修复;修复完成后,通过系统库导入单元5将系统库文件导入Android设备内。上述各实施例中,目标应用调整模块2包括应用程序解包单元6、入口类修改单元7和应用程序打包单元8。应用程序解包单元6解包目标应用后,生成的文件目录包含目标应用代码文件和目标应用配置文件。目标应用代码文件经入口类修改单元7引入执行环境重构模块3,在目标应用配置文件内修改入口类声明,使入口类指向执行环境重构模块3。经应用程序打包单元8重新打包文件目录,生成调整后的目标应用。上述各实施例中,执行环境重构模块3包括执行环境清除单元9、环境变量设置单元10、执行环境新建单元11和目标应用装载单元12。调整后的目标应用在运行时经执行环境清除单元9清除初始执行环境,用于切断目标应用对原始系统库的引用,然后通过环境变量设置单元10设置目标应用的环境变量,并指定嵌入修复后的系统库文件所在路径作为系统库的搜索路径。执行环境新建单元11为目标应用建立新的执行环境,该执行环境会从环境变量设置单元10设置的系统库的搜索路径中装载系统库,目标应用装载单元12重新装载目标应用,重装载后的目标应用引用嵌入修复后的系统库。上述各实施例仅用于说明本发明,各部件的结构、尺寸、设置位置及形状都是可以有所变化的,在本发明技术方案的基础上,凡根据本发明原理对个别部件进行的改进和等同变换,均不应排除在本发明的保护范围之外。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1