一种应用程序安全识别方法及装置
技术领域
本申请涉及软件技术领域,尤其涉及一种应用程序安全识别方法及装置。
背景技术
目前,为了方便使用,用户会在终端上安装很多APP,然而,APP的安全隐患来源有很多:如使用不安全的协议、SDK有缺陷、程序员的逻辑缺陷、代码本身漏洞问题等等。
为了减少APP安全因患带来的危害,APP在安装前必须经过云端扫描,对于云端已知的APP,可以扫描通过,允许APP的安装;对于云端未知的APP,将无法扫描通过,无法完成安装;
然而,在实际应用中,有些无法扫描通过的APP可能是由于APP较新或者流传度较低,云端只是未来得及进行安全备份,APP自身并无安全隐患,此种情况下,将影响用户使用,给用户造成不便。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种应用程序安全识别方法及装置。
第一方面,本申请提供了一种应用程序安全识别方法,应用于终端,所述方法包括:
在检测到安装APP的确定操作时,向云端发送安全识别请求;
若接收到云端返回的安全识别不成功消息时,读取所述APP的apk文件;
基于所述apk文件生成所述APP的验证数据串,向所述云端发送所述验证数据串;
若接收到所述云端返回的验证结果,将所述验证结果确定为所述应用程序的安全识别结果。
可选地,所述基于所述apk文件生成所述APP的验证数据串,包括:
确定所述apk文件中DEX格式的文件;
解析所述DEX格式的文件,得到操作码的操作序列;
基于所述操作码及所述操作序列生成所述APP的验证数据串。
可选地,所述基于所述操作码及所述第一序列文件生成所述APP的验证数据串,包括:
确定所述操作码的关键字;
将所述操作序列与所述关键字组成验证序列;
将所述验证序列进行排列组合,得到所述验证字符串。
可选地,所述终端内预先设置有终端人工智能引擎,相应的,所述终端人工智能引擎读取所述APP的apk文件,并基于所述apk文件生成所述APP的验证数据串。
第二方面,本申请提供了一种应用程序安全识别方法,应用于云端,所述方法包括:
若接收到终端发送的验证字符串,启动与所述终端对应的云端人工智能引擎,利用所述云端人工智能引擎对所述验证字符串进行验证,得到验证结果;
将所述验证结果返回给所述终端。
第三方面,本申请提供了一种应用程序安全识别装置,所述装置包括:
第一发送模块,用于在检测到安装APP的确定操作时,向云端发送安全识别请求;
读取模块,用于若接收到云端返回的安全识别不成功消息时,读取所述APP的apk文件;
第二发送模块,用于基于所述apk文件生成所述APP的验证数据串,向所述云端发送所述验证数据串;
确定模块,用于若接收到所述云端返回的验证结果,将所述验证结果确定为所述应用程序的安全识别结果。
可选地,所述第二发送模块,包括:
确定单元,用于确定所述apk文件中DEX格式的文件;
解析单元,用于解析所述DEX格式的文件,得到操作码的操作序列;
生成单元,用于基于所述操作码及所述操作序列生成所述APP的验证数据串。
可选地,所述生成单元还用于:
确定所述操作码的关键字;
将所述操作序列与所述关键字组成验证序列;
将所述验证序列进行排列组合,得到所述验证字符串。
可选地,所述终端内预先设置有终端人工智能引擎,所述终端人工智能引擎用于读取所述APP的apk文件,并基于所述apk文件生成所述APP的验证数据串。
第四方面,本申请提供了一种应用程序安全识别装置,应用于云端,所述装置包括:
验证模块,用于若接收到终端发送的验证字符串,启动与所述终端对应的云端人工智能引擎,利用所述云端人工智能引擎对所述验证字符串进行验证,得到验证结果;
返回模块,用于将所述验证结果返回给所述终端。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本发明实施例能够对于云端未知的应用程序,根据应用程序生成验证字符串,使云端能够通过对验证字符串的验证得到验证结果,进而得到应用程序的安全识别结果,在保证终端安全的同时,用户操作简单,便于用户使用。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用程序安全识别方法的流程图;
图2为本申请实施例提供的另一种应用程序安全识别方法的流程图;
图3为本申请实施例提供的一种应用程序安全识别装置的结构图;
图4为本申请实施例提供的另一种应用程序安全识别装置的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在实际应用中,有些无法扫描通过的APP可能是由于APP较新或者流传度较低,云端只是未来得及进行安全备份,APP自身并无安全隐患,此种情况下,将影响用户使用,给用户造成不便。为此,在本发明的一个实施例中,提供一种应用程序安全识别方法,所述方法可以应用于终端,示例性的,终端可以指手机或者平板电脑等,所述终端内预先设置有终端人工智能引擎,所述终端与云端通过通信链路连接,所述云端内预先设置有云端人工智能引擎,终端能够通过通信链路与云端传递信息,如图1所示,所述方法包括:
步骤S101,在检测到安装APP的确定操作时,向云端发送安全识别请求;
步骤S102,若接收到云端返回的安全识别不成功消息时,读取所述APP的apk文件;
在该步骤中,终端接收到安全识别不成功消息时,触发终端人工智能引擎,终端人工智能引擎读取所述APP的apk文件。
步骤S103,基于所述apk文件生成所述APP的验证数据串,向所述云端发送所述验证数据串;
终端人工智能引擎基于所述apk文件生成所述APP的验证数据串。
在该步骤中,可以首先确定所述apk文件中DEX格式的文件;解析所述DEX格式的文件,得到操作码(OP CODE)的操作序列;基于所述操作码及所述操作序列生成所述APP的验证数据串。
所述基于所述操作码及所述第一序列文件生成所述APP的验证数据串,包括:确定所述操作码的关键字;将所述操作序列与所述关键字组成验证序列;将所述验证序列进行排列组合,得到所述验证字符串,所述验证字符串的长度为预设长度。
步骤S104,若接收到所述云端返回的验证结果,将所述验证结果确定为所述应用程序的安全识别结果。
在该步骤中,若验证结果为验证通过,则确定应用程序的安全识别结果为安全;若验证结果为验证不通过,则确定应用程序的安全识别结果为不安全。
本发明实施例能够对于云端未知的应用程序,根据应用程序生成验证字符串,使云端能够通过对验证字符串的验证得到验证结果,进而得到应用程序的安全识别结果,在保证终端安全的同时,用户操作简单,便于用户使用。
基于前述实施例,在本发明的又一实施例中,还提供一种应用程序安全识别方法,应用于云端,如图2所示,所述方法包括:
步骤S201,若接收到终端发送的验证字符串,启动与所述终端对应的云端人工智能引擎,利用所述云端人工智能引擎对所述验证字符串进行验证,得到验证结果;
示例性的,云端人工智能引擎可以判断验证字符串的长度是否为预设长度,如果验证字符串的长度为预设长度,则确定验证通过,否则,确定验证不通过。此处仅是示例,在实际应用中也可以根据实际情况采用其它验证方式,本发明不做限定。
步骤S202,将所述验证结果返回给所述终端。
本发明实施例能够对终端发送的验证字符串进行验证,便于终端对应用程序进行安全识别。
在本发明的又一实施例中,还提供一种应用程序安全识别装置,如图3所示,所述装置包括:
第一发送模块11,用于在检测到安装APP的确定操作时,向云端发送安全识别请求;
读取模块12,用于若接收到云端返回的安全识别不成功消息时,读取所述APP的apk文件;
第二发送模块13,用于基于所述apk文件生成所述APP的验证数据串,向所述云端发送所述验证数据串;
确定模块14,用于若接收到所述云端返回的验证结果,将所述验证结果确定为所述应用程序的安全识别结果。
在本发明的又一实施例中,所述第二发送模块,包括:
确定单元,用于确定所述apk文件中DEX格式的文件;
解析单元,用于解析所述DEX格式的文件,得到操作码的操作序列;
生成单元,用于基于所述操作码及所述操作序列生成所述APP的验证数据串。
在本发明的又一实施例中,所述生成单元还用于:
确定所述操作码的关键字;
将所述操作序列与所述关键字组成验证序列;
将所述验证序列进行排列组合,得到所述验证字符串。
在本发明的又一实施例中,所述终端内预先设置有终端人工智能引擎,所述终端人工智能引擎用于读取所述APP的apk文件,并基于所述apk文件生成所述APP的验证数据串。
在本发明的又一实施例中,还提供一种应用程序安全识别装置,应用于云端,如图4所示,所述装置包括:
验证模块21,用于若接收到终端发送的验证字符串,启动与所述终端对应的云端人工智能引擎,利用所述云端人工智能引擎对所述验证字符串进行验证,得到验证结果;
返回模块22,用于将所述验证结果返回给所述终端。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。