仿冒APP识别方法及装置与流程

文档序号:14836203发布日期:2018-06-30 12:31阅读:1282来源:国知局
仿冒APP识别方法及装置与流程

本发明实施例涉及通信技术领域,具体涉及一种仿冒APP识别方法及装置。



背景技术:

移动应用市场发展迅速,吸引越来越多开发者涌入,个人开发者以及小型团队数量众多,导致市场混乱和大量仿冒APP的出现。仿冒APP的典型行为包括以下三个方面:

1、复制热门应用的图标或者名称,增加自身应用的知名度;2、将原创应用的广告供应商换成别的供应商,获得广告收入;3、抄袭应用后,插入恶意代码,获取用户隐私,盗取用户金钱或者帐号密码等。

仿冒APP产生的社会危害包括以下三个方面:

1、仿冒APP被用于诈骗犯罪,例如山寨“支付宝”,使得用户购物款直接流向诈骗者的个人帐户;2、仿冒APP被用于盗窃犯罪,不法分子获得用户各种帐号密码后不仅用于盗窃,还会售卖他人,给用户造成重大损失;3、仿冒APP易于泄漏用户个人隐私,包括通信地址、电话号码、浏览记录等,不法分子将其售卖他人,从而获利。

在实现本发明实施例的过程中,发明人发现现有的仿冒APP识别方案一般是由专门的监测人员基于经验来判断是否为仿冒APP。但是,这种识别方案主观因素对判断结果的影响较大,降低了判断的精度,而且,判断效率较低。



技术实现要素:

本发明实施例的一个目的是解决现有技术采用基于专家经验的的仿冒APP识别方案,导致判断精度低、判断效率低的问题。

本发明实施例提出了一种仿冒APP识别方法,包括:

步骤S1、获取待识别APP的安装包,并从安装包中提取出目标特征信息;

步骤S2、根据目标特征信息对所述待识别APP与预建立APP信息库中的正版APP进行相似度分析,获取所述待识别APP与正版APP之间的相似度;

步骤S3、根据所述相似度和预设判定规则判定所述待识别APP是否为仿冒APP。

可选的,在步骤S1之前,所述方法还包括:

步骤S0、爬取APP发布渠道中所有新增的APP的页面,将爬取的所有新增的APP作为待识别APP;

提取每个待识别APP的页面上的基本信息;

相应地,所述获取待识别APP的安装包包括:

根据待识别APP的基本信息获取待识别APP的安装包。

可选的,在步骤S0之后且在步骤S1之前,所述方法还包括:

步骤S0'、根据待识别APP的基本信息和预设匹配策略从待识别APP中筛选出相关APP。

可选的,所述基本信息包括:应用名称;

在步骤S0'之前,所述方法还包括:

分别对预建立APP信息库中的所有正版APP的应用名称进行分词处理,获取每个应用名称对应的特征词组;

根据特征词组中特征词的位置序列对每个应用名称对应的特征词组进行统计分析,从每个位置中选取出一个特征词;

相应地,所述步骤S0'包括:

根据特征词的位置序列将所述待识别APP对应的特征词组中的特征词与选取出的每个位置对应的特征词进行匹配,获取匹配度;

若判断获知所述匹配度大于第一预设阈值,则确认所述待识别APP为相关APP。

可选的,所述基本信息包括:应用介绍;

在步骤S0'之前,所述方法还包括:

根据业务功能对预建立APP信息库中的所有正版APP进行分类;

对各类正版APP的应用介绍进行分词处理,获取全特征集;

对所述全特征集中的特征词进行统计分析,获取各类正版APP的特征集以及特征集中每个特征词的权重值;

所述步骤S0'包括:

将所述待识别APP的特征集中的特征词与每一类正版APP的特征集中的特征词进行单独匹配;

若判断获知相匹配的特征词的权重值之和大于第二预设阈值,则确认所述待识别APP为相关APP。

可选的,所述步骤S3包括:

若判断获知所述待识别APP与正版APP之间的相似度小于第一相似阈值,则判定所述待识别APP为仿冒APP。

可选的,所述步骤S2包括:

根据目标特征信息分别对所述待识别APP与预建立APP信息库中的正版APP和仿冒APP进行相似度分析,获取所述待识别APP与正版APP之间的第一相似度、所述待识别APP与仿冒APP之间的第二相似度。

可选的,所述步骤S3包括:

若判断获知所述第一相似度小于第二相似阈值,且所述第二相似度大于等于所述第三相似阈值,则判定所述待识别APP为仿冒APP;

或者,

若判断获知第一相似度大于等于第三相似阈值且所述第二相似度小于所述第二相似阈值,则判定所述待识别APP为正版APP。

可选的,所述预建立APP信息库正版APP库和仿冒APP库;

相应地,所述方法还包括:

步骤S4、根据判定结果将待识别APP和待识别APP的相关信息存入正版APP库或者仿冒APP库。

本发明实施例提出了一种仿冒APP识别装置,包括:

获取模块,用于获取待识别APP的安装包,并从安装包中提取出目标特征信息;

分析模块,用于根据目标特征信息对所述待识别APP与预建立APP信息库中的正版APP进行相似度分析,获取所述待识别APP与正版APP之间的相似度;

判断模块,用于根据所述相似度和预设判定规则判定所述待识别APP是否为仿冒APP。

可选的,所述装置还包括:预处理模块;

所述预处理模块,用于爬取APP发布渠道中所有新增的APP的页面,将爬取的所有新增的APP作为待识别APP;提取每个待识别APP的页面上的基本信息。

可选的,所述装置还包括:筛选模块;

所述筛选模块,用于根据待识别APP的基本信息和预设匹配策略从待识别APP中筛选出相关APP;

相应地,所述获取模块,用于根据相关APP的基本信息获取相关APP的安装包。

可选的,所述基本信息包括:应用名称;

所述装置还包括:第一处理模块;

所述第一处理模块,用于分别对预建立APP信息库中的所有正版APP的应用名称进行分词处理,获取每个应用名称对应的特征词组;根据特征词组中特征词的位置序列对每个应用名称对应的特征词组进行统计分析,从每个位置中选取出一个特征词;

相应地,所述筛选模块,用于根据特征词的位置序列将所述待识别APP对应的特征词组中的特征词与选取出的特征词进行匹配,获取匹配度;若判断获知所述匹配度大于第一预设阈值,则确认所述待识别APP为相关APP。

可选的,所述基本信息包括:应用介绍;

所述装置还包括:第二处理模块;

所述第二处理模块,用于根据业务功能对预建立APP信息库中的所有正版APP进行分类;对各类正版APP的应用介绍进行分词处理,获取全特征集;对所述全特征集中的特征词进行统计分析,获取各类正版APP的特征集以及特征集中每个特征词的权重值;

相应地,所述筛选模块,用于将所述待识别APP的特征集中的特征词与每一类正版APP的特征集中的特征词进行单独匹配;若判断获知相匹配的特征词的权重值之和大于第二预设阈值,则确认所述待识别APP为相关APP。

可选的,所述预建立APP信息库包括:正版APP子库和仿冒APP子库;

相应地,所述装置还包括:优化模块;

所述优化模块,用于根据判定结果将待识别APP和待识别APP的相关信息存入正版APP子库或者仿冒APP子库。

由上述技术方案可知,本发明实施例提出的一种仿冒APP识别方法及装置自动获取待识别APP的目标特征信息,并基于目标特征信息对待识别APP进行分析,以判断待识别APP是否为仿冒的APP,与现有技术相比,减少人工对系统的干预,具有识别效率高的优点。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:

图1示出了本发明一实施例提供的一种仿冒APP识别方法的流程示意图;

图2示出了本发明另一实施例提供的一种仿冒APP识别方法的流程示意图;

图3示出了本发明一实施例提供的一种仿冒APP识别方法中匹配策略的流程示意图;

图4示出了本发明一实施例提供的一种仿冒APP识别方法中应用名称匹配策略的流程示意图;

图5示出了本发明一实施例提供的一种仿冒APP识别方法中应用介绍匹配策略的流程示意图;

图6示出了本发明一实施例提供的一种仿冒APP识别方法中应用介绍匹配策略的生成原理示意图;

图7示出了本发明又一实施例提供的一种仿冒APP识别方法的流程示意图;

图8示出了本发明一实施例提供的一种仿冒APP识别装置的结构示意图;

图9示出了本发明另一实施例提供的一种仿冒APP识别装置的结构示意图;

图10示出了本发明又一实施例提供的一种仿冒APP识别装置的结构示意图。

具体实施方式

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

实施例一

图1示出了本发明一实施例提供的一种仿冒APP识别方法的流程示意图,参见图1,该方法由处理器实现,具体包括如下步骤:

110、获取待识别APP的安装包,并从安装包中提取出目标特征信息;

需要说明的是,处理器的相关功能模块自动通过可用渠道下载待识别APP的安装包,并基于预配置参数从安装包中提取目标特征信息,此处的目标特征信息包括:主配置文件、资源文件、反编译的Smali文件、关键界面图形、开发者及证书信息等。

120、根据目标特征信息对所述待识别APP与预建立APP信息库中的正版APP进行相似度分析,获取所述待识别APP与正版APP之间的相似度;

需要说明的是,将待识别APP的目标特征信息与正版APP的目标特征信息进行相似度分析,即,逐一将待识别APP的主配置文件、资源文件、反编译的Smali文件、关键界面图形、开发者及证书信息等与正版APP和仿冒APP中的某个APP的主配置文件、资源文件、反编译的Smali文件、关键界面图形、开发者及证书信息等分别进行对比,进而获取待识别APP与该APP的相似度;然后将待识别APP与正版APP中的下一个APP进行对比,直至将待识别APP与正版APP中的每一个APP都对比完成,获取正版APP中的每一个APP与所述待识别APP的相似度。

130、根据所述相似度和预设判定规则判定所述待识别APP是否为仿冒APP。

需要说明的是,基于步骤120中获取的相似度,预设判定规则可以为将正版APP中的每一个APP与所述待识别APP的相似度与预设的相似度阈值进行对比,若判断获知所述待识别APP与正版APP之间的相似度小于第一相似阈值,则判定所述待识别APP为仿冒APP;若相似度大于或者等于第二相似阈值,则判定所述待识别APP为正版APP;若相似度大于或者等于第一相似阈值且小于第二相似阈值,则进行人工识别。

可见,本实施例自动获取待识别APP的目标特征信息,并基于目标特征信息对待识别APP进行分析,以判断待识别APP是否为仿冒的APP,与现有技术相比,减少人工对系统的干预,具有识别效率高的优点。

实施例二

图2示出了本发明另一实施例提供的一种仿冒APP识别方法的流程示意图,参见图2,该方法由处理器实现,具体包括如下步骤:

210、爬取APP发布渠道中所有新增的APP的页面,将爬取的所有新增的APP作为待识别APP;

需要说明的是,基于预配置参数,处理器的相关功能模块周期性地自动爬取指定发布渠道的所有新增APP的页面,例如,预定的每天的某个时间段爬取某个发布渠道。

不难理解的是,APP的发布渠道有很多,本申请在此不进行列举。

220、提取每个待识别APP的页面上的基本信息;

不难理解的是,APP的页面上载有很多基本信息,例如,APP的标志、应用名称、应用介绍、图像界面等等;在提取基本信息时可通过图像识别的方式,或者是扫描的方式获取。

230、根据待识别APP的基本信息和预设匹配策略从待识别APP中筛选出相关APP;

不难理解的是,在预定的爬取时间段内的某个或者某几个发布渠道的新增APP可能有很多,而其中仅有部分是需要监测的,另外的部分对企业拥有的正版APP并不会造成影响,因此,需要先对待识别APP进行筛选,以降低需要识别的APP的数量,进而降低数据处理量,达到提高识别效率的目的。

另外,预设匹配策略可以为根据基本信息确定的。

240、根据相关APP的基本信息获取相关APP的安装包,并从安装包中提取出目标特征信息;

需要说明的是,基于步骤230的处理,处理器仅需要对相关的APP进行特征提取即可。

250、根据目标特征信息对所述相关APP与预建立APP信息库中的正版APP和仿冒APP进行相似度分析,获取所述相关APP与正版APP之间的相似度;

260、根据所述相似度和预设判定规则判定所述相关APP是否为仿冒APP

需要说明的是,步骤250和步骤260和实施例一中的步骤120和步骤130分别对应相同,故,此处不在展开说明。

可见,本发明实施例自动爬取待识别APP,并对待识别APP进行筛选,而且筛选方案无需下载待识别APP的安装文件,提高了识别方案的自动化程度和识别的效率。

实施例三

图3示出了本发明一实施例提供的一种仿冒APP识别方法中匹配策略的流程示意图,下面参见图3对实施例二中的预设匹配策略进行详细说明:

301、获取待识别APP的基本信息,包括:应用名称、应用介绍和开发者信息;

302、对新增APP的基本信息进行预处理,包括对应用名称进行中文分词处理,得到特征词集合A;对应用介绍进行中文分词处理,得到特征词集合B;对开发者信息进行中文分词处理,得到特征词集合C。

303、将应用名称的特征词集合A,与预设应用名称匹配策略进行匹配。

304、判断匹配成功的特征词是否超过系统预设的阈值,即相似度是否大于预设阈值,若是,则确认该新增APP与企业相关;若否,则执行步骤307。

305、将应用介绍的特征词集合B和开发者信息的特征词集合C,与预设开发者信息匹配策略进行匹配。

306、判断匹配成功的特征词是否超过系统预设的阈值,若是,则认为该新增APP与企业相关;若否,则执行步骤307。

307、将应用名称与预设相似应用名称匹配策略进行匹配。

308、判断匹配成功的特征词是否超过系统预设的阈值,若是,则执行步骤309;若否,则确认该新增APP与企业无关。

309、将应用介绍的特征词集合B与预设应用介绍匹配策略进行匹配,计算其与应用介绍匹配策略中每个类别的匹配度;

310、若判断有一个类别的匹配度达到阈值,则确认该应用介绍内容属于企业已有的业务范围,并最终确定该新增APP与企业相关。

可见,本实施例对待识别APP匹配、筛选的过程无需下载待识别APP的安装文件,因此,能达到提高识别效率的目的;而且,本实施例通过分别对待识别APP的基本信息配置不同的匹配策略,因此,能达到提高识别效率的目的。

实施例四

图4示出了本发明一实施例提供的一种仿冒APP识别方法中应用名称匹配策略的流程示意图,参见图4,应用名称匹配策略包括:

410、分别对预建立APP信息库中的所有正版APP的应用名称进行分词处理,获取每个应用名称对应的特征词组;

需要说明的是,分词处理的方法有多种,例如:字符串匹配的分词方法、词义分词法和统计分词法等。

420、根据特征词组中特征词的位置序列对每个应用名称对应的特征词组进行统计分析,从每个位置中选取出一个特征词;

需要说明的是,特征词组中包括多个特征词以及每个特征词的位置,例如:对“不知道你在说什么”进行分词处理后,得到一个特征词组,特征词组中包括:第一个特征词-不知道,第二个特征词-你,第三个特征词-在,第四个特征词-说什么。

然后,基于每个正版APP对应的特征词组,分别对特征词组中的第一个特征词进行统计分析,统计分析举例说明如下:

统计第一个特征词相同的正版APP的数量,如果应用名称中第一个特征词相同的APP个数大于阈值N,则将该特征词生成一条相似应用名称匹配策略;

统计第二个特征词相同的正版APP的数量,如果应用名称中第二个特征词相同的APP个数大于阈值N,则将该特征词生成一条相似应用名称匹配策略;

统计第三个特征词相同的正版APP的数量,如果应用名称中第三个特征词相同的APP个数大于阈值N,则将该特征词生成一条相似应用名称匹配策略;

综合以上特征词在应用名称第一位置、第二位置、第三位置的三种情况,形成相似应用名称匹配策略集。

430、根据特征词的位置序列将所述待识别APP对应的特征词组中的特征词与选取出的每个位置对应的特征词进行匹配,获取匹配度;

需要说明的是,对待识别APP的应用名称进行分词处理,获取待识别APP的特征词组,并将对应位置的特征词分别进行匹配。

440、若判断获知所述匹配度大于第一预设阈值,则确认所述待识别APP为相关APP,其中,第一预设阈值为可配置参数。

可见,本实施例提出的应用名称匹配策略采用分词技术对待识别APP的应用名称进行分词处理,并基于分词处理后的特征词以及特征词的位置进行匹配,能有效地提高匹配的精度,以从所有待识别APP中筛选出较为相关的APP,进而提高识别APP的效率。

实施例五

图5示出了本发明一实施例提供的一种仿冒APP识别方法中应用介绍匹配策略的流程示意图,参见图5,应用介绍匹配策略包括:

510、根据业务功能对预建立APP信息库中的所有正版APP进行分类;

需要说明的是,处理器对相应功能模块发送的所有正版APP的应用介绍按照业务功能进行分类,例如电信运营商自有的正版APP按照业务功能进行分类,可以分为内容类、游戏类、工具类、新闻类、社交类、金融支付类和营业厅类等;

520、对各类正版APP的应用介绍进行分词处理,得到所有应用介绍的词元,进而获取全特征集;

530、对所述全特征集中的特征词进行统计分析,获取各类正版APP的特征集以及特征集中每个特征词的权重值;

需要说明的是,统计全部词元发生的各种频率,如:总频率,类别频率等。这些统计信息作为特征选择的依据。其中,某一词元发生的频率可通过该词元出现的次数与所有词元的数量计算获取。

然后,通过特征词及权重选择算法从全特征集中提取每个类别的特征词及权重,形成应用介绍匹配策略集。

540、将所述待识别APP的特征集中的特征词与每一类正版APP的特征集中的特征词进行单独匹配;

550、若判断获知相匹配的特征词的权重值之和大于第二预设阈值,则确认所述待识别APP为相关APP,其中,第二预设阈值为可配置参数。

可见,本实施例提出的应用介绍匹配策略采用分词技术对待识别APP的应用介绍进行分词处理,并基于分词处理后的特征词以及特征词的权重进行匹配,能有效地提高匹配的精度,以从所有待识别APP中筛选出较为相关的APP,进而提高识别APP的效率。

实施例六

图6示出了本发明一实施例提供的一种仿冒APP识别方法中应用介绍匹配策略的生成原理示意图,参见图6,生成原理如下:

设计思路:本方案是基于文本分类算法的应用介绍匹配策略集生成方法,该方法将所有正版APP已分类的应用介绍作为训练文本集,经过算法训练处理得到应用介绍匹配策略集,用于匹配新增APP的应用介绍。包括:

620、将文本内容进行中文分词,文本输入后,输出文本分词后的词元。常用的中文分词器包括IK Analyzer等。

630、统计训练文本集所有词元发生的各种频率,如:总频率,类别频率等。

640、这些统计信息作为特征选择的依据。

650、通过特征及权重选择算法从训练文本的全特征集中提取每个类别的特征词及权重,形成每个类别的特征空间。

660、将文本用文本向量来表示。

需要说明的是,在步骤620之前,还包括:

680、训练文本集的步骤;

基于上述处理步骤,本方法还包括:

610、获取待匹配应用介绍;

670、对待分类文本预测它的类别,在本方法中仅判别是否属于企业相关APP,因此只要有一个类别达到系统设置的阈值即可。

下面对该方法的步骤进行详细介绍:

1、步骤660具体包括:

对中文文本进行分词后得到的词或短语,可以称为特征词元或者特征项。它是给文本分类的依据,即一些特殊的项,可以起到代表文本的作用。假设训练文本集中包含m个文本、n个不同的项,则Di=(t1,t2,...,tk,...,tn)(1<i<m),表示一个文本;给其中的项tk(1<k<n)赋值,记为wk,表示它在文本中的重要程度,通常称为项tk的权重。即Di=(t1w1,t2w2,...,tkwk,...,tnwn)为文本Di的向量表示。

2、步骤650具体包括:

(1)特征选择

特征选择是剪除信息量少的项,以降低计算的复杂性,并提高分类的效率。属于该类型降维方法包括文本频率(DF)、信息增益(IG),互信息(MI)等。

本方法使用的特征选择算法是基于权重的信息增益(IG)和改进的互信息(MI)相结合的特征选择算法,。

1)IG信息增益

通过观察一个项是否出现在文本中所获得的能够用于分类预期的信息量称为信息增益。

假设文本集合D分为K类,记为c1,c2,...,cj,...,ck。词元t对于类别cj的信息增益为:

公式(1)中的p(cj)可以用整个训练集中属于类别cj的文本来估算,而p(t)可以用训练集中项t出现的文本数来估算,则可以用训练集中项t不出现的文本数来估算。此外,p(cj|t)是类别cj中项t至少出现一次的文本,p(cj|t)是类别cj中不含有项t的文本。

IG值越高表示该项t在训练文本集中的类别上分布越集中。IG方法是选择IG值较高的特征,其基本思想为分布越集中的特征越重要。

2)改进的互信息(MI)

互信息(MI)基本思想为:与类别相关性越高的特征越重要。MI方法是提取互信息值较高的特征。假设文本集合D分为K类,记为c1,c2,...,cj,...,ck,词元t对于类别cj的互信息MI(t,cj)的传统的计算公式为:

为计算方便,可简化为:

其中,N为训练文本集中包含的文本总数,A为t与cj同时出现的次数,B为词元t出现而cj不出现的次数,C为cj出现而词元t不出现的次数,通过该公式就可以取得词元与各类别间的互信息值。

词元t和各类别的平均互信息值,可以用以下公式计算

从统计的特点来看,应优先选取在各类别cj上的互信息离散度比较大的词元t作为特征,也就是说,应该选取在各类别互信息标准差比较大的词元作为特征会更合理。改进的互信息计算公式如下:

3)基于权重的组合特征选择算法

为了改进两个特征选择方法组合使用时,某个方法完全压制另外一个方法的情况。本算法采用基于权重的组合特征选择算法,也就是形成的每个类别的特征集中的一定比例K的词元是一个特征选择方法选出来的,而余下来的词元是由另外一个方法选出来的。K可以在系统中基于实际情况进行设置。

(2)特征权重计算

当对每个类别的特征选择完毕,就形成了特征集。特征选择只是确定t1,t2,...,ti,...,tn,而特征权重计算得到的是:ω1,ω2,...,ωi,...,ωn。

本算法中使用传统TFIDF来计算特征的权重,综合考虑IDF权重和TF权重的优点和不足。基本思想是:如果特征项ti在某类文本出现的次数越少,而在整个文本集中出现的频率越高,则ti对分类的作用越小,应该赋予越低的权重,反之,则赋予越高的权重。

TFIDF权重,即IDF权重和TF权重的组合,利用了文本频率和词频两种信息,公式如下:

公式(6)中fiki个特征词在第k篇文本中出现次数,N为训练集中总文本数,ni为训练集中出现第i个特征词的文本数。

其中,Wki与第i个特征词元在文本k中出现的次数成正比,而与在训练文本集中至少出现一次该特征词元(总个数为:ni)的文本数成反比。

为了降低低频特征受高频特征过分抑制这一现象,对其进行了修正,公式如下:

式中n为文本k中特征词元总个数。

3、步骤630具体包括:

文本信息统计模块是为特征及权重选择模块服务的,而本算法中会用到的特征提取算法有:IG、改进的MI,从计算公式得知,只需要五个统计量。

(1)训练文本的总数。

(2)训练文本中的类别个数。

(3)训练文本中每个类别中的文本个数。

(4)某一词元ti在训练集的文本中出现的频率(只记是否出现)。

(5)某一个词元ti在训练集各个类别文本中出现的频率(只记是否出现)。

4、步骤670具体包括:

对待分类文本预测它的类别,在本算法中仅判别是否属于企业相关APP即可,因此只要有一个类别达到阈值即可。

假设待分类文本向量是Ui=(t1w1,t2w2,...,tkwk,...,tnwn),某一类别D的特征集是Di=(t1w1,t2w2,...,tkwk,...,tmwm),其中m>n。

如果待分类文本U,在中文分词后有K个特征词元属于类别D,则待分类文本U与类别D的相似度L=t1+t2+...+tk,如果L达到预定阈值,则认为该待分类文本U属于企业相关APP。

步骤470还可以为:

使用KNN算法进行文本分类,KNN算法主要思路是计算待分类文本与训练集中所有样本之间的距离,根据计算结果,得出距离在一定范围内的文本集合U。根据集合U中所有样本的所属类别,将文本集合U中每一类别的所有样本的得分相加,得到待分类文本针对每个类别的相似度得分,最后将待分类文本归入相似度得分最大的一类中。

用向量间的夹角来定义样本之间的距离,其中两个点x=(x1,x2,...,xn)和y=(y1,y2,...,yn)的向量夹角:

Cos值越高表示角度越小,向量的相似度越高。

实施例七

图7示出了本发明又一实施例提供的一种仿冒APP识别方法的流程示意图,参见图7,该方法包括:

710、获取待识别APP的安装包,并从安装包中提取出目标特征信息;

720、根据目标特征信息对所述待识别APP与预建立APP信息库中的正版APP和仿冒APP进行相似度分析,获取所述待识别APP与正版APP之间的第一相似度、待识别APP与仿冒APP之间的第二相似度;

需要说明的是,有些APP信息库中的正版APP可能存在不完整的情况,例如:企业A的APP信息库中仅存有完整的母公司的正版APP,而子公司的正版APP并不完整;因此,本实施例双向考虑正版APP和仿冒APP与待识别APP之间的相似度,以进一步地提高识别的精度。

另外,相似度分析的原理为:对不同种类的特征信息使用对应的分析方法,并设置每类特征信息对应的权重值以计算每个正版APP或者仿冒APP与待识别APP之间的相似度;

对于目标特征信息中的图形类别的信息,例如:关键界面图像,采用图像对比算法将待识别APP的关键界面图像与正版APP和仿冒APP的关键界面图像逐一进行对比,获取一组相似度;

对于目标特征信息中的文字类别的信息,例如:应用名称、应用介绍、签名证书信息等等;可先对文字信息进行分词处理,然后将分词处理后的各特征词分别与正版APP和仿冒APP的文字信息对应的特征词进行对比,获取另一组相似度;

对于目标特征信息中的代码类别的信息,例如:资源文件、主配置文件等等,可采用Beyond Compare 3等工具进行对比,获取又一组相似度。

基于获取的相似度以及每个相似度对应的预配置权重值,计算获取待识别APP与一个正版APP或者仿冒APP的相似度,同理获取所有正版APP和仿冒APP与待识别APP之间的相似度。

730、根据所述相似度和预设判定规则判定所述待识别APP是否为仿冒APP。

需要说明的是,若判断获知所述第一相似度小于第二相似阈值,且所述第二相似度大于等于所述第三相似阈值,则判定所述待识别APP为仿冒APP;若判断获知第一相似度大于等于第三相似阈值且所述第二相似度小于所述第二相似阈值,则判定所述待识别APP为正版APP;若上述两种情况均不满足,则进行人工识别。

以第二相似阈值为20%,第三相似阈值为80%为例说明如下:

若待识别APP与正版APP之间的第一相似度中的最大值小于20%,且待识别APP与仿冒APP之间的第二相似度中的最大值大于或者等于80%,则判定待识别APP为仿冒APP。

若待识别APP与正版APP之间的第一相似度中的最大值大于或者等于80%,且待识别APP与仿冒APP之间的第二相似度中的最大值小于20%,则判定待识别APP为正版APP。

若第一相似度和/或第二相似度的值处于20%-80%的范围,则进行人工识别。

可见,本实施例通过对待识别APP进行双向识别,以进一步地提高识别的精度。

实施例八

图8示出了本发明一实施例提供的一种仿冒APP识别装置的结构示意图,参见图8,该装置包括:获取模块810、分析模块820和判断模块830,其中:

获取模块810,用于获取待识别APP的安装包,并从安装包中提取出目标特征信息;

分析模块820,用于根据目标特征信息对所述待识别APP与预建立APP信息库中的正版APP进行相似度分析,获取所述待识别APP对应的相似度;

判断模块830,用于根据所述相似度和预设判定规则判定所述待识别APP是否为仿冒APP。

需要说明的是,在接收到开始识别的指令是,获取模块810自动从指定地址获取待识别APP的安装包,并将从安装包中提取的目标特征信息发送至分析模块820,分析模块820基于目标特征信息对待识别APP和正版APP和仿冒APP的相似度进行分析,并将分析结果发送中判断模块830,由判断模块830基于相似度判定待识别APP是否为仿冒APP。

可见,本实施例自动获取待识别APP的目标特征信息,并基于目标特征信息对待识别APP进行分析,以判断待识别APP是否为仿冒的APP,与现有技术相比,减少人工对系统的干预,具有识别效率高的优点。

本实施例中,装置还包括:爬取模块;

所述爬取模块,用于爬取目标渠道的所有新增的APP的页面,将爬取的所有新增的APP作为待识别APP;提取每个待识别APP的页面上的基本信息;

所述获取模块810,用于根据待识别APP的基本信息获取待识别APP的安装包。

实施例九

图9示出了本发明另一实施例提供的一种仿冒APP识别装置的结构示意图,参见图9,该装置包括预处理模块910、第一处理模块920、第二处理模块930、筛选模块940、获取模块950、分析模块960、判断模块970以及优化模块,其中:

分析模块960和判断模块970与实施例八中的分析模块820和判断模块830相对应,其工作原理相同,故,此处不再展开说明。

预处理模块910,用于在接收到开始识别的指令时,爬取APP发布渠道中所有新增的APP的页面,将爬取的所有新增的APP作为待识别APP;提取每个待识别APP的页面上的基本信息,并将获取到的信息发送至筛选模块940。

筛选模块940根据接收到的信息结合第一处理模块920和第二处理模块930中的预设匹配策略从待识别APP中筛选出相关APP;

相应地,获取模块950,用于根据相关APP的基本信息获取相关APP的安装包。

其中,所述基本信息包括:应用名称、应用介绍等,筛选模块940的筛选原理具体包括:

所述第一处理模块920,用于分别对预建立APP信息库中的所有正版APP的应用名称进行分词处理,获取每个应用名称对应的特征词组;根据特征词组中特征词的位置序列对每个应用名称对应的特征词组进行统计分析,从每个位置中选取出一个特征词;

相应地,所述筛选模块940,用于根据特征词的位置序列将所述待识别APP对应的特征词组中的特征词与选取出的特征词进行匹配,获取匹配度;若判断获知所述匹配度大于第一预设阈值,则确认所述待识别APP为相关APP。

或者,

所述第二处理模块930,用于根据业务功能对预建立APP信息库中的所有正版APP进行分类;对各类正版APP的应用介绍进行分词处理,获取全特征集;对所述全特征集中的特征词进行统计分析,获取各类正版APP的特征集以及特征集中每个特征词的权重值;

相应地,所述筛选模块940,用于将所述待识别APP的特征集中的特征词与每一类正版APP的特征集中的特征词进行单独匹配;若判断获知相匹配的特征词的权重值之和大于第二预设阈值,则确认所述待识别APP为相关APP。

另外,所述预建立APP信息库包括:正版APP子库和仿冒APP子库;

相应地,所述优化模块980,用于根据判定结果将待识别APP和待识别APP的相关信息存入正版APP子库或者仿冒APP子库,以使第一处理模块920和第二处理模块930可以基于更新后的数据更新预设匹配策略。

实施例十

图10示出了本发明又一实施例提供的一种仿冒APP识别装置的结构示意图,参见图10,该装置包括:待监测网站100、相关APP爬取下载模块110、相关APP分析模块、监测报告生成模块130、待监测APP上传模块140以及自动化策略生成模块150,其中:

相关APP爬取下载模块110包括:渠道库管理单元111、监测爬虫单元112、APP相关性判定单元113以及相关APP下载单元;

相关APP爬取下载模块110的工作原理如下:

渠道库管理单元111用于管理渠道信息库;渠道信息库属性主要包含:渠道名称、URL地址、所属区域、重要性(高中低)、渠道说明、LOGO信息等基本属性。各渠道需要配置专门的协议分析、页面解析等属性,支持渠道状态的配置,分为(可用、不可用)两种状态,被配置为不可用的渠道不再进行监测。

监测爬虫单元112,用于根据系统配置,按天定时自动爬取指定渠道的所有新增APP的页面。对爬取的APP页面进行去重处理及页面解析,提取新增APP页面上的基本信息,包括应用名称、应用介绍信息、开发者信息。调用APP相关性判定子模块,筛选出与企业自有APP相关的新增APP,保存其基本信息,发送给相关APP下载单元。

APP相关性判定单元113,用于通过对新增APP页面解析得到的应用名称、应用介绍信息、开发者信息进行分析,得出该新增APP是否与本企业相关的结论。

相关APP下载单元114,用于根据监测爬虫单元112发送的企业相关APP信息,下载其安装包文件,并提取特征信息,包括主配置文件、资源文件、反编译的Smali文件、关键界面图形、开发者及证书信息等,将该条新获取的企业相关APP信息发送给相关APP分析模块120。

自动化策略生成模块150的工作原理如下:

接收待监测APP上传模块140发送的正版APP信息,生成APP相关性判定单元需要的各种策略集,包括应用名称匹配策略、相似应用名称匹配策略、应用介绍匹配策略、开发者信息匹配策略。其中,应用名称匹配策略集包括所有正版APP应用名称进行中文分词之后得到的特征词集合。开发者信息匹配策略集包括所有正版APP开发者信息进行中文分词之后得到的特征词集合。相似应用名称匹配策略集包括所有能够与正版APP应用名称进行相似匹配的策略。应用介绍匹配策略集包括所有能够与正版APP应用介绍进行匹配的策略,不难理解的是,不同匹配策略采用不同的匹配单元来执行,或者是采用同一匹配单元执行,以图1的示出为例,自动化策略生成模块包括:应用名称匹配单元151、相似应用名称匹配单元152、应用介绍匹配单元153以及开发者信息匹配单元154。

相关APP分析模块120的工作原理如下:

自动分析单元121:将相关APP爬取下载模块110发送的待识别APP依次与已知APP信息库123中的APP进行相似度分析,自动分析单元121根据系统的判定规则,自动判定是正版APP还是仿冒APP,对于系统无法直接判定的APP,转到人工分析单元122,由系统运营人员进行分析判断。相似度分析是对APP的安装包名、主配置文件、资源文件、反编译的Smali文件、关键界面图形、开发者及证书信息等进行综合研判,确定样本属性,若属于正版APP,纳入到正版APP库;若属于仿冒APP,纳入仿冒APP库。

人工分析单元123,用于由系统运营人员对疑似与企业相关的APP进行人工研判,确定样本属性,若属于正版APP,纳入到正版APP库;若属于仿冒APP,纳入仿冒APP库。

APP信息库包括正版APP库和仿冒APP库。已知APP信息库属性包括应用名称、应用介绍信息、应用版本号、签名证书信息、安装包文件、主配置文件、资源文件、反编译的Smali文件、关键界面图形等。正版APP库的来源主要分为三个部分,一是初始化形成,二是用户上载待监测的样本APP,三是在系统运行过程中,从监测渠道下载后经判定为正版的APP。在系统运维过程中,不断从渠道下载最新APP,通过自动和人工分析,判定为正版APP,将纳入到正版APP库;判定为正版APP的历史版本,同样纳入到正版APP库,不断丰富正版APP库,增加系统的监测能力。仿冒APP库的来源则主要是在系统运行过程中,从监测渠道下载后经判定为仿冒的APP。

待监测APP上传模块140的工作原理如下:

系统运营人员通过待监测APP上传模块提交APP监测请求。该模块需要提取待监测APP的特征信息,包括应用名称、应用介绍信息、应用版本号、开发者信息、签名证书信息、安装包文件、主配置文件、资源文件、反编译的Smali文件、关键界面图形等。并将待监测APP的信息包括应用名称、应用介绍信息、应用版本号、签名证书信息、安装包文件、主配置文件、资源文件、反编译的Smali文件、关键界面图形等相关信息发送给企业相关APP分析模块存入正版APP库中,同时待监测APP的信息包括应用名称、应用介绍信息、开发者信息,发送给自动化策略生成模块150,以更新APP相关性判定单元需要的各种策略集。

监测报告生成模块130的工作原理如下:

第一报告生成单元131按被监测APP来统计数据,统计其仿冒APP的具体信息列表生成报告,统计数据包括已发现被监测APP的仿冒APP数量、各渠道已发现疑似数量及已判定的仿冒APP数量等;仿冒APP的具体信息包括样本爬取时间、爬取渠道、包名、安全性及病毒名称等。

第二报告生成单元132按APP发布渠道来统计数据,统计仿冒APP的具体信息列表生成报告,统计数据包括该渠道的仿冒APP数量、已发现疑似数量及已判定的仿冒APP数量等;仿冒APP的具体信息包括样本爬取时间、爬取渠道、包名、安全性及病毒名称等。

在上述实施例中,对于方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。

对于装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。

应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。

本发明的各个部件实施方式可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本装置中,PC通过实现因特网对设备或者装置远程控制,精准的控制设备或者装置每个操作的步骤。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样实现本发明的程序可以存储在计算机可读介质上,并且程序产生的文件或文档具有可统计性,产生数据报告和cpk报告等,能对功放进行批量测试并统计。应该注意的是上述实施方式对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施方式。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

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