一种对未知APP的安全性检测方法及装置与流程

文档序号:17443450发布日期:2019-04-17 05:08阅读:414来源:国知局
一种对未知APP的安全性检测方法及装置与流程

本申请涉及软件技术领域,尤其涉及一种对未知app的安全性检测方法及装置。



背景技术:

目前,为了方便使用,用户会在终端上安装很多app,然而,app的安全隐患来源有很多:如使用不安全的协议、sdk有缺陷、程序员的逻辑缺陷、代码本身漏洞问题等等。

为了减少app安全隐患带来的危害,app在安装前必须经过云端扫描,对于云端已知的app,可以扫描通过,允许app的安装;对于云端未知的app,将无法扫描通过,无法完成安装;

然而,在实际应用中,有些无法扫描通过的app可能是由于app较新或者流传度较低,云端只是未来得及进行安全备份,app自身并无安全隐患,此种情况下,将影响用户使用,给用户造成不便。



技术实现要素:

为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种对未知app的安全性检测方法及装置。

第一方面,本申请提供了一种对未知app的安全性检测方法,应用于服务器,所述方法包括:

接收终端发送的验证数据串,所述验证数据串是根据终端待安装的未知app的apk文件生成的;

判断预设特征数据串集合中是否存在与所述验证数据串匹配的特征数据串;

若存在,向所述终端返回所述未知app存在安全风险的验证结果。

可选地,所述判断预设特征数据串集合中是否存在与所述验证数据串匹配的特征数据串,包括:

针对每个特征数据串,将所述特征数据串的第一特征位与所述验证数据串比较;

若所述第一特征位与所述验证数据串的任一数据位相同,将所述数据位确定为第一验证位;

将所述特征字符串与以所述第一验证位为首位的候选字符串比较;

若所述特征字符串与所述候选数据串相同,确定所述预设特征数据串集合中存在与所述验证数据串匹配的特征数据串。

可选地,确定所述候选字符串,包括:

确定所述特征数据串的目标长度;

在所述验证数据串中确定以所述第一验证位为起始位、长度为目标长度的候选数据串。

可选地,所述判断预设特征数据串集合中是否存在与所述验证数据串匹配的特征数据串,包括:

针对每个特征数据串,将所述特征数据串的第一特征位与所述验证数据串比较;

若所述第一特征位与所述验证数据串的任一数据位相同,将所述数据位确定为第一验证位;

将所述特征数据串中所述第一特征位后的每一位分别与所述验证数据串中所述第一验证位后的相应位比较,直至所述特征字符串的每一位均比较完毕;

若所述特征字符串的每一位与所述验证数据串中的相应位均相同,确定所述预设特征数据串集合中存在与所述验证数据串匹配的特征数据串。

可选地,所述方法还包括:

若不存在,向所述终端返回所述未知app不存在安全风险的验证结果。

第二方面,本申请提供了一种对未知app的安全性检测装置,所述装置包括:

接收模块,用于接收终端发送的验证数据串,所述验证数据串是根据终端待安装的未知app的apk文件生成的;

判断模块,用于判断预设特征数据串集合中是否存在与所述验证数据串匹配的特征数据串;

第一返回模块,用于若存在,向所述终端返回所述未知app存在安全风险的验证结果。

可选地,所述判断模块,包括:

第一比较单元,用于针对每个特征数据串,将所述特征数据串的第一特征位与所述验证数据串比较;

第一确定单元,用于若所述第一特征位与所述验证数据串的任一数据位相同,将所述数据位确定为第一验证位;

第二比较单元,用于将所述特征字符串与以所述第一验证位为首位的候选字符串比较;

第二确定单元,用于若所述特征字符串与所述候选数据串相同,确定所述预设特征数据串集合中存在与所述验证数据串匹配的特征数据串。

可选地,所述第二比较单元还用于:

确定所述特征数据串的目标长度;

在所述验证数据串中确定以所述第一验证位为起始位、长度为目标长度的候选数据串。

可选地,所述判断模块,包括:

第三比较模块,用于针对每个特征数据串,将所述特征数据串的第一特征位与所述验证数据串比较;

第三确定模块,用于若所述第一特征位与所述验证数据串的任一数据位相同,将所述数据位确定为第一验证位;

第四比较模块,用于将所述特征数据串中所述第一特征位后的每一位分别与所述验证数据串中所述第一验证位后的相应位比较,直至所述特征字符串的每一位均比较完毕;

第四确定模块,用于若所述特征字符串的每一位与所述验证数据串中的相应位均相同,确定所述预设特征数据串集合中存在与所述验证数据串匹配的特征数据串。

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

第二返回模块,用于若不存在,向所述终端返回所述未知app不存在安全风险的验证结果。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:

本发明实施例能够通过将验证数据串与预设特征数据串集合中的特征数据串匹配,根据匹配结果确定终端中待安装未知app的安全性,便于用户使用。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种对未知app的安全性检测方法的流程图;

图2为本申请实施例提供的一种对未知app的安全性检测装置的结构图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

由于在实际应用中,有些无法扫描通过的app可能是由于app较新或者流传度较低,云端只是未来得及进行安全备份,app自身并无安全隐患,此种情况下,将影响用户使用,给用户造成不便。为此,在本发明实施例中,提供一种对未知app的安全性检测方法及装置,所述方法可以应用于服务器,所述方法包括:

步骤s101,接收终端发送的验证数据串,所述验证数据串是根据终端待安装的未知app的apk文件生成的;

所述终端首先可以确定所述apk文件中dex格式的文件;然后解析所述dex格式的文件,得到操作码(opcode)的操作序列;再确定所述操作码的关键字,将所述操作序列与所述关键字组成验证序列;最后可以将所述验证序列进行排列组合,得到所述验证数据串,所述验证数据串的长度为预设长度。

步骤s102,判断预设特征数据串集合中是否存在与所述验证数据串匹配的特征数据串;

在本发明的一种实施方式中,可以针对每个特征数据串,将所述特征数据串的第一特征位与所述验证数据串比较;若所述第一特征位与所述验证数据串的任一数据位相同,将所述数据位确定为第一验证位;将所述特征字符串与以所述第一验证位为首位的候选字符串比较;若所述特征字符串与所述候选数据串相同,确定所述预设特征数据串集合中存在与所述验证数据串匹配的特征数据串。

在本发明实施例中,确定所述候选字符串包括:确定所述特征数据串的目标长度;在所述验证数据串中确定以所述第一验证位为起始位、长度为目标长度的候选数据串。本发明实施例采用的比较方式快捷、准确。

在本发明的另一种实施方式中,可以针对每个特征数据串,将所述特征数据串的第一特征位与所述验证数据串比较;若所述第一特征位与所述验证数据串的任一数据位相同,将所述数据位确定为第一验证位;将所述特征数据串中所述第一特征位后的每一位分别与所述验证数据串中所述第一验证位后的相应位比较,直至所述特征字符串的每一位均比较完毕;若所述特征字符串的每一位与所述验证数据串中的相应位均相同,确定所述预设特征数据串集合中存在与所述验证数据串匹配的特征数据串。本发明实施例采用的比较方式快捷、准确。

步骤s103,若存在,向所述终端返回所述未知app存在安全风险的验证结果。

步骤s104,若不存在,向所述终端返回所述未知app不存在安全风险的验证结果。

本发明实施例能够通过将验证数据串与预设特征数据串集合中的特征数据串匹配,根据匹配结果确定终端中待安装未知app的安全性,便于用户使用。

在本发明的又一实施例中,还提供一种对未知app的安全性检测装置,如图2所示,所述装置包括:

接收模块11,用于接收终端发送的验证数据串,所述验证数据串是根据终端待安装的未知app的apk文件生成的;

判断模块12,用于判断预设特征数据串集合中是否存在与所述验证数据串匹配的特征数据串;

第一返回模块13,用于若存在,向所述终端返回所述未知app存在安全风险的验证结果。

在本发明的又一实施例中,所述判断模块,包括:

第一比较单元,用于针对每个特征数据串,将所述特征数据串的第一特征位与所述验证数据串比较;

第一确定单元,用于若所述第一特征位与所述验证数据串的任一数据位相同,将所述数据位确定为第一验证位;

第二比较单元,用于将所述特征字符串与以所述第一验证位为首位的候选字符串比较;

第二确定单元,用于若所述特征字符串与所述候选数据串相同,确定所述预设特征数据串集合中存在与所述验证数据串匹配的特征数据串。

在本发明的又一实施例中,所述第二比较单元还用于:

确定所述特征数据串的目标长度;

在所述验证数据串中确定以所述第一验证位为起始位、长度为目标长度的候选数据串。

在本发明的又一实施例中,所述判断模块,包括:

第三比较模块,用于针对每个特征数据串,将所述特征数据串的第一特征位与所述验证数据串比较;

第三确定模块,用于若所述第一特征位与所述验证数据串的任一数据位相同,将所述数据位确定为第一验证位;

第四比较模块,用于将所述特征数据串中所述第一特征位后的每一位分别与所述验证数据串中所述第一验证位后的相应位比较,直至所述特征字符串的每一位均比较完毕;

第四确定模块,用于若所述特征字符串的每一位与所述验证数据串中的相应位均相同,确定所述预设特征数据串集合中存在与所述验证数据串匹配的特征数据串。

在本发明的又一实施例中,所述装置还包括:

第二返回模块,用于若不存在,向所述终端返回所述未知app不存在安全风险的验证结果。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

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