发明内容
鉴于上述问题,本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的应用程序控制方法和相应的应用程序控制装置。
依据本发明实施例的一个方面,提供了一种应用程序控制方法,包括:
特征终端在无法连接特征服务端时,获取应用程序的标识信息,所述特征服务端为基于内网对特征终端进行安全控制的服务端;
若所述第一属性鉴定数据库中不存在所述应用程序的标识信息,则记录所述应用程序的标识信息;
依据所述标识信息,在特征终端预置的第一属性鉴定数据库中提取所述应用程序的第一属性,所述第一属性包括对所述应用程序的安全性分类;
依据所述第一属性,在特征终端预置的第二属性配置文件中提取所述应用程序的第二属性,所述第二属性包括与所述安全性分类相对应的应用程序的执行策略;
特征终端依据所述执行策略加载和/或执行所述应用程序。
本发明实施例中,所述应用程序包括请求访问的应用程序、或特征终端安装的所有应用程序、或特征终端安装的需要与特征服务端保持连接的应用程序。
本发明实施例中,所述安全性分类包括黑文件、白文件和灰文件,若所述第一属性鉴定数据库中不存在所述应用程序的标识信息,则判断所述应用程序的安全性分类为灰文件。
本发明实施例中,所述应用程序的安全性分类为黑文件时,对应的执行策略为加载并执行所述应用程序;
所述应用程序的安全性分类为白文件时,对应的执行策略为不加载所述应用程序;
所述应用程序的安全性分类为灰文件时,对应的执行策略为执行所述应用程序的部分应用功能。
本发明实施例中,所述方法还包括:
在特征终端连接上特征服务端时,获取应用程序的标识信息发送到所述特征服务端进行鉴定。
本发明实施例中,所述方法还包括:
接收特征服务端返回的所述应用程序的第一属性,并将所述应用程序的标识信息和第一属性的对应关系保存在所述第一属性鉴定数据库中。
本发明实施例中,所述方法还包括:
依据特征服务端的第二属性配置文件,对特征终端的第二属性配置文件进行更新。
本发明实施例中,所述特征终端获取应用程序的标识信息的步骤包括:
特征终端提取应用程序对应的应用程序文件;
采用预设算法将所述应用程序文件转换为对应的标识信息。
本发明实施例中,所述应用程序文件的文件头中包含预设关键词;所述预设算法包括信息摘要算法。
根据本发明的另一方面,提供了一种应用程序控制装置,包括:
标识信息获取模块,适于特征终端在无法连接特征服务端时,获取应用程序的标识信息,所述特征服务端为基于内网对特定终端进行安全控制的服务端;
第一属性获取模块,适于依据所述标识信息,在特征终端预置的第一属性鉴定数据库中提取所述应用程序的第一属性,所述第一属性包括对所述应用程序的安全性分类;
第二属性获取模块,适于依据所述第一属性,在特征终端预置的第二属性配置文件中提取所述应用程序的第二属性,所述第二属性包括与所述安全性分类相对应的应用程序的执行策略;
加载模块,适于特征终端依据所述执行策略加载和/或执行所述应用程序;
记录模块,适于若所述第一属性鉴定数据库中不存在所述应用程序的标识信息,则记录所述应用程序的标识信息。
本发明实施例中,所述应用程序包括请求访问的应用程序、或特征终端安装的所有应用程序、或特征终端安装的需要与特征服务端保持连接的应用程序。
本发明实施例中,所述安全性分类包括黑文件、白文件和灰文件,所述第一属性鉴定模块包括:
灰文件鉴定子模块,适于若所述第一属性鉴定数据库中不存在所述应用程序的标识信息,则判断所述应用程序的安全性分类为灰文件。
本发明实施例中,所述应用程序的安全性分类为黑文件时,对应的执行策略为加载并执行所述应用程序;
所述应用程序的安全性分类为白文件时,对应的执行策略为不加载所述应用程序;
所述应用程序的安全性分类为灰文件时,对应的执行策略为执行所述应用程序的部分应用功能。
本发明实施例中,所述装置还包括:
鉴定模块,适于在特征终端连接上特征服务端时,,获取所述应用程序的标识信息发送到所述特征服务端进行鉴定。
本发明实施例中,所述装置还包括:
保存模块,适于接收所述特征服务端返回的所述应用程序的第一属性,并将所述应用程序的标识信息和第一属性的对应关系保存在所述第一属性鉴定数据库中。
本发明实施例中,所述装置还包括:
更新模块,适于依据特征服务端的第二属性配置文件,对特征终端的第二属性配置文件进行更新。
本发明实施例中,所述标识信息获取模块包括:
应用程序文件提取子模块,适于特征终端提取应用程序对应的应用程序文件;
转换子模块,适于采用预设算法将所述应用程序文件转换为对应的标识信息。
本发明实施例中,所述应用程序文件的文件头中包含预设关键词;所述预设算法包括信息摘要算法。
依据本发明实施例,通过在终端预置第一属性鉴定数据库和第二属性配置文件,终端在无法连接特征服务端时,可以直接在本地鉴定出应用程序的安全性分类对应的执行策略,进而可以依据执行策略来加载应用程序,从而使得终端无法连接私有云时,依然可以对应用程序进行鉴定,得出应用程序是否可以执行,不影响用户对应用程序的访问。
本发明实施例中,应用程序的安全性分类可以包括黑文件、白文件和灰文件等多种不同的属性,相应的,第二属性配置文件可以包括对多种不同的安全性分类分别对应的执行策略。用户可以按照自己不同的需求在私有云重新设置第二属性配置文件,然后对终端的第二属性配置文件进行更新。
本发明实施例在第一属性鉴定数据库不够完善,无法对应用程序的第一属性进行鉴定时,可以将该应用程序的安全性分类判定为灰文件,进而可以在第二属性配置文件中找到相应的执行策略,避免了第一属性鉴定数据库不够完善时,造成部分程序无法访问的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
参考图1,示出了本发明实施例的一种应用程序控制方法实施例的步骤流程图,具体可以包括以下步骤:
步骤101、特征终端在无法连接特征服务端时,获取应用程序的标识信息,所述特征服务端为基于内网对特征终端进行安全控制的服务端。
本发明实施例中,特征服务端为特定终端可访问的服务端,即私有云,可访问私有云的特征终端和私有云服务器处于同一个内网,在具体的实现中,私有云多架设在企业内网中,可以对内网的各个终端进行安全控制。
本发明实施例主要用于终端与私有云无法连接场景下,终端可以使用http数据包向私有云服务器发起请求,如果终端无法和私有云服务器连接,这个请求会立刻返回失败,终端从而判断处于无法连接私有云的环境。
本发明实施例中,所述应用程序可以是用户请求访问的应用程序,用户可以在终端通过点击应用程序的快捷方式或是程序文件等方式来请求访问该应用程序,终端接收到用户的点击之后,提取该应用程序的标识信息用于进一步进行鉴定。
本发明实施例中,所述应用程序也可以是特征终端安装的所有应用程序,特征终端确定无法连接特征服务器端时,可以提取所有应用程序的标识信息,在特征终端本地进行鉴定。
本发明实施例中,所述应用程序也可以是特征终端安装的需要与特征服务端保持连接的应用程序,终端确定无法连接特征服务器端时,提取该应用程序的标识信息,在特征终端本地进行鉴定。
在本发明的一种优选的实施例中,所述步骤101可以包括:
子步骤S11、特征终端提取应用程序对应的应用程序文件;
子步骤S12、采用预设算法将所述应用程序文件转换为对应的标识信息。
本发明中,应用程序的标识信息可以通过对应用程序文件处理后得到,私有云终端安装有多个应用程序,每个程序对应有多个文件,其中包括有应用程序文件。应用程序文件即PE(portable executable,可移植的可执行文件)格式的文件,PE文件是微软Windows操作系统上的程序文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,每个应用程序都有对应的PE文件。
具体的,PE文件由MS-DOS可执行体、文件头、可选头、数据目录、节头以及节等结构组成,其中,文件头中包含如下结构:
1)“Machine(机器)”,用来指出该二进制文件预定运行于什么样的系统;
2)“NumberOfSections(节数)”,它是紧跟在头后面的节的数目;
3)“TimeDateStamp(时间戳)”,用来给出文件建立的时间;
4-5)“PointerToSymbolTable(符号表指针)”和“NumberOfSymbols(符号数)”(都是32位)都用于调试信息的;
6)“SizeOfOptionalHeader(可选头大小)”只是“IMAGE_OPTIONAL_HEADER(可选头)”项的大小,可以用它去验证PE文件结构的正确性;
7)“Characteristics(特性)”是一个16位的,由许多标志位形成的集合组成,但大多数标志位只对目标文件和库文件有效。
本发明中可以通过PE文件的文件头中各个结构的关键词作为预设关键词,来判断应用程序对应的各个文件是否为应用程序文件。然后可以通过预设算法对应用程序文件进行转换,并将转换后的文件作为应用程序的标识信息。
通过对PE文件采用预设的算法进行转换可以得到对应的标识信息,本发明中,预设算法可以是MD5算法,即信息摘要算法(Message-DigestAlgorithm 5),MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式,就是把一个任意长度的字节串变换成一定长的十六进制数字串,可以确保信息传输完整一致。
步骤102、依据所述标识信息,在特征终端预置的第一属性鉴定数据库中提取所述应用程序的第一属性,所述第一属性包括对所述应用程序的安全性分类。
本发明中,在终端预置了第一属性鉴定数据库,其中包括应用程序的标识信息和第一属性的对应关系,依据应用程序的标识信息便可以提取到相应的第一属性,第一属性可以包括对所述应用程序的安全性分类。
在本发明的一种实施例中,安全性分类可以分为三种,具体为黑文件、灰文件和白文件。若第一属性鉴定数据库构建的初期可能不够完善,不存在该应用程序的标识信息时,为了避免影响用户使用该程序,可以该应用程序的安全性分类确定为灰文件,避免了第一属性鉴定数据库不够完善时,造成部分程序无法访问的问题。在具体的实现中,安全性分类的种类和个数也可以根据需要设定,本发明对此并不做限制。
进一步,本发明还可以包括:
若所述第一属性鉴定数据库中不存在所述应用程序的标识信息,则记录所述应用程序的标识信息。
对于鉴定为灰文件的应用程序,可以将记录下该应用程序的标识信息,在可以连接上私有云时,将该应用程序的标识信息发送到私有云进行鉴定,进一步,本发明实施例还可以包括:
在特征终端连接上特征服务端时,获取所述应用程序的标识信息发送到所述特征服务端进行鉴定。
进一步,本发明实施例还可以包括:
接收所述特征服务端返回的所述应用程序的第一属性,并将所述应用程序的标识信息和第一属性的对应关系保存在所述第一属性鉴定数据库中。
具体的,私有云构建有应用程序管理数据库,即私有黑白库,简称私有库,由私有云所在的企业组织内部自己定制,其中包括了各个应用程序的标识信息和第一属性的对应关系。私有云服务器接收到终端发送的应用程序的标识信息后,通过私有库对该应用程序的第一属性进行鉴定,并返回给终端,终端将该应用程序的第一属性与标识信息的对应关系保存在第一属性鉴定数据库中,下次可以直接利用本地的第一属性鉴定数据库确定该程序的第一属性,使得对应用程序的鉴定更为准确。
步骤103、依据所述第一属性,在特征终端预置的第二属性配置文件中提取所述应用程序的第二属性,所述第二属性包括与所述安全性分类相对应的应用程序的执行策略。
在具体的实现中,特征终端可以安装有客户端软件,第二属性配置文件是可以内置在客户端软件的安装包中。本发明中,第二属性配置文件包括了应用程序的第一属性和第二属性的对应关系,第二属性可以包括与所述安全性分类相对应的应用程序的执行策略。在本发明的一种优选实施例中,应用程序的安全性分类与执行属性可以有如下对应关系:
所述应用程序的安全性分类为黑文件时,对应的执行策略为加载并执行所述应用程序;
所述应用程序的安全性分类为白文件时,对应的执行策略为不加载所述应用程序;
所述应用程序的安全性分类为灰文件时,对应的执行策略为执行所述应用程序的部分应用功能。
在具体的实现中,应用程序安全性分类和执行策略的对应关系可以根据应用环境和需求灵活设置。并且,用户可以按照自己不同的需求在特征服务端重新设置第二属性配置文件,然后对特征终端的第二属性配置文件进行更新,所述方法进一步还包括:
依据特征服务端的第二属性配置文件,对特征终端的第二属性配置文件进行更新。
步骤104、特征终端依据所述执行策略加载和/或执行所述应用程序。
执行策略中包含了针对各种安全性分类,对应的加载或执行的方式,特征终端对应用程序的执行策略鉴定完后,可以依据执行策略决定是否加载该应用程序。
综上所述,依据本发明,通过在终端预置第一属性鉴定数据库和第二属性配置文件,终端在无法连接特征服务端时访问应用程序时,可以直接在本地鉴定出应用程序的安全性分类对应的执行策略,进而可以依据执行策略来加载应用程序,从而使得终端无法连接私有云时,终端依然可以对应用程序进行鉴定,得出应用程序是否可以执行,不影响用户对应用程序的访问。
本发明中,应用程序的安全性分类可以包括黑文件、白文件和灰文件等多种不同的属性,相应的,第二属性配置文件可以包括对多种不同的安全性分类分别对应的执行策略。客户可以按照自己不同的需求在私有云重新设置第二属性配置文件,然后对终端的第二属性配置文件进行更新。
本发明在第一属性鉴定数据库不够完善,无法对应用程序的第一属性进行鉴定时,可以将该应用程序的安全性分类判定为灰文件,进而可以在第二属性配置文件中找到相应的执行策略,避免了第一属性鉴定数据库不够完善时,造成部分程序无法访问的问题。
参考图2,示出了本发明实施例的一种应用程序控制装置实施例的结构框图,具体可以包括以下模块:
标识信息获取模块201,适于特征终端在无法连接特征服务端时,获取应用程序的标识信息;
第一属性获取模块202,适于依据所述标识信息,在特征终端预置的第一属性鉴定数据库中提取所述应用程序的第一属性,所述第一属性包括对所述应用程序的安全性分类;
第二属性获取模块203,适于依据所述第一属性,在特征终端预置的第二属性配置文件中提取所述应用程序的第二属性,所述第二属性包括与所述安全性分类相对应的应用程序的执行策略;
运行模块204,适于特征终端依据所述执行策略加载和/或执行所述应用程序。
本发明实施例中,所述应用程序可以包括请求访问的应用程序、或特征终端安装的所有应用程序、或特征终端安装的需要与特征服务端保持连接的应用程序。
在本发明的一种优选实施例中,所述第一属性鉴定数据库可以包括应用程序的标识信息和第一属性的对应关系,所述第二属性配置文件可以包括应用程序的第一属性和第二属性的对应关系。
在本发明的一种优选实施例中,所述安全性分类可以包括黑文件、白文件和灰文件,所述第一属性鉴定模块可以包括:
灰文件鉴定子模块,适于若所述第一属性鉴定数据库中不存在所述应用程序的标识信息,则判断所述应用程序的安全性分类为灰文件。
在本发明的一种优选实施例中,所述
应用程序的安全性分类为黑文件时,对应的执行策略为加载并执行所述应用程序;
所述应用程序的安全性分类为白文件时,对应的执行策略为不加载所述应用程序;
所述应用程序的安全性分类为灰文件时,对应的执行策略为执行所述应用程序的部分应用功能。
在本发明的一种优选实施例中,所述装置还可以包括:
记录模块,适于若所述第一属性鉴定数据库中不存在所述应用程序的标识信息,则记录所述应用程序的标识信息。
进一步,在该实施例中,所述装置还可以包括:
鉴定模块,适于在特征终端连接上特征服务端时,将所述应用程序的标识信息发送到所述特征服务端进行鉴定。
进一步,在该实施例中,所述装置还可以包括:
保存模块,适于接收所述特征服务端返回的所述应用程序的第一属性,并将所述应用程序的标识信息和第一属性的对应关系保存在所述第一属性鉴定数据库中。
在本发明的一种优选实施例中,所述装置还可以包括:
更新模块,适于依据特征服务端的第二属性配置文件,对特定终端的第二属性配置文件进行更新。
在本发明的一种优选实施例中,所述标识信息获取模块可以包括:
应用程序文件提取子模块,适于特征终端提取所述应用程序对应的应用程序文件;
转换子模块,适于采用预设算法将所述应用程序文件转换为对应的标识信息。
在本发明的一种优选实施例中,所述应用程序文件的文件头中可以包含预设关键词;所述预设算法可以包括信息摘要算法。
本说明书中的各个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
需要说明的是,在本发明实施例中,所述硬件是指用户设备中的硬件,所述用户设备包括计算机、手机、PDA等,所述硬件包括CPU、主板、显卡、显示器、内存、硬盘、光驱、声卡、电池、网卡、鼠标键盘和/或摄像头等。本发明实施例不仅可以应用于单台设备的应用环境中,还可以应用于服务器-终端的应用环境,或者进一步应用于基于云技术的应用环境中。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的运行程序的安全控制设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。