CN110807191A - 一种应用程序的安全运行方法及装置 - Google Patents

一种应用程序的安全运行方法及装置 Download PDF

Info

Publication number
CN110807191A
CN110807191A CN201910943874.3A CN201910943874A CN110807191A CN 110807191 A CN110807191 A CN 110807191A CN 201910943874 A CN201910943874 A CN 201910943874A CN 110807191 A CN110807191 A CN 110807191A
Authority
CN
China
Prior art keywords
application program
interactive
takeover
operating system
determining
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.)
Granted
Application number
CN201910943874.3A
Other languages
English (en)
Other versions
CN110807191B (zh
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.)
Netshen Information Technology (beijing) Co Ltd
Qianxin Technology Group Co Ltd
Original Assignee
Netshen Information Technology (beijing) Co Ltd
Qianxin Technology Group 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 Netshen Information Technology (beijing) Co Ltd, Qianxin Technology Group Co Ltd filed Critical Netshen Information Technology (beijing) Co Ltd
Priority to CN201910943874.3A priority Critical patent/CN110807191B/zh
Publication of CN110807191A publication Critical patent/CN110807191A/zh
Application granted granted Critical
Publication of CN110807191B publication Critical patent/CN110807191B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Abstract

本发明实施例提供一种应用程序的安全运行方法及装置,所述方法包括:在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。所述装置执行上述方法。本发明实施例提供的应用程序的安全运行方法,保证应用程序的安全运行,且实现方便。

Description

一种应用程序的安全运行方法及装置
技术领域
本发明涉及网络安全技术领域,尤其涉及一种应用程序的安全运行方法及装置。
背景技术
随着智能终端的成熟与普及,以个人移动设备,例如手机、平板电脑为代表的个人智能终端设备逐渐进入企业事业单位,企业事业单位已经开始支持员工在个人移动设备上使用企业应用程序,员工使用个人智能终端设备办公已经成为一种无法逆转的潮流。然而,如何保障员工在使用个人移动设备办公时的安全,成为了全新的机遇与挑战。
以Android系统为例,文件数据大、种类繁多,且很多文件涉及企业事业单位隐私和个人隐私、给企业事业单位和个人的信息安全带来了挑战,例如在初次使用具有存储权限的某APP时,该APP需要读取存储卡上的数据,从而导致Android存储卡上的数据也极易泄露,甚至如果数据保存在外置存储卡,只需要将外置存储卡拔出就可以携带走全部手机上的核心数据。现有的安全管控技术,存在诸多不便,例如需要申请多余的权限、需要安装多余的APP或需要激活设备管理器等,因此,亟需一种应用程序的安全运行方法,以解决上述问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种应用程序的安全运行方法及装置。
本发明实施例提供一种应用程序的安全运行方法,包括:
在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;
确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
其中,所述交互方式类型包括通过Java层接口实现的交互方式类型;相应的,所述确定与所述交互方式类型相对应的交互接管策略,包括:
确定与Java层接口相对应的交互接管策略为采用Java binder hook技术进行交互接管。
其中,所述交互方式类型还包括通过JNI底层动态链接库接口实现的交互方式类型;相应的,所述确定与所述交互方式类型相对应的交互接管策略,包括:
确定与JNI底层动态链接库接口相对应的交互接管策略为采用ELF hook技术进行交互接管。
其中,所述虚拟运行环境的隔离,包括:
利用Android Intent从所述操作系统中隔离出所述虚拟运行环境。
其中,所述安全工作空间的实现,包括:
利用AES或至少一种国密算法对所述虚拟运行环境进行加密,以实现所述安全工作空间。
本发明实施例提供一种应用程序的安全运行装置,包括:
确定单元,用于在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;
控制单元,用于确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
其中,所述交互方式类型包括通过Java层接口实现的交互方式类型;相应的,所述控制单元具体用于:
确定与Java层接口相对应的交互接管策略为采用Java binder hook技术进行交互接管。
其中,所述交互方式类型还包括通过JNI底层动态链接库接口实现的交互方式类型;相应的,所述控制单元具体用于:
确定与JNI底层动态链接库接口相对应的交互接管策略为采用ELF hook技术进行交互接管。
其中,所述确定单元具体用于:
利用Android Intent从所述操作系统中隔离出所述虚拟运行环境。
其中,所述确定单元具体用于:
利用AES或至少一种国密算法对所述虚拟运行环境进行加密,以实现所述安全工作空间。
本发明实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,
所述处理器执行所述计算机程序时实现如下方法步骤:
在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;
确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;
确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
本发明实施例提供的应用程序的安全运行方法,通过将预先从操作系统中隔离出的安全工作空间作为虚拟运行环境,使应用程序在该虚拟运行环境中运行,确定应用程序与操作系统的系统服务之间的交互方式类型、确定与交互方式类型相对应的交互接管策略,根据与交互接管策略相对应的配置策略控制应用程序的运行,保证应用程序的安全运行,且实现方便。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明应用程序的安全运行方法实施例流程图;
图2为本发明实施例操作系统隔离示意图;
图3为本发明另一实施例的方法流程示意图;
图4为本发明实施例采用Java binder hook技术进行交互接管示意图;
图5为本发明应用程序的安全运行装置实施例结构示意图;
图6为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明应用程序的安全运行方法实施例流程图,如图1所示,本发明实施例提供的一种应用程序的安全运行方法,包括以下步骤:
S101:在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统。
具体的,在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统。执行该方法步骤的可以是计算机设备,具体可以是移动终端,以下简称“终端”。可以理解的是,应用程序也是在终端中运行的应用程序。需要说明的是,本申请的虚拟运行环境的隔离,可以包括:
利用Android Intent从所述操作系统中隔离出所述虚拟运行环境。图2为本发明实施例操作系统隔离示意图,如图2所示,即可以将Android系统隔离成普通运行环境和虚拟运行环境两部分,所述安全工作空间的实现,可以包括:利用AES或至少一种国密算法对所述虚拟运行环境进行加密,以实现所述安全工作空间。其中,AES,即密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。国密算法可以是SM4,不作具体限定,因此,安全工作空间内的数据是加密的,从而保证虚拟运行环境的安全。
本发明实施例的实现过程,可以具体包括:
1.选定加入安全工作空间的应用程序。
2.对应用程序进行安全封装隔离。
3.将隔离的应用程序安装进Android系统。
4.所有经过封装隔离的应用程序自动组成安全工作空间,不需要额外的操作。安全工作空间内的应用程序可相互通信,交换数据,与安全工作空间外的数据交换被隔离,无法进行;安全工作空间外的应用程序也无法访问安全工作空间内的应用程序(通过封装隔离技术增加权限,访问隔离以及数据加密实现),所有的网络访问、数据交换等均受到应用防火墙的访问控制;工作空间之外的应用程序无法访问到内部的应用程序以及内部的任何数据,工作空间内的所有数据均是高强度加密的,默认是AES,可以支持国密算法SM4。
5.应用防火墙可以控制内部业务APP的访问权限,比如禁止使用截屏、内容拷贝、蓝牙,相机,位置信息,系统录音,WiFi,打印服务等等。
6.应用程序内的数据均受到保护和控制,在满足条件的情况下,可以触发应用程序内数据的擦除。
在Android系统安装的应用程序中,使用运行态隔离技术保护的应用程序运行在一个相对独立的运行空间(即安全工作空间)内,在此空间内运行的应用程序可以相互通信、交换数据,与此空间外的数据交换被使用运行态隔离技术实现的应用防火墙隔离,应用防火墙根据配置策略完成应用程序运行时的数据及行为的保护,包括,但不限于如下内容:
控制GPS、控制系统打印机、控制系统相机、控制系统录音、控制系统位置服务器、控制设备蓝牙、控制应用剪切板、控制应用消息通知栏、控制截屏、录屏、接管所有应用程序所有读写接口;使用AES或SM4加密数据、接管应用网络接口,禁止应用使用wifi或数据流量、接管应用网络连接,提供应用级VPN网络环境、防止应用被攻击者Ptrace技术动态调试、禁止外置sdcard,防止数据泄露到外置sdcard。
这种Android应用级运行态隔离技术的实现原理是接管所有被保护应用程序与Android系统的各类系统服务的交互,应用程序与操作系统的系统服务之间的交互方式类型有多种类型,可以包括两大类,一类是通过Java层接口实现的交互方式类型,另一类是通过JNI底层动态链接库接口实现的交互方式类型。
S102:确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
具体的,确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。进一步地,确定与所述交互方式类型相对应的交互接管策略,可以具体包括:确定与Java层接口相对应的交互接管策略为采用Java binder hook技术进行交互接管,Java binder hook是基于Java反射技术实现的。图3为本发明另一实施例的方法流程示意图,如图3所示,具体可以通过如下方式实现:
使用Java反射技术清除ServiceManager中存储binder变量的Map;
根据原始binder对象生成新binder对象,并将所述新binder对象放入Map中;
重复执行上述使用Java反射技术清除ServiceManager中存储binder变量的Map;根据原始binder对象生成新binder对象,并将所述新binder对象放入Map中的步骤,hook想要控制的Android系统服务。
相对应的配置策略可以为:控制GPS、控制系统打印机、控制系统相机、控制系统录音、控制系统位置服务器、控制设备蓝牙、控制应用剪切板、控制应用消息通知栏、控制截屏、录屏。
确定与所述交互方式类型相对应的交互接管策略,还可以具体包括:确定与JNI底层动态链接库接口相对应的交互接管策略为采用ELF hook技术进行交互接管。具体可以通过如下方式实现:
找到应用进程空间so链表的表头;遍历so链表,将各个so导入so链表中的函数与需要hook的函数列表进行比对,将函数地址替换为hook函数地址,例如将open函数地址替换为open_hook函数地址;获取hook libc库中的导出函数表,将导出函数表中的函数地址替换为hook函数地址,例如将open函数地址替换为open_hook函数地址。
相对应的配置策略可以为:接管所有应用程序所有读写接口,使用AES或SM4加密数据、接管应用网络接口,禁止应用使用wifi或数据流量、接管应用网络连接,提供应用级VPN网络环境、防止应用被攻击者Ptrace技术动态调试、禁止外置sdcard,防止数据泄露到外置sdcard。需要说明的是,本发明实施例对与各交互接管策略对应的配置策略的具体内容不作具体限定。
图4为本发明实施例采用Java binder hook技术进行交互接管示意图,如图4所示,可以理解的是,Android系统的应用程序与系统服务作进程间交互是通过binder跨进程完成的,在交互之前应用程序会在系统ServiceManager中的Map表里查询获取到相关服务的代理对象,这就为Java binder hook技术提供了hook点,把进程空间中的静态Map表里的代理对象全部替换为虚拟环境所创建的代理对象,这就使得应用程序在使用ActivityManagerService等服务时,获取到的binder对象其实是虚拟空间(虚拟运行环境)所提供的代理对象,所以应用程序使用此代理对象的全部操作均会被虚拟空间发现,虚拟空间具有自己的应用防火墙控制规则,进而实现了应用防火墙隔离控制功能。
本发明实施例提供的应用程序的安全运行方法,通过将预先从操作系统中隔离出的安全工作空间作为虚拟运行环境,使应用程序在该虚拟运行环境中运行,确定应用程序与操作系统的系统服务之间的交互方式类型、确定与交互方式类型相对应的交互接管策略,根据与交互接管策略相对应的配置策略控制应用程序的运行,保证应用程序的安全运行,且实现方便。
在上述实施例的基础上,所述交互方式类型包括通过Java层接口实现的交互方式类型;相应的,所述确定与所述交互方式类型相对应的交互接管策略,包括:
具体的,确定与Java层接口相对应的交互接管策略为采用Java binder hook技术进行交互接管。可参照上述说明,不再赘述。
本发明实施例提供的应用程序的安全运行方法,通过采用Java binder hook技术进行交互接管,有效确定与Java层接口相对应的交互接管策略,进一步保证应用程序的安全运行,且实现方便。
在上述实施例的基础上,所述交互方式类型还包括通过JNI底层动态链接库接口实现的交互方式类型;相应的,所述确定与所述交互方式类型相对应的交互接管策略,包括:
具体的,确定与JNI底层动态链接库接口相对应的交互接管策略为采用ELF hook技术进行交互接管。可参照上述说明,不再赘述。
本发明实施例提供的应用程序的安全运行方法,通过采用ELF hook技术进行交互接管,有效确定与JNI底层动态链接库接口相对应的交互接管策略,进一步保证应用程序的安全运行,且实现方便。
在上述实施例的基础上,所述虚拟运行环境的隔离,包括:
具体的,利用Android Intent从所述操作系统中隔离出所述虚拟运行环境。可参照上述说明,不再赘述。
本发明实施例提供的应用程序的安全运行方法,通过利用Android Intent从操作系统中隔离出虚拟运行环境,进一步保证应用程序的安全运行,且实现方便。
在上述实施例的基础上,所述安全工作空间的实现,包括:
具体的,利用AES或至少一种国密算法对所述虚拟运行环境进行加密,以实现所述安全工作空间。可参照上述说明,不再赘述。
本发明实施例提供的应用程序的安全运行方法,通过利用AES或至少一种国密算法对虚拟运行环境进行加密,以实现所述安全工作空间,进一步保证应用程序的安全运行,且实现方便。
图5为本发明应用程序的安全运行装置实施例结构示意图,如图5所示,本发明实施例提供了一种应用程序的安全运行装置,包括确定单元501和控制单元502,其中:
确定单元501用于在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;控制单元502用于确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
具体的,确定单元501用于在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;控制单元502用于确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
本发明实施例提供的应用程序的安全运行装置,通过将预先从操作系统中隔离出的安全工作空间作为虚拟运行环境,使应用程序在该虚拟运行环境中运行,确定应用程序与操作系统的系统服务之间的交互方式类型、确定与交互方式类型相对应的交互接管策略,根据与交互接管策略相对应的配置策略控制应用程序的运行,保证应用程序的安全运行,且实现方便。
在上述实施例的基础上,所述交互方式类型包括通过Java层接口实现的交互方式类型;相应的,所述控制单元502具体用于:确定与Java层接口相对应的交互接管策略为采用Java binder hook技术进行交互接管。
本发明实施例提供的应用程序的安全运行装置,通过采用Java binder hook技术进行交互接管,有效确定与Java层接口相对应的交互接管策略,进一步保证应用程序的安全运行,且实现方便。
在上述实施例的基础上,所述交互方式类型还包括通过JNI底层动态链接库接口实现的交互方式类型;相应的,所述控制单元502具体用于:确定与JNI底层动态链接库接口相对应的交互接管策略为采用ELF hook技术进行交互接管。
本发明实施例提供的应用程序的安全运行装置,通过采用ELF hook技术进行交互接管,有效确定与JNI底层动态链接库接口相对应的交互接管策略,进一步保证应用程序的安全运行,且实现方便。
在上述实施例的基础上,所述确定单元501具体用于:利用Android Intent从所述操作系统中隔离出所述虚拟运行环境。
本发明实施例提供的应用程序的安全运行装置,通过利用Android Intent从操作系统中隔离出虚拟运行环境,进一步保证应用程序的安全运行,且实现方便。
在上述实施例的基础上,所述确定单元501具体用于:利用AES或至少一种国密算法对所述虚拟运行环境进行加密,以实现所述安全工作空间。
本发明实施例提供的应用程序的安全运行装置,通过利用AES或至少一种国密算法对虚拟运行环境进行加密,以实现所述安全工作空间,进一步保证应用程序的安全运行,且实现方便。
本发明实施例提供的应用程序的安全运行装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图6为本发明实施例提供的电子设备实体结构示意图,如图6所示,所述电子设备包括:处理器(processor)601、存储器(memory)602和总线603;
其中,所述处理器601、存储器602通过总线603完成相互间的通信;
所述处理器601用于调用所述存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种应用程序的安全运行方法,其特征在于,包括:
在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;
确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
2.根据权利要求1所述的应用程序的安全运行方法,其特征在于,所述交互方式类型包括通过Java层接口实现的交互方式类型;相应的,所述确定与所述交互方式类型相对应的交互接管策略,包括:
确定与Java层接口相对应的交互接管策略为采用Java binder hook技术进行交互接管。
3.根据权利要求2所述的应用程序的安全运行方法,其特征在于,所述交互方式类型还包括通过JNI底层动态链接库接口实现的交互方式类型;相应的,所述确定与所述交互方式类型相对应的交互接管策略,包括:
确定与JNI底层动态链接库接口相对应的交互接管策略为采用ELF hook技术进行交互接管。
4.根据权利要求1至3任一所述的应用程序的安全运行方法,其特征在于,所述虚拟运行环境的隔离,包括:
利用AndroidIntent从所述操作系统中隔离出所述虚拟运行环境。
5.根据权利要求1至3任一所述的应用程序的安全运行方法,其特征在于,所述安全工作空间的实现,包括:
利用AES或至少一种国密算法对所述虚拟运行环境进行加密,以实现所述安全工作空间。
6.一种应用程序的安全运行装置,其特征在于,包括:
确定单元,用于在虚拟运行环境中的应用程序运行过程中,确定所述应用程序与操作系统的系统服务之间的交互方式类型;其中,所述虚拟运行环境是预先从所述操作系统中隔离出的安全工作空间;所述操作系统是移动终端的操作系统;
控制单元,用于确定与所述交互方式类型相对应的交互接管策略,并根据与所述交互接管策略相对应的配置策略控制所述应用程序的运行,以实现所述应用程序的安全运行。
7.根据权利要求6所述的应用程序的安全运行装置,其特征在于,所述交互方式类型包括通过Java层接口实现的交互方式类型;相应的,所述控制单元具体用于:
确定与Java层接口相对应的交互接管策略为采用Java binder hook技术进行交互接管。
8.根据权利要求7所述的应用程序的安全运行装置,其特征在于,所述交互方式类型还包括通过JNI底层动态链接库接口实现的交互方式类型;相应的,所述控制单元具体用于:
确定与JNI底层动态链接库接口相对应的交互接管策略为采用ELF hook技术进行交互接管。
9.根据权利要求6至8任一所述的应用程序的安全运行装置,其特征在于,所述确定单元具体用于:
利用AndroidIntent从所述操作系统中隔离出所述虚拟运行环境。
10.根据权利要求6至8任一所述的应用程序的安全运行装置,其特征在于,所述确定单元具体用于:
利用AES或至少一种国密算法对所述虚拟运行环境进行加密,以实现所述安全工作空间。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
CN201910943874.3A 2019-09-30 2019-09-30 一种应用程序的安全运行方法及装置 Active CN110807191B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910943874.3A CN110807191B (zh) 2019-09-30 2019-09-30 一种应用程序的安全运行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910943874.3A CN110807191B (zh) 2019-09-30 2019-09-30 一种应用程序的安全运行方法及装置

Publications (2)

Publication Number Publication Date
CN110807191A true CN110807191A (zh) 2020-02-18
CN110807191B CN110807191B (zh) 2022-12-06

Family

ID=69488198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910943874.3A Active CN110807191B (zh) 2019-09-30 2019-09-30 一种应用程序的安全运行方法及装置

Country Status (1)

Country Link
CN (1) CN110807191B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680309A (zh) * 2020-05-25 2020-09-18 数篷科技(深圳)有限公司 数据处理方法、装置、终端及存储介质
CN113420310A (zh) * 2021-07-01 2021-09-21 上海交通大学 Android应用中的国密算法检测方法
WO2022111391A1 (zh) * 2020-11-27 2022-06-02 华为技术有限公司 管理不可信应用程序通信的方法及相关装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541558A (zh) * 2011-12-28 2012-07-04 Tcl集团股份有限公司 在基于Android内核的电视系统中集成Android应用系统的方法
CN105184153A (zh) * 2015-08-26 2015-12-23 北京元心科技有限公司 智能终端及其基于多级容器的应用程序运行方法
CN106897611A (zh) * 2017-03-03 2017-06-27 金光 无需root权限的安全虚拟移动应用程序运行环境系统及方法与应用
CN107220083A (zh) * 2017-05-22 2017-09-29 韩皓 一种安卓系统中免安装运行应用程序的方法和系统
CN107908957A (zh) * 2017-11-03 2018-04-13 北京邮电大学 一种智能终端的安全运行管理方法及系统
CN108654090A (zh) * 2018-05-17 2018-10-16 北京奇虎科技有限公司 操作系统与游戏应用交互的方法及装置
US20190121961A1 (en) * 2017-10-23 2019-04-25 L3 Technologies, Inc. Configurable internet isolation and security for laptops and similar devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541558A (zh) * 2011-12-28 2012-07-04 Tcl集团股份有限公司 在基于Android内核的电视系统中集成Android应用系统的方法
CN105184153A (zh) * 2015-08-26 2015-12-23 北京元心科技有限公司 智能终端及其基于多级容器的应用程序运行方法
CN106897611A (zh) * 2017-03-03 2017-06-27 金光 无需root权限的安全虚拟移动应用程序运行环境系统及方法与应用
CN107220083A (zh) * 2017-05-22 2017-09-29 韩皓 一种安卓系统中免安装运行应用程序的方法和系统
US20190121961A1 (en) * 2017-10-23 2019-04-25 L3 Technologies, Inc. Configurable internet isolation and security for laptops and similar devices
CN107908957A (zh) * 2017-11-03 2018-04-13 北京邮电大学 一种智能终端的安全运行管理方法及系统
CN108654090A (zh) * 2018-05-17 2018-10-16 北京奇虎科技有限公司 操作系统与游戏应用交互的方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680309A (zh) * 2020-05-25 2020-09-18 数篷科技(深圳)有限公司 数据处理方法、装置、终端及存储介质
WO2022111391A1 (zh) * 2020-11-27 2022-06-02 华为技术有限公司 管理不可信应用程序通信的方法及相关装置
CN113420310A (zh) * 2021-07-01 2021-09-21 上海交通大学 Android应用中的国密算法检测方法

Also Published As

Publication number Publication date
CN110807191B (zh) 2022-12-06

Similar Documents

Publication Publication Date Title
US10229283B2 (en) Managing applications in non-cooperative environments
US9680876B2 (en) Method and system for protecting data flow at a mobile device
US9147069B2 (en) System and method for protecting computer resources from unauthorized access using isolated environment
US20150081644A1 (en) Method and system for backing up and restoring a virtual file system
US8752201B2 (en) Apparatus and method for managing digital rights through hooking a kernel native API
CN110807191B (zh) 一种应用程序的安全运行方法及装置
US20140096230A1 (en) Method and system for sharing vpn connections between applications
US10114932B2 (en) Adapting a mobile application to a partitioned environment
US9147084B2 (en) Method and system for isolating secure communication events from a non-secure application
US20150237070A1 (en) Systems and methods for applying data loss prevention policies to closed-storage portable devices
US20160350525A1 (en) Application Program Management Method, Device, Terminal, and Computer Storage Medium
US10171502B2 (en) Managed applications
US20140281499A1 (en) Method and system for enabling communications between unrelated applications
CN104978543A (zh) 一种移动终端信息安全防护系统和方法
CN112231124B (zh) 基于隐私保护的应用间通信方法及装置
WO2016206393A1 (zh) 管理应用的方法和装置、实现读写操作的方法和装置
CN110807205B (zh) 一种文件安全防护方法及装置
EP3298534B1 (en) Creating multiple workspaces in a device
EP3477526B1 (en) Method and system for securely controlling access to data
US20130263278A1 (en) Method and apparatus for controlling operations performed by a mobile co
CN115543663B (zh) 数据处理方法、装置、电子设备和存储介质
EP2750068B1 (en) System and method for protecting computer resources from unauthorized access using isolated environment
CN112580116A (zh) 一种数据保护方法及装置
CN113971067A (zh) 容器运行方法、装置、电子设备及存储介质
KR20140118199A (ko) Drm 컨텐츠 실행 시스템 및 그 방법, 그리고 이에 적용되는 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant after: Qianxin Technology Group Co.,Ltd.

Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant before: Qianxin Technology Group Co.,Ltd.

Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

GR01 Patent grant
GR01 Patent grant