CN103544434B - 用于确保应用程序安全运行的方法和终端 - Google Patents
用于确保应用程序安全运行的方法和终端 Download PDFInfo
- Publication number
- CN103544434B CN103544434B CN201310559413.9A CN201310559413A CN103544434B CN 103544434 B CN103544434 B CN 103544434B CN 201310559413 A CN201310559413 A CN 201310559413A CN 103544434 B CN103544434 B CN 103544434B
- Authority
- CN
- China
- Prior art keywords
- application program
- described application
- terminal
- program
- application
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
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
本发明提供了一种用于在终端上确保应用程序安全运行的方法和对应终端。该方法包括:(a)响应于所述终端的用户的用于启动所述应用程序的操作,启动应用监控进程或线程;以及(b)调用所述应用程序,其中,由所述应用监控进程或线程来监控所述应用程序的运行期间的安全性。
Description
技术领域
本发明涉及应用程序安全领域,且具体地涉及用于确保在终端上安全运行应用程序的方法和对应终端。
背景技术
随着移动终端(例如,智能手机、平板电脑、PDA等)的日益流行,移动办公已经成为了一种趋势。因此,通常要求移动终端要有安全的运行环境。
具体地,一般需要满足以下要求:(1)在移动终端(例如,安卓系统)上,企业应用需要与个人应用分离。对于用户而言,类似于其具有两个桌面:一个桌面上只有用户的个人应用,而另外一个桌面上只有企业提供的企业应用;(2)对于企业应用,需要对其的网络安全环境、文件安全操作进行监控。
在现有的大部分方案中,都是采用应用包(例如,APK)重组(Wrapper)的方式来实现上述功能。具体的说,就是将第三方监控代码(例如,由第三方安全公司提供的安全监控代码)加入企业发布的软件包,并对加入监控代码后的应用重新打包,供用户下载安装,并进而实施监控。
然而,这种方案的问题在于:(1)企业应用被第三方安全公司重新打包后,必须对该应用包重新签名,以确保应用自身的完整性。无论是由发布该企业应用的企业还是由对该企业应用重新打包的安全公司来签名,通常会导致处理过程繁琐耗时且容易出错(例如,需要在第三方安全公司和企业之间进行协调、代码共享等),要么导致最终用户对该软件包的安全性(例如,安全公司与企业的签名不符)有争议;(2)针对使用该方案来重新打包的企业应用,依然存在诸如反编译之类的潜在安全威胁。
发明内容
为了解决上述问题,提供了根据本发明的用于确保应用程序安全运行的方法和终端。
根据本发明的第一方面,提供了一种用于在终端上确保应用程序安全运行的方法。该方法包括:(a)响应于所述终端的用户的用于启动所述应用程序的操作,启动应用监控进程或线程;以及(b)调用所述应用程序,其中,由所述应用监控进程或线程来监控所述应用程序的运行期间的安全性。
在一些实施例中,在步骤(b)之前,所述方法还包括:(c)获取并存放所述应用程序;(d)对所述应用程序进行安全扫描;(e)在所述终端的用户界面上显示所述应用程序的相应应用图标;(f)根据所述应用程序来创建与所述应用程序关联的配置文件。
在一些实施例中,步骤(d)包括:根据所述应用程序的安装文件中包括的数字摘要,验证所述应用程序的完整性。
在一些实施例中,步骤(d)包括:通过在存储恶意应用程序的特征的特征库中进行检索,来判定所述应用程序是否是已知的恶意应用程序,如果是,则通过所述终端的用户界面向所述用户提示;否则,则继续后续步骤的执行。
在一些实施例中,所述配置文件包括以下一项或多项:所述应用程序的名称;所述应用程序的相关文件的存放路径;所述应用程序的入口类;以及所述应用程序的下载时间。
在一些实施例中,步骤(b)包括:(b1)根据所述应用程序的配置文件中的信息,在相关文件的存放路径下查找所述应用程序的相关文件;(b2)扫描并加载所述相关文件中包括的类和资源;以及(b3)实例化并调用所述类中由所述配置文件来指定的入口类。
在一些实施例中,所述应用程序的运行期间的安全性包括网络资源安全性和本地资源安全性中的任一项或全部两项。
在一些实施例中,步骤(c)还包括:在存放所述应用程序之前,对所述应用程序加密。
在一些实施例中,步骤(b)还包括:在调用所述应用程序之前,对所述应用程序解密。
根据本发明的第二方面,提供了一种用于确保应用程序安全运行的终端。该终端包括:监控启动单元,用于响应于所述终端的用户的用于启动所述应用程序的操作,启动应用监控进程或线程;以及应用调用单元,用于调用所述应用程序,其中,由所述应用监控进程或线程来监控所述应用程序的运行期间的安全性。
在一些实施例中,所述终端还包括:应用获取单元,用于获取并存放所述应用程序;应用扫描单元,用于对所述应用程序进行安全扫描;图标显示单元,用于在所述终端的用户界面上显示所述应用程序的相应应用图标;配置创建单元,用于根据所述应用程序来创建与所述应用程序关联的配置文件。
在一些实施例中,所述应用扫描单元还用于:根据所述应用程序的安装文件中包括的数字摘要,验证所述应用程序的完整性。
在一些实施例中,所述应用扫描单元还用于:通过在存储恶意应用程序的特征的特征库中进行检索,来判定所述应用程序是否是已知的恶意应用程序,如果是,则通过所述终端的用户界面向所述用户提示;否则,则继续后续步骤的执行。
在一些实施例中,所述配置文件包括以下一项或多项:所述应用程序的名称;所述应用程序的相关文件的存放路径;所述应用程序的入口类;以及所述应用程序的下载时间。
在一些实施例中,所述应用调用单元还用于:(b1)根据所述应用程序的配置文件中的信息,在相关文件的存放路径下查找所述应用程序的相关文件;(b2)扫描并加载所述相关文件中包括的类和资源;以及(b3)实例化并调用所述类中由所述配置文件来指定的入口类。
在一些实施例中,所述应用程序的运行期间的安全性包括网络资源安全性和本地资源安全性中的任一项或全部两项。
在一些实施例中,所述应用获取单元还用于:在存放所述应用程序之前,对所述应用程序加密。
在一些实施例中,所述应用调用单元还用于:在调用所述应用程序之前,对所述应用程序解密。
通过使用本发明的方法和终端,可以在不需要对APK重新打包及重新签名的情况下,通过验证证书及签名,以及对企业应用实施监控,防止其被纂改,从而提升了企业应用及其运行环境的安全性,进而为企业应用的移动办公提供了必要条件。
附图说明
通过下面结合附图说明本发明的优选实施例,将使本发明的上述及其它目的、特征和优点更加清楚,其中:
图1是示出了根据本发明的用于确保应用程序安全运行的系统的示例应用场景的示意图。
图2是示出了根据本发明实施例的在终端处执行的用于确保应用程序安全运行的示例方法的流程图。
图3是示出了根据本发明实施例的用于确保应用程序安全运行的示例终端的框图。
具体实施方式
下面参照附图对本发明的优选实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。以下,以本发明应用于无线移动通信系统的场景为例,对本发明进行了详细描述。但本发明并不局限于此,本发明也可以应用于固定通信系统、有线通信系统、或者应用于移动无线通信系统、固定通信系统、有线通信系统等的任意混合结构。就无线通信系统而言,本发明并不局限于所涉及的各个无线通信终端的具体通信协议,可以包括(但不限于):2G、3G、4G、5G网络,WCDMA、CDMA2000、TD-SCDMA系统等、或者符合IEEE 802.11标准的WiFi、蓝牙、DECT(数字增强无绳通信),不同的无线通信终端可以采用相同的通信协议,也可以采用不同的通信协议。此外,本发明并不局限于移动终端的具体操作系统,可以包括(但不限于)iOS、Windows Mobile、Symbian、安卓(Android)等,不同的移动终端可以采用相同的操作系统,也可以采用不同的操作系统。
此外,为了更容易理解本发明的原理,接下来将简要介绍与终端上的应用(例如,app)的发布、安装和运行等相关的概念。请注意,以下示例是以终端采用安卓平台为例来进行说明和描述的,然而本发明不限于此。受到本发明教导的本领域技术人员可以容易地意识到:本发明同样适用于其他操作平台,例如iOS、Windows Mobile、Symbian等等。
首先,将说明在安卓平台上应用程序发布的大致流程。在应用(app)开发人员完成源代码的编写、测试、调试等工作之后,为了向最终用户发布(例如,通过谷歌的Play商店发布)应用软件,开发人员需要收集所有必需的文件(包括例如(但不限于)编译后的类文件、资源文件、清单(manifest)文件、最终用户许可协议(EULA)等);删除和/或更改调试和日志设置,根据类文件、资源文件的内容对Manifest文件进行配置,清除项目文件等;构建(build)发布的软件版本并对编译好的应用程序进行数字签名;以及对构建后的应用程序进行优化等等。
其中,对应用程序进行数字签名的步骤非常重要,因为该数字签名表明该应用程序是由持有该数字签名的私钥的人来签署的。因此,如上面背景技术中所述,如果由第三方安全公司对加入监控代码的软件包(apk)重新签名,则最终用户看到的软件包就不是由原始应用程序发布企业所签名的,并从而产生争议,降低该应用的可信度。因此,为了避免对已签名的应用程序包进行重新签名,可以采用稍后将要描述的本发明的应用程序安全运行方法。
在通过上述步骤向用户发布应用程序之后,用户可以从各种网站/在线商店或通过其他渠道(例如,U盘、光盘等)下载该应用程序。用户通过点击该应用程序的安装文件(例如,APK文件),可以使得终端开始安装过程。
在安装过程中,终端上的安装包管理服务首先向安装进程的队列添加要安装的应用包。然后根据应用包的安装信息以及终端100的用户设置,确定安装包的恰当安装位置。接下来确定本次安装是安装新应用还是更新已有应用。然后向指定目录复制该APK文件,并确定分配给该应用的UID。然后请求后台进程installd来进行安装:创建应用程序目录并设置访问权限。然后从APK包中提取dex代码(其包含本app的所有类)至缓存(cache)目录,更新系统中关于软件包的配置文件,最后向系统广播该软件包安装完成的消息(例如,通过安卓系统中的Intent机制)。
当安装完成后,可以通过安卓系统的Launcher来启动该应用程序。在安卓系统中,其桌面UI(用户界面)一般被统称为Launcher(桌面启动器或简称为桌面)。其是安卓系统中的主要程序组件之一。常见的Launcher包括(但不限于):ADW.Launcher、Apex Launcher等。其可以用于帮助用户定位并启动其他应用程序。例如,用户通过点击在Launcher(桌面)上提供的各应用程序的对应图标,可以加载相应应用程序的指定入口类,并开始该应用程序的执行。
图1是示出了根据本发明的应用安全运行系统1000的应用场景的示意图。如图1所示,系统1000可以包括移动终端100以及可选的服务器200。为了清楚起见,图中仅示出了一个移动终端100和一个服务器200,但本发明并不局限于此,可以包括两个或更多数目的终端和/或服务器等等。终端100可以属于用户或者可以由用户操作。终端100和服务器200可以通过通信网络300进行通信。通信网络300的示例可以包括(但不限于):互联网、移动通信网络、固定线路(如xDSL、光纤等)等。
在图1所示实施例中,为了在终端100处确保其上应用程序的安全运行,将根据本发明的实施例的安全桌面客户端150(以下简称为客户端150)安装在终端上。客户端150可以由用户以软件的形式自行安装在终端100中,或者可以由终端生产厂商以硬件或固件的形式安装在终端100中。在一些实施例中,客户端150可以是例如在用户购买了终端100之后从网络中下载的专门用于本发明的应用软件。在另一些实施例中,客户端150可以是例如由生产厂商以固件或硬件形式预先安装在终端100中的应用程序。在又一些实施例中,客户端150可以是由生产厂商生产的硬件模块或终端本身。在一个实施例中,安全桌面客户端150可被视为一个如上所述的安卓Launcher,除了本发明的特征之外,其还可以具备安卓Launcher的部分或所有特征。
接下来,将结合图1来详细说明根据本发明的实施例的用于确保应用程序在终端100上安全运行的流程。
首先,将应用程序(例如,企业希望其员工使用的用于移动办公的应用程序)发布到应用商店或MDM服务器(例如,服务器200)。在一个实施例中,该应用程序的预期用户在访问应用商店/MDM服务器(例如,服务器200)中的该应用程序时需要得到企业的认证及授权。即,不是每个用户都可以从商店/MDM服务器(例如,服务器200)中获取到该应用程序。当然,本发明不限于此,在其他实施例中,用户访问该应用程序时,无需得到企业的认证及授权。
接下来,在一个实施例中,企业可以在移动终端100上部署MDM(移动设备管理)产品,该MDM产品可以包含上述安全桌面(SAFELauncher)客户端150并获得企业认证及授权。当然,在其他实施例中,该客户端150也可以作为单独的应用部署在终端100上,而无需涉及MDM方案。
然后,企业的IT管理人员或其它相关人员可以通过配置MDM策略,向终端100推送指定企业应用(例如,上述应用程序)。同上,在其他实施例中,也可以不采用MDM方案,即由终端100通过其他方式来获取该应用程序,例如从商店(例如,服务器200)中下载,通过U盘、光盘等直接拷贝,或通过任何其他恰当的方式将该应用程序下载到终端100上。
在获取到用户想要运行的应用程序之后,客户端150首先可以验证其完整性(例如,通过对其安装文件中包括的数字摘要与根据下载到的文件所计算出的数字摘要进行对比等)。然后,客户端150可以对其进行扫描,以例如通过在存储了已知恶意软件的特征码的特征库中进行检索,来判断该应用程序是否是已知的恶意软件。如果是,则可以通过终端的用户界面(例如,声音、图像、震动等方式)向用户提示该点,并由用户来判断是否继续进行安装。如果否,则可以继续后续步骤。
此外,客户端150可以根据该应用程序包中包含的内容(例如,其原始应用图标)在桌面上显示相应的应用图标。在一个实施例中,所显示的应用图标可以与原始应用图标相同。在其他实施例中,所显示的应用图标可以与原始应用图标不同,例如可以在原始应用图标上添加表明该图标是“安全”的指示(例如,在图标上叠加一面小盾牌或“安全”字样等等)。
此处,应当注意:与上述传统安装模式不同的是,在本发明的实施例中,该安全桌面客户端150并不实际安装指定应用,而仅是在指定目录下以加密的方式把该应用存储在多个文件中(包含由客户端150为该应用生成的配置文件)。由于本发明的重点并不在于文件如何存放及如何加密,因此将省略对其的描述。本领域技术人员应当可以根据本发明所要实现的目标来实现这些被省略的步骤。
在一个实施例中,上述存储的多个文件中可以至少包括(a)配置文件和(b)应用文件。配置文件可以用XML形式来保存,其中包含了与安全运行应用程序相关的各个参数/信息/数据,包括(但不限于)应用程序的应用名称、应用程序的相关文件的存放路径、启动应用程序所需的入口类的名称、以及其它属性(例如可包含应用程序下载时间等)。此外,配置文件可以加密保存。应用文件可以包括从服务器200(或在线商店)下载的应用程序(APK)。在一个实施例中,该应用文件可以是加密的。
在一个实施例中,当用户在安全桌面客户端150上点选如上所述显示的应用图标,以启动对应应用程序(例如,应用程序A)时,客户端150首先启动一个新的自身的内嵌应用(例如,应用程序B),并依据配置文件中的信息,生成启动参数(例如,应用文件路径,文件是否加密、入口类等配置信息),并传递给应用B。
接下来,上述内嵌应用B可以根据接收到的启动参数,读取并解密(如果在前面步骤中对应用A的文件进行了加密)指定目录下的与应用A对应的文件。具体地,应用B可以解析启动参数,并在其指定的路径下查找相关应用文件,然后如果该文件被加密,则应用B将首先解密该文件。
然后,内嵌应用B可以扫描并动态加载该应用文件包含的类和资源等。之后,内嵌应用B可以初始化应用A运行所需的上下文环境,并启动监控进程和/或线程。接下来,内嵌应用B可以实例化并调用前面加载的应用A的类中由应用A的配置文件中的相关参数(启动参数)所描述的入口类。继而,入口类自身实例化,开始其自身的生命周期,并接管应用B的控制权。
此时,应用B预先启动的上述监控进程/线程在应用A的整个生存周期期间维持对应用A(此时,也是应用B)的监控。由于监控操作在同一个应用空间内进行,所以可以采用流行的Native C函数Hook及Java Hook来进行。关于Hook的具体细节,由于其不是本发明的关注内容且其是公知的,此处将省略对其的详细描述。
监控内容主要涉及对应用A在运行期间所访问的网络资源和本地资源(例如,CPU资源、RAM资源、存储器(例如,SD卡等)资源等的访问)进行监管。通过该监视,监控进程/线程可以向用户提醒应用A在运行期间的可疑行为。例如,从已知的恶意网站下载数据;修改重要的系统目录中的配置文件等等。
当应用A结束其执行的目的并退出之后,控制权返回应用B。此时,应用B可以终止上述监控进程/线程,并根据应用A结束时返回的返回值(或其他返回对象等),向用户提供对应的结果(例如,程序是否正常退出、结果数据等等),同时释放其分配用于监控应用A的运行所需的资源以及应用A运行所需的资源。
通过上述流程,对于用户来说,除非监控进程/线程向用户告警应用A出现安全性问题之类的信息,否则用户意识不到应用A并未通过实际安装过程安装在终端100上,也意识不到该应用A始终受到安全监控。
至此,已结合图1描述了用于确保应用程序安全运行的流程。通过使用本发明的方法和终端,可以在不需要对APK重新打包的情况下,通过验证证书及签名,并对企业应用实施监控,防止其被纂改,从而提升了企业应用及其运行环境的安全性,进而为企业应用的移动办公提供了必要条件。
接下来,图2是示出了根据本发明实施例的用于确保应用程序安全运行的方法400的流程图。如图2所示,方法400可以包括步骤S410和S420。根据本发明,方法400的一些步骤可以单独执行或组合执行,以及可以并行执行或顺序执行,并不局限于图2所示的具体操作顺序。在一些实施例中,方法400可以由图1所示的终端100或其上的安全桌面客户端150来执行。
图3是示出了根据本发明实施例的用于确保应用程序安全运行的示例终端100的框图。如图3所示,终端100可以包括:监控启动单元110和应用调用单元120。
监控启动单元110可以用于响应于终端100的用户的用于启动应用程序的操作,启动应用监控进程或线程。监控启动单元110可以是终端100的中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、微控制器等等,其可以与终端100的输入部分(例如,触摸屏、键盘、鼠标、语音识别器等)相配合,响应于终端100的用户输入的用于启动应用程序的操作,启动应用监控进程或线程。
应用调用单元120可以用于调用应用程序,其中,由应用监控进程或线程来监控该应用程序的运行期间的安全性。应用调用单元120可以是终端100的中央处理单元(CPU)、数字信号处理器(DSP)、微处理器、微控制器等等,其可以调用用户想要启动的应用程序,并使得该应用程序在由监控启动单元110所启动的应用监控进程或线程的监控之下,以确保该应用程序在运行期间的安全性。
此外,终端100还可以包括图3中未示出的其他单元,例如应用获取单元、应用扫描单元、图标显示单元、以及配置创建单元等。在一些实施例中,应用获取单元可以用于获取并存放应用程序。在一些实施例中,应用扫描单元可以用于对应用程序进行安全扫描。在一些实施例中,图标显示单元可以用于在终端100的用户界面上显示应用程序的相应应用图标。在一些实施例中,配置创建单元可以用于根据应用程序来创建与该应用程序关联的配置文件。
以下将结合图2和图3,对根据本发明实施例的用于在终端100上确保应用程序安全运行的方法400和终端100进行详细的描述。
方法400开始于步骤S410,在步骤S410中,可以由终端100的监控启动单元110响应于终端100的用户的用于启动应用程序的操作,启动应用监控进程或线程。
在步骤S420中,可以由终端100的应用调用单元120调用该应用程序,其中,由上述应用监控进程或线程来监控该应用程序在运行期间的安全性。
在一些实施例中,在步骤S420之前,方法400还可以包括以下可选步骤:
S412获取并存放应用程序;
S414对该应用程序进行安全扫描;
S416在终端100的用户界面上显示该应用程序的相应应用图标;以及
S418根据该应用程序来创建与该应用程序关联的配置文件。
在一些实施例中,步骤S414可以包括:根据应用程序的安装文件中包括的数字摘要,来验证该应用程序的完整性。
在一些实施例中,步骤S414可以包括:通过在存储恶意应用程序的特征的特征库中进行检索,来判定应用程序是否是已知的恶意应用程序,如果是,则通过终端100的用户界面向用户提示;否则,则继续后续步骤的执行。
在一些实施例中,配置文件可以包括以下一项或多项:应用程序的名称;应用程序的相关文件的存放路径;应用程序的入口类;以及应用程序的下载时间。
在一些实施例中,步骤S420可以包括:
S422根据应用程序的配置文件中的信息,在相关文件的存放路径下查找应用程序的相关文件;
S424扫描并加载相关文件中包括的类和资源;以及
S426实例化并调用类中由配置文件来指定的入口类。
在一些实施例中,应用程序的运行期间的安全性可以包括网络资源安全性和本地资源安全性中的任一项或全部两项。
在一些实施例中,步骤S412还可以包括:在存放应用程序之前,对应用程序加密。
在一些实施例中,步骤S420还可以包括:在调用应用程序之前,对应用程序解密。
至此已经结合优选实施例对本发明进行了描述。应该理解,本领域技术人员在不脱离本发明的精神和范围的情况下,可以进行各种其它的改变、替换和添加。因此,本发明的范围不局限于上述特定实施例,而应由所附权利要求所限定。
Claims (16)
1.一种用于在终端上确保应用程序安全运行的方法,包括:
(a)响应于所述终端的用户的用于启动所述应用程序的操作,启动应用监控进程或线程;以及
(b)调用所述应用程序,其中,由所述应用监控进程或线程来监控所述应用程序的运行期间的安全性,
其中,在步骤(b)之前,所述方法还包括:
(c)获取并存放所述应用程序;
(f)根据所述应用程序来创建与所述应用程序关联的配置文件,
其中,步骤(b)包括:
(b1)根据所述应用程序的配置文件中的信息,在相关文件的存放路径下查找所述应用程序的相关文件;
(b2)扫描并加载所述相关文件中包括的类和资源;以及
(b3)实例化并调用所述类中由所述配置文件来指定的入口类。
2.根据权利要求1所述的方法,其中,在步骤(b)之前和步骤(c)之后,所述方法还包括:
(d)对所述应用程序进行安全扫描;
(e)在所述终端的用户界面上显示所述应用程序的相应应用图标。
3.根据权利要求2所述的方法,其中,步骤(d)包括:
根据所述应用程序的安装文件中包括的数字摘要,验证所述应用程序的完整性。
4.根据权利要求2所述的方法,其中,步骤(d)包括:
通过在存储恶意应用程序的特征的特征库中进行检索,来判定所述应用程序是否是已知的恶意应用程序,
如果是,则通过所述终端的用户界面向所述用户提示;
否则,则继续后续步骤的执行。
5.根据权利要求1所述的方法,其中,所述配置文件包括以下一项或多项:
所述应用程序的名称;
所述应用程序的相关文件的存放路径;
所述应用程序的入口类;以及
所述应用程序的下载时间。
6.根据权利要求1所述的方法,其中,所述应用程序的运行期间的安全性包括网络资源安全性和本地资源安全性中的任一项或全部两项。
7.根据权利要求1所述的方法,其中,步骤(c)还包括:
在存放所述应用程序之前,对所述应用程序加密。
8.根据权利要求7所述的方法,其中,步骤(b)还包括:
在调用所述应用程序之前,对所述应用程序解密。
9.一种用于确保应用程序安全运行的终端,包括:
监控启动单元,用于响应于所述终端的用户的用于启动所述应用程序的操作,启动应用监控进程或线程;以及
应用调用单元,用于调用所述应用程序,其中,由所述应用监控进程或线程来监控所述应用程序的运行期间的安全性,
其中,所述终端还包括:
应用获取单元,用于获取并存放所述应用程序;
配置创建单元,用于根据所述应用程序来创建与所述应用程序关联的配置文件,
其中,所述应用调用单元还用于:
(b1)根据所述应用程序的配置文件中的信息,在相关文件的存放路径下查找所述应用程序的相关文件;
(b2)扫描并加载所述相关文件中包括的类和资源;以及
(b3)实例化并调用所述类中由所述配置文件来指定的入口类。
10.根据权利要求9所述的终端,其中,所述终端还包括:
应用扫描单元,用于对所述应用程序进行安全扫描;
图标显示单元,用于在所述终端的用户界面上显示所述应用程序的相应应用图标。
11.根据权利要求10所述的终端,其中,所述应用扫描单元还用于:
根据所述应用程序的安装文件中包括的数字摘要,验证所述应用程序的完整性。
12.根据权利要求10所述的终端,其中,所述应用扫描单元还用于:
通过在存储恶意应用程序的特征的特征库中进行检索,来判定所述应用程序是否是已知的恶意应用程序,
如果是,则通过所述终端的用户界面向所述用户提示;
否则,则继续后续步骤的执行。
13.根据权利要求9所述的终端,其中,所述配置文件包括以下一项或多项:
所述应用程序的名称;
所述应用程序的相关文件的存放路径;
所述应用程序的入口类;以及
所述应用程序的下载时间。
14.根据权利要求9所述的终端,其中,所述应用程序的运行期间的安全性包括网络资源安全性和本地资源安全性中的任一项或全部两项。
15.根据权利要求9所述的终端,其中,所述应用获取单元还用于:
在存放所述应用程序之前,对所述应用程序加密。
16.根据权利要求15所述的终端,其中,所述应用调用单元还用于:
在调用所述应用程序之前,对所述应用程序解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310559413.9A CN103544434B (zh) | 2013-11-12 | 2013-11-12 | 用于确保应用程序安全运行的方法和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310559413.9A CN103544434B (zh) | 2013-11-12 | 2013-11-12 | 用于确保应用程序安全运行的方法和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103544434A CN103544434A (zh) | 2014-01-29 |
CN103544434B true CN103544434B (zh) | 2016-08-24 |
Family
ID=49967874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310559413.9A Expired - Fee Related CN103544434B (zh) | 2013-11-12 | 2013-11-12 | 用于确保应用程序安全运行的方法和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103544434B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279433B (zh) * | 2014-07-10 | 2020-10-16 | 腾讯科技(深圳)有限公司 | 一种应用程序的防护方法及装置 |
CN104166557A (zh) * | 2014-08-29 | 2014-11-26 | 北京网秦天下科技有限公司 | 应用程序的运行方法和装置 |
CN104239797B (zh) * | 2014-10-13 | 2017-07-07 | 北京奇虎科技有限公司 | 主动防御方法及装置 |
CN104378388B (zh) * | 2014-12-09 | 2018-02-27 | 北京奇虎科技有限公司 | 可执行文件运行控制方法及装置 |
CN107239377B (zh) * | 2016-03-29 | 2021-02-26 | 阿里巴巴集团控股有限公司 | 获取Java虚拟机运行状态的方法和装置 |
SG10201602449PA (en) | 2016-03-29 | 2017-10-30 | Huawei Int Pte Ltd | System and method for verifying integrity of an electronic device |
CN106294068A (zh) * | 2016-08-03 | 2017-01-04 | 福建星海通信科技有限公司 | 一种安卓系统apk监控管理方法及其装置 |
CN109298895B (zh) * | 2017-07-24 | 2021-04-23 | 杭州盈高科技有限公司 | 移动设备上的app管理方法及装置 |
CN110210256B (zh) * | 2018-08-07 | 2023-06-06 | 腾讯科技(深圳)有限公司 | 一种应用加固、加固应用启动方法、装置及服务器 |
CN113505376B (zh) * | 2021-09-09 | 2022-03-08 | 北京全息智信科技有限公司 | 一种应用程序运行环境的控制方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904852A (zh) * | 2006-08-01 | 2007-01-31 | 西安西电捷通无线网络通信有限公司 | 一种计算机应用程序的监控及异常处理方法 |
CN101859275A (zh) * | 2010-03-08 | 2010-10-13 | 宇龙计算机通信科技(深圳)有限公司 | 一种监控应用程序的方法、系统及移动终端 |
CN102789558A (zh) * | 2011-05-20 | 2012-11-21 | 北京网秦天下科技有限公司 | 分析移动设备中程序安装和程序运行的方法和系统 |
CN103065083A (zh) * | 2013-01-31 | 2013-04-24 | 晨风云(北京)科技有限公司 | 一种智能移动终端的应用程序接口监控方法及系统 |
CN103198255A (zh) * | 2013-04-03 | 2013-07-10 | 武汉大学 | 一种Android软件敏感行为监控与拦截方法及系统 |
CN103368904A (zh) * | 2012-03-27 | 2013-10-23 | 百度在线网络技术(北京)有限公司 | 移动终端、可疑行为检测及判定系统和方法 |
-
2013
- 2013-11-12 CN CN201310559413.9A patent/CN103544434B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904852A (zh) * | 2006-08-01 | 2007-01-31 | 西安西电捷通无线网络通信有限公司 | 一种计算机应用程序的监控及异常处理方法 |
CN101859275A (zh) * | 2010-03-08 | 2010-10-13 | 宇龙计算机通信科技(深圳)有限公司 | 一种监控应用程序的方法、系统及移动终端 |
CN102789558A (zh) * | 2011-05-20 | 2012-11-21 | 北京网秦天下科技有限公司 | 分析移动设备中程序安装和程序运行的方法和系统 |
CN103368904A (zh) * | 2012-03-27 | 2013-10-23 | 百度在线网络技术(北京)有限公司 | 移动终端、可疑行为检测及判定系统和方法 |
CN103065083A (zh) * | 2013-01-31 | 2013-04-24 | 晨风云(北京)科技有限公司 | 一种智能移动终端的应用程序接口监控方法及系统 |
CN103198255A (zh) * | 2013-04-03 | 2013-07-10 | 武汉大学 | 一种Android软件敏感行为监控与拦截方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103544434A (zh) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103544434B (zh) | 用于确保应用程序安全运行的方法和终端 | |
US9104442B2 (en) | Modifying the execution of a native application running on a portable electronic device | |
US9026918B2 (en) | Enabling a user device to access enterprise data | |
TWI464611B (zh) | 驗證一已開發應用程式是否與其他至少一個應用程式適當運作之隨選資料庫服務系統、方法及電腦程式產品 | |
US8543998B2 (en) | System and method for building virtual appliances using a repository metadata server and a dependency resolution service | |
CN104854561A (zh) | 用于应用程序管理框架的应用程序封装 | |
CN106471466A (zh) | 短暂应用 | |
EP2730054A1 (en) | Portable computing device and method of operation of same | |
CN109634619A (zh) | 可信执行环境实现方法及装置、终端设备、可读存储介质 | |
CN102306117A (zh) | 一种硬件检测自动报警的方法及装置 | |
KR101935847B1 (ko) | 컴파일링된 소프트웨어 내의 기계 명령어를 수정하기 위한 방법 및 시스템 | |
CN112214653B (zh) | 字符串识别方法、装置、存储介质及电子设备 | |
US20220253297A1 (en) | Automated deployment of changes to applications on a cloud computing platform | |
CN112099802B (zh) | 应用程序的组件识别方法及装置 | |
WO2022093353A1 (en) | Using multi-factor and/or inherence-based authentication to selectively enable performance of an operation prior to or during release of code | |
CN114041275B (zh) | 无服务器平台上的机密的生命周期管理 | |
CN107145790A (zh) | 一种管理应用权限的方法及终端 | |
CN110597496A (zh) | 应用程序的字节码文件获取方法及装置 | |
CN102148831A (zh) | 一种终端应用的安全控制方法及系统 | |
CN116521509A (zh) | 智能合约测试方法、装置、设备、存储介质及产品 | |
CN111666581A (zh) | 数据保护方法、装置、设备及介质 | |
KR20170020366A (ko) | 구독자 정의 동적 이벤팅 기법 | |
Riasat et al. | Review and Comparative Studies on Mobile Operating System | |
CN116382718A (zh) | 代码离线部署方法、装置、计算机设备及存储介质 | |
AU2012258338B2 (en) | Method and system for modifying the execution of a native application running on a portable electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160824 Termination date: 20191112 |