盗版应用检测方法和装置、系统的制作方法
【技术领域】
[0001]本发明涉及通信技术,尤其是一种盗版应用检测方法和装置、系统。
【背景技术】
[0002]Android(安卓)系统目前已经逐渐发展成为移动终端上最普及应用的操作系统,同时,基于Android系统的应用数目也十分巨大。与其他移动终端操作系统相比,安卓系统为应用开发者提供了更多的功能接口,其中很多系统底层接口,提高了系统的可扩展性,但同时也为恶意应用提供了便利。安卓系统应用的分发渠道众多,目前,市面上基于安卓系统的应用破解盗版现象严重,对一个破解者而言,他只需简单几个步骤,分分钟就可以将一款应用进行篡改并二次打包。这些盗版的应用常常悄无声息的出现在一些非正规的电子市场或者推广渠道,有的甚至会出现在一些权威的大型电子市场。盗版应用通过嵌入广告、拦截支付、植入后门等恶意手段,正版应用软件经常面临着病毒植入、广告替换、支付渠道篡改、钓鱼、信息劫持等风险,不仅会侵蚀正版开发者的直接经济利益,还会对其声誉造成极其恶劣的影响。
[0003]在实现本发明的过程中,发明人通过行业调查报告了解到,目前,平均每个应用有几十个盗版,游戏类应用的盗版情况更是泛滥成灾,其中模拟辅助类应用的平均盗版样本数最多,动作冒险、体育竞速类应用平均盗版签名数最多,盗版情况严重程度令人咋舌。然而,目前尚不存在检测盗版应用的有效方法。
【发明内容】
[0004]本发明实施例所要解决的一个技术问题是:提供一种盗版应用检测方法和装置、系统,以实现对盗版应用的检测。
[0005]根据本发明实施例的一个方面,提供的一种盗版应用检测方法,包括:
[0006]通过查询白名单数据库是否包括当前应用的正版应用信息,识别当前应用是否为正版应用;所述白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的包名和签名;
[0007]若识别出所述当前应用不是正版应用,基于关联应用的统计特征识别所述当前应用是否为盗版应用;所述关联应用包括所述当前应用及其相关应用;所述统计特征包括所述关联应用的版本数量和/或传播数量。
[0008]在基于上述方法的另一个实施例中,所述白名单数据库中的正版应用信息由认证机构和/或正版应用开发者提供。
[0009]在基于上述方法的另一个实施例中,还包括:
[0010]通过认证数据库中存储的用户信息对开发者进行认证;
[0011]通过认证的开发者为正版应用开发者。
[0012]在基于上述方法的另一个实施例中,还包括:
[0013]通过黑名单数据库识别所述当前应用是否为盗版应用;所述黑名单数据库中存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名;
[0014]若识别出所述当前应用不是正版应用、也不是盗版应用,执行所述基于关联应用的统计特征识别所述当前应用是否为盗版应用的操作。
[0015]在基于上述方法的另一个实施例中,还包括:
[0016]若识别出所述当前应用不是正版应用、也不是盗版应用,检测当前应用是否携带有预先设置的恶意特征;
[0017]若检测出当前应用携带有恶意特征,判定当前应用为盗版应用、当前应用的签名为盗版签名;
[0018]在黑名单数据库中记录当前应用的盗版签名和包名。
[0019]在基于上述方法的另一个实施例中,所述基于关联应用的统计特征识别所述当前应用是否为盗版应用包括:
[0020]根据预先设置的统计指标,获取所述关联应用的统计信息,所述统计信息包括同一应用的统计指标数值,所述统计指标数值包括版本数量和/或传播数量;
[0021 ]判定统计指标数值最大的同一应用为正版应用;
[0022]在白名单数据库中记录判定为正版应用的同一应用的正版应用信息。
[0023]在基于上述方法的另一个实施例中,所述统计信息还包括所述关联应用中使用同一签名的不同包名;
[0024]所述方法还包括:
[0025]判断所述关联应用中使用同一签名的不同包名的数量是否大于1;
[0026]若所述关联应用中使用同一签名的不同包名的数量大于1,判断使用该同一签名的不同包名之间是否存在关联关系;
[0027]若使用该同一签名的不同包名之间不存在关联关系,判定使用所述不同包名的应用为盗版应用、所述同一签名为盗版签名;
[0028]在黑名单数据库中记录所述同一签名和使用该同一签名的不同应用的包名。
[0029]在基于上述方法的另一个实施例中,还包括:
[0030]对于所述关联应用中无法判定为正版应用或盗版应用的应用,发送给正版开发者客户端,并接收正版开发者客户端返回的所述关联应用中各应用为正版应用或盗版应用的鉴定结果消息;
[0031]根据鉴定结果消息,若关联应用中有正版应用,通过白名单数据库记录正版应用的正版应用信息;若关联应用中有盗版应用,通过黑名单数据库记录盗版应用的盗版签名和包名。
[0032]根据本发明实施例的另一个方面,提供的一种盗版应用检测装置,包括:
[0033]识别单元,用于通过查询白名单数据库是否包括当前应用的正版应用信息,识别当前应用是否为正版应用;所述白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的包名和签名;
[0034]第一检测单元,用于在所述识别单元识别出所述当前应用不是正版应用时,基于关联应用的统计特征识别所述当前应用是否为盗版应用;所述关联应用包括所述当前应用及其相关应用;所述统计特征包括所述关联应用的版本数量和/或传播数量。
[0035]根据本发明实施例的又一个方面,提供的一种盗版应用检测系统,包括上述实施例的盗版应用检测装置。
[0036]基于本发明上述实施例提供的盗版应用检测方法和装置、系统,通过白名单数据库中存储正版应用信息,包括正版应用的包名和签名。进行盗版应用检测时,先通过白名单数据库识别当前应用是否为正版应用,若通过白名单数据库识别出当前应用不是正版应用,基于该应用的关联应用的统计特征,例如,版本数量和/或传播数量,识别当前应用是否为盗版应用,从而实现了对盗版应用的有效检测与识别。
[0037]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0038]构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
[0039]参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
[0040]图1为本发明盗版应用检测方法一个实施例的流程图。
[0041]图2为本发明盗版应用检测方法另一个实施例的流程图。
[0042]图3为本发明盗版应用检测方法又一个实施例的流程图。
[0043]图4为本发明盗版应用检测装置一个实施例的结构示意图。
[0044]图5为本发明盗版应用检测装置另一个实施例的结构示意图。
[0045]图6为本发明盗版应用检测装置又一个实施例的结构示意图。
[0046]图7为本发明盗版应用检测装置再一个实施例的结构示意图。
[0047]图8为本发明盗版应用检测系统一个实施例的结构示意图。
[0048]图9为本发明盗版应用检测系统一个应用实施例的结构示意图。
【具体实施方式】
[0049]现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0050]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0051]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0052]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0053]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0054]目前市面上安卓软件破解盗版现象严重,这些盗版的应用常常悄无声息的出现在一些非正规的电子市场或者推广渠道,有的甚至会出现在一些权威的大型电子市场。这
些盗版的应用通过嵌入广告,拦截支付,植入后门等恶意手段,不仅会侵蚀正版厂商的直接经济利益,还会对其声誉造成极其恶劣的影响。因此,需要通过有效方式监控电子市场上该应用的盗版情况、以及用户设备中的使用情况。
[0055]图1为本发明盗版应用检测方法一个实施例的流程图。如图1所示,该实施例的盗版应用检测方法包括:
[0056]120,通过查询白名单数据库是否包括当前应用的正版应用信息,识别当前应用是否为正版应用。
[0057]其中,白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的程序包的包名和使用的签名。
[0058]包名,是系统用来区分不同应用的字段,一个包名唯一标识一款应用,重复的包名会被认为是同一款应用,不能同时安装在一个系统里。
[0059]签名,用来区分不同的开发者,一个签名文件唯一标识一个开发者,同一个开发者可以有多个签名,但是同一个签名只能由一个开发者使用。
[0060]若白名单数据库中不存在与当前应用包名和签名一致的正版应用信息,则识别出当前应用不是正版应用,执行操作140。
[0061]140,基于关联应用的统计特征识别当前应用是否为盗版应用。
[0062]其中,关联应用包括当前应用及其相关应用,相关应用根据实际需要,例如可以包括不同开发者开发的功能类似、应用名称相同或类似的应用,同一开发者开发的不同版本的应用、包名具有一定关联的应用;统计特征包括关联应用的版本数量和/或传播数量,其中,传播数量例如可以是应用在用户终端上安装数量。
[0063]基于本发明上述实施例提供的盗版应用检测方法,通过白名单数据库中存储正版应用信息,包括正版应用的包名和签名。进行盗版应用检测时,先通过白名单数据库识别当前应用是否为正版应用,若通过白名单数据库识别出当前应用不是正版应用,基于该应用的关联应用的统计特征,例如,版本数量和/或传播数量,识别当前应用是否为盗版应用,从而实现了对盗版应用的有效检测与识别。
[0064]具体应用中,白名单数据库中的正版应用信息可以由认证机构和/或正版应用开发者提供,例如可以来源于工信部提供的支付类等高危应用的包名和签名信息,并可以根据实际需求实时更新。
[0065]为了确保白名单数据库中的正版应用信息真实可靠,在本发明盗版应用检测方法的另一个实施例中,可以通过认证数据库中存储的用户信息,对提供正版应用信息的开发者进行身份认证,只有通过身份认证的开发者才为正版应用开发者,才允许在白名单数据库中记录其提供的应用的包名和签名。
[0066]另外,在本发明盗版应用检测方法的又一个实施例中,还可以通过黑名单数据库识别当前应用是否为盗版应用,其中的黑名单数据库中存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名。在通过白名单数据库和黑名单数据库,既无法确定当前应用是正版应用、也无法确定当前应用是盗版应用时,既从白名单数据库和黑名单数据库均无法查询到当前应用的签名和包名信息,才执行操作140。
[0067]具体地,通过黑名单数据库识别当前应用是否为盗版应用可以与操作120同时执行,也可以先于或晚于操作120执行。
[0068]图2为本发明盗版应用检测方法另一个实施例的流程图。如图2所示,与本发明上述实施例的盗版应用检测方法相比,该实施例中,若识别出当前应用不是正版应用、也不是盗版应用,即:通过白名单数据库和黑名单数据库,既无法确定当前应用是正版应用、也无法确定当前应用是盗版应用时,执行如下操作:
[0069]220,检测当前应用是否携带有预先设置的恶意特征,例如病毒、木马等代码特征。
[0070]若检测出当前应用携带有恶意特征,执行操作240。否则,认为当前应用无法判定为正版应用或盗版应用,不执行本实施例的后续操作,可以执行操作140。
[0071]240,判定当前应用为盗版应用、当前应用的签名为盗版签名。
[0072]之后,可以选择性地执行操作260,以对黑名单数据库中的盗版签名进行更新、完塞口 ο
[0073]260,在黑名单数据库中记录当前应用的盗版签名和包名。
[0074]在实现本发明的过程中,发明人发现,在实际应用中,正版应用的版本覆盖数量要多于盗版应用,传播数量也要多于盗版应用,因此,根据本发明盗版应用检测方法实施例的一个具体示例而非限制,上述实施例中的操作140具体可以通过如下方式实现:根据预先设置的统计指标,获取关联应用的统计信息,其中的统计信息包括同一应用的统计指标数值,例如可以包括版本数量和/或传播数量;判定统计指标数值最大的同一应用为正版应用;选择性地在白名单数据库中记录判定为正版应用的同一应用的正版应用信息,以对白名单数据库中的正版应用信息进行更新、完善。
[0075]示例性地,上述统计信息还可以包括关联应用中使用同一签名的不同包名。相应地,基于该项统计信息,可以判断关联应用中使用同一签名的不同包名的数量是否大于1;若关联应用中使用同一签名的不同包名的数量大于1,即不同包名的应用使用了同一个签名,则进一步判断使用该同一签名的不同包名之间是否存在关联关系;若使用该同一签名的不同包名之间不存在关联关系,即说明这些应用不属于同一个开发者,则判定这些使用不同包名的应用为盗版应用、上述同一签名为盗版签名;选择性地在黑名单数据库中记录同一签名和使用该同一签名的不同应用的包名,以对黑名单数据库中的盗版签名进行更新、完善。
[0076]另外,本发明盗版应用检测方法的又一个实施例中,对于关联应用中,通过上述方式均无法判定为正版应用或盗版应用的应用,可以将这些无法判定的应用发送给正版开发者客户端,由正版开发者进行判断,并接收正版开发者客户端返回的这些应用为正版应用或盗版应用的鉴定结果消息;根据该鉴定结果消息,若经鉴定有正版应用,通过白名单数据库记录正版应用的正版应用信息;若经鉴定有盗版应用,通过黑名单数据库记录盗版应用的盗版签名和包名,从而对黑、白名单数据库中的信息进行及时更新。
[0077]由于实际应用中可能很难收集到每个开发者的所有签名,有可能开发者换了一个新业务,使用了一个新开发的签名,但是没有提供给白名单数据库,因此,在通过上述方式均无法判定为正版应用或盗版应用时,将这些无法判定的应用提供给正版开发者进行判断,提高了正版、盗版的判断准确率和可实现性。
[0078]或者,本发明盗版应用检测方法的再一个实施例中,对于关联应用中,通过上述方式均判定为正版应用或盗版应用的应用,也可以将其样本存储在样本数据库中,并通过灰名单数据库记录该无法判定应用的应用相关信息,例如包括该应用的包名、签名、版本号、应用来源、使用设备、传播数量,以便将来提供给开发者或者用于进一步统计。
[0079]图3为本发明盗版应用检测方法又一个实施例的流程图。如图3所示,该实施例的方法可以包括:
[0080]320,分别获取关联应用中各应用的特征信息,例如可以包括应用的包名、签名和版本号。
[0081]例如,具体可以通过用户终端上的云查杀客户端,从应用市场和用户终端上采集关联应用中各应用的特征信息。
[0082]340,分别以关联应用中的一个应用作为当前应用,通过查询黑、白名单数据库,识别当前应用是否为正版或盗版应用。
[0083]若通过白名单数据库和黑名单数据库,既无法确定当前应用是正版应用、也无法确定当前应用是盗版应用时,执行操作360。
[0084]360,对关联应用的特征信息进行统计,获得关联应用的统计信息。
[0085]380,基于关联应用的统计特征识别当前应用是否为盗版应用。
[0086]需要说明的是,图3所示实施例可以结合除图1所示实施例外的其他任意一个或多个实施例形成新的实施例,除非本发明实施例中特意说明,本发明上述各实施例的操作不存在执行先后顺序限制。
[0087]进一步地,通过操作320获取的应用的特征信息还可以包括应用来源或使用设备,其中,应用来源即该应用在哪些应用市场上出现过,使用设备即该应用在哪些用户终端上安装使用过。
[0088]基于本发明的上述各盗版应用检测方法实施例,判定出一个应用为盗版应用时,可以根据该盗版应用的使用设备信息,通知该盗版应用的使用设备对该盗版应用进行清理。
[0089]具体地,可以通知盗版应用的使用设备上的云查杀客户端对盗版应用进行清理,并向该云查杀客户端推送盗版应用对应的正版应用信息;盗版应用的使用设备上的云查杀客户端可以根据通
知对盗版应用进行清理,并在使用设备上显示正版应用信息,以便用户给予该正版应用信息进行正版应用的下载安装。
[0090]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0091]图4为本发明盗版应用检测装置一个实施例的结构示意图。该实施例的盗版应用检测装置可用于实现本发明上述各盗版应用检测方法实施例。如图4所示,该实施例的盗版应用检测装置包括识别单元和第一检测单元。其中:
[0092]识别单元,用于通过查询白名单数据库是否包括当前应用的正版应用信息,识别当前应用是否为正版应用。其中的白名单数据库中存储有一条以上正版应用信息,由认证机构和/或正版应用开发者提供,每条正版应用信息包括一个正版应用的包名和签名。
[0093]第一检测单元,用于在识别单元识别出当前应用不是正版应用时,基于关联应用的统计特征识别当前应用是否为盗版应用。其中的关联应用包括当前应用及其相关应用;统计特征包括关联应用的版本数量和/或传播数量。
[0094]基于本发明上述实施例提供的盗版应用检测装置,通过白名单数据库中存储正版应用信息,包括正版应用的包名和签名。进行盗版应用检测时,先通过白名单数据库识别当前应用是否为正版应用,若通过白名单数据库识别出当前应用不是正版应用,基于该应用的关联应用的统计特征,例如,版本数量和/或传播数量,识别当前应用是否为盗版应用,从而实现了对盗版应用的有效检测与识别。
[0095]图5为本发明盗版应用检测装置另一个实施例的结构示意图。如图5所示,与图4所示的实施例相比,该实施例的盗版应用检测装置还包括认证数据库和认证单元。其中:
[0096]认证数据库,用于存储被认证为正版应用开发者的用户信息。
[0097]认证单元,用于通过认证数据库中存储的用户信息对开发者进行认证;以及确认通过认证的开发者为正版应用开发者,才能向白名单数据库提供正版应用信息。
[0098]在本发明盗版应用检测装置又一个实施例中,识别单元还可以用于通过黑名单数据库识别当前应用是否为盗版应用,其中的黑名单数据库中存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名。相应地,第一检测单元具体在识别单元识别出当前应用不是正版应用、也不是盗版应用时,执行基于关联应用的统计特征识别当前应用是否为盗版应用的操作。
[0099]图6为本发明盗版应用检测装置又一个实施例的结构示意图。如图6所示,与图4或图5所示的实施例相比,该实施例的盗版应用检测装置还包括第一特征信息库、第二检测单元和第一更新单元。其中:
[0100]第一特征信息库,用于存储预先设置的恶意特征。
[0101 ]第二检测单元,用于在识别单元识别出当前应用不是正版应用、也不是盗版应用时,检测当前应用是否携带有预先设置的恶意特征;以及在检测出当前应用携带有恶意特征时,判定当前应用为盗版应用、当前应用的签名为盗版签名。
[0102]第一更新单元,用于根据第二检测单元的判定结果,在黑名单数据库中记录当前应用的盗版签名和包名。
[0103]再参见图6,在本发明盗版应用检测装置的再一个实施例中,还可以包括第二特征信息库和第二更新单元。其中:
[0104]第二特征信息库,用于存储预先设置的统计指标,统计指标数值包括版本数和/或传播数。
[0105]第一检测单元具体用于根据预先设置的统计指标,获取关联应用的统计信息,包括同一应用的统计指标数值,包括版本数量和/或传播数量;以及判定统计指标数值最大的同一应用为正版应用。
[0106]第二更新单元,用于根据第一检测单元的判定结果,在白名单数据库中记录判定为正版应用的同一应用的正版应用信息。
[0107]进一步地,统计信息还可以包括关联应用中使用同一签名的不同包名。再参见图6,在本发明盗版应用检测装置的另一个实施例中,还可以包括判断单元,用于判断关联应用中使用同一签名的不同包名的数量是否大于1;以及若关联应用中使用同一签名的不同包名的数量大于1,判断使用该同一签名的不同包名之间是否存在关联关系;若使用该同一签名的不同包名之间不存在关联关系,判定使用不同包名的应用为盗版应用、同一签名为盗版签名。相应地,该实施例中,第二更新单元还可用于根据判断单元的判定结果,在黑名单数据库中记录同一签名和使用该同一签名的不同应用的包名。
[0108]再参见图6,与本发明上述各实施例相比,在本发明盗版应用检测装置的另一个实施例中,还可以包括收发单元和第三更新单元。其中:
[0109]收发单元,用于将关联应用中无法判定为正版应用或盗版应用的应用,发送给正版开发者客户端,并接收正版开发者客户端返回的关联应用中各应用为正版应用或盗版应用的鉴定结果消息。
[0110]第三更新单元,用于根据鉴定结果消息,若关联应用中有正版应用,通过白名单数据库记录正版应用的正版应用信息;若关联应用中有盗版应用,通过黑名单数据库记录盗版应用的盗版签名和包名。
[0111]图7为本发明盗版应用检测装置再一个实施例的结构示意图。如图7所示,该实施例的盗版应用检测装置中,还可以包括存储单元,对于关联应用中无法判定为正版应用或盗版应用的应用,在样本数据库中存储该无法判定应用,并通过灰名单数据库记录该无法判定应用的应用相关信息,例如可以包括包名、签名、版本号、应用来源、使用设备、传播数量。
[0112]另外,在本发明上述盗版应用检测装置实施例中,还可以包括获取单元,用于分别获取关联应用中各应用的特征信息,包括应用的包名、签名和版本号,另外还可以选择性地包括应用来源或使用设备。相应地,第一检测单元具体用于对特征信息进行统计,获得关联应用的统计信息。
[0113]实际应用中,获取单元具体可以通过云查杀客户端,从应用市场和用户终端上采集关联应用中各应用的特征信息。
[0114]基于上述盗版应用检测装置实施例,收发单元还可用于在判定一个应用为盗版应用时,根据该盗版应用的使用设备信息,通知该盗版应用的使用设备对该盗版应用进行清理,并可以选择性地向该云查杀客户端推送盗版应用对应的正版应用信息。
[0115]图8为本发明盗版应用检测系统一个实施例的结构示意图。该实施例的盗版应用检测系统可包括上述任一实施例的盗版应用检测装置,用于实现本发明上述各盗版应用检测方法实施例。
[0116]基于本发明上述实施例提供的盗版应用检测系统,可以通过白名单数据库中存储正版应用信息,包括正版应用的包名和签名。进行盗版应用检测时,先通过白名单数据库识别当前应用是否为正版应用,若通过白名单数据库识别出当前应用不是正版应用,基于该应用的关联应用的统计特征,例如,版本数量和/或传播数量,识别当前应用是否为盗版应用,从而实现了对盗版应用的有效检测与识别。
[0117]如图8所示,该实施例的盗版应用检测系统还可以选择性地包括白名单数据库和/或黑名单数据库。其中:
[0118]白名单数据库,存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的包名和签名;
[0119]黑名单数据库,存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名。
[0120]再参见图8,在本发明盗版应用检测系统的另一个实施例中,还包括位于用户终端上的云查杀客户端,该云查杀客户端例如可以是手机卫士、杀毒软件等,可以从应用市场和用户终端上采集关联应用中各应用的特征信息。该实施例中:
[0121]盗版应用检测装置中的收发单元,用于通知安装盗版应用的用户终端上的云查杀客户端对盗版应用进行清理,并向该云查杀客户端推送盗版应用对应的正版应用信息;
[0122]云查杀客户端,用于对盗版应用进行清理,并在使用设备上显示正版应用信息,以便用户给予该正版应用信息进行正版应用的下载安装。
[0123]如图9所示,为本发明盗版应用检测系统一个应用实施例的结构示意图。在具体应用中,盗版应用检测装置具体可以通过一个云查杀引擎实现。
[0124]正版开发者提供其全部正版应用及其签名后,基于本发明实施例,便可以帮助开发者发现其应用本身在市面上出现的盗版情况,即帮助开发者发现跟它的应用签名不一样的签名都分布在哪些地方,或者哪些机器上出现过,它的传播数量有多少,我们还可以把样本提供
给开发者。
[0125]本发明实施例提供了以下技术方案:
[0126]1、一种盗版应用检测方法,包括:
[0127]通过查询白名单数据库是否包括当前应用的正版应用信息,识别当前应用是否为正版应用;所述白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的包名和签名;
[0128]若识别出所述当前应用不是正版应用,基于关联应用的统计特征识别所述当前应用是否为盗版应用;所述关联应用包括所述当前应用及其相关应用;所述统计特征包括所述关联应用的版本数量和/或传播数量。
[0129]2、根据1所述的方法,所述白名单数据库中的正版应用信息由认证机构和/或正版应用开发者提供。
[0130]3、根据2所述的方法,还包括:
[0131]通过认证数据库中存储的用户信息对开发者进行认证;
[0132]通过认证的开发者为正版应用开发者。
[0133]4、根据1所述的方法,还包括:
[0134]通过黑名单数据库识别所述当前应用是否为盗版应用;所述黑名单数据库中存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名;
[0135]若识别出所述当前应用不是正版应用、也不是盗版应用,执行所述基于关联应用的统计特征识别所述当前应用是否为盗版应用的操作。
[0136]5、根据4所述的方法,还包括:
[0137]若识别出所述当前应用不是正版应用、也不是盗版应用,检测当前应用是否携带有预先设置的恶意特征;
[0138]若检测出当前应用携带有恶意特征,判定当前应用为盗版应用、当前应用的签名为盗版签名;
[0139]在黑名单数据库中记录当前应用的盗版签名和包名。
[0140]6、根据1至5任意一项所述的方法,所述基于关联应用的统计特征识别所述当前应用是否为盗版应用包括:
[0141]根据预先设置的统计指标,获取所述关联应用的统计信息,所述统计信息包括同一应用的统计指标数值,所述统计指标数值包括版本数量和/或传播数量;
[0142]判定统计指标数值最大的同一应用为正版应用;
[0143]在白名单数据库中记录判定为正版应用的同一应用的正版应用信息。
[0144]7、根据6所述的方法,所述统计信息还包括所述关联应用中使用同一签名的不同包名;
[0145]所述方法还包括:
[0146]判断所述关联应用中使用同一签名的不同包名的数量是否大于1;
[0147]若所述关联应用中使用同一签名的不同包名的数量大于1,判断使用该同一签名的不同包名之间是否存在关联关系;
[0148]若使用该同一签名的不同包名之间不存在关联关系,判定使用所述不同包名的应用为盗版应用、所述同一签名为盗版签名;
[0149]在黑名单数据库中记录所述同一签名和使用该同一签名的不同应用的包名。
[0150]8、根据4至7任意一项所述的方法,还包括:
[0151]对于所述关联应用中无法判定为正版应用或盗版应用的应用,发送给正版开发者客户端,并接收正版开发者客户端返回的所述关联应用中各应用为正版应用或盗版应用的鉴定结果消息;
[0152]根据鉴定结果消息,若关联应用中有正版应用,通过白名单数据库记录正版应用的正版应用信息;若关联应用中有盗版应用,通过黑名单数据库记录盗版应用的盗版签名和包名。
[0153]9、根据4至7任意一项所述的方法,还包括:
[0154]对于所述关联应用中无法判定为正版应用或盗版应用的应用,在样本数据库中存储该无法判定应用,并通过灰名单数据库记录该无法判定应用的应用相关信息,所述应用相关信息包括包名、签名、版本号、应用来源、使用设备、传播数量。
[0155]10、根据6至9任意一项所述的方法,还包括:
[0156]分别获取所述关联应用中各应用的特征信息,所述特征信息包括应用的包名、签名和版本号;
[0157]获取所述关联应用的统计信息包括:对所述特征信息进行统计,获得所述关联应用的统计信息。
[0158]11、根据10所述的方法,所述特征信息还包括应用来源或使用设备。
[0159]12、根据10或11所述的方法,所述获取应用的特征信息包括:通过云查杀客户端,从应用市场和用户终端上采集所述关联应用中各应用的特征信息。
[0160]13、根据11或12所述的方法,还包括:
[0161]响应于判定一个应用为盗版应用,根据该盗版应用的使用设备信息,通知该盗版应用的使用设备对该盗版应用进行清理。
[0162]14、根据13所述的方法,所述通知该盗版应用的使用设备对该盗版应用进行清理包括:
[0163]通知所述盗版应用的使用设备上的云查杀客户端对盗版应用进行清理,并向该云查杀客户端推送所述盗版应用对应的正版应用信息;
[0164]所述盗版应用的使用设备上的云查杀客户端对所述盗版应用进行清理,并在所述使用设备上显示所述正版应用信息,以便用户给予该正版应用信息进行正版应用的下载安装。
[0165]15、一种盗版应用检测装置,包括:
[0166]识别单元,用于通过查询白名单数据库是否包括当前应用的正版应用信息,识别当前应用是否为正版应用;所述白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的包名和签名;
[0167]第一检测单元,用于在所述识别单元识别出所述当前应用不是正版应用时,基于关联应用的统计特征识别所述当前应用是否为盗版应用;所述关联应用包括所述当前应用及其相关应用;所述统计特征包括所述关联应用的版本数量和/或传播数量。
[0168]16、根据15所述的装置,所述白名单数据库中的正版应用信息由认证机构和/或正版应用开发者提供。
[0169]17、根据2所述的装置,还包括:
[0170]认证数据库,用于存储认证为正版应用开发者的用户信息;
[0171]认证单元,用于通过认证数据库中存储的用户信息对开发者进行认证;以及确认通过认证的开发者为正版应用开发者。
[0172]18、根据15所述的装置,所述识别单元,还用于通过黑名单数据库识别所述当前应用是否为盗版应用;所述黑名单数据库中存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名;
[0173]所述第一检测单元,具体在所述识别单元识别出所述当前应用不是正版应用、也不是盗版应用时,执行所述基于关联应用的统计特征识别所述当前应用是否为盗版应用的操作。
[0174]19、根据18所述的装置,还包括:
[0175]第一特征信息库,用于存储预先设置的恶意特征;
[0176]第二检测单元,用于在识别单元识别出所述当前应用不是正版应用、也不是盗版应用时,检测当前应用是否携带有预先设置的恶意特征;以及在检测出当前应用携带有恶意特征时,判定当前应用为盗版应用、当前应用的签名为盗版签名;
[0177]第一更新单元,用于根据第二检测单元的判定结果,在黑名单数据库中记录当前应用的盗版签名和包名。
[0178]20、根据15至19任意一项所述的装置,还包括:
[0179]第二特征信息库,用于存储预先设置的统计指标,所述统计指标数值包括版本数和/或传播数;
[0180]所述第一检测单元,具体用于根据预先设置的统计指标,获取所述关联应用的统计信息,所述统计信息包括同一应用的统计指标数值,所述统计指标数值包括版本数量和/或传播数量;以及判定统计指标数值最大的同一应用为正版应用;
[0181]第二更新单元,用于根据第一检测单元的判定结果,在白名单数据库中记录判定为正版应用的同一应用的正版应用信息。
[0182]21、根据20所述的装置,所述统计信息还包括所述关联应用中使用同一签名的不同包名;
[0183]所述装置还包括:
[0184]判断单元,用于判断所述关联应用中使用同一签名的不同包名的数量是否大于1;以及若所述关联应用中使用同一签名的不同包名的数量大于1,判断使用该同一签名的不同包名之间是否存在关联关系;若使用该同一签名的不同包名之间不存在关联关系,判定使用所述不同包名的应用为盗版应用、所述同一签名为盗版签名;
[0185]所述第二更新单元,还用于根据判断单元的判定结果,在黑名单数据库中记录所述同一签名和使用该同一签名的不同应用的包名。
[0186]22、根据18至21任意一项所述的装置,还包括:
[0187]收发单元,用于将所述关联应用中无法判定为正版应用或盗版应用的应用,发送给正版开发者客户端,并接收正版开发者客户端返回的所述关联应用中各应用为正版应用或盗版应用的鉴定结果消息;
[0188]第三更新单元,用于根据所述鉴定结果消息,若关联应用中有正版应用,通过白名单数据库记录正版应用的正版应用信息;若关联应用中有盗版应用,通过黑名单数据库记录盗版应用的盗版签名和包名。
[0189]23、根据18至21任意一项所述的装置,还包括:
[0190]存储单元,对于所述关联应用中无法判定为正版应用或盗版应用的应用,在样本数据库中存储该无法判定应用,并通过灰名单数据库记录该无法判定应用的应用相关信息,所述应用相关信息包括包名、签名、版本号、应用来源、使用设备、传播数量。
[0191]24、根据20至23任意一项所述的装置,还包括:
[0192]获取单元,用于分别获取所述关联应用中各应用的特征信息,所述特征信息包括应用的包名、签名和版本号;
[0193]所述第一检测单元,具体用于对所述特征信息进行统计,获得所述关联应用的统计信息。
[0194]25、根据24所述的装置,所述特征信息还包括应用来源或使用设备。
[0195]26、根据24或25所述的装置,所述获取单元,具体通过云查杀客户端,从应用市场和用户终端上采集所述关联应用中各应用的特征信息。
[0196]27、根据25或26所述的装置,所述收发单元,还用于在判定一个应用为盗版应用时,根据该盗版应用的使用设备信息,通知该盗版应用的使用设备对该盗版应用进行清理。
[0197]28、根据27所述的装置,所述收发单元,还用于该云查杀客户端推送所述盗版应用对应的正版应用信息。
[0198]29、一种盗版应用检测系统,包括15至28任意一项所述的盗版应用检测装置。
[0199]30、根据29所述的系统,还包括:
[0200]白名单数据库,存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的包名和签名;和/或
[0201]黑名单数据库,存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名。
[0202]31、根据29或30所述的系统,还包括位于用户终端上的云查杀客户端;
[0203]所述的盗版应用检测装置中的收发单元,用于通知安装盗版应用的用户终端上的云查杀客户端对盗版应用进行清理,并向该云查杀客户端推送所述盗版应用对应的正版应用?目息;
[0204]所述云查杀客户端,用于对所述盗版应用进行清理,并在所述用户终端上显示所述正版应用信息,以便用户给予该正版应用信息进行正版应用的下载安装。
[0205]本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0206]可能以许多方式来实现本发明的方法、装置和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法、装置和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
[0207]本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
【主权项】
1.一种盗版应用检测方法,其特征在于,包括: 通过查询白名单数据库是否包括当前应用的正版应用信息,识别当前应用是否为正版应用;所述白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的包名和签名; 若识别出所述当前应用不是正版应用,基于关联应用的统计特征识别所述当前应用是否为盗版应用;所述关联应用包括所述当前应用及其相关应用;所述统计特征包括所述关联应用的版本数量和/或传播数量。2.根据权利要求1所述的方法,其特征在于,所述白名单数据库中的正版应用信息由认证机构和/或正版应用开发者提供。3.根据权利要求2所述的方法,其特征在于,还包括: 通过认证数据库中存储的用户信息对开发者进行认证; 通过认证的开发者为正版应用开发者。4.根据权利要求1所述的方法,其特征在于,还包括: 通过黑名单数据库识别所述当前应用是否为盗版应用;所述黑名单数据库中存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名; 若识别出所述当前应用不是正版应用、也不是盗版应用,执行所述基于关联应用的统计特征识别所述当前应用是否为盗版应用的操作。5.根据权利要求4所述的方法,其特征在于,还包括: 若识别出所述当前应用不是正版应用、也不是盗版应用,检测当前应用是否携带有预先设置的恶意特征; 若检测出当前应用携带有恶意特征,判定当前应用为盗版应用、当前应用的签名为盗版签名; 在黑名单数据库中记录当前应用的盗版签名和包名。6.根据权利要求1至5任意一项所述的方法,其特征在于,所述基于关联应用的统计特征识别所述当前应用是否为盗版应用包括: 根据预先设置的统计指标,获取所述关联应用的统计信息,所述统计信息包括同一应用的统计指标数值,所述统计指标数值包括版本数量和/或传播数量; 判定统计指标数值最大的同一应用为正版应用; 在白名单数据库中记录判定为正版应用的同一应用的正版应用信息。7.根据权利要求6所述的方法,其特征在于,所述统计信息还包括所述关联应用中使用同一签名的不同包名; 所述方法还包括: 判断所述关联应用中使用同一签名的不同包名的数量是否大于1; 若所述关联应用中使用同一签名的不同包名的数量大于1,判断使用该同一签名的不同包名之间是否存在关联关系; 若使用该同一签名的不同包名之间不存在关联关系,判定使用所述不同包名的应用为盗版应用、所述同一签名为盗版签名; 在黑名单数据库中记录所述同一签名和使用该同一签名的不同应用的包名。8.根据权利要求4至7任意一项所述的方法,其特征在于,还包括: 对于所述关联应用中无法判定为正版应用或盗版应用的应用,发送给正版开发者客户端,并接收正版开发者客户端返回的所述关联应用中各应用为正版应用或盗版应用的鉴定结果消息; 根据鉴定结果消息,若关联应用中有正版应用,通过白名单数据库记录正版应用的正版应用信息;若关联应用中有盗版应用,通过黑名单数据库记录盗版应用的盗版签名和包名。9.一种盗版应用检测装置,其特征在于,包括: 识别单元,用于通过查询白名单数据库是否包括当前应用的正版应用信息,识别当前应用是否为正版应用;所述白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的包名和签名; 第一检测单元,用于在所述识别单元识别出所述当前应用不是正版应用时,基于关联应用的统计特征识别所述当前应用是否为盗版应用;所述关联应用包括所述当前应用及其相关应用;所述统计特征包括所述关联应用的版本数量和/或传播数量。10.—种盗版应用检测系统,其特征在于,包括权利要求9所述的盗版应用检测装置。
【专利摘要】本发明实施例公开了一种盗版应用检测方法和装置、系统,其中,方法包括:通过查询白名单数据库是否包括当前应用的正版应用信息,识别当前应用是否为正版应用;所述白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的包名和签名;若识别出所述当前应用不是正版应用,基于关联应用的统计特征识别所述当前应用是否为盗版应用;所述关联应用包括所述当前应用及其相关应用;所述统计特征包括所述关联应用的版本数量和/或传播数量。本发明实施例可以实现对盗版应用的检测。
【IPC分类】G06F21/12
【公开号】CN105488361
【申请号】CN201510812589
【发明人】冯成蹊, 吴磊
【申请人】北京奇虎科技有限公司, 奇智软件(北京)有限公司
【公开日】2016年4月13日
【申请日】2015年11月20日