发明内容
本发明实施例所要解决的一个技术问题是:提供一种盗版应用检测方法和装置、系统,以实现对盗版应用的检测。
根据本发明实施例的一个方面,提供的一种盗版应用检测方法,包括:
从白名单数据库中查询当前应用的相关应用;所述相关应用包括应用特征信息中任意一项相同或相近的应用、和开发者相同的应用,所述应用特征信息包括应用的名称、包名与功能;所述白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的名称、包名、签名、版本号与开发者信息;
分别将当前应用与各相关应用进行比较,获取当前应用与各相关应用之间的相似度,得到一个以上相似度值;
比较所述一个以上相似度值中的最大相似度值是否大于预设最小相似度阈值;
若最大相似度值大于预设最小相似度阈值,判定当前应用为正版应用。
在基于上述方法的另一个实施例中,所述白名单数据库中的正版应用信息由认证机构和/或正版应用开发者提供。
在基于上述方法的另一个实施例中,还包括:
分别针对白名单数据库中的各组相关应用,将同组相关应用中的各相关应用进行比较,获取同组相关应用中各相关应用之间的相似度值;
根据同组相关应用中各相关应用之间的相似度值设置最小相似度阈值,并在白名单数据库中记录该组相关应用的最小相似度阈值;
比较所述一个以上相似度值中的最大相似度值是否大于预设最小相似度阈值包括:
从白名单数据库中获取当前应用的相关应用对应的最小相似度阈值,并比较所述一个以上相似度值中的最大相似度值是否大于所述相关应用对应的最小相似度阈值。
在基于上述方法的另一个实施例中,将两个相关应用进行比较,获取两个相关应用之间的相似度包括:
对两个相关应用的源代码进行比较,获取两个相关应用的源代码之间的相似度;或者
对两个相关应用的源代码中的核心代码进行比较,获取两个相关应用的核心代码之间的相似度;或者
对两个相关应用的源代码进行切片,选择两个相关应用的对应切片,分别通过消息摘要算法第五版MD5对选择的两个对应切片进行计算,获得两个对应切片的MD5值,比较两个对应切片的MD5值之间的相似度。
在基于上述方法的另一个实施例中,还包括:
查询黑名单数据库中是否存在与当前应用一致的签名;所述黑名单数据库中存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名;
若黑名单数据库中存在与当前应用一致的盗版签名,判定当前应用为盗版应用,在黑名单数据库中使用所述一致的盗版签名的盗版应用的包名中记录当前应用的包名。
在基于上述方法的另一个实施例中,还包括:
若所述最大相似度值不大于预设最小相似度阈值、且黑名单数据库中不存在与当前应用一致的盗版签名,将当前应用与特征数据库中的恶意特征进行比较,获取当前应用与恶意特征之间的相似度值;
识别特征数据库中是否存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征;
若特征数据库中存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征,判定当前应用为盗版应用。
在基于上述方法的另一个实施例中,还包括:
将当前应用与特征数据库中的恶意特征进行比较,获取当前应用与恶意特征之间的相似度值;
识别特征数据库中是否存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征;
若特征数据库中存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征,判定当前应用为盗版应用。
在基于上述方法的另一个实施例中,还包括:
在黑名单数据库中记录盗版应用的盗版签名、以及使用该盗版签名的盗版应用的包名。
根据本发明实施例的另一个方面,提供的一种盗版应用检测装置,包括:
查询单元,用于从白名单数据库中查询当前应用的相关应用;所述相关应用包括应用特征信息中任意一项相同或相近的应用、和开发者相同的应用,所述应用特征信息包括应用的名称、包名与功能;所述白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的名称、包名、签名、版本号与开发者信息;
第一比较单元,用于分别将当前应用与各相关应用进行比较,获取当前应用与各相关应用之间的相似度,得到一个以上相似度值;
第二比较单元,用于比较所述一个以上相似度值中的最大相似度值是否大于预设最小相似度阈值;
判断单元,用于根据第二比较单元的比较结果,若最大相似度值大于预设最小相似度阈值,判定当前应用为正版应用。
根据本发明实施例的一个方面,提供的一种盗版应用检测系统,包括本发明上述实施例的盗版应用检测装置。
基于本发明上述实施例提供的盗版应用检测方法和装置、系统,由于正版的关联应用之间,例如在代码、插件等方面,存在着一定的相似度,预先通过白名单数据库中存储正版应用信息,进行盗版应用检测时,通过比较当前应用与白名单数据库中相关应用之间的相似度来判断当前应用是否为正版应用,从而实现了对盗版应用的有效检测与识别。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
目前市面上安卓软件破解盗版现象严重,这些盗版的应用常常悄无声息的出现在一些非正规的电子市场或者推广渠道,有的甚至会出现在一些权威的大型电子市场。这些盗版的应用通过嵌入广告,拦截支付,植入后门等恶意手段,不仅会侵蚀正版厂商的直接经济利益,还会对其声誉造成极其恶劣的影响。因此,需要通过有效方式去识别电子市场上应用的盗版情况。
图1为本发明盗版应用检测方法一个实施例的流程图。如图1所示,该实施例的盗版应用检测方法包括:
120,从白名单数据库中查询当前应用的相关应用。
其中,相关应用即应用特征信息中任意一项相同或相近的应用、和开发者相同的应用。其中的应用特征信息,例如可以是应用的名称、包名与功能。
白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的名称、包名、签名、版本号与开发者信息。
包名,是系统用来区分不同应用的字段,一个包名唯一标识一款应用,重复的包名会被认为是同一款应用,不能同时安装在一个系统里。
签名,用来区分不同的开发者,一个签名文件唯一标识一个开发者,同一个开发者可以有多个签名,但是同一个签名只能由一个开发者使用。
140,分别将当前应用与各相关应用进行比较,获取当前应用与各相关应用之间的相似度,得到一个以上相似度值。
160,比较一个以上相似度值中的最大相似度值是否大于预设最小相似度阈值。
若最大相似度值大于预设最小相似度阈值,执行操作180。否则,无法判断当前应用为正版应用。
180,判定当前应用为正版应用。
基于本发明上述实施例提供的盗版应用检测方法,由于正版的关联应用之间,例如同一个开发者开发的各版本的同一应用、不同的开发者、不同公司开发出来的功能相同或相近的应用,例如在代码、插件等方面,存在着一定的相似度,预先通过白名单数据库中存储正版应用信息,进行盗版应用检测时,通过比较当前应用与白名单数据库中相关应用之间的相似度来判断当前应用是否为正版应用,从而实现了对盗版应用的有效检测与识别。
在本发明盗版应用检测方法的另一个实施例中,例如可以通过如下方式,预先设置上述最小相似度阈值:
分别针对白名单数据库中的各组相关应用,将同组相关应用中的各相关应用进行比较,获取同组相关应用中各相关应用之间的相似度值;
根据同组相关应用中各相关应用之间的相似度值设置最小相似度阈值,并在白名单数据库中记录该组相关应用的最小相似度阈值。
相应地,图1所示实施例的操作160中,具体可以从白名单数据库中获取当前应用的相关应用对应的最小相似度阈值,并比较上述一个以上相似度值中的最大相似度值是否大于相关应用对应的最小相似度阈值。
在一个具体示例中,将两个相关应用进行比较,获取两个相关应用之间的相似度可以包括但不限于:对两个相关应用的源代码进行比较,获取两个相关应用的源代码之间的相似度;或者,对两个相关应用的源代码中的核心代码进行比较,获取两个相关应用的核心代码之间的相似度;或者,对两个相关应用的源代码进行切片,选择两个相关应用的对应切片,分别通过MD5(消息摘要算法第五版)对选择的两个对应切片进行计算,获得两个对应切片的MD5值,比较两个对应切片的MD5值之间的相似度。
图2为本发明盗版应用检测方法另一个实施例的流程图。如图2所示,与图1所示的实施例相比,该实施例的盗版应用检测方法还包括:
220,查询黑名单数据库中是否存在与当前应用一致的签名。
其中,黑名单数据库中存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名。
若黑名单数据库中存在与当前应用一致的盗版签名,执行操作240。否则,无法判断当前应用为盗版应用。
240,判定当前应用为盗版应用,并可以选择性地在黑名单数据库中使用一致的盗版签名的盗版应用的包名中记录当前应用的包名。
其中,上述图2所示实施例中的操作220~240与图1所示实施例中的操作120~180之间不存在执行顺序限制,二者之间可以同时执行,也可以先执行或后执行操作220~240,或者也可以以任意的时间间隔执行。
基于图2所示的实施例,若最大相似度值不大于预设最小相似度阈值、且黑名单数据库中不存在与当前应用一致的盗版签名,进一步地,在本发明盗版应用检测方法的又一个实施例中,可以将当前应用与特征数据库中的恶意特征进行比较,获取当前应用与恶意特征之间的相似度值,识别特征数据库中是否存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征,其中的特征数据库存储有预先设置的一个以上的恶意特征,例如病毒、木马等特征代码。若特征数据库中存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征,则判定当前应用为盗版应用。
图3为本发明盗版应用检测方法又一个实施例的流程图。如图3所示,与图1所示的实施例相比,该实施例的盗版应用检测方法还包括:
320,将当前应用与特征数据库中的恶意特征进行比较,获取当前应用与恶意特征之间的相似度值。
340,识别特征数据库中是否存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征。
若特征数据库中存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征,执行操作360。否则,无法判断当前应用为盗版应用。
360,判定当前应用为盗版应用。
其中,上述图3所示实施例中的操作320~360与图1所示实施例中的操作120~180之间不存在执行顺序限制,二者之间可以同时执行,也可以先执行或后执行操作320~360,或者也可以以任意的时间间隔执行。
通过操作360判定当前应用为盗版应用后,可以选择性地在黑名单数据库中记录盗版应用的盗版签名、以及使用该盗版签名的盗版应用的包名,以对黑名单数据库中的信息进行完善与更新,便于后续基于黑名单数据库识别一个应用是否为盗版应用。
基于图3所示的实施例,若最大相似度值不大于预设最小相似度阈值、且当前应用与特征数据库中所有恶意特征之间的相似度值均不大于预设最大相似度阈值,进一步地,在本发明盗版应用检测方法的再一个实施例中,可以查询黑名单数据库中是否存在与当前应用的签名一致的盗版签名。若黑名单数据库中存在与当前应用的签名一致的盗版签名,判定当前应用为盗版应用,并可以选择性地在黑名单数据库中使用一致的盗版签名的盗版应用的包名中记录当前应用的包名,以对黑名单数据库中的信息进行完善与更新,便于后续基于黑名单数据库识别一个应用是否为盗版应用。
若通过本发明上述各实施例的盗版应用检测方法均无法判定当前应用为正版应用、也无法判定当前应用为盗版应用,则可以将当前应用发送给正版开发者客户端,由正版开发者进行判断,并接收正版开发者客户端返回的当前应用为正版应用或盗版应用的鉴定结果消息;根据鉴定结果消息,若当前应用为正版应用,可以通过白名单数据库记录当前应用的正版应用信息;若当前应用为盗版应用,可以通过黑名单数据库记录当前应用的盗版签名和包名,从而实现对黑、白名单数据库中信息的及时更新。
在本发明盗版应用检测方法的又一个实施例中,可以对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;并提取所有盗版应用的共同特征作为恶意特征加入特征信息库,以实现对特征信息库中恶意特征的完善与更新,有利于后续更有效地识别更多的应用是否为盗版应用。
另外,也可以对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;并获取所有盗版应用的应用类别,在分析数据库中记录作为恶意特征的共同特征的应用类别信息,以便于预测哪些恶意特征可能附着在哪些类别的应用上。
在本发明盗版应用检测方法的又一个实施例中,还可以对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;并对所有盗版应用的盗版签名进行分析,获取所有盗版应用的盗版签名的共同特征,在分析数据库中记录盗版签名的共同特征,以便预测具有这些特意特征的签名具有什么特征,从而有助于后续通过该特征识别相应的签名是否为盗版签名。
基于本发明上述各实施例的盗版应用检测方法,可以对开发者提供的盗版应用与正版应用进行比较,获取盗版应用与正版应用之间的区别特征并发送给相应正版应用的开发者客户端。
由于盗版应用经常通过在正版应用中嵌入广告、拦截支付、植入后门等恶意代码,进行病毒植入、广告替换、支付渠道篡改、钓鱼、信息劫持等,通过该实施例对盗版应用与正版应用进行比较,即:在正版应用和盗版应用之间做一个代码比对,便可获知盗版应用相对于正版应用做了哪些改变,例如盗版应用插入了哪一些插件,正版应用有哪些功能插件被盗版应用移除或替换,盗版应用中增加了哪些功能插件,以便于正版应用开发者对正版应用在相应的地方做一些增强,避免被盗版。
基于本发明上述各实施例的盗版应用检测方法,例如,还可以通过以下方式,可以分析正版应用中从哪一版本开始出现盗版情况:分别对待分析同一正版应用的不同版本与所有相关的盗版应用进行比较,获取各版本与所有相关的盗版应用中各盗版应用之间的相似度,确定相似度值最高的版本作为同一正版应用被开始盗版的版本,并记录在分析数据库中。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图4为本发明盗版应用检测装置一个实施例的结构示意图。该实施例的盗版应用检测装置可用于实现本发明上述各盗版应用检测方法实施例。如图4所示,该实施例的盗版应用检测装置包括查询单元、第一比较单元、第二比较单元和判断单元。其中:
查询单元,用于从白名单数据库中查询当前应用的相关应用。相关应用包括应用特征信息中任意一项相同或相近的应用、和开发者相同的应用,应用特征信息,例如可以包括应用的名称、包名与功能;白名单数据库中存储有一条以上正版应用信息,这些正版应用信息可以由认证机构和/或正版应用开发者提供,每条正版应用信息包括一个正版应用的名称、包名、签名、版本号与开发者信息。
第一比较单元,用于分别将当前应用与各相关应用进行比较,获取当前应用与各相关应用之间的相似度,得到一个以上相似度值。
第二比较单元,用于比较第一比较单元得到的一个以上相似度值中的最大相似度值是否大于预设最小相似度阈值。
判断单元,用于根据第二比较单元的比较结果,若最大相似度值大于预设最小相似度阈值,判定当前应用为正版应用。
基于本发明上述实施例提供的盗版应用检测装置,由于正版的关联应用之间,例如在代码、插件等方面,存在着一定的相似度,预先通过白名单数据库中存储正版应用信息,进行盗版应用检测时,通过比较当前应用与白名单数据库中相关应用之间的相似度来判断当前应用是否为正版应用,从而实现了对盗版应用的有效检测与识别。
图5为本发明盗版应用检测装置另一个实施例的结构示意图。与图4所示的实施例相比,该实施例的盗版应用检测装置还包括第三比较单元和设置单元。其中:
第三比较单元,用于分别针对白名单数据库中的各组相关应用,将同组相关应用中的各相关应用进行比较,获取同组相关应用中各相关应用之间的相似度值。
设置单元,用于根据同组相关应用中各相关应用之间的相似度值设置最小相似度阈值,并在白名单数据库中记录该组相关应用的最小相似度阈值。
相应地,该实施例中,第二比较单元具体用于从白名单数据库中获取当前应用的相关应用对应的最小相似度阈值,并比较一个以上相似度值中的最大相似度值是否大于应用对应的最小相似度阈值。
示例性地,上述实施例中的第一比较单元或第三比较单元,将两个相关应用进行比较,获取两个相关应用之间的相似度时,具体可以对两个相关应用的源代码进行比较,获取两个相关应用的源代码之间的相似度;或者,对两个相关应用的源代码中的核心代码进行比较,获取两个相关应用的核心代码之间的相似度;或者,对两个相关应用的源代码进行切片,选择两个相关应用的对应切片,分别通过MD5对选择的两个对应切片进行计算,获得两个对应切片的MD5值,比较两个对应切片的MD5值之间的相似度。
在本发明盗版应用检测装置的又一个实施例中,查询单元还可用于查询黑名单数据库中是否存在与当前应用一致的签名;黑名单数据库中存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名。相应地,判断单元还可用于在黑名单数据库中存在与当前应用一致的盗版签名时,判定当前应用为盗版应用。在参见图5,该实施例的盗版应用检测装置还包括记录单元,用于在黑名单数据库中使用一致的盗版签名的盗版应用的包名中记录当前应用的包名。
另外,本发明盗版应用检测装置还可以包括第四比较单元,用于在最大相似度值不大于预设最小相似度阈值、且黑名单数据库中不存在与当前应用一致的盗版签名时,将当前应用与特征数据库中的恶意特征进行比较,获取当前应用与恶意特征之间的相似度值。相应地,判断单元还可用于识别特征数据库中是否存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征,在特征数据库中存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征时,判定当前应用为盗版应用。
图6为本发明盗版应用检测装置又一个实施例的结构示意图。与上一实施例相比,该实施例的盗版应用检测装置还包括第五比较单元,用于将当前应用与特征数据库中的恶意特征进行比较,获取当前应用与恶意特征之间的相似度值。相应地,该实施例中,判断单元还可用于识别特征数据库中是否存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征,在特征数据库中存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征时,判定当前应用为盗版应用。
另外,该实施例的盗版应用检测装置中,记录单元还可选择性地用于在黑名单数据库中记录盗版应用的盗版签名、以及使用该盗版签名的盗版应用的包名。
进一步地,该实施例的盗版应用检测装置中,查询单元还可用于在最大相似度值不大于预设最小相似度阈值、且当前应用与特征数据库中所有恶意特征之间的相似度值均不大于预设最大相似度阈值时,查询黑名单数据库中是否存在与当前应用的签名一致的盗版签名。相应地,判断单元还可用于在黑名单数据库中存在与当前应用的签名一致的盗版签名时,判定当前应用为盗版应用。记录单元还可用于在黑名单数据库中使用一致的盗版签名的盗版应用的包名中记录当前应用的包名。
图7为本发明盗版应用检测装置再一个实施例的结构示意图。如图7所示,与上述各实施例的盗版应用检测装置相比,该实施例还可以包括收发单元,用于在当前应用既未被判定为正版应用、也未被判定为盗版应用时,将当前应用发送给正版开发者客户端,并接收正版开发者客户端返回的当前应用为正版应用或盗版应用的鉴定结果消息。相应地,该实施例中,记录单元,还用于根据鉴定结果消息,若当前应用为正版应用,通过白名单数据库记录当前应用的正版应用信息;若当前应用为盗版应用,通过黑名单数据库记录当前应用的盗版签名和包名。
进一步地,再参见图7,作为另一实施例,盗版应用检测装置还可以包括第一分析单元,用于对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;以及提取所有盗版应用的共同特征作为恶意特征加入特征信息库。
再参见图7,作为又一实施例,盗版应用检测装置还可以包括第二分析单元,用于对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;以及获取所有盗版应用的应用类别,在分析数据库中记录作为恶意特征的共同特征的应用类别信息。
再参见图7,作为又一实施例,盗版应用检测装置还可以包括第三分析单元,用于对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;以及对所有盗版应用的盗版签名进行分析,获取所有盗版应用的盗版签名的共同特征,在分析数据库中记录盗版签名的共同特征。
进一步地,在本发明上述各盗版应用检测装置中,第一比较单元还可用于:对盗版应用与正版应用进行比较,获取盗版应用与正版应用之间的区别特征并通过收发单元发送给相应正版应用的开发者客户端;和/或,分别对待分析同一正版应用的不同版本与所有相关的盗版应用进行比较,获取各版本与所有相关的盗版应用中各盗版应用之间的相似度,确定相似度值最高的版本作为同一正版应用被开始盗版的版本,并记录在分析数据库中。
本发明实施例还提供了一种盗版应用检测系统,可包括上述任一实施例的盗版应用检测装置,用于实现本发明上述各盗版应用检测方法实施例。如图8所示,该实施例的盗版应用检测系统还可以选择性地包括白名单数据库、黑名单数据库和特征数据库中的任意一个或多个。其中:
白名单数据库,存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的名称、包名、签名、版本号与开发者信息。
黑名单数据库,存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名。
特征数据库,存储有一条以上的恶意特征。
基于本发明上述实施例提供的盗版应用检测系统,由于正版的关联应用之间,例如在代码、插件等方面,存在着一定的相似度,预先通过白名单数据库中存储正版应用信息,进行盗版应用检测时,通过比较当前应用与白名单数据库中相关应用之间的相似度来判断当前应用是否为正版应用,从而实现了对盗版应用的有效检测与识别。
本发明实施例提供了以下技术方案:
1、一种盗版应用检测方法,包括:
从白名单数据库中查询当前应用的相关应用;所述相关应用包括应用特征信息中任意一项相同或相近的应用、和开发者相同的应用,所述应用特征信息包括应用的名称、包名与功能;所述白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的名称、包名、签名、版本号与开发者信息;
分别将当前应用与各相关应用进行比较,获取当前应用与各相关应用之间的相似度,得到一个以上相似度值;
比较所述一个以上相似度值中的最大相似度值是否大于预设最小相似度阈值;
若最大相似度值大于预设最小相似度阈值,判定当前应用为正版应用。
2、根据1所述的方法,所述白名单数据库中的正版应用信息由认证机构和/或正版应用开发者提供。
3、根据1所述的方法,还包括:
分别针对白名单数据库中的各组相关应用,将同组相关应用中的各相关应用进行比较,获取同组相关应用中各相关应用之间的相似度值;
根据同组相关应用中各相关应用之间的相似度值设置最小相似度阈值,并在白名单数据库中记录该组相关应用的最小相似度阈值;
比较所述一个以上相似度值中的最大相似度值是否大于预设最小相似度阈值包括:
从白名单数据库中获取当前应用的相关应用对应的最小相似度阈值,并比较所述一个以上相似度值中的最大相似度值是否大于所述相关应用对应的最小相似度阈值。
4、根据1至3任意一项所述的方法,将两个相关应用进行比较,获取两个相关应用之间的相似度包括:
对两个相关应用的源代码进行比较,获取两个相关应用的源代码之间的相似度;或者
对两个相关应用的源代码中的核心代码进行比较,获取两个相关应用的核心代码之间的相似度;或者
对两个相关应用的源代码进行切片,选择两个相关应用的对应切片,分别通过消息摘要算法第五版MD5对选择的两个对应切片进行计算,获得两个对应切片的MD5值,比较两个对应切片的MD5值之间的相似度。
5、根据1至4任意一项所述的方法,还包括:
查询黑名单数据库中是否存在与当前应用一致的签名;所述黑名单数据库中存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名;
若黑名单数据库中存在与当前应用一致的盗版签名,判定当前应用为盗版应用,在黑名单数据库中使用所述一致的盗版签名的盗版应用的包名中记录当前应用的包名。
6、根据5所述的方法,还包括:
若所述最大相似度值不大于预设最小相似度阈值、且黑名单数据库中不存在与当前应用一致的盗版签名,将当前应用与特征数据库中的恶意特征进行比较,获取当前应用与恶意特征之间的相似度值;
识别特征数据库中是否存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征;
若特征数据库中存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征,判定当前应用为盗版应用。
7、根据1至4任意一项所述的方法,还包括:
将当前应用与特征数据库中的恶意特征进行比较,获取当前应用与恶意特征之间的相似度值;
识别特征数据库中是否存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征;
若特征数据库中存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征,判定当前应用为盗版应用。
8、根据7所述的方法,还包括:
在黑名单数据库中记录盗版应用的盗版签名、以及使用该盗版签名的盗版应用的包名。
9、根据8所述的方法,还包括:
若所述最大相似度值不大于预设最小相似度阈值、且当前应用与特征数据库中所有恶意特征之间的相似度值均不大于预设最大相似度阈值,查询黑名单数据库中是否存在与当前应用的签名一致的盗版签名;
若黑名单数据库中存在与当前应用的签名一致的盗版签名,判定当前应用为盗版应用,在黑名单数据库中使用所述一致的盗版签名的盗版应用的包名中记录当前应用的包名。
10、根据5至9任意一项所述的方法,还包括:
若当前应用既未被判定为正版应用、也未被判定为盗版应用,将当前应用发送给正版开发者客户端,并接收正版开发者客户端返回的所述当前应用为正版应用或盗版应用的鉴定结果消息;
根据鉴定结果消息,若当前应用为正版应用,通过白名单数据库记录当前应用的正版应用信息;若当前应用为盗版应用,通过黑名单数据库记录当前应用的盗版签名和包名。
11、根据6或9所述的方法,还包括:
对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;
提取所述所有盗版应用的共同特征作为恶意特征加入特征信息库。
12、根据6、9或11所述的方法,还包括:
对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;
获取所述所有盗版应用的应用类别,在分析数据库中记录作为恶意特征的共同特征的应用类别信息。
13、根据6、9、11或12所述的方法,还包括:
对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;
对所述所有盗版应用的盗版签名进行分析,获取所述所有盗版应用的盗版签名的共同特征,在分析数据库中记录所述盗版签名的共同特征。
14、根据5至13任意一项所述的方法,还包括:
对盗版应用与正版应用进行比较,获取盗版应用与正版应用之间的区别特征并发送给相应正版应用的开发者客户端。
15、根据5至13任意一项所述的方法,还包括:
分别对待分析同一正版应用的不同版本与所有相关的盗版应用进行比较,获取各版本与所有相关的盗版应用中各盗版应用之间的相似度,确定相似度值最高的版本作为所述同一正版应用被开始盗版的版本。
16、一种盗版应用检测装置,包括:
查询单元,用于从白名单数据库中查询当前应用的相关应用;所述相关应用包括应用特征信息中任意一项相同或相近的应用、和开发者相同的应用,所述应用特征信息包括应用的名称、包名与功能;所述白名单数据库中存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的名称、包名、签名、版本号与开发者信息;
第一比较单元,用于分别将当前应用与各相关应用进行比较,获取当前应用与各相关应用之间的相似度,得到一个以上相似度值;
第二比较单元,用于比较所述一个以上相似度值中的最大相似度值是否大于预设最小相似度阈值;
判断单元,用于根据第二比较单元的比较结果,若最大相似度值大于预设最小相似度阈值,判定当前应用为正版应用。
17、根据16所述的装置,所述白名单数据库中的正版应用信息由认证机构和/或正版应用开发者提供。
18、根据16所述的装置,还包括:
第三比较单元,用于分别针对白名单数据库中的各组相关应用,将同组相关应用中的各相关应用进行比较,获取同组相关应用中各相关应用之间的相似度值;
设置单元,用于根据同组相关应用中各相关应用之间的相似度值设置最小相似度阈值,并在白名单数据库中记录该组相关应用的最小相似度阈值;
所述第二比较单元,具体用于从白名单数据库中获取当前应用的相关应用对应的最小相似度阈值,并比较所述一个以上相似度值中的最大相似度值是否大于所述相关应用对应的最小相似度阈值。
19、根据16至18任意一项所述的装置,所述第一比较单元或所述第三比较单元,将两个相关应用进行比较,获取两个相关应用之间的相似度时,具体用于:
对两个相关应用的源代码进行比较,获取两个相关应用的源代码之间的相似度;或者
对两个相关应用的源代码中的核心代码进行比较,获取两个相关应用的核心代码之间的相似度;或者
对两个相关应用的源代码进行切片,选择两个相关应用的对应切片,分别通过MD5对选择的两个对应切片进行计算,获得两个对应切片的MD5值,比较两个对应切片的MD5值之间的相似度。
20、根据16至20任意一项所述的装置,所述查询单元,还用于查询黑名单数据库中是否存在与当前应用一致的签名;所述黑名单数据库中存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名;
所述判断单元,还用于在黑名单数据库中存在与当前应用一致的盗版签名时,判定当前应用为盗版应用;
所述装置还包括记录单元,用于在黑名单数据库中使用所述一致的盗版签名的盗版应用的包名中记录当前应用的包名。
21、根据20所述的装置,还包括:
第四比较单元,用于在所述最大相似度值不大于预设最小相似度阈值、且黑名单数据库中不存在与当前应用一致的盗版签名时,将当前应用与特征数据库中的恶意特征进行比较,获取当前应用与恶意特征之间的相似度值;
所述判断单元,还用于识别特征数据库中是否存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征,在特征数据库中存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征时,判定当前应用为盗版应用。
22、根据16至20任意一项所述的装置,还包括:
第五比较单元,用于将当前应用与特征数据库中的恶意特征进行比较,获取当前应用与恶意特征之间的相似度值;
所述判断单元,还用于识别特征数据库中是否存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征,在特征数据库中存在与当前应用之间相似度值大于预设最大相似度阈值的恶意特征时,判定当前应用为盗版应用。
23、根据22所述的装置,还包括:
所述记录单元,还用于在黑名单数据库中记录盗版应用的盗版签名、以及使用该盗版签名的盗版应用的包名。
24、根据23所述的装置,所述查询单元,还用于:在所述最大相似度值不大于预设最小相似度阈值、且当前应用与特征数据库中所有恶意特征之间的相似度值均不大于预设最大相似度阈值时,查询黑名单数据库中是否存在与当前应用的签名一致的盗版签名;
所述判断单元,还用于在黑名单数据库中存在与当前应用的签名一致的盗版签名时,判定当前应用为盗版应用;
所述记录单元,还用于在黑名单数据库中使用所述一致的盗版签名的盗版应用的包名中记录当前应用的包名。
25、根据20至24任意一项所述的装置,还包括:
收发单元,用于在当前应用既未被判定为正版应用、也未被判定为盗版应用时,将当前应用发送给正版开发者客户端,并接收正版开发者客户端返回的所述当前应用为正版应用或盗版应用的鉴定结果消息;
所述记录单元,还用于根据鉴定结果消息,若当前应用为正版应用,通过白名单数据库记录当前应用的正版应用信息;若当前应用为盗版应用,通过黑名单数据库记录当前应用的盗版签名和包名。
26、根据21或24所述的装置,还包括:
第一分析单元,用于对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;以及提取所述所有盗版应用的共同特征作为恶意特征加入特征信息库。
27、根据21、24或26所述的装置,还包括:
第二分析单元,用于对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;以及获取所述所有盗版应用的应用类别,在分析数据库中记录作为恶意特征的共同特征的应用类别信息。
28、根据21、24、26或27所述的装置,还包括:
第三分析单元,用于对黑名单数据库中的盗版应用进行比较,获取相似度大于预设分析相似度阈值的所有盗版应用;以及对所述所有盗版应用的盗版签名进行分析,获取所述所有盗版应用的盗版签名的共同特征,在分析数据库中记录所述盗版签名的共同特征。
29、根据20至28任意一项所述的装置,所述第一比较单元,还用于:
对盗版应用与正版应用进行比较,获取盗版应用与正版应用之间的区别特征并通过收发单元发送给相应正版应用的开发者客户端;和/或
分别对待分析同一正版应用的不同版本与所有相关的盗版应用进行比较,获取各版本与所有相关的盗版应用中各盗版应用之间的相似度,确定相似度值最高的版本作为所述同一正版应用被开始盗版的版本。
30、一种盗版应用检测系统,包括16至29任意一项所述的盗版应用检测装置。
31、根据30所述的系统,还包括:
白名单数据库,存储有一条以上正版应用信息,每条正版应用信息包括一个正版应用的名称、包名、签名、版本号与开发者信息;和/或
黑名单数据库,存储有一个以上的盗版签名、以及使用每个盗版签名的盗版应用的包名;和/或
特征数据库,存储有一条以上的恶意特征。本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法、装置和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法、装置和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。