判定移动设备是否为虚拟设备的方法及装置与流程

文档序号:12915834阅读:287来源:国知局
判定移动设备是否为虚拟设备的方法及装置与流程
本申请涉及通信领域,尤其涉及一种判定移动设备是否为虚拟设备的方法及装置。
背景技术
:随着移动互联网的快速发展,互联网的应用越来越庞大,因此安全防护工作也变得越来越重要,尤其在电子商务领域,由于黑客欺诈而造成的财务损失占了很大的比例。恶意用户通过模拟器模拟出虚拟的移动设备,来绕过风控规则,从而实现销赃,骗取营销资源,分发垃圾信息的目的,对电子商务行业造成了巨大的损失。因此,如何更加精准的识别出通过模拟器模拟出的虚拟的移动设备,对于安全防护工作将具有重要意义。技术实现要素:本申请提出一种判定移动设备是否为虚拟设备的方法,该方法包括:收集目标设备库中各移动设备的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状态变化概率;所述预设的状态转移概率公式包括:i∈[1,m],j∈[1,n],其中,pt表示移动设备的app状态变化概率;m表示所述移动设备的app列表中包含的app的数量;n表示指定的状态变化的数量;pi,j表示查找到的所述移动设备的app列表中的第i个app对应于指定的n种状态转移中的第j种状态转移的发生概率。可选的,所述将所述目标移动设备的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状态变化概率;所述预设的状态转移概率公式包括:i∈[1,m],j∈[1,n],其中,pt表示移动设备的app状态变化概率;m表示所述移动设备的app列表中包含的app的数量;n表示指定的状态变化的数量;pi,j表示查找到的所述移动设备的app列表中的第i个app对应于指定的n种状态转移中的第j种状态转移的发生概率。可选的,所述判定模块具体用于:计算所述目标移动设备的app状态变化概率与所述正常移动设备库中的移动设备的app状态变化概率的平均值之间的差值,得到第一取值;计算所述目标移动设备的app状态变化概率与所述虚拟移动设备库中的移动设备的app状态变化概率的平均值之间的差值,得到第二取值;比较所述第一取值与所述第二取值;如果第一取值大于所述第二取值,判定所述目标移动设备为正常移动设备;如果第一取值小于所述第二取值,判定所述目标移动设备为虚拟移动设备。可选的,所述装置还包括:移动模块,用于在所述目标移动设备被判定为正常移动设备,将所述目标移动设备的app列表移动至所述正常移动设备库;以及当所述目标移动设备被判定为虚拟移动设备,将所述目标移动设备的app列表移动至所述虚拟移动设备库。可选的,所述多种指定的状态变化包括以下状态变化中的一个或者多个的组合:从未安装至安装、从安装至卸载、仍未安装、安装后版本未发生更 新、安装后版本发生更新、安装后版本发生降级。本申请中,通过收集目标设备库中各移动设备的app列表,并基于app列表中的app在预设时间周期内是否发生多种指定的状态变化对目标设备库中各移动设备的app列表进行编码,并统计编码后的所述app列表中的app在目标设备库中对应于所述多种指定的状态变化的发生概率;当针对目标设备库中任一目标移动设备执行是否为虚拟移动设备的判定时,基于统计出的所述发生概率计算该目标移动设备的app状态变化概率,然后将该目标移动设备的app状态变化概率与预先标定的正常移动设备库与虚拟移动设备库中的移动设备的app状态变化概率的平均值进行比较,来判定该目标移动设备是否为虚拟移动设备,实现了可以基于目标移动设备的app列表信息来计算该移动设备的app状态变化概率,并使用该移动设备的app状态变化概率来判定该移动设备是否为虚拟移动设备,从而可以提升判定目标移动设备是否为虚拟移动设备时的准确度以及实时性。附图说明图1是本申请一实施例提供的一种判定移动设备是否为虚拟设备的方法的流程图;图2是本申请一实施例提供的一种判定移动设备是否为虚拟设备的装置的逻辑框图;图3是本申请一实施例提供的承载所述一种判定移动设备是否为虚拟设备的装置的服务端的硬件结构图。具体实施方式在相关技术中,在判定移动设备是否为通过模拟器模拟出的虚拟移动设备时,通常可以根据虚拟设备上运行的进程的特点,将虚拟设备上运行的一些有别于正常移动设备的特有的进程添加至黑名单。在需要判定目标移动设备是否为虚拟设备时,可以扫描该目标移动设备上运行的进程,并判断该目标移动设备上运行的进程是否命中上述黑名单;如果命中上述黑名单,则可以将该目标移动设备判定为虚拟设备。然而,通过进程黑名单的方式,虽然在某种程度上可以判定出目标移动设备是否为虚拟设备,但黑名单中的信息会存在一定的滞后性,在一些实时性要求比较高的安全防护场景中(比如支付场景),无法满足实际的需求;而且,如果黑名单更新不及时,还可能会造成误判。有鉴于此,本公开提出一种判定移动设备是否为虚拟设备的方法,通过收集目标设备库中各移动设备的app列表,并基于app列表中的app在预设时间周期内是否发生多种指定的状态变化对目标设备库中各移动设备的app列表进行编码,并统计编码后的所述app列表中的app在目标设备库中对应于所述多种指定的状态变化的发生概率;当针对目标设备库中任一目标移动设备执行是否为虚拟移动设备的判定时,基于统计出的所述发生概率计算该目标移动设备的app状态变化概率,然后将该目标移动设备的app状态变化概率与预先标定的正常移动设备库与虚拟移动设备库中的移动设备的app状态变化概率的平均值进行比较,来判定该目标移动设备是否为虚拟移动设备;实现了可以基于目标移动设备的app列表信息来计算该移动设备的app状态变化概率,并使用该移动设备的app状态变化概率来判定该移动设备是否为虚拟移动设备;由于移动设备的app的状态变化具有实时性的特点,因此本申请可以提升在判定目标移动设备是否为虚拟移动设备时的实时性以及准确度。下面通过具体实施例并结合具体的应用场景对本申请进行描述。请参考图1,图1是本申请一实施例提供的一种判定移动设备是否为虚拟设备的方法,应用于服务端,所述方法执行以下步骤:步骤101,收集目标设备库中各移动设备的app列表,并基于所述app列表中的app在预设时间周期内是否发生多种指定的状态变化对所述app列表进行编码;步骤102,在所述目标设备库中统计编码后的所述app列表中的app对应于所述多种指定的状态变化的发生概率;步骤103,基于统计出的所述发生概率计算所述目标设备库中各移动设备的app状态变化概率;步骤104,当针对所述目标设备库中任一目标移动设备执行是否为虚拟移动设备的判定时,将所述目标移动设备的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~6来分别表示以上示出的6中状态变化。在进行编码时,上述服务端可以预先设定一个时间周期,比如30天,在收集到移动设备上安装的app的信息时,可以比较该app在设定的上述时间周期的起始时间点和结束时间点的状态变化。当通过比较确定出移动设备上安装的app在上述时间周期的起始时间点和结束时间点的状态变化后,上述服务端可以读取与确定出的这种状态变化对应的编码值,然后将该编码值记录到该移动设备的app列表中的对应位置,以完成针对该app列表的编码。在示出的一个示例中,假设移动设备的app列表为[i1,i2,i3……im],包含m个指定的app,i1~im为该app列表中的m个指定的app;上述预设的时间周期为30天,上述多种指定的状态变化包括从未安装至安装、从安装至卸载、仍未安装、安装后版本未发生更新、安装后版本发生更新、安装后版本发生降级等6种状态变化,分别用数字编码1~6来表示。上述服务端在对上述移动设备的app列表进行编码时,可以分别比较该app列表中i1~im在30天前和当天的app的状态,来确定i1~im在30天内发生的状态变化。如果通过比较确定出app列表中的i1在30天内发生了“从未安装至安装”,那么上述服务端在对该移动设备的app列表进行编码时,可以在该app列表中与i1对应的位置上记录状态变化编码1;相应的,如果通过比较确定出app列表中的i1在30天内发生了“从安装至卸载”,那么上述服务端在对该移动设备的app列表进行编码时,可以在该app列表中与i1对应的位置上记录状态变化编码2,以此类推;当针对app列表中与i1编码完成后,上述服务端可以重复执行以上过程,按照app列表中app的顺序,针对app列表中i2~im依次进行编码,直到在该 app列表中记录了i1~im全部m个app的状态变化编码时,此时针对该移动设备的app列表编码完成。其中,编码完成的该app列表,为一个可以用于描述该移动设备上安装的指定app在30天内的状态变化的1*m维的状态转移向量。例如,假设上述app列表中包括app1~app4等6个指定的app,app1在30天内发生了“从未安装至安装”的状态变化(对应数字编码1),app2在30天内发生了“安装后版本未发生更新”的状态变化(对应数字编码3),app3在30天内发生了“安装后版本发生更新”的状态变化(对应数字编码4),app4在30天内发生了“安装后版本发生降级”的状态变化(对应数字编码6),app5在30天内发生了“安装后版本发生更新”的状态变化(对应数字编码5),app6在30天内发生了“安装后版本发生降级”的状态变化(对应数字编码2),那么最终按照各app在30天内发生的状态变化对应的数字编码对该app列表进行编码后,该app列表为[1,3,4,6,2,5]],可见在本例中,编码完成的app列表为一个由各app在30天内的状态变化构成的1*6维的状态转移向量。通过对以上设备库中各移动设备的app列表进行上述编码,可以将以上设备库中各移动设备的app列表中包含的信息量化为标准且直观的数字,编码后的app列表可以转换为一个可以用于描述该移动设备上安装的指定app在预设时间周期内的状态变化的多维的状态转移向量,从而当该设备库中包含的所有移动设备的app列表均按照以上方式编码完成后,该设备库最终将构成一个由各移动设备编码后的app列表组成的,用于描述该设备库中包含的所有移动设备在预设时间周期内的app状态变化的状态转移矩阵。在本例中,当上述服务端针对正常移动设备库、虚拟移动设备库、以及目标设备库中各移动设备的app列表均编码完成后,此时可以在以上设备库中分别统计出编码后的各移动设备的app列表中的每一个指定的app,对应于上述多种指定的状态变化的发生概率。其中,由于当以上设备库中包含的所有移动设备的app均编码完成后,以上设备库最终将构成一个用于描述该设备库中包含的所有移动设备在预设时间周期内的app状态变化的状态转移矩阵,因此上述服务端在以上各设备库中分别统计编码后的app列表中的每一个指定的app对应于上述多种指定的状态变化的发生概率时,则可以直接在以上各设备库对应的状态转移矩阵中,统计每一个矩阵元素在其所属的矩阵列中的出现概率。在示出的一个示例中,假设某设备库中包含6台移动设备,分别为设备1~设备6,每台设备的app列表中均包含6个指定的app,分别为app1~app6。每个app包括“从未安装至安装”(对应数字编码1)、“从安装至卸载”(对应数字编码2)、“仍未安装”(对应数字编码3)、“安装后版本未发生更新”(对应数字编码4)、“安装后版本发生更新”(对应数字编码5)、“安装后版本发生降级”(对应数字编码6)等6种指定的状态变化。假定设备1编码后的app列表为[1,3,4,6,2,5];设备2编码后的app列表为[2,2,3,5,4,6];设备3编码后的app列表为[3,4,2,1,5,6];设备4编码后的app列表为[5,4,1,2,3,6];设备5编码后的app列表为[4,3,5,1,5,6];设备6编码后的app列表为[5,2,4,3,6,4];那么,该设备库中包含的所有移动设备编码后的app列表,最终将构成一个6*6的状态转移矩阵,该矩阵的每一行分别对应一台移动设备,每一列分别对应一个指定的app,该设备库最终生成的状态转移矩阵如下所示:app1app2app3app4app5app6设备1134625设备2223546设备3342156设备4541236设备5435156设备6524364上述服务端在该设备库中统计编码后的app列表中的每一个指定的app,对应于上述6种指定的状态变化的发生概率时,此时每一种状态变化的数字编码均可称之为矩阵中的一个元素,上述服务端可以直接在该设备库对应的上述状态转移矩阵中,统计每一个矩阵元素在其所属的矩阵列中的出现概率即可。例如,上述服务端在统计app1对应于以上6种状态变化的发生概率时,可以在第一列中分别统计数字编码1~6出现的概率:由上述状态矩阵可知,在第一列中,数字编码1出现一次,出现概率为1/6,上述服务端可以将app1在该设备库中对应于“从未安装至安装”的这种状态变化的发生概率记为0.17;在第一列中,数字编码2出现一次,出现概率为1/6,上述服务端可以将app1在该设备库中对应于“从安装至卸载”的这种状态变化的发生概率记为0.17;在第一列中,数字编码3出现一次,出现概率为1/6,上述服务端可以将app1在该设备库中对应于“仍未安装”的这种状态变化的发生概率记为0.17;在第一列中,数字编码4出现一次,出现概率为1/6,上述服务端可以将app1在该设备库中对应于“安装后版本未发生更新”的这种状态变化的发生概率记为0.17;在第一列中,数字编码5出现l两次,出现概率为1/3,上述服务端可以将app1在该设备库中对应于“安装后版本发生更新”的这种状态变化的发生概率记为0.33;在第一列中,数字编码6出现l两次,出现概率为1/3,上述服务端可以将app1在该设备库中对应于“安装后版本发生降级”的这种状态变化的发生概率记为0.33;当上述服务端在第一列中针对数字编码0~6分别执行了上述统计后,统计得到的app1对应于以上6种状态变化的发生概率将构成一个1*6的概率转移矩阵,该概率转移矩阵为:[0.17,0.17,0.17,0.17,0.33,0]。按照同样的统计方式,上述服务端可以在上述状态转移矩阵中的第2~6列,分别统计出app2~app6对应以上6种状态变化的发生概率,并生成对应的概率转移矩阵。由该设备库的状态转移矩阵可知:app2在该设备库中对应于以上6种状态变化的概率转移矩阵为:[0,0.33,0.33,0.33,0,0];app3在该设备库中对应于以上6种状态变化的概率转移矩阵为:[0.17,0.17,0.17,0.33,0.17,0.17];app4在该设备库中对应于以上6种状态变化的概率转移矩阵为:[0.33,0.17,0.17,0,0.17,0.17];app5在该设备库中对应于以上6种状态变化的概率转移矩阵为:[0,0.17,0.17,0.17,0.33,0.17];app6在该设备库中对应于以上6种状态变化的概率转移矩阵为:[0,0,0,0.17,0.17,0.66]。在本例中,上述服务端可以基于以上示出的统计方法,在正常移动设备库、虚拟移动设备库、以及目标设备库中,分别统计出上述编码后的app列表中的每一种指定的app对应于上述多种指定的状态变化的发生概率,并为每一个指定的app分别生成了对应的概率转移矩阵后,可以进一步基于统计出的每一种指定的app对应于上述多种指定的状态变化的发生概率,来计算以上设备库中各移动设备的app状态变化概率。其中,以上设备库中各移动设备的app状态变化概率,可以用该移动设备的app列表中的每一种指定的app的状态转移概率的和来表征;相应的,该移动设备的app列表中的每一种指定的app的状态转移概率,也可以用该app在该移动设备所属的设备库中对应于上述多种指定的状态变化的发生概率的和来表征。在本例中,上述服务端在计算以上设备库中各移动设备的app状态变化概率时,首先可以在针对以上设备库中各移动设备的app列表中的每一个指定的app生成的上述概率转移矩阵中,来查找该app对应于上述多种指定的 状态变化的发生概率,然后将查找到的发生概率分别相加得到该app的状态转移概率。当上述服务端通过这种方式,计算出以上设备库中各移动设备的app列表中每一个指定的app的状态转移概率后,可以继续进行计算,将计算得到的以上设备库中各移动设备的app列表中包含的所有指定的app的状态转移概率继续进行相加,得到以上设备库中各移动设备的app状态转移概率。其中,需要说明的是,以上示出的服务端基于统计出的每一种指定的app对应于上述多种指定的状态变化的发生概率,来计算以上设备库中各移动设备的app状态变化概率的计算过程,在实际应用中,可以基于预设的计算模型来完成。在示出的一种实施方式中,上述计算模型可以包括如下示出的状态转移概率公式:i∈[1,m],j∈[1,n],其中,在以上公式中,pt表示移动设备的app状态变化概率;m表示所述移动设备的app列表中包含的指定的app的数量;n表示指定的状态变化的数量;pi,j表示查找到的上述移动设备的app列表中的第i个app对应于指定的n种状态转移中的第j种状态转移的发生概率;例如,假设指定的多种状态为6中,此时上述n值为6,p1,1表示该移动设备的app列表中的app1(即第一个app)对应于以上6中状态变化中的第1种状态变化的发生概率。在示出的一个示例中,假设虚拟移动设备库中某一台虚拟移动设备的app列表中均包含6个指定的app,分别为app1~app6。每个app包括“从未安装至安装”(对应数字编码1)、“从安装至卸载”(对应数字编码2)、“仍未安装”(对应数字编码3)、“安装后版本未发生更新”(对应数字编码4)、“安装后版本发生更新”(对应数字编码5)、“安装后版本发生降级”(对应数字编码6)等6种指定的状态变化。假设为app1~app6生成的对应于以上6种状态变化的概率转移矩阵,与app1~app6之间的对应关系如下所示:app1:[0.17,0.17,0.17,0.17,0.33,0];app2:[0,0.33,0.33,0.33,0,0];app3:[0.17,0.17,0.17,0.33,0.17,0.17];app4:[0.33,0.17,0.17,0,0.17,0.17];app5:[0,0.17,0.17,0.17,0.33,0.17];app6:[0,0,0,0.17,0.17,0.66]。服务端在基于上述状态转移概率计算公式计算该移动设备的app状态转移概率时,可以在app1的概率转移矩阵中查找p1,1~p1,6的取值,在app2的概率转移矩阵中分别查找p2,1~p2,6的取值,在app3的概率转移矩阵中分别查找p3,1~p3,6的取值,在app4的概率转移矩阵中分别查找p4,1~p4,6的取值,在app5的概率转移矩阵中分别查找p5,1~p5,6的取值,在app6的概率转移矩阵中分别查找p6,1~p6,6的取值,然后将查找到的所有的取值代入公式中进行计算,最终计算得到的结果即为该移动设备的app状态转移概率。在本例中,当上述服务端基于以上示出的app状态转移概率的计算方法,计算出正常移动设备库、虚拟移动设备库、以及目标设备库中每一个移动设备的app状态转移概率后,可以通过将目标设备库中的目标移动设备的app状态转移概率,与正常移动设备库与虚拟移动设备库中各移动设备的app状态转移概率的平均值进行比较,来判定目标设备库中的该目标移动设备是否为通过模拟器模拟出的虚拟移动设备。在示出的一种实施方式中,当需要针对目标设备库中任一目标移动设备执行是否为虚拟移动设备的判定时,此时上述服务端首先可以计算正常移动设备库与虚拟移动设备库中各移动设备的app状态转移概率的平均值;其中,该平均值可以是数学平均或者加权平均值,在本例中不进行特别限定。当计算出正常移动设备库与虚拟移动设备库中各移动设备的app状态转移概率的平均值后,可以进一步计算该目标移动设备的app状态转移概率与正常移动设备库中各正常移动设备的app状态转移概率的差值,得到第一取值;以及计算该目标移动设备的app状态转移概率虚拟移动设备库中各虚拟移动设备的app状态转移概率的差值,得到第二取值。当计算出上述第一取值和第二取值后,上述服务端可以针对第一取值和第二取值取绝对值,然后比较第一取值和第二取值;如果第一取值大于第二取值,此时该目标移动设备可能归属于正常移动设备库,在这种情况下,上述服务端可以判定该目标移动设备为正常移动设备;相反,如果第一取值小于所述第二取值,此时该目标移动设备可能归属于虚拟移动设备库,在这种情况下,上述服务端可以判定该目标移动设备为虚拟移动设备。例如,假设正常移动设备库中各正常移动设备的app状态转移概率值的平均值为mp1;虚拟移动设备库中各虚拟移动设备的app状态转移概率值的平均值为mp2;需要判定的目标移动设备的app状态转移概率为pt;那么上述服务端在判定该目标移动设备是否为虚拟移动设备时,可以计算|pt-mp1|以及|pt-mp2|的取值,然后比较|pt-mp1|和|pt-mp2|的取值大小;如果|pt-mp1|的取值大于|pt-mp2|的取值,则判定该目标移动设备为正常移动设备;相反,如果|pt-mp1|的取值小于|pt-mp2|的取值,则判定该目标移动设备为虚拟移动设备。在本例中,上述服务端可以针对目标设备库中的每一台目标移动设备,分别执行是否为虚拟移动设备的判定,当判定出目标设备库中的目标移动设备为虚拟移动设备时,可以将该目标移动设备编码后的app列表移动至虚拟移动设备库中;相似的,当判定出目标设备库中的目标移动设备为正常移动设备时,也可以将该目标移动设备编码后的app列表移动至正常移动设备库中,以备后续的统计计算使用。通过以上实施例可知,本申请通过收集目标设备库中各移动设备的app 列表,并基于app列表中的app在预设时间周期内是否发生多种指定的状态变化对目标设备库中各移动设备的app列表进行编码,并统计编码后的所述app列表中的app在目标设备库中对应于所述多种指定的状态变化的发生概率;当针对目标设备库中任一目标移动设备执行是否为虚拟移动设备的判定时,基于统计出的所述发生概率计算该目标移动设备的app状态变化概率,然后将该目标移动设备的app状态变化概率与预先标定的正常移动设备库与虚拟移动设备库中的移动设备的app状态变化概率的平均值进行比较,来判定该目标移动设备是否为虚拟移动设备,实现了可以基于目标移动设备的app列表信息来计算该移动设备的app状态变化概率,并使用该移动设备的app状态变化概率来判定该移动设备是否为虚拟移动设备;由于移动设备的app的状态变化具有实时性的特点,因此本申请可以提升在判定目标移动设备是否为虚拟移动设备时的实时性以及准确度。与上述方法实施例相对应,本申请还提供了装置的实施例。请参见图2,本申请提出一种判定移动设备是否为虚拟设备的装置20,应用于服务端;其中,请参见图3,作为承载所述判定移动设备是否为虚拟设备的装置20的服务端所涉及的硬件架构中,通常包括cpu、内存、非易失性存储器、网络接口以及内部总线等;以软件实现为例,所述判定移动设备是否为虚拟设备的装置20通常可以理解为加载在内存中的计算机程序,通过cpu运行之后形成的软硬件相结合的逻辑装置,所述装置20包括:编码模块201,用于收集目标设备库中各移动设备的app列表,并基于所述app列表中的app在预设时间周期内是否发生多种指定的状态变化对所述app列表进行编码;统计模块202,用于在所述目标设备库中统计编码后的所述app列表中的app对应于所述多种指定的状态变化的发生概率;计算模块203,用于在针对所述目标设备库中任一目标移动设备执行是否为虚拟移动设备的判定时,基于统计出的所述发生概率计算该目标移动设备的app状态变化概率;判定模块204,用于当针对所述目标设备库中任一目标移动设备执行是否为虚拟移动设备的判定时,将所述目标移动设备的app状态变化概率与预先标定的正常移动设备库与虚拟移动设备库中的移动设备的app状态变化概率的平均值进行比较,以判定所述目标移动设备是否为虚拟移动设备。在本例中,所述编码模块201进一步用于:获取所述正常移动设备库与所述虚拟移动设备库中各移动设备的app列表,并基于所述app列表中的app在预设时间周期内是否发生多种指定的状态变化对所述app列表进行编码;所述统计模块202进一步用于:分别在所述目标设备库以及所述虚拟移动设备库中统计编码后的所述app列表中的app对应于所述多种指定的状态变化的发生概率;所述计算模块203进一步用于:基于统计出的所述发生概率计算所述正常移动设备库与所述虚拟移动设备库中各移动设备的app状态变化概率;以及分别计算所述正常移动设备库与所述虚拟移动设备库中的移动设备的app状态变化概率的平均值。在本例中,所述计算模块203具体用于:查找所述移动设备的app列表中的app在该移动设备所属的设备库中对应于所述多种指定的状态变化的发生概率;将查找到的该移动设备的app列表中的app对应于所述多种指定的状态变化的发生概率分别相加得到该app的状态转移概率;以及将该移动设备的app列表中的app的状态转移概率相加得到该移动设备的状态转移概率。在本例中,所述计算模块进一步用于基于预设的状态转移概率公式计算所述移动设备的app状态变化概率;所述预设的状态转移概率公式包括:i∈[1,m],j∈[1,n],其中,pt表示移动设备的app状态变化概率;m表示所述移动设备的 app列表中包含的app的数量;n表示指定的状态变化的数量;pi,j表示查找到的所述移动设备的app列表中的第i个app对应于指定的n种状态转移中的第j种状态转移的发生概率。在本例中,所述判定模块204具体用于:计算所述目标移动设备的app状态变化概率与所述正常移动设备库中的移动设备的app状态变化概率的平均值之间的差值,得到第一取值;计算所述目标移动设备的app状态变化概率与所述虚拟移动设备库中的移动设备的app状态变化概率的平均值之间的差值,得到第二取值;比较所述第一取值与所述第二取值;如果第一取值大于所述第二取值,判定所述目标移动设备为正常移动设备;如果第一取值小于所述第二取值,判定所述目标移动设备为虚拟移动设备。在本例中,所述装置还包括:移动模块205,用于在所述目标移动设备被判定为正常移动设备,将所述目标移动设备的app列表移动至所述正常移动设备库;以及当所述目标移动设备被判定为虚拟移动设备,将所述目标移动设备的app列表移动至所述虚拟移动设备库。在本例中,所述多种指定的状态变化包括以下状态变化中的一个或者多个的组合:从未安装至安装、从安装至卸载、仍未安装、安装后版本未发生更新、安装后版本发生更新、安装后版本发生降级。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确 结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1