CN113468541B - 识别方法、装置、电子设备和存储介质 - Google Patents
识别方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113468541B CN113468541B CN202110739193.2A CN202110739193A CN113468541B CN 113468541 B CN113468541 B CN 113468541B CN 202110739193 A CN202110739193 A CN 202110739193A CN 113468541 B CN113468541 B CN 113468541B
- Authority
- CN
- China
- Prior art keywords
- environment
- simulator
- information
- generated based
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 238000001514 detection method Methods 0.000 claims abstract description 80
- 238000009434 installation Methods 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 10
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开关于识别方法、装置、电子设备和存储介质,所述方法应用于服务端,所述方法包括:获取客户端发送的普通权限的运行环境信息;匹配所述运行环境信息与预设的检测规则;其中,所述检测规则包括下列规则中的任意一种或者多种的组合:基于非模拟器环境的共性生成的规则、基于模拟器环境的共性生成的规则、基于任一已知模拟器环境的特性生成的规则;根据匹配的结果,确定所述客户端的运行环境是否为模拟器环境。应用上述方案,可以提高识别客户端的运行环境是否为模拟器环境的准确度和安全性。
Description
技术领域
本公开涉及计算机应用领域,尤其涉及识别方法、装置、电子设备和存储介质。
背景技术
虚拟机VM(Virtual Machine)指通过虚拟化技术模拟的电子设备,用于生成和管理虚拟机的软件又称模拟器。通常,利用虚拟化技术,可以在一套硬件平台上,同时运行多个模拟真实电子设备的虚拟机,因此对于依赖识别电子设备的软件业务而言,可能造成不利影响。
举例而言,一些软件厂商会通过识别客户端的设备是否为新设备的方式来确定软件的新增用户数量;而通过虚拟化技术,可以快速生成大批虚拟的“新设备”,使得上述软件厂商确定出的软件新增用户数量与事实不符。因此,如何准确识别出客户端所处的系统环境是否为模拟器环境十分重要。
发明内容
本公开提供了识别方法、装置、电子设备和存储介质,以至少解决相关技术中的技术问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提出了一种识别方法,应用于服务端,所述方法包括:
获取客户端发送的普通权限的运行环境信息;
匹配所述运行环境信息与预设的检测规则;其中,所述检测规则包括下列规则中的任意一种或者多种的组合:基于非模拟器环境的共性生成的规则、基于模拟器环境的共性生成的规则、基于任一已知模拟器环境的特性生成的规则;
根据匹配的结果,确定所述客户端的运行环境是否为模拟器环境。
可选的,所述根据匹配的结果,确定所述客户端的运行环境是否为模拟器环境,包括:
根据匹配的结果、以及对应各检测规则的预设权重值,确定所述匹配的结果对应的匹配得分;
在所述匹配得分落入预设的模拟器环境区间的情况下,确定所述客户端的运行环境为模拟器环境。
可选的,所述根据匹配的结果、以及对应各检测规则的预设权重值,确定所述匹配的结果对应的匹配得分,包括:
按对应各检测规则的预设权重值,对所述运行环境信息与各检测规则的匹配程度指标进行加权求和处理,得到对应的匹配得分;
所述在所述匹配得分落入预设的模拟器环境区间的情况下,确定所述客户端的运行环境为模拟器环境,包括:
在所述匹配得分大于预设阈值的情况下,确定所述客户端的运行环境为模拟器环境;其中,
所述基于非模拟器环境的共性生成的规则对应的预设权重值为负值;
所述基于模拟器环境的共性生成的规则对应的预设权重值为正值;
所述基于任一已知模拟器环境的特性生成的规则对应的预设权重值为正值。
可选的,所述方法还包括:
根据所述预设的检测规则,预测标注有样本标签的运行环境信息样本对应的运行环境是否为模拟器环境;其中,所述样本标签指示运行环境信息样本对应的运行环境是否为模拟器环境;
基于预测的结果以及对应的样本标签,调整所述对应各检测规则的预设权重值。
可选的,所述客户端运行的操作系统为Android系统;所述运行环境信息包括所述客户端的Android系统配置build信息;
所述基于非模拟器环境的共性生成的规则,包括:基于非模拟器环境下的系统配置build信息中各个字段之间出现概率高于第一概率阈值的字符串组合关系,生成的字段组合识别规则;
所述基于模拟器环境的共性生成的规则,包括:基于模拟器环境下,系统配置build信息的各个字段中出现概率高于第二概率阈值的字符串生成的字符串识别规则;
所述基于任一已知模拟器环境的特性生成的规则,包括:基于任一已知模拟器环境的系统配置build信息以及设备标识信息的对应关系生成的设备识别规则。
可选的,所述运行环境信息包括所述客户端的已安装应用的安装信息;
所述基于模拟器环境的共性生成的规则,包括:基于模拟器环境下已安装应用的安装时间和数量的规律生成的应用统计规则;
所述基于任一已知模拟器环境的特性生成的规则,包括:基于任一已知模拟器环境下特有的特征应用的应用标识生成的特征应用识别规则。
可选的,所述运行环境信息包括所述客户端连接到的网络的识别信息;
所述基于任一已知模拟器环境的特性生成的规则,包括:
基于任一已知模拟器环境下特有的网络识别信息生成的网络识别规则。
根据本公开实施例的第二方面,提出了一种识别装置,应用于服务端,所述装置包括:
获取模块,被配置为获取客户端发送的普通权限的运行环境信息;
匹配模块,被配置为匹配所述运行环境信息与预设的检测规则;其中,所述检测规则包括下列规则中的任意一种或者多种的组合:基于非模拟器环境的共性生成的规则、基于模拟器环境的共性生成的规则、基于任一已知模拟器环境的特性生成的规则;
确定模块,被配置为根据匹配的结果,确定所述客户端的运行环境是否为模拟器环境。
可选的,所述确定模块进一步被配置为:
根据匹配的结果、以及对应各检测规则的预设权重值,确定所述匹配的结果对应的匹配得分;在所述匹配得分落入预设的模拟器环境区间的情况下,确定所述客户端的运行环境为模拟器环境。
可选的,所述确定模块进一步被配置为:
按对应各检测规则的预设权重值,对所述运行环境信息与各检测规则的匹配程度指标进行加权求和处理,得到对应的匹配得分;在所述匹配得分大于预设阈值的情况下,确定所述客户端的运行环境为模拟器环境;其中,
所述基于非模拟器环境的共性生成的规则对应的预设权重值为负值;
所述基于模拟器环境的共性生成的规则对应的预设权重值为正值;
所述基于任一已知模拟器环境的特性生成的规则对应的预设权重值为正值。
可选的,所述装置还包括:
预测模块,被配置为根据所述预设的检测规则,预测标注有样本标签的运行环境信息样本对应的运行环境是否为模拟器环境;其中,所述样本标签指示运行环境信息样本对应的运行环境是否为模拟器环境;
调整模块,被配置为基于预测的结果以及对应的样本标签,调整所述对应各检测规则的预设权重值。
可选的,所述客户端运行的操作系统为Android系统;所述运行环境信息包括所述客户端的Android系统配置build信息;
所述基于非模拟器环境的共性生成的规则,包括:基于非模拟器环境下的系统配置build信息中各个字段之间出现概率高于第一概率阈值的字符串组合关系,生成的字段组合识别规则;
所述基于模拟器环境的共性生成的规则,包括:基于模拟器环境下,系统配置build信息的各个字段中出现概率高于第二概率阈值的字符串生成的字符串识别规则;
所述基于任一已知模拟器环境的特性生成的规则,包括:基于任一已知模拟器环境的系统配置build信息以及设备标识信息的对应关系生成的设备识别规则。
可选的,所述运行环境信息包括所述客户端的已安装应用的安装信息;
所述基于模拟器环境的共性生成的规则,包括:基于模拟器环境下已安装应用的安装时间和数量的规律生成的应用统计规则;
所述基于任一已知模拟器环境的特性生成的规则,包括:基于任一已知模拟器环境下特有的特征应用的应用标识生成的特征应用识别规则。
可选的,所述运行环境信息包括所述客户端连接到的网络的识别信息;
所述基于任一已知模拟器环境的特性生成的规则,包括:
基于任一已知模拟器环境下特有的网络识别信息生成的网络识别规则。
根据本公开实施例的第三方面,提出了一种服务端,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述任一实施例所述的识别方法。
根据本公开实施例的第四方面,提出一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的识别方法。
根据本公开实施例的第五方面,提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的识别方法。
在以上技术方案中,一方面,由于客户端发送的运行环境信息可以在服务端中与预设的一种或者多种检测规则进行匹配,因此可以提高识别模拟器环境这一功能的准确性;
另一方面,由于客户端通过普通权限采集上述识别信息,而不涉及敏感权限,可以避免用户不授予客户端敏感权限而导致识别信息采集失败的情况;而且,由于规则匹配过程在服务端进行,客户端中不包含检测规则,亦避免了客户端被反编译导致检测规则泄露的风险;因此,本方案可以提高识别模拟器环境这一功能的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书文本一同用于解释原理,并不构成对本公开的不当限定。
图1是根据本公开的实施例示出的一种运行环境识别的情景示意图;
图2是根据本公开的实施例示出的一种识别方法流程图;
图3是根据本公开的实施例示出的一种识别装置的示意框图;
图4是根据本公开的实施例示出的一种电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本公开一个或多个实施例中的技术方案,下面将结合本公开一个或多个实施例中的附图,对本公开一个或多个实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是一部分实施例,而不是全部的实施例。基于本公开一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的系统和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
虚拟机VM(Virtual Machine)指通过虚拟化技术模拟的电子设备,用于生成和管理虚拟机的软件又称模拟器。通常而言,利用虚拟化技术可以在同一套硬件平台上,同时运行多个模拟真实电子设备的虚拟机,因此对于依赖识别电子设备的软件业务而言,可能造成不利影响。
举例而言,一些软件厂商会通过识别客户端的设备是否为新设备的方式来确定新客户。例如,手机等电子设备通常会具有唯一且不可更改的设备识别码,记录每个下载安装过客户端A的电子设备的设备识别码,如果待识别的某设备的识别码没有出现在过往的设备识别码记录中,则可以认为该待识别的某设备是新设备。
而灰色产业从业者使用模拟器软件,就可以不受设备识别码等机制的限制,快速生成大批虚拟的“新”设备,从而伪造“新客户”身份。通常,软件厂商可以通过对客户端所处的系统环境是否为模拟器环境进行识别的方式,间接识别上述模拟器生成的虚拟设备。因此,如何准确识别出客户端所处的系统环境是否为模拟器环境,对于软件产业而言十分重要。
在相关技术中,需要识别所处的系统环境的客户端,可以首先从所处的系统环境中获取各种与系统环境的种类相关的识别信息,再调用预设的判断逻辑或者规则,得到对应上述识别信息的识别结果。
例如,公司A运营有Android平台的手机游戏aa,其中,上述手机游戏aa客户端可以通过识别Android手机的唯一识别码来识别新设备,进而识别新用户。
而灰产从业者如果在高性能计算机上,通过模拟器软件生成大批虚拟的新Android设备,并在虚拟的新Android设备中安装该手机游戏aa的客户端,则可能会导致上述公司A对于新增用户数量的误判。应用上述相关技术方案,上述公司A只需在其手机游戏aa的客户端中内置系统环境识别信息的采集以及识别逻辑,通过对客户端的运行环境的实时监控,即可确定客户端是否运行在虚拟机环境中,从而避免对于新增用户数量的误判。
但是,在上述相关技术方案中,一方面,通过识别信息进行判断和识别的逻辑内置在上述客户端中,因此上述客户端一旦被反编译,其判断和识别的逻辑即暴露在灰产从业者面前,灰产从业者即可针对暴露出的判断和识别的逻辑,调整虚拟机的生成参数,从而骗过客户端中对模拟器的识别机制;
另一方面,随着个人信息保护意识的增强,通常电子设备上的应用程序的操作均受到权限系统的约束,而普通的应用程序通常不会也不应该申请敏感权限;一旦采集识别信息的过程中涉及敏感权限,用户可能出于个人隐私保护的目的拒绝权限授予,从而导致识别信息采集失败,进而模拟器的识别机制也无法正常运作。
在上述情景中,由于对模拟器的识别无法正常工作,上述通过模拟器软件生成的大批虚拟Android设备,都可能被误认为是新安装了上述手机游戏aa的新设备,因此上述公司A会误判手机游戏aa的新增用户,进而可能导致决策错误或者资产损失。
基于此,本公开提出一种由客户端通过普通权限采集运行环境信息并上报至服务端,以使服务端基于上述识别信息完成对上述客户端的运行环境是否为模拟器环境的检测的技术方案。
上述普通权限,可以是任意除敏感权限以外的权限,属于普通权限的操作或信息为应用程序正常运行所需的信息,并不涉及用户的隐私。以智能手机为例,用于访问系统存储、摄像头、系统信息、通讯录等信息的操作,都可以受到对应的访问权限限制,而不同的访问权限则可以设定有不同的权限等级;例如,应用程序访问其他应用程序的安装目录或者系统文件目录所需要的权限,可能属于敏感权限,因此对应的操作需要向用户申请确认授权才能完成;又例如,应用程序访问自身的临时目录所需的权限通常是普通权限,属于普通权限的操作或信息为应用程序正常运行所需的信息,并不涉及用户的隐私。
在实现上述方案时,请参见图1,图1为本公开示出的一种运行环境识别的情景示意图。在图1所示的情景中,服务端与客户端之间建立有通信连接,客户端通过基于普通权限的操作采集到运行环境信息,上述服务端可以通过上述通信连接获取到上述客户端采集到的运行环境信息,并将其与预设的一种或者多种检测规则进行匹配,从而根据匹配的结果确定客户端的运行环境是否为模拟器环境。
在以上技术方案中,一方面,由于客户端发送的运行环境信息可以在服务端中与预设的一种或者多种检测规则进行匹配,因此可以提高识别模拟器环境这一功能的准确性;
另一方面,由于客户端通过普通权限采集上述识别信息,而不涉及敏感权限,可以避免用户不授予客户端敏感权限而导致识别信息采集失败的情况;而且,由于规则匹配过程在服务端进行,客户端中不包含检测规则,亦避免了客户端被反编译导致检测规则泄露的风险;因此,本方案可以提高识别模拟器环境这一功能的安全性。
下面通过具体实施例并结合具体的应用场景对技术方案进行描述。
请参考图2,图2是本公开一实施例提供的一种识别方法的流程图,该方法可以应用于服务端,可以包括步骤S201至步骤S203。
S201,获取客户端发送的普通权限的运行环境信息。
上述服务端,可以是提供上述方法所涉及的功能的任意服务端程序模块、服务端进程或者服务器计算机;其既可以是一台独立的服务器计算机,也可以是由多台服务器计算机组成的服务器集群,或者云服务器中划分出的一个逻辑服务器。可以理解的是,服务端的具体实现形式可以根据具体需求进行设计,本公开无需进行进一步限定。
上述客户端,可以是任意一种搭载有应用软件的设备;其中,该应用软件既可以在模拟器环境下运行,也可以在非模拟器环境下运行的。例如,一部分手机游戏,既可以在Android智能手机上运行,也可以在Windows平台下安装的Android模拟器环境中运行,那么搭载上述手机游戏的设备即可以作为本方案中的客户端,该设备既可能是在模拟器环境下生成的虚拟机,也可能是真实的智能手机、平板电脑等物理设备。
在本示例中,上述服务端可以获取客户端发送的普通权限的运行环境信息,其中,上述运行环境信息在内容方面,可以与该客户端运行的系统环境相关,而客户端采集该运行环境信息的操作所使用的权限,则可以是除敏感权限以外的普通权限。举例而言,获取应用自身的临时目录中的文件这一操作不需要敏感权限,但应用自身的临时目录中的文件通常与客户端运行的系统环境不相关,无法用于识别客户端运行的系统环境;又例如,系统目录下的特定文件与客户端运行的系统环境相关,可以用于识别客户端运行的系统环境,但上述特定文件由于在系统目录下,获取该文件的操作需要敏感权限。
S202,匹配所述运行环境信息与预设的检测规则;其中,所述检测规则包括下列规则中的任意一种或者多种的组合:基于非模拟器环境的共性生成的规则、基于模拟器环境的共性生成的规则、基于任一已知模拟器环境的特性生成的规则。
在本示例中,在从客户端中获取到上述运行环境信息后,上述服务端即可将上述运行环境信息与预设的检测规则进行匹配;其中,检测规则可以包括下列任意一种或者多种的组合:
基于非模拟器环境的共性生成的规则;此种规则基于非模拟器环境的共性生成,与此种规则相匹配的运行环境信息对应的系统环境,通常可以认为是非模拟器环境;
基于模拟器环境的共性生成的规则;此种规则基于模拟器环境的共性生成,与此种规则相匹配的运行环境信息对应的系统环境,通常可以认为是模拟器环境;
基于任一已知模拟器环境的特性生成的规则;此种规则基于任一已知模拟器环境的特性生成,与此种规则相匹配的运行环境信息对应的系统环境,通常可以认为是对应的已知某种模拟器环境。
如果模拟器环境为黑样本,非模拟器环境为白样本,则上述基于非模拟器环境的共性生成的规则可视为白样本通用规则,基于模拟器环境的共性生成的规则可视为黑样本通用规则,基于任一已知模拟器环境的特性生成的规则可视为黑样本自定义规则。
S203,根据匹配的结果,确定所述客户端的运行环境是否为模拟器环境。
在本示例中,上述服务端在将上述运行环境信息与预设的检测规则进行匹配后,可以根据匹配的结果确定上述客户端的运行环境是否为模拟器环境。具体而言,由于检测规则既可以包括黑样本规则,也可以包括白样本规则,因此匹配结果与识别结果之间的逻辑关系可以根据具体情况设计。例如,对于表征性极强的黑样本自定义规则而言,一旦匹配成功,对应的客户端的运行环境即有较大概率是黑样本(即,模拟器环境);又例如,对于表征性较弱的白样本通用规则而言,即使匹配成功,也有可能是虚拟机伪造运行环境信息的结果,因此,可能不足以判断对应的客户端的运行环境是白样本(即,非模拟器环境)。
在一实施例中,上述服务端在获得上述运行环境信息与各检测规则的匹配的结果后,可以根据预设的、分别与各检测规则对应的权重值,以及匹配的结果,确定匹配的结果对应的匹配得分;如果确定出的匹配得分落入预设的模拟器环境区间,则可以确定上述客户端的运行环境为模拟器环境。
采用多个匹配规则综合评分的方式得到最终识别结果,可以综合多个检测角度,从而提高识别的准确率;而使不同的检测规则分别具有各自的权重值,例如为可靠的检测规则分配较高的权重值,则有利于进一步提高识别的准确率。
在另一实施例中,可以按对应各检测规则的预设权重值,对上述运行环境信息与各检测规则的匹配程度指标进行加权求和处理,得到对应的匹配得分,并在上述匹配得分大于预设阈值的情况下,确定上述客户端的运行环境为模拟器环境;上述匹配得分可以与上述基于非模拟器环境的共性生成的规则(即,白样本通用规则)对应的匹配程度负相关,与上述基于模拟器环境的共性生成的规则(即,黑样本通用规则)对应的匹配程度正相关,且与上述基于任一已知模拟器环境的特性生成的规则(即,黑样本自定义规则)对应的匹配程度正相关。如果用权重值来表征上述相关性,则上述白样本通用规则对应的预设权重值为负值,上述黑样本通用规则对应的预设权重值为正值,上述黑样本自定义规则对应的预设权重值亦为正值。
举例而言,可以设计白样本通用规则匹配成功的权值为-1,黑样本通用规则匹配成功的权值为2,黑样本自定义规则匹配成功的权值为3,那么最终匹配的结果对应的匹配得分越高,则说明运行环境信息对应的客户端的运行环境为模拟器环境的概率越高。如果将上述预设阈值设置为0,也即预设的模拟器环境区间为[0,+∞),即可根据生成的匹配得分是否落入区间[0,+∞),确定客户端的运行环境是否为模拟器环境;如果某运行环境信息匹配到2个白样本通用规则,1个黑样本自定义规则,那么进行加权求和计算后得到匹配得分(-1)*2+3*1=1,落入[0,+∞),则对应该运行环境信息的运行环境即可确定为模拟器环境。
可以理解的是,权重的机制、权值的具体数值、模拟器环境区间的范围,均可以由本领域技术人员根据具体需求以及经验完善设计,本公开无需进行详细限定。
在一实施例中,上述检测规则对应的权重值亦可以通过类似有监督学习的方式进行调整,从而适应不断变化的识别任务需求。具体而言,可以根据上述预设的检测规则,预测已经标注有样本标签的运行环境信息样本对应的运行环境是否为模拟器环境;其中,上述样本标签指示运行环境信息样本对应的运行环境实际是否为模拟器环境。预测的结果以及对应的样本标签匹配,则证明预测正确,反之则预测错误。如果预测正确,说明预测所使用的规则较为可靠,可以适度增加其权重值,如果预测错误,则说明预测所使用的规则不够可靠,可以适度降低其权重值。经过调整后,较为可靠的检测规则权重值增大,不够可靠的检测规则的权重值减小,因此在得出最终的识别结果时,识别结果的准确性会得到提升。
可见,应用上述方式调整上述对应各检测规则的预设权重值,可以提高运行环境识别的准确度。
在实际应用中,上述检测规则可以与上述运行环境信息的类型相对应,而通过改变检测规则以及运行环境信息的方式,则可以从不同角度对客户端的运行环境进行检测。一个实施例中,运行环境信息的类型可以包括系统配置build信息、应用安装信息、网络识别信息中的任意一种或多种的组合。
在一实施例中,上述客户端运行的系统为Android系统,则上述运行环境信息则可以是上述客户端的系统配置build信息;build是Android系统提供的一个用于返回自身的配置信息的类,其返回的系统配置build信息可以包括系统定制商BRAND、CPU指令集CPU_ABI、设备参数DEVICE、显示屏参数DISPLAY等等。由于build是Android系统内部提供的信息获取渠道,不涉及敏感权限,且与运行环境相关,因此将系统配置build信息,作为上述客户端运行的系统为Android系统的情况下的运行环境信息,可以满足本技术方案对于运行环境信息的内容与获取渠道方面的需求。
在上述运行环境信息是Android系统中的系统配置build信息的情况下,对应的基于非模拟器环境的共性生成的规则,可以包括字段组合识别规则,该字段组合识别规则用于识别系统配置build信息中各个字段的字符串形成的搭配组合。对于Android平台而言,非模拟器环境通常是真实的Android智能手机或者平板电脑,那么其系统配置build信息通常由制造商按照产品制造的需求或者习惯进行设置,因此,真实的Android智能手机或者平板电脑的系统配置build信息中,各个字段的字符串有较高概率会以某种搭配组合出现,这种组合对应关系则可以反映制造商的生产需求或者习惯;因而,在生成上述字段组合识别规则时,可以首先统计非模拟器环境对应的系统配置build信息样本中各种字符串组合的出现概率,再使用预设的第一概率阈值筛选出上述有较高概率出现的搭配组合,即可根据上述筛选出的字符串对应关系生成相应的字段组合识别规则。其中,第一概率阈值可以根据具体业务场景和实践经验设定,例如0.8。本公开对于上述第一概率阈值的具体数值不做限定。
例如,对于真实的Android智能手机或者平板电脑而言,其系统build信息中fingerprint字段通常根据手机的实际配置生成,而手机的实际配置又可以存储在系统定制商BRAND、设备参数DEVICE等字段中,因此fingerprint字段中的字符串,通常与系统build信息中的系统定制商BRAND、设备参数DEVICE等字段中的字符串具有一定对应关系。如果发现某客户端反馈的系统build信息中记录字符串组合与记录的真实设备对应的搭配组合不匹配,则可以认为该客户端反馈的运行环境信息无法匹配该规则,可以推测该客户端的运行环境并非常见的智能手机或者平板电脑,因此其处于模拟器环境的概率较大。
在运行环境信息是Android系统中的系统配置build信息的情况下,对应的基于模拟器环境的共性生成的规则可以包括字符串识别规则,该字符串识别规则可以用于识别系统配置build信息中的字符串。在Android平台下,模拟器生成的虚拟机的系统配置build信息中,manufacture、product、model等字段的值大概率与模拟器相关,例如manufacture(制造商)字段中包含“Simulator”(模拟器)字样,或者product(产品)字段中包含“VirtualMachine”(虚拟机)字样,或者直接留空(N/A)等等,因此,在生成上述字符串识别规则时,可以首先统计模拟器环境对应的系统配置build信息样本中各种字符串的出现概率,再使用预设的第二概率阈值将在上述样本中出现概率足够高的字符串筛选出来,从而生成类似于黑名单的字符串识别规则,即可根据字符串识别出对应到模拟器环境的运行环境信息。例如识别规则中记录上述筛选出来的与模拟器大概率相关的字符串,若某一build信息字符串匹配识别规则中的字符串,则识别该build信息表征模拟器环境。其中,第二概率阈值可以根据具体业务场景和实践经验设定,例如0.8。本公开对于上述第二概率阈值的具体数值不做限定。
在应用上述字符串识别规则时,只要识别到某个运行环境信息中,manufacture(制造商)字段中包含“Simulator”(模拟器)字样,就可以推测该客户端的运行环境是模拟器生成的虚拟机。
在上述运行环境信息是Android系统中的系统配置build信息的情况下,对应的基于任一已知模拟器环境的特性生成的规则,可以包括:基于任一已知模拟器环境的系统配置build信息,以及设备标识信息生成的设备识别规则。具体而言,某些模拟器开发商为了对虚拟机进行标识,会在虚拟机的系统配置build信息、设备标识信息中保留类似于签名的标记,将此类专用于对虚拟机进行标识的标记进行整理,即可生成对应的、类似于黑名单的设备识别规则。例如识别规则中记录上述整理出来的标记,若某一build信息匹配识别规则中的标记,则识别该build信息表征模拟器环境。
举例而言,某模拟器B所生成v2版的虚拟机中,系统配置build信息的product字段可能会直接标注“模Bv2”,那么,只要识别到某个运行环境信息中,product字段被标注为“模Bv2”,就可以推测该客户端的运行环境是某模拟器B所生成v2版的虚拟机。
可以理解的是,基于模拟器环境的共性生成的规则,与基于任一已知模拟器环境的特性生成的规则,两者虽然均类似于黑名单规则,但所能产生的技术效果存在差异;基于任一已知模拟器环境的特性生成的规则针对性通常更强,一旦匹配成功则可以大概率模拟器环境,但该规则可能漏检未知的模拟器;而基于模拟器环境的共性生成的规则相对而言可以提高对于未知的模拟器检测的准确性,但针对于已知的模拟器的检测可能不及基于任一已知模拟器环境的特性生成的规则。因此在一个实施例中,上述两种规则可以搭配使用,比如某一build信息匹配上述两种规则的任一规则,则识别该build信息表征模拟器环境。
综合上述多种规则,可以充分利用Android系统下的系统配置build信息,识别对应的客户端的运行环境是否为虚拟机环境。
在一实施例中,上述运行环境信息还可以包括上述客户端的已安装应用的安装信息(即应用安装信息)。从统计规律角度而言,虚拟机与非虚拟机在安装应用的时间、数量、种类等方面都可能存在差异,因此可以根据客户端的已安装应用的安装信息,间接推断客户端的运行环境是否为模拟器环境;又因为其获取过程无需敏感权限,所以可以将上述客户端的已安装应用的安装信息,作为本方案中客户端采集的运行环境信息。
在上述运行环境信息包括已安装应用的安装信息的情况下,对应的基于模拟器环境的共性生成的规则,可以包括:基于模拟器环境下已安装应用的安装时间和数量的规律生成的应用统计规则。根据统计经验,真实设备的使用场景往往远复杂于虚拟机,因此模拟器环境下,已安装应用的安装时间可能相对更集中,数量可能相对较少,等等。针对此类规律可以生成对应的应用统计规则,即可找出符合模拟器环境的共性的运行环境信息,进而确定处于模拟器运行环境下的客户端。
举例而言,对于正常使用的智能手机而言,即时通信软件、电子支付软件、电商购物软件、短视频软件可能在实际使用的过程中逐步安装,使得正常使用的智能手机中已安装应用数量较多,且安装时间较分散,而模拟器生成的虚拟机为了节省CPU、内存等资源,通常不会安装即时通信软件、电子支付软件、电商购物软件、短视频软件等无关应用,因此已安装应用数量较少,且安装时间较集中,因此会被上述应用统计规则识别出来。
在生成上述统计规则时,可以通过有监督学习训练的方式训练一个分类器的方式实现;具体而言,可以将多个已被标注样本标签的运行环境信息作为训练样本,其中样本标签用于指示对应的运行环境信息是否来自模拟器环境,将运行环境信息中客户端中已安装应用的数量、以及已安装应用安装时间的标准差作为输入特征,调整分类器的参数,以使分类器输出的结果(即对应的运行环境信息是否来自模拟器环境)向对应的样本标签拟合;拟合程度达到预设的精度后,得到的分类器即可作为上述统计规则使用。例如,如果将已安装应用的数量作为X轴,将已安装应用安装时间的方差作为Y轴,那么上述多个运行环境信息样本可以使用XY坐标系中的点来表示;上述训练过程,则可以是调整调整分界线的方程参数,以使该分界线能够足够准确地地将平面上的点划分是否为模拟器环境两类。
可以理解的是,除通过上述训练分类器的方式生成上述统计规则之外,也可以使用根据统计得到的数值规律生成上述统计规则。例如,如果已知的模拟器环境的应用安装时间标准差均小于1天,那么上述统计规则即可表述为“样本中应用安装时间标准差小于1天则匹配成功”。此外,本领域技术人员还可以按需选用其他统计指标,例如方差、中位数等等。因此,本公开无需进一步限定上述统计规则的具体生成方式。
在运行环境信息包括已安装应用的安装信息的情况下,上述基于任一已知模拟器环境的特性生成的规则,可以包括:基于任一已知模拟器环境下特有的特征应用的应用标识生成的应用识别规则。具体而言,模拟器生成的虚拟机中,会自带某些系统应用,例如设置、应用市场、日历等等,而这部分应用的开发者、版本号、包名等安装信息与真实设备对应的系统应用对应的安装信息会存在差异;而普通用户通常不会手动在智能手机中安装来自模拟器的系统应用,因此,只要在获取到的运行环境信息中,识别到了已知模拟器环境下特有的特征应用,即可推断该运行环境信息对应的客户端的运行环境为模拟器环境。
举例而言,已知模拟器B所生成v2版的虚拟机中,会自带系统应用“Bv2设置中心”,那么,只要识别到某个运行环境信息中,应用程序已安装列表中出现“Bv2设置中心”,就可以推测该客户端的运行环境,是模拟器B所生成v2版的虚拟机。
在一实施例中,上述运行环境信息还可以包括上述客户端连接到的网络的网络识别信息。可以理解的是,对于模拟器而言,其生成的Android虚拟机所连接到的网络,实际上通常是宿主机PC的虚拟网络,在Android虚拟机内部则显示为连接到了某WiFi或者有线网络。但由于实际的智能手机、平板电脑等设备不会通过虚拟网络的方式进行连接,因此,客户端连接到的网络是否是虚拟网络,可以用于推断客户端是否处于模拟器环境;而指示客户端连接到的网络是否是虚拟网络的上述识别信息的获取过程无需敏感权限,因此可以将上述客户端连接到的网络的识别信息,作为客户端采集的运行环境信息。
在上述运行环境信息包括客户端连接到的网络的识别信息的情况下,对应的基于任一已知模拟器环境的特性生成的规则,可以包括基于任一已知模拟器环境下的网络识别信息生成的网络识别规则。具体而言,某些模拟器在生成虚拟机后,会将虚拟机连接到的网络的SSID设置为预设的字符串,而该预设的字符串通常不会被作为实际的WiFi网络SSID,当某一运行环境信息与该SSID匹配时,则可识别运行环境信息表征模拟器环境。
例如,假设已知模拟器B所生成v2版的虚拟机中,会自动连接到SSID为“Bv2_0000”虚拟的WiFi网络,那么,只要识别到某个运行环境信息中,连接到的网络的SSID为“Bv2_0000”,就可以推测该客户端是模拟器B所生成v2版的虚拟机。
可以理解的是,上述对应不同运行环境信息的检测规则,可以互相结合,从而提高上述检测规则的泛化能力,例如,可以将上述字符串识别规则与上述网络识别规则进行结合,将针对于build信息的字符串组合的匹配范围扩展到客户端连接到的网络的识别信息中;假设,某些模拟器生成的虚拟机连接到的网络信息、与build信息中都出现了“vm_test_v3”字样,那么即使“vm_test_v3”本身不属于已知模拟器环境下特有的网络识别信息,无法被上述网络识别规则甄别,也可能会被扩展后的字符串识别规则(该规则用于识别build信息是否表征模拟器环境)甄别。相互结合后的检测规则可以进一步提高检测的准确度。
综合以上实施例可知,本公开提出的识别方法,不仅可以提高对于客户端是否处于模拟器环境的识别准确度,而且也可以提高上述识别功能的安全性。
上述内容即为本公开针对所述识别方法的全部实施例。本公开还提供了对应的识别装置的实施例如下:
请参见图3,图3是根据本公开的实施例示出的一种识别装置的示意框图;该装置应用于服务端,可以包括下列模块:
获取模块301,可以被配置为获取客户端发送的普通权限的运行环境信息;
匹配模块302,可以被配置为匹配所述运行环境信息与预设的检测规则;其中,所述检测规则包括下列规则中的任意一种或者多种的组合:基于非模拟器环境的共性生成的规则、基于模拟器环境的共性生成的规则、基于任一已知模拟器环境的特性生成的规则;
确定模块303,可以被配置为根据匹配的结果,确定所述客户端的运行环境是否为模拟器环境。
在一实施例中,上述确定模块可以进一步被配置为,根据预设的、分别与各检测规则对应的权重值,以及匹配的结果,确定匹配的结果对应的匹配得分;如果确定出的匹配得分落入预设的模拟器环境区间,则可以确定上述客户端的运行环境为模拟器环境。
采用多个匹配规则综合评分的方式得到最终识别结果,可以综合多个检测角度,从而提高识别的准确率;而使不同的检测规则分别具有各自的权重值,例如为可靠的检测规则分配较高的权重值,则有利于进一步提高识别的准确率。
在另一实施例中,可以按对应各检测规则的预设权重值,对上述运行环境信息与各检测规则的匹配程度指标进行加权求和处理,得到对应的匹配得分,并在上述匹配得分大于预设阈值的情况下,确定上述客户端的运行环境为模拟器环境;上述匹配得分可以与上述基于非模拟器环境的共性生成的规则(即,白样本通用规则)对应的匹配程度负相关,与上述基于模拟器环境的共性生成的规则(即,黑样本通用规则)对应的匹配程度正相关,且与上述基于任一已知模拟器环境的特性生成的规则(即,黑样本自定义规则)对应的匹配程度正相关。如果用权重值来表征上述相关性,则上述白样本通用规则对应的预设权重值为负值,上述黑样本通用规则对应的预设权重值为正值,上述黑样本自定义规则对应的预设权重值亦为正值。
可以理解的是,权重的机制、权值的具体数值、模拟器环境区间的范围,均可以由本领域技术人员根据具体需求以及经验完善设计,本公开无需进行详细限定。
在一实施例中,上述装置还可以包括预测模块和调整模块,以通过类似有监督学习的方式对检测规则对应的权重值进行调整,从而适应不断变化的识别任务需求。具体而言,上述预测模块可以被配置为根据上述预设的检测规则,预测已经标注有样本标签的运行环境信息样本对应的运行环境是否为模拟器环境;其中,上述样本标签指示运行环境信息样本对应的运行环境实际是否为模拟器环境。上述调整模块,可以被配置为基于预测的结果以及对应的样本标签,调整所述对应各检测规则的预设权重值。预测的结果以及对应的样本标签匹配,则证明预测正确,反之则预测错误。如果预测正确,说明预测所使用的规则较为可靠,可以适度增加其权重值,如果预测错误,则说明预测所使用的规则不够可靠,可以适度降低其权重值。经过调整后,较为可靠的检测规则权重值增大,不够可靠的检测规则的权重值减小,因此在得出最终的识别结果时,识别结果的准确性会得到提升。
可见,应用上述方式调整上述对应各检测规则的预设权重值,可以提高运行环境识别的准确度。
在实际应用中,上述检测规则可以与上述运行环境信息的类型相对应,而通过改变检测规则以及运行环境信息的方式,则可以从不同角度对客户端的运行环境进行检测。一个实施例中,运行环境信息的类型可以包括系统配置build信息、应用安装信息、网络识别信息中的任意一种或者多种的组合。
在一实施例中,上述客户端运行的系统为Android系统,则上述运行环境信息则可以是上述客户端的系统配置build信息;由于build是Android系统内部提供的信息获取渠道,不涉及敏感权限,且与运行环境相关,因此将系统配置build信息,作为上述客户端运行的系统为Android系统的情况下的运行环境信息,可以满足本技术方案对于运行环境信息的内容与获取渠道方面的需求。
在上述运行环境信息是Android系统中的系统配置build信息的情况下,对应的基于非模拟器环境的共性生成的规则,可以包括字段组合识别规则,该字段组合识别规则用于识别系统配置build信息中的字符串形成的搭配组合。对于Android平台而言,非模拟器环境通常是真实的Android智能手机或者平板电脑,那么其系统配置build信息通常由制造商按照产品制造的需求或者习惯进行设置,因此,在生成上述字段组合识别规则时,可以首先统计非模拟器环境对应的系统配置build信息样本中各种字符串组合的出现概率,再使用预设的第一概率阈值筛选出上述有较高概率出现的搭配组合,即可根据上述筛选出的字符串对应关系生成相应的字段组合识别规则。其中,第一概率阈值可以根据具体业务场景和实践经验设定,例如0.8。本公开对于上述第一概率阈值的具体数值不做限定。
在上述运行环境信息是Android系统中的系统配置build信息的情况下,对应的基于模拟器环境的共性生成的规则可以包括字符串识别规则,该字符串识别规则可以用于识别系统配置build信息中的字符串。在Android平台下,模拟器生成的虚拟机的系统配置build信息中,manufacture、product、model等字段的值大概率与模拟器相关,例如manufacture(制造商)字段中包含“Simulator”(模拟器)字样,或者product(产品)字段中包含“Virtual Machine”(虚拟机)字样,或者直接留空(N/A)等等,因此,在生成上述字符串识别规则时,可以首先统计模拟器环境对应的系统配置build信息样本中各种字符串的出现概率,再使用预设的第二概率阈值将在上述样本中出现概率足够高的字符串筛选出来,从而生成类似于黑名单的字符串识别规则,即可根据字符串识别出对应到模拟器环境的运行环境信息。例如识别规则中记录上述筛选出来的大概率与模拟器相关的字符串,若某一build信息字符串匹配识别规则中的字符串,则识别该build信息表征模拟器环境。其中,第二概率阈值可以根据具体业务场景和实践经验设定,例如0.8。本公开对于上述第二概率阈值的具体数值不做限定。
在上述运行环境信息是Android系统中的系统配置build信息的情况下,对应的基于任一已知模拟器环境的特性生成的规则,包括:基于任一已知模拟器环境的系统配置build信息,以及设备标识信息生成的设备识别规则。具体而言,某些模拟器开发商为了对虚拟机进行标识,会在虚拟机的系统配置build信息、设备标识信息中保留类似于签名的标记,将此类专用于对虚拟机进行标识的标记进行整理,即可生成对应的、类似于黑名单的设备识别规则。例如识别规则中记录上述整理出来的标记,若某一build信息匹配识别规则中的标记,则识别该build信息表征模拟器环境。
在一实施例中,上述运行环境信息还可以包括上述客户端的已安装应用的安装信息(即应用安装信息)。从统计规律角度而言,虚拟机与非虚拟机在安装应用的时间、数量、种类等方面都可能存在差异,因此可以根据客户端的已安装应用的安装信息,间接推断客户端的运行环境是否为模拟器环境;又因为其获取过程无需敏感权限,所以可以将上述客户端的已安装应用的安装信息,作为本方案中客户端采集的运行环境信息。
在上述运行环境信息包括已安装应用的安装信息的情况下,对应的基于模拟器环境的共性生成的规则,可以包括:基于模拟器环境下已安装应用的安装时间和数量的规律生成的应用统计规则。具体而言,根据统计经验,真实设备的使用场景往往远复杂于虚拟机,因此模拟器环境下,已安装应用的安装时间可能较为集中,数量可能较少,等等。针对此类规律可以生成对应的应用统计规则,即可找出符合模拟器环境的共性的运行环境信息,进而确定处于模拟器运行环境下的客户端。
在生成上述统计规则时,可以通过有监督学习训练的方式训练一个分类器的方式实现;具体而言,可以将多个已被标注样本标签的运行环境信息作为训练样本,其中样本标签用于指示对应的运行环境信息是否来自模拟器环境,将运行环境信息中客户端中已安装应用的数量、以及已安装应用安装时间的标准差作为输入特征,调整分类器的参数,以使分类器输出的结果(即对应的运行环境信息是否来自模拟器环境)向对应的样本标签拟合;拟合程度达到预设的精度后,得到的分类器即可作为上述统计规则使用。例如,如果将已安装应用的数量作为X轴,将已安装应用安装时间的方差作为Y轴,那么上述多个运行环境信息样本可以使用XY坐标系中的点来表示;上述训练过程,则可以是调整调整分界线的方程参数,以使该分界线能够足够准确地地将平面上的点划分是否为模拟器环境两类。
可以理解的是,除通过上述训练分类器的方式生成上述统计规则之外,也可以使用根据统计得到的数值规律生成上述统计规则。例如,如果已知的模拟器环境的应用安装时间标准差均小于1天,那么上述统计规则即可表述为“样本中应用安装时间标准差小于1天则匹配成功”。此外,本领域技术人员还可以按需选用其他统计指标,例如方差、中位数等等。因此,本公开无需进一步限定上述统计规则的具体生成方式。
在上述运行环境信息包括已安装应用的安装信息的情况下,对应的基于任一已知模拟器环境的特性生成的规则,可以包括:基于任一已知模拟器环境下特有的特征应用的应用标识生成的应用识别规则。具体而言,模拟器生成的虚拟机中,会自带某些系统应用,例如设置、应用市场、日历等等,而这部分应用的开发者、版本号、包名等安装信息与真实设备对应的系统应用对应的安装信息会存在差异;而普通用户通常不会手动在智能手机中安装来自模拟器的系统应用,因此,只要在获取到的运行环境信息中,识别到了已知模拟器环境下特有的特征应用,即可推断该运行环境信息对应的客户端的运行环境为模拟器环境。
在一实施例中,上述运行环境信息还可以包括上述客户端连接到的网络的网络识别信息。可以理解的是,对于模拟器而言,其生成的Android虚拟机所连接到的网络,实际上通常是宿主机PC的虚拟网络,在Android虚拟机内部则显示为连接到了某WiFi或者有线网络。但由于实际的智能手机、平板电脑等设备不会通过虚拟网络的方式进行连接,因此,客户端连接到的网络是否是虚拟网络,可以用于推断客户端是否处于模拟器环境;而指示客户端连接到的网络是否是虚拟网络的上述识别信息的获取过程无需敏感权限,因此可以将上述客户端连接到的网络的识别信息,作为客户端采集的运行环境信息。
在上述运行环境信息包括客户端连接到的网络的识别信息的情况下,对应的基于任一已知模拟器环境的特性生成的规则,包括:基于任一已知模拟器环境下的网络识别信息生成的网络识别规则。某些模拟器在生成虚拟机后,会将虚拟机连接到的网络的SSID设置为预设的字符串,而此类预设的字符串通常不会被作为实际的WiFi网络SSID,当某一运行环境信息与该SSID匹配时,则可识别运行环境信息表征模拟器环境。
关于上述实施例中的装置,其中各模块的具体实现方式,已经在描述对应方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开的实施例还提出一种服务端,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一实施例所述的识别方法。
本公开的实施例还提出一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的识别方法。
本公开的实施例还提出一种计算机程序产品,包括计算机程序,上述计算机程序被处理器执行时实现上述任一实施例所述的识别方法。
图4是根据本公开的实施例示出的一种电子设备的示意框图。参照图4,电子设备400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,输入/输出(I/O)的接口412,传感器组件414,以及通信组件418。上述服务端即可采用与该电子设备类似的架构。
处理组件402通常控制电子设备400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件402可以包括一个或多个处理器420来执行指令,以完成上述识别方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在电子设备400的操作。这些数据的示例包括用于在电子设备400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件406为电子设备400的各种组件提供电力。电源组件406可以包括电源管理系统,一个或多个电源,及其他与为电子设备400生成、管理和分配电力相关联的组件。
多媒体组件408包括在电子设备400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当电子设备400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的或具有焦距和光学变焦能力的光学透镜系统。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(MIC),当电子设备400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件418发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
I/O接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为电子设备400提供各个方面的状态评估。例如,传感器组件414可以检测到电子设备400的打开/关闭状态,组件的相对定位,例如所述组件为电子设备400的显示器和小键盘,传感器组件414还可以检测电子设备400或电子设备400一个组件的位置改变,用户与电子设备400接触的存在或不存在,电子设备400方位或加速/减速和电子设备400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件418被配置为便于电子设备400和其他设备之间有线或无线方式的通信。电子设备400可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或4G),或它们的组合。在一个示例性实施例中,通信组件418经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件418还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在本公开一实施例中,电子设备400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述识别方法。
在本公开一实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由电子设备400的处理器420执行以完成上述识别方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
Claims (14)
1.一种识别方法,应用于服务端,所述方法包括:
获取客户端发送的普通权限的运行环境信息;其中,所述普通权限的运行环境信息包括获取渠道不涉及敏感权限且与运行环境相关的信息;
匹配所述运行环境信息与预设的检测规则;其中,所述检测规则包括:基于非模拟器环境的共性生成的规则、基于模拟器环境的共性生成的规则和基于任一已知模拟器环境的特性生成的规则;
根据匹配的结果,确定所述客户端的运行环境是否为模拟器环境;
其中,所述客户端运行的操作系统为Android系统时,所述运行环境信息包括所述客户端的Android系统配置build信息;所述基于非模拟器环境的共性生成的规则,包括:基于非模拟器环境下的系统配置build信息中各个字段之间出现概率高于第一概率阈值的字符串组合关系,生成的字段组合识别规则;
所述基于模拟器环境的共性生成的规则,包括:基于模拟器环境下,系统配置build信息的各个字段中出现概率高于第二概率阈值的字符串生成的字符串识别规则;
所述基于任一已知模拟器环境的特性生成的规则,包括:基于任一已知模拟器环境的系统配置build信息以及设备标识信息的对应关系生成的设备识别规则。
2.根据权利要求1所述的方法,所述根据匹配的结果,确定所述客户端的运行环境是否为模拟器环境,包括:
根据匹配的结果、以及对应各检测规则的预设权重值,确定所述匹配的结果对应的匹配得分;
在所述匹配得分落入预设的模拟器环境区间的情况下,确定所述客户端的运行环境为模拟器环境。
3.根据权利要求2所述的方法,所述根据匹配的结果、以及对应各检测规则的预设权重值,确定所述匹配的结果对应的匹配得分,包括:
按对应各检测规则的预设权重值,对所述运行环境信息与各检测规则的匹配程度指标进行加权求和处理,得到对应的匹配得分;
所述在所述匹配得分落入预设的模拟器环境区间的情况下,确定所述客户端的运行环境为模拟器环境,包括:
在所述匹配得分大于预设阈值的情况下,确定所述客户端的运行环境为模拟器环境;其中,
所述基于非模拟器环境的共性生成的规则对应的预设权重值为负值;
所述基于模拟器环境的共性生成的规则对应的预设权重值为正值;
所述基于任一已知模拟器环境的特性生成的规则对应的预设权重值为正值。
4.根据权利要求1所述的方法,所述运行环境信息包括所述客户端的已安装应用的安装信息;
所述基于模拟器环境的共性生成的规则,包括:基于模拟器环境下已安装应用的安装时间和数量的规律生成的应用统计规则;
所述基于任一已知模拟器环境的特性生成的规则,包括:基于任一已知模拟器环境下特有的特征应用的应用标识生成的特征应用识别规则。
5.根据权利要求1所述的方法,所述运行环境信息包括所述客户端连接到的网络的识别信息;
所述基于任一已知模拟器环境的特性生成的规则,包括:
基于任一已知模拟器环境下特有的网络识别信息生成的网络识别规则。
6.根据权利要求1所述的方法,所述运行环境信息包括所述客户端连接到的网络的识别信息;
所述基于任一已知模拟器环境的特性生成的规则,包括:
基于任一已知模拟器环境下特有的网络识别信息生成的网络识别规则。
7.一种识别装置,应用于服务端,所述装置包括:
获取模块,被配置为获取客户端发送的普通权限的运行环境信息;其中,所述普通权限的运行环境信息包括获取渠道不涉及敏感权限且与运行环境相关的信息;
匹配模块,被配置为匹配所述运行环境信息与预设的检测规则;其中,所述检测规则包括:基于非模拟器环境的共性生成的规则、基于模拟器环境的共性生成的规则和基于任一已知模拟器环境的特性生成的规则;
确定模块,被配置为根据匹配的结果,确定所述客户端的运行环境是否为模拟器环境;
其中,所述客户端运行的操作系统为Android系统时,所述运行环境信息包括所述客户端的Android系统配置build信息;所述基于非模拟器环境的共性生成的规则,包括:基于非模拟器环境下的系统配置build信息中各个字段之间出现概率高于第一概率阈值的字符串组合关系,生成的字段组合识别规则;
所述基于模拟器环境的共性生成的规则,包括:基于模拟器环境下,系统配置build信息的各个字段中出现概率高于第二概率阈值的字符串生成的字符串识别规则;
所述基于任一已知模拟器环境的特性生成的规则,包括:基于任一已知模拟器环境的系统配置build信息以及设备标识信息的对应关系生成的设备识别规则。
8.根据权利要求7所述的装置,所述确定模块进一步被配置为:
根据匹配的结果、以及对应各检测规则的预设权重值,确定所述匹配的结果对应的匹配得分;在所述匹配得分落入预设的模拟器环境区间的情况下,确定所述客户端的运行环境为模拟器环境。
9.根据权利要求8所述的装置,所述确定模块进一步被配置为:
按对应各检测规则的预设权重值,对所述运行环境信息与各检测规则的匹配程度指标进行加权求和处理,得到对应的匹配得分;在所述匹配得分大于预设阈值的情况下,确定所述客户端的运行环境为模拟器环境;其中,
所述基于非模拟器环境的共性生成的规则对应的预设权重值为负值;
所述基于模拟器环境的共性生成的规则对应的预设权重值为正值;
所述基于任一已知模拟器环境的特性生成的规则对应的预设权重值为正值。
10.根据权利要求8所述的装置,所述装置还包括:
预测模块,被配置为根据所述预设的检测规则,预测标注有样本标签的运行环境信息样本对应的运行环境是否为模拟器环境;其中,所述样本标签指示运行环境信息样本对应的运行环境是否为模拟器环境;
调整模块,被配置为基于预测的结果以及对应的样本标签,调整所述对应各检测规则的预设权重值。
11.根据权利要求7所述的装置,所述运行环境信息包括所述客户端的已安装应用的安装信息;
所述基于模拟器环境的共性生成的规则,包括:基于模拟器环境下已安装应用的安装时间和数量的规律生成的应用统计规则;
所述基于任一已知模拟器环境的特性生成的规则,包括:基于任一已知模拟器环境下特有的特征应用的应用标识生成的特征应用识别规则。
12.根据权利要求7所述的装置,所述运行环境信息包括所述客户端连接到的网络的识别信息;
所述基于任一已知模拟器环境的特性生成的规则,包括:
基于任一已知模拟器环境下特有的网络识别信息生成的网络识别规则。
13.一种服务端,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1~6中任一项所述的识别方法。
14.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1~6中任一项所述的识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110739193.2A CN113468541B (zh) | 2021-06-30 | 2021-06-30 | 识别方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110739193.2A CN113468541B (zh) | 2021-06-30 | 2021-06-30 | 识别方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468541A CN113468541A (zh) | 2021-10-01 |
CN113468541B true CN113468541B (zh) | 2024-03-12 |
Family
ID=77876679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110739193.2A Active CN113468541B (zh) | 2021-06-30 | 2021-06-30 | 识别方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468541B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608932B (zh) * | 2021-10-09 | 2022-02-15 | 深圳市科力锐科技有限公司 | 数据库演练方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117250A (zh) * | 2018-07-27 | 2019-01-01 | 平安科技(深圳)有限公司 | 一种模拟器识别方法、识别设备及计算机可读介质 |
CN110334028A (zh) * | 2019-07-08 | 2019-10-15 | 北京智游网安科技有限公司 | 一种安卓模拟器检测方法、计算机设备及存储介质 |
CN111338946A (zh) * | 2020-02-24 | 2020-06-26 | 北京新氧科技有限公司 | 安卓模拟器检测方法及装置 |
CN111414235A (zh) * | 2020-03-20 | 2020-07-14 | 杭州云缔盟科技有限公司 | 一种基于符号的识别Android应用运行在模拟器中的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9851953B2 (en) * | 2015-06-29 | 2017-12-26 | Oracle International Corporation | Cloud based editor for generation of interpreted artifacts for mobile runtime |
-
2021
- 2021-06-30 CN CN202110739193.2A patent/CN113468541B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117250A (zh) * | 2018-07-27 | 2019-01-01 | 平安科技(深圳)有限公司 | 一种模拟器识别方法、识别设备及计算机可读介质 |
CN110334028A (zh) * | 2019-07-08 | 2019-10-15 | 北京智游网安科技有限公司 | 一种安卓模拟器检测方法、计算机设备及存储介质 |
CN111338946A (zh) * | 2020-02-24 | 2020-06-26 | 北京新氧科技有限公司 | 安卓模拟器检测方法及装置 |
CN111414235A (zh) * | 2020-03-20 | 2020-07-14 | 杭州云缔盟科技有限公司 | 一种基于符号的识别Android应用运行在模拟器中的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113468541A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2960823B1 (en) | Method, device and system for managing authority | |
US11227271B2 (en) | Identity authentication method, device, and system | |
US9942690B2 (en) | Method and device for information push | |
CN108376546B (zh) | 语音输入方法以及用于支持该方法的电子设备和系统 | |
RU2638154C2 (ru) | Способы и устройства для присваивания метки номеру | |
CN109359056B (zh) | 一种应用程序测试方法及装置 | |
WO2020048392A1 (zh) | 应用程序的病毒检测方法、装置、计算机设备及存储介质 | |
CN106990989B (zh) | 控制应用程序安装的方法及装置 | |
RU2644134C2 (ru) | Способ и устройство для обработки короткого сообщения | |
CN108460651A (zh) | 车辆推荐方法及装置 | |
CN111596971B (zh) | 应用清理方法、装置、存储介质及电子设备 | |
CN113468541B (zh) | 识别方法、装置、电子设备和存储介质 | |
CN116069612A (zh) | 一种异常定位方法、装置和电子设备 | |
EP3383009A1 (en) | Short message identification method, device, program and storage medium | |
CN111813932A (zh) | 文本数据的处理方法、分类方法、装置及可读存储介质 | |
US10739913B2 (en) | Protective film detection method and apparatus, and storage medium | |
CN111918386A (zh) | 定位方法、装置、存储介质及电子设备 | |
CN111294253B (zh) | 测试数据处理方法、装置、计算机设备及存储介质 | |
CN108228433A (zh) | 电子设备、移动应用访次停留时长统计方法及装置 | |
CN112733141B (zh) | 一种信息处理方法及装置 | |
TW202044021A (zh) | 頭戴式顯示系統及其軟體更新方法 | |
CN112711643B (zh) | 训练样本集获取方法及装置、电子设备、存储介质 | |
CN111538486B (zh) | 布局文件嵌套层数筛查方法、装置及电子设备 | |
CN113420205B (zh) | 分享来源帐号的确定方法、装置、终端设备及服务器 | |
CN111428806B (zh) | 图像标签确定方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |