CN105740701A - 一种Android平台应用执行环境重构方法及装置 - Google Patents

一种Android平台应用执行环境重构方法及装置 Download PDF

Info

Publication number
CN105740701A
CN105740701A CN201610069247.8A CN201610069247A CN105740701A CN 105740701 A CN105740701 A CN 105740701A CN 201610069247 A CN201610069247 A CN 201610069247A CN 105740701 A CN105740701 A CN 105740701A
Authority
CN
China
Prior art keywords
intended application
execution environment
environment
application
reconstructed module
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
CN201610069247.8A
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.)
Renmin University of China
Original Assignee
Renmin University of China
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 Renmin University of China filed Critical Renmin University of China
Priority to CN201610069247.8A priority Critical patent/CN105740701A/zh
Publication of CN105740701A publication Critical patent/CN105740701A/zh
Pending legal-status Critical Current

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种Android平台应用执行环境重构方法及装置,它包括以下步骤:1)调整目标应用,引入执行环境重构模块,并令应用入口类指向执行环境重构模块;2)在调整后的目标应用装载过程中重构执行环境,新的执行环境将使用嵌入安全增强与安全分析功能的系统库。本发明的装置包括目标应用调整模块和执行环境重构模块。本发明可以在不刷机、不ROOT设备的情况下部署新的安全机制,为特定目标应用提供安全增强与安全分析的支持,切实提高了安全增强与安全分析工具的可部署性。

Description

一种Android平台应用执行环境重构方法及装置
技术领域
本发明涉及一种应用执行环境重构方法及装置,特别是关于一种Android平台应用执行环境重构方法及装置。
背景技术
目前,Android作为一个主流的智能手机操作系统,其安全性受到广泛关注。在Android平台上已有许多围绕安全增强和安全分析进行的相关工作,主要包括为系统漏洞提供补丁修复、增强标准Android安全模型,以及对恶意应用的行为进行分析和监控。这些工作在一定程度上提高了Android系统的安全性。然而,这些安全增强与分析工作的可部署性却未得到足够的关注。
部署安全增强与分析方案不可避免地需要对底层系统库文件进行修改。例如,为了修复一个系统库漏洞,需要对含有漏洞的系统库文件进行重写以嵌入补丁代码,或者使用修复后的系统库文件替换含有漏洞的系统库文件。为了增强标准Android安全模型,通常需要将额外引入的安全部件嵌入到底层系统库中。在恶意应用行为的分析和监控方面,不仅需要分析应用程序代码的执行情况,也需要对其所依赖的底层系统库的执行情况进行分析。
Android的安全模型限制了对底层系统库文件的修改。在Android平台上,系统库保存在一个特殊的目录下,该目录只允许root用户对其执行写操作。为了防止root权限被泛用,终端用户不被授予root权限。没有root权限,也就无法对底层系统库文件进行修改从而提高其安全性。这一限制给安全增强与分析方案的部署带来了不小的挑战。现有工作主要通过刷机和ROOT设备的方式来部署安全增强与分析方案。但是,刷机和ROOT方式存在一定的风险,通过刷机和ROOT的部署方式难以被用户所接受。
发明内容
针对上述问题,本发明的目的是提供一种Android平台应用执行环境重构方法及装置,其可以在不刷机、不ROOT设备的情况下部署新的安全机制。
为实现上述目的,本发明采取以下技术方案:一种Android平台应用执行环境重构方法,其特征在于包括以下步骤:1)调整目标应用,引入执行环境重构模块,并令入口类指向执行环境重构模块;2)在调整后的目标应用装载过程中重构执行环境,新的执行环境将使用嵌入安全增强与安全分析功能的系统库。
优选地,所述步骤1)中执行环境重构模块引入方法如下:1.1)解包目标应用,生成的文件目录包含目标应用代码文件和目标应用配置文件;1.2)在目标应用代码文件中引入执行环境重构模块;1.3)在目标应用配置文件中修改入口类声明,使入口类指向执行环境重构模块;1.4)将解包生成的文件目录重新打包,生成调整后的目标应用。
优选地,所述步骤2)中执行环境重构方法如下:2.1)目标应用装载时,清除目标应用的初始执行环境;2.2)设置环境变量,指定嵌入安全增强与安全分析功能的系统库文件所在路径作为系统库的搜索路径;2.3)为目标应用建立新的执行环境,该执行环境从新设置的系统库搜索路径中装载系统库;2.4)重新装载目标应用后,目标应用引用嵌入安全增强与安全分析功能的系统库。
一种Android平台应用执行环境重构装置,其特征在于它包括目标应用调整模块和执行环境重构模块;所述目标应用调整模块引入执行环境重构模块,所述执行环境重构模块内使目标应用嵌入安全增强与安全分析功能的系统库。
优选地,所述目标应用调整模块包括应用程序解包单元、入口类修改单元和应用程序打包单元;所述应用程序解包单元解包目标应用,所述入口类修改单元引入执行环境重构模块并修改入口类声明,所述应用程序打包单元重新打包文件目录。
优选地,所述执行环境重构模块包括执行环境清除单元、环境变量设置单元、执行环境新建单元和目标应用装载单元;所述执行环境清除单元清除初始执行环境,所述环境变量设置单元设置目标应用的环境变量,所述执行环境新建单元为目标应用建立新的执行环境,所述目标应用装载单元重新装载目标应用。
本发明由于采取以上技术方案,其具有以下优点:1、本发明提供了Android平台应用执行环境重构的方法,提高了安全增强与安全分析工具的可部署性。2、本发明提供了Android平台应用执行环境重构的装置,可以为特定目标应用提供安全增强与安全分析的支持。
附图说明
图1是本发明方法的整体流程示意图;
图2是本发明调整目标应用的流程示意图;
图3是本发明目标应用重构执行环境的流程示意图;
图4是本发明整体装置的原理示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
如图1所示,本发明提供一种Android平台应用执行环境重构方法,包括以下步骤:
1)调整目标应用,引入执行环境重构模块,并令入口类指向执行环境重构模块;
其中,如图2所示,执行环境重构模块引入方法步骤如下:
(1)解包目标应用,生成的文件目录包含目标应用代码文件和目标应用配置文件;
(2)在目标应用代码文件中引入执行环境重构模块;
(3)在目标应用配置文件中修改入口类声明,使入口类指向执行环境重构模块;
(4)将解包生成的文件目录重新打包,生成调整后的目标应用。
2)在调整后的目标应用装载过程中重构执行环境,通过执行环境重构模块清除初始执行环境,并重构一个新的执行环境,新的执行环境使用嵌入安全增强与安全分析功能的系统库;
其中,如图3所示,执行环境重构方法步骤如下:
(1)目标应用装载时,清除目标应用的初始执行环境,从而切断目标应用对原始系统库的引用;
(2)设置环境变量,指定嵌入安全增强与安全分析功能的系统库文件所在路径作为系统库的搜索路径;
(3)为目标应用建立新的执行环境,该执行环境从新设置的系统库搜索路径中装载系统库;
(4)重新装载目标应用后,则目标应用引用嵌入安全增强与安全分析功能的系统库。
如图4所示,本发明还提供一种Android平台应用执行环境重构的装置,其包括目标应用调整模块1和执行环境重构模块2。目标应用在目标应用调整模块1内导入执行环境重构模块2,并令入口类指向执行环境重构模块2。调整后的目标应用在执行环境重构模块2内重构执行环境,使目标应用嵌入安全增强与安全分析功能的系统库。目标应用调整模块1包括应用程序解包单元3、入口类修改单元4和应用程序打包单元5。执行环境重构模块2包括执行环境清除单元6、环境变量设置单元7、执行环境新建单元8和目标应用装载单元9。应用程序解包单元3解包目标应用后,生成的文件目录包含目标应用代码文件和目标应用配置文件。目标应用代码文件经入口类修改单元4引入执行环境重构模块,在目标应用配置文件内修改入口类声明,使入口类指向执行环境重构模块2。经应用程序打包单元5重新打包文件目录,生成调整后的目标应用。调整后的目标应用在运行时经执行环境清除单元6清除初始执行环境,用于切断目标应用对原始系统库的引用,然后通过环境变量设置单元7设置目标应用的环境变量,并指定嵌入安全增强与安全分析功能的系统库文件所在路径作为系统库的搜索路径。执行环境新建单元8为目标应用建立新的执行环境,该执行环境从环境变量设置单元7设置的系统库的搜索路径中装载系统库,目标应用装载单元9重新装载目标应用,重装载后的目标应用引用嵌入安全增强与安全分析功能的系统库。
上述各实施例仅用于说明本发明,各部件的结构、尺寸、设置位置及形状都是可以有所变化的,在本发明技术方案的基础上,凡根据本发明原理对个别部件进行的改进和等同变换,均不应排除在本发明的保护范围之外。

Claims (6)

1.一种Android平台应用执行环境重构方法,其特征在于包括以下步骤:
1)调整目标应用,引入执行环境重构模块,并令入口类指向执行环境重构模块;
2)在调整后的目标应用装载过程中重构执行环境,新的执行环境将使用嵌入安全增强与安全分析功能的系统库。
2.如权利要求1所述的一种Android平台应用执行环境重构方法,其特征在于:所述步骤1)中,执行环境重构模块引入方法如下:
1.1)解包目标应用,生成的文件目录包含目标应用代码文件和目标应用配置文件;
1.2)在目标应用代码文件中引入执行环境重构模块;
1.3)在目标应用配置文件中修改入口类声明,使入口类指向执行环境重构模块;
1.4)将解包生成的文件目录重新打包,生成调整后的目标应用。
3.如权利要求1或2所述的一种Android平台应用执行环境重构方法,其特征在于:所述步骤2)中,执行环境重构方法如下:
2.1)目标应用装载时,清除目标应用的初始执行环境;
2.2)设置环境变量,指定嵌入安全增强与安全分析功能的系统库文件所在路径作为系统库的搜索路径;
2.3)为目标应用建立新的执行环境,该执行环境从新设置的系统库搜索路径中装载系统库;
2.4)重新装载目标应用后,目标应用引用嵌入安全增强与安全分析功能的系统库。
4.一种基于如权利要求1-3任一项所述方法的Android平台应用执行环境重构装置,其特征在于:它包括目标应用调整模块和执行环境重构模块;所述目标应用调整模块引入执行环境重构模块,所述执行环境重构模块内使目标应用嵌入安全增强与安全分析功能的系统库。
5.如权利要求4所述的一种Android平台应用执行环境重构装置,其特征在于:所述目标应用调整模块包括应用程序解包单元、入口类修改单元和应用程序打包单元;所述应用程序解包单元解包目标应用,所述入口类修改单元引入执行环境重构模块并修改入口类声明,所述应用程序打包单元重新打包文件目录。
6.如权利要求4或5所述的一种Android平台应用执行环境重构装置,其特征在于:所述执行环境重构模块包括执行环境清除单元、环境变量设置单元、执行环境新建单元和目标应用装载单元;所述执行环境清除单元清除初始执行环境,所述环境变量设置单元设置目标应用的环境变量,所述执行环境新建单元为目标应用建立新的执行环境,所述目标应用装载单元重新装载目标应用。
CN201610069247.8A 2016-02-01 2016-02-01 一种Android平台应用执行环境重构方法及装置 Pending CN105740701A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610069247.8A CN105740701A (zh) 2016-02-01 2016-02-01 一种Android平台应用执行环境重构方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610069247.8A CN105740701A (zh) 2016-02-01 2016-02-01 一种Android平台应用执行环境重构方法及装置

Publications (1)

Publication Number Publication Date
CN105740701A true CN105740701A (zh) 2016-07-06

Family

ID=56242103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610069247.8A Pending CN105740701A (zh) 2016-02-01 2016-02-01 一种Android平台应用执行环境重构方法及装置

Country Status (1)

Country Link
CN (1) CN105740701A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109711154A (zh) * 2018-12-29 2019-05-03 上海上讯信息技术股份有限公司 一种基于Android应用apk文件的钩子框架技术

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118500A (zh) * 2010-12-27 2011-07-06 清华大学 移动终端开源操作系统基于软件包的在线自动更新方法
CN103177210A (zh) * 2013-04-02 2013-06-26 中国人民大学 一种在Android中植入动态污点分析模块的方法
CN103885784A (zh) * 2014-04-09 2014-06-25 中国人民解放军理工大学 具有安全模块可插拔功能的Android平台构建方法
CN104657259A (zh) * 2013-11-22 2015-05-27 中国银联股份有限公司 一种测试Android应用程序的方法和装置
US20150220730A1 (en) * 2013-06-13 2015-08-06 Tencent Technology (Shenzhen) Company Limited Method, device and computer storage medium for controlling the running of an application

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118500A (zh) * 2010-12-27 2011-07-06 清华大学 移动终端开源操作系统基于软件包的在线自动更新方法
CN103177210A (zh) * 2013-04-02 2013-06-26 中国人民大学 一种在Android中植入动态污点分析模块的方法
US20150220730A1 (en) * 2013-06-13 2015-08-06 Tencent Technology (Shenzhen) Company Limited Method, device and computer storage medium for controlling the running of an application
CN104657259A (zh) * 2013-11-22 2015-05-27 中国银联股份有限公司 一种测试Android应用程序的方法和装置
CN103885784A (zh) * 2014-04-09 2014-06-25 中国人民解放军理工大学 具有安全模块可插拔功能的Android平台构建方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109711154A (zh) * 2018-12-29 2019-05-03 上海上讯信息技术股份有限公司 一种基于Android应用apk文件的钩子框架技术

Similar Documents

Publication Publication Date Title
CN106022130B (zh) 加固应用程序的脱壳方法及装置
Davidson et al. PHOTOS interface in C++: technical and physics documentation
CN102799515A (zh) 应用程序测试方法及装置
CN104298534B (zh) 基于Lua语言的编程方法和装置
US9823909B1 (en) Program code conversion for cross-platform compatibility
CN104484585A (zh) 一种应用程序安装包的处理方法、装置及移动设备
EP2188723A2 (fr) Procédé de génération automatique de script pour tester la validité d'un logiciel de fonctionnement d'un système embarqué à bord d'un aéronef, et dispositif de mise en oeuvre
US9317405B2 (en) Test double generation
CN104699478B (zh) 改变电子控制单元的存储器中的软件的方法和计算机系统
CN104536885A (zh) 一种生成Soc随机验证平台的方法
CN109614107B (zh) 一种软件开发工具包的集成方法和装置
US9098355B2 (en) Method and apparatus for substituting compiler built-in helper functions with machine instructions
Garmany et al. Towards automated generation of exploitation primitives for web browsers
CN102156649B (zh) 一种补丁安装方法及装置
CN106250728A (zh) 用于保护ios软件模块的设备和方法
CN104601524A (zh) 一种安全检查方法和系统
CN103902908A (zh) 一种对Android加固应用的恶意代码检测方法及系统
CN105740701A (zh) 一种Android平台应用执行环境重构方法及装置
Weimer Advances in automated program repair and a call to arms
Martorell et al. Improving adaptiveness of autosar embedded applications
CN110414220A (zh) 沙箱内程序动态执行过程中的操作文件提取方法及装置
CN105740714A (zh) 一种Android平台修复系统库漏洞方法及装置
CN113778491A (zh) 一种容器化应用灰度升级方法、系统、存储介质及设备
CN109376045A (zh) 一种bios参数自动化验证装置及验证方法
DE102014019090A1 (de) Verfahren zum Bereitstellen einer sicherheitskritischen Softwareapplikation auf einer Computereinheit

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20160706