管理移动终端中应用的方法和装置与流程

文档序号:12600452阅读:339来源:国知局
管理移动终端中应用的方法和装置与流程

本发明涉及通信领域,尤其涉及一种管理移动终端中应用的方法和装置。



背景技术:

目前企业的IT建设向移动终端发展,企业移动应用在企业的日常工作中占据越来越重要的位置,其中移动办公等需求越来越普遍。企业移动应用不同于普通的手机app,首先企业应用的多样化和个性化需求较强,比如对于核心系统的访问控制等,另外企业用户更加的趋向于全价值链的解决方案。由于企业移动应用发展之初没有统一标准的规划,很多的企业存在大量孤立遗留的移动应用,怎样灵活方便的为移动应用增加新的能力以适应企业多变的需求变的更加困难。

而随着Andriod用户的增多,针对android系统的恶意软件越来越多。安全是Android进入企业很难的主要原因。而最主要的问题则是隐私泄漏,如:在企业应用中操作和读取的文件内容,一些重要的公司信息,都有可能被恶意软件盗取。

目前有很多针对于Android的隐私泄漏的侦测,包括分析Android APK的静态分析工具和动态分析工具。静态分析主要就是反编译APK,分析反编译之后的代码。动态分析主要就是让程序运行起来,获取程序运行过程中产生的API调用,从而获取其行为信息。虽然目前有很多分析工具,可以分析和检测恶意的移动软件,但是目前还没有一套成熟的方案来保障移动办公的安全性。



技术实现要素:

本发明提供一种管理移动终端中应用的方法和装置,要解决的技术问题 是如何提高移动终端中应用的安全性。

为解决上述技术问题,本发明提供了如下技术方案:

一种管理移动终端中应用的方法,包括:

在对应用的安装包执行反编译操作后,输出反编译操作得到的目标代码;

获取对所述目标代码处理后得到的安全应用,其中所述安全应用中增加有用于实现数据安全传输功能的代码信息。

其中,在对应用的安装包执行反编译操作后,所述方法还包括:

根据所述目标代码,确定所述应用中I/O操作在移动终端的操作系统中调用的第一接口信息;

输出所述第一接口信息;

获取根据第一接口信息确定的所述应用中I/O操作在移动终端中预先安装的安全运行平台中调用的第二接口信息。

其中,所述用于实现数据安全传输功能的代码信息包括用于对输出的未加密的信息进行加密的加密代码和/或对接收的加密的信息进行解密的解密代码。

其中,所述用于实现数据安全传输功能的代码信息是通过代码注入方式和/或函数钩子方式增加到所述应用中的。

其中,所述获取对所述目标代码处理后得到的安全应用之后,还包括。

在安全运行平台运行所述安全应用。

一种管理移动终端中应用的装置,包括:

第一输出模块,用于在对应用的安装包执行反编译操作,输出反编译操作得到的目标代码;

第一获取模块,用于获取对所述目标代码处理后得到的安全应用,其中所述安全应用中增加有用于实现数据安全传输功能的代码信息。

其中,所述装置还包括:

确定模块,用于根据所述目标代码,确定所述应用中I/O操作在移动终端的操作系统中调用的第一接口信息;

第二输出模块,用于输出所述第一接口信息;

第二获取模块,用于获取根据第一接口信息确定的所述应用中I/O操作在移动终端中预先安装的安全运行平台中调用的第二接口信息。

其中,所述第一获取模块获取的用于实现数据安全传输功能的代码信息包括用于对输出的未加密的信息进行加密的加密代码和/或对接收的加密的信息进行解密的解密代码。

其中,所述第一获取模块获取的用于实现数据安全传输功能的代码信息是通过代码注入方式和/或函数钩子方式增加到所述应用中的。

其中,所述装置还包括:

运行模块,用于在安全运行平台运行所述安全应用。

本发明提供的实施例,通过对应用的安装包进行反编译,得到目标代码,再通过输出目标代码,获取外部根据该目标代码生成的安全应用,由于该安全应用中含有用于实现数据安全传输功能的代码信息,从而使得在该应用运行在移动终端时,该安全应用的数据无法被第三方窃取,提高了移动终端中应用的安全性。

附图说明

图1为本发明提供的管理移动终端中应用的方法的流程图;

图2为本发明应用实例中移动终端中应用加固的方法示意图;

图3为本发明应用实例中移动终端通过企业安全容器管控受控应用的方法示意图;

图4为本发明提供的管理移动终端中应用的装置的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1为本发明提供的管理移动终端中应用的方法的流程图。图1所示方法包括:

步骤101、在对应用的安装包执行反编译操作后,输出反编译操作得到的目标代码;

步骤102、获取对所述目标代码处理后得到的安全应用,其中所述安全应用中增加有用于实现数据安全传输功能的代码信息。

本发明提供的方法实施例,通过对应用的安装包进行反编译,得到目标代码,再通过输出目标代码,获取外部根据该目标代码生成的安全应用,由于该安全应用中含有用于实现数据安全传输功能的代码信息,从而使得在该应用运行在移动终端时,该安全应用的数据无法被第三方窃取,提高了移动终端中应用的安全性。

下面对本发明提供的方法作进一步说明:

其中,在对应用的安装包执行反编译操作后,所述方法还包括:

根据所述目标代码,确定所述应用中I/O操作在移动终端的操作系统中调用的第一接口信息;

输出所述第一接口信息;

获取根据第一接口信息确定的所述应用中I/O操作在移动终端中预先安装的安全运行平台中调用的第二接口信息。

具体的,由于移动终端的操作系统往往是开放的,为了避免在该操作系统中被恶意软件攻击,通过将该安全应用运行在安全运行平台,可以有效降低被攻击的可能性。由于应用在开发初期所配置的I/O接口信息是针对移动终端的操作系统配置的,因此,为了保证能够在该安全运行平台运行该安全应用,需要更改I/O接口的配置,其中根据目标代码,可以有效地获取到I/O操作在移动终端的操作系统中调用的第一接口信息,通过输出该第一接口信 息,方便外部根据该第一接口信息确定所述应用中I/O操作在移动终端中预先安装的安全运行平台中调用的第二接口信息。

其中,所述用于实现数据安全传输功能的代码信息包括用于对输出的未加密的信息进行加密的加密代码和/或对接收的加密的信息进行解密的解密代码。

具体的,如果安全应用的代码中包括加密代码,可以使得输出的信息是加密数据,由于输出的数据是经过加密处理的,即使输出的数据被第三方应用窃取,也无法被第三方应用破解,从而保证了应用发送的数据的安全,提高了应用的安全性;如果安全应用的代码中包括解密代码,可以接收加密的数据,由于本地具有解密功能,可以解密加密数据得到明文,而第三方是无法解密得到的明文的,从而保证了应用接收的数据的安全,提高了应用的安全性。

其中,所述用于实现数据安全传输功能的代码信息是通过代码注入方式和/或函数钩子方式增加到所述应用中的。

具体的,现有技术中已有的代码注入方式和函数钩子方式可以适用于本发明中,此处不再赘述。

通过上述方式将用于实现数据安全传输功能的代码信息增加到应用中,可以无需重新开发新的应用,只需提供原有的企业应用就可以方便灵活的给企业移动应用增加读写加解密文件的能力,平且不需要有原应用的源码。通

其中,所述获取对所述目标代码处理后得到的安全应用之后,还包括。

在安全运行平台运行所述安全应用。

其中,所述安全运行平台是通过如下方式得到:

获取具有信息隔离功能的应用;

运行所述具有信息隔离功能的应用,得到所述安全运行平台。

在实际应用中,该安全运行平台可以自行开发,也可以通过安装具有信息隔离功能的应用来构建。

下面以应用实例对本发明提供的方法作进一步说明:

以Android系统为例,将企业安全容器(ByodHome.APK)安装在手机上作为管控服务器为例进行说明:

图2为本发明应用实例中移动终端的移动应用加固的方法示意图。图2所示方法包括:

步骤201、预处理移动应用。Apktool进行解包、反编译、反汇编,将移动应用预处理为smali代码。

步骤202、确定移动应用中使用的文件I/O操作。在上述汇编代码中检索文件I/O操作;将检索到的文件I/O操作在其在移动应用中的位置信息记录待用。

步骤203、注入文件加解密代码和使用安全容器处理I/O操作的代码。遍历上述记录信息集合,并根据位置信息注入到移动应用中。

步骤204、修改AndroidManifest.xml文件,加上安全容器标识。

步骤205、重新生成移动应用。使用aapt编译、链接,使用apktool打包,将已注入限制功能的代码重新生成移动应用。

步骤206、重新签名移动应用。使用signapk和默认签名文件、或者用户指定的签名文件对移动应用进行重新签名。

具体的,移动应用加固通过代码注入和函数钩子方法,将文件加解密功能代码注入原始移动应用。将其改造为能够在使用应用进行文件读写、编辑时,自动对未加密的文件进行加密,对已加密的文件自动解密。文件在存储器上是密文,在内存中是明文。一旦离开使用环境,由于第三方应用程序无法得到自动解密的服务而无法打开,从而起到保护文件内容的效果。

由上可以看出,使用代码注入技术或者API HOOK技术将原始移动应用改造为受控移动应用,使其能够接受文件加解密的能力,并且将应用的文件操作接口由原先调用系统接口替换为指向企业安全容器。使受控应用接受企业安全容器管控,从而实现第一重保护。

图3为本发明应用实例中移动终端通过企业安全容器管控受控应用的方 法示意图。图3所示方法包括:

步骤301、手机获取并安装企业安全容器。

步骤302、手机获取并安装经过移动加固的受控应用

步骤303、通过第一步的代码注入,使得受控应用只能在安全容器显示,平且通过代码替换和API拦截,使得受控移动应用在执行I/O操作的时候实际上是通过安全容器来实现的。

步骤304、在受控应用中执行文件操作的时候,将写入的明文通过第一步执行注入的加密代码加密后形成密文

步骤305、将密文通过安卓的IBinder接口提交给安全容器来处理。

步骤306、在安卓桌面的沙箱中,将密文写入文件。

其中,企业安全容器管理是指在手机安装企业安全容器应用,通过安全加固将应用原应用中调用系统读写的接口替换成安全容器读写的接口,将加密后的文件写入安卓容器的沙箱隔离区。

隔离沙箱提供一层防护,它能让您软件程序不担心系统被修改,恶意软件或者木马程序除了要想办法先突破隔离沙箱的虚拟系统与受限的权限之后,还有移动应用加固的文件加密不被解码。通过安全容器的隔离沙箱与安全加固的文件加密对病毒木马形成两道的坚固防御面。发挥最高的防御效果。

安装企业安全容器byodHome.APK,使用企业的安全容器来管控受控应用。通过内核空间API拦截,用户空间API拦截,将受控应用只在企业安全容器的隔离沙箱中运行,隔离沙箱是提供一个系统环境的副本并且将部分权限降低,沙箱内程序的所有操作新增文件,修改文件,注册表等都不是真正修改到系统,而是改到一个副本当中,这个副本对真实系统的正常程序是看不见的。对系统一点改变都没有,所以木马也无法生存下来。随着清除沙箱而消失。通过安全容器的隔离沙箱实现第二重保护。

现有技术中,普通应用在执行读写操作的时候,直接往手机本地写入明码保存至文件,不但在写入的过程中会被其他恶意软件截获或者修改,而且保存在硬盘中的文件没有任何保护措施,任何应用都有权限可以读取它。

采用本发明,可以无需重新开发新的应用,只需提供原有的企业应用就可以方便灵活的给企业移动应用增加读写加解密文件的能力,平且不需要有原应用的源码。通过首选通过简单的安全加固实现文件读写加密,在不使用系统读写接口的情况下通过企业安全容器在沙箱隔离区中进行文件操作提供双层防护,它能降低应用被修改的可能。恶意软件或者木马程序除了要想办法先突破隔离沙箱的虚拟系统与受限的权限之后,还有移动应用加固的文件加密无法破解。通过安全容器的隔离沙箱与安全加固的文件加密对病毒木马形成两道的坚固防御面。发挥最高的防御效果。

该发明提供了一套保障移动应用文件操作安全的系统。采用文件加密和沙箱双重保护。

本系统操作简单,只需要将受控应用进行文件加密的安全加固,平且在手机上安装企业安全容器即可。

图4为本发明提供的管理移动终端中应用的装置的示意图。图4所示装置,包括:

第一输出模块401,用于在对应用的安装包执行反编译操作,输出反编译操作得到的目标代码;

第一获取模块402,用于获取对所述目标代码处理后得到的安全应用,其中所述安全应用中增加有用于实现数据安全传输功能的代码信息。

可选的,所述装置还包括:

确定模块,用于根据所述目标代码,确定所述应用中I/O操作在移动终端的操作系统中调用的第一接口信息;

第二输出模块,用于输出所述第一接口信息;

第二获取模块,用于获取根据第一接口信息确定的所述应用中I/O操作在移动终端中预先安装的安全运行平台中调用的第二接口信息;

其中,所述运行模块404具体用于在所述安全运行平台运行所述安全应用。

其中,所述第一获取模块获取的用于实现数据安全传输功能的代码信息包括用于对输出的未加密的信息进行加密的加密代码和/或对接收的加密的信息进行解密的解密代码。

其中,所述第一获取模块获取的用于实现数据安全传输功能的代码信息是通过代码注入方式和/或函数钩子方式增加到所述应用中的。

可选的,所述装置还包括:

运行模块,用于在安全运行平台运行所述安全应用;

其中,所述安全运行平台是通过如下方式得到:

获取具有信息隔离功能的应用;

运行所述具有信息隔离功能的应用,得到所述安全运行平台。

本发明提供的装置实施例,通过对应用的安装包进行反编译,得到目标代码,再通过输出目标代码,获取外部根据该目标代码生成的安全应用,由于该安全应用中含有用于实现数据安全传输功能的代码信息,从而使得在该应用运行在移动终端时,该安全应用的数据无法被第三方窃取,提高了移动终端中应用的安全性。

本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。

可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来 实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。

上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。

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