发明内容
本公开的一个目的在于提高非法终端防护的可靠度。
根据本公开的一些实施例的一个方面,提出一种异常操作识别方法,包括:获取终端硬件操作数据;根据终端硬件操作数据确定操作特征;根据操作特征和预定机器操作特征确定终端是否由机器操作;确定由机器操作的终端所执行的操作为异常操作。
在一些实施例中,终端硬件操作数据包括按压数据、滑动数据或运动传感器数据中的至少一项。
在一些实施例中,在终端硬件操作数据包括按压数据的情况下,终端硬件操作信息和预定机器操作特征符合以下至少一项:若终端硬件操作信息包括终端屏幕传感器反馈的手指接触面积信息,则预定机器操作特征为接触面积为0或预定接触值;或若终端硬件操作信息包括终端屏幕传感器反馈的手指按压压力信息,则预定机器操作特征为按压压力为0和预定压力值。
在一些实施例中,在终端硬件操作信息包括终端屏幕传感器反馈的滑动数据的情况下,预定机器操作特征为无滑动轨迹或滑动轨迹为直线。
在一些实施例中,在终端硬件操作信息包括运动传感器反馈的数据的情况下,预定机器操作特征为白噪声。
在一些实施例中,根据操作特征和预定机器操作特征确定终端是否由机器操作包括:根据操作特征和预定机器操作特征确定终端由机器操作的概率;在确定的终端由机器操作的概率大于预定概率的情况下,确定终端由机器操作。
在一些实施例中,根据操作特征和预定机器操作特征确定终端由机器操作的概率包括:根据按压数据、滑动数据和运动传感器数据中的至少两种,分别确定基于当前数据的终端由机器操作的概率,作为概率分量;根据各个概率分量确定综合概率;在确定的终端由机器操作的概率大于预定概率的情况下,确定终端由机器操作包括:在综合概率大于预定概率的情况下,确定终端由机器操作。
在一些实施例中,若终端硬件操作信息包括终端屏幕传感器反馈的手指接触面积信息,则,根据终端硬件操作数据确定操作特征包括:根据预定时间段内的按压数据确定按压操作的次数N;根据按压数据确定接触面积为0或为预定接触值的次数NA;根据操作特征和预定机器操作特征确定终端是否由机器操作包括:确定根据手指接触面积信息获取的终端由机器操作的概率为NA/N。
在一些实施例中,若终端硬件操作信息包括终端屏幕传感器反馈的手指按压压力信息,则,根据终端硬件操作数据确定操作特征包括:根据预定时间段内的按压数据确定按压操作的次数N;根据按压数据确定按压压力为0或预定压力值的次数Np;根据操作特征和预定机器操作特征确定终端是否由机器操作包括:确定根据按压压力信息获取的终端由机器操作的概率为Np/N。
在一些实施例中,若终端硬件操作信息包括终端屏幕传感器反馈的滑动数据,则,根据终端硬件操作数据确定操作特征包括:根据滑动数据遍历滑动轨迹上任意三个坐标点;确定三个坐标点位于同一条直线的次数为m;根据操作特征和预定机器操作特征确定终端是否由机器操作包括:确定根据滑动数据获取的终端由机器操作的概率为m/(n-2),其中,n为滑动轨迹的坐标点个数。
在一些实施例中,若终端硬件操作信息包括运动传感器反馈的数据,则,根据终端硬件操作数据确定操作特征包括:将运动传感器反馈的数据做预处理和归一化处理,提取位置移动特征,位置移动特征包括加速度计和陀螺仪的均值、方差、峰度或极差中的一项或多项;根据操作特征和预定机器操作特征确定终端是否由机器操作包括:基于人机训练识别模型,确定根据运动传感器反馈的数据获取的终端由机器操作的概率为Ps。
通过这样的方法,能够通过终端硬件操作情况分析终端是否为机器操控,基于机器操控规律性强的特点,筛选出机器操控的终端,及时管控防止发生风险,提高了异常操作防护的可靠度。
根据本公开的一些实施例的一个方面,提出一种异常操作识别装置,包括:数据获取单元,被配置为获取终端硬件操作数据;特征提取单元,被配置为根据终端硬件操作数据确定操作特征;特征判断单元,被配置为根据操作特征和预定机器操作特征确定终端是否由机器操作;异常操作确定单元,被配置为确定由机器操作的终端所执行的操作为异常操作。
在一些实施例中,终端硬件操作数据包括按压数据、滑动数据或运动传感器数据中的至少一项。
根据本公开的一些实施例的一个方面,提出一种异常操作识别装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行如上文中任意一种风险控制方法。
这样的异常操作识别装置能够通过终端硬件操作情况分析终端是否为机器操控,基于机器操控规律性强的特点,筛选出机器操控的终端,及时管控防止发生风险,提高了异常操作防护的可靠度。
根据本公开的一些实施例的一个方面,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中任意一种异常操作识别方法的步骤。
通过执行这样的计算机可读存储介质上的指令,能够通过终端硬件操作情况分析终端是否为机器操控,基于机器操控规律性强的特点,筛选出机器操控的终端,及时管控防止发生风险,提高了异常操作防护的可靠度。
具体实施方式
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
随着AI技术的不断发展,验证码的破解难度已经越来越低,需要结合一定的风控策略来进行人机识别,风控策略需要使用各方面的数据,包括用户维度、设备维度、订单维度等多个方面的数据。对于移动端而言设备维度的数据主要包括APP可以采集到的一些设备的IMEI、Mac地址等信息,还有客户端检测的用户是否root、是否是模拟器等信息。这些信息都是比较明显的设备信息,对于APP来讲采集比较容易,同样对于黑产来讲,修改这些信息也很容易。所以在设备维度我们需要在这些信息的技术上增加更多的能够和黑产对抗的数据。
发明人发现,黑产会采用群控的方式连接大量手机,然后通过自动脚本进行大批量的非法交易等行为。黑产通过技术手段可以在每次请求时修改手机的各种参数,使得这些手机的行为很难从设备维度追踪。但是在生物特征上这种形式的机器行为与人的行为会有很大的差别。
本公开的异常操作识别方法的一些实施例的流程图如图1所示。
在步骤101中,获取终端硬件操作数据。在一些实施例中,终端硬件操作数据包括按压数据、滑动数据或运动传感器数据中的至少一项。在一些实施例中,按压数据可以为按压接触面积、按压压力中的至少一项。
在步骤102中,根据终端硬件操作数据确定操作特征。在一些实施例中,操作特征可以与硬件操作数据的种类相匹配。
在步骤103中,根据操作特征和预定机器操作特征确定终端是否由机器操作。
在一些实施例中,若终端硬件操作信息为终端屏幕传感器反馈的手指接触面积信息,则预定机器操作特征为接触面积为0或预定接触值。
在一些实施例中,若终端硬件操作信息为终端屏幕传感器反馈的手指按压压力信息,则预定机器操作特征为按压压力为0和预定压力值。
在一些实施例中,若终端硬件操作信息为终端屏幕传感器反馈的滑动数据,则预定机器操作特征为无滑动轨迹或滑动轨迹为直线
在一些实施例中,若终端硬件操作信息包括运动传感器反馈的数据,则预定机器操作特征为白噪声。
在步骤104中,确定由机器操作的终端所执行的操作为异常操作。在一些实施例中,可以拦截由该终端执行的部分或全部操作。
通过这样的方法,能够通过终端硬件操作情况分析终端是否为机器操控,基于机器操控规律性强的特点,筛选出机器操控的终端,及时管控防止发生风险,提高了异常操作防护的可靠度。
本公开的异常操作识别方法的另一些实施例的流程图如图2所示。
在步骤201中,获取终端硬件操作数据。
在步骤202中,根据终端硬件操作数据确定操作特征。
在步骤203中,根据操作特征和预定机器操作特征确定终端由机器操作的概率。
在步骤204中,将得到的终端由机器操作的概率与预定概率相比较,若终端由机器操作的概率大于预定概率,则确定终端由机器操作,执行步骤205;若终端由机器操作的概率不大于预定概率,则确定终端不是由机器操作,终端为合法终端,可以正常交易。
在步骤205中,确定终端为非法终端,所执行的操作为异常操作。在一些实施例中,可以拒绝与非法终端的交易。在一些实施例中,可以通过限制账户使用权限等的方式限制非法终端的交易。
通过这样的方法,可以先通过操作特征的匹配确定终端由机器操作的概率,进一步通过概率比较的方式分析由机器操作的终端,提高异常操作确定的准确度;另外,可以通过预定概率调整的方式进一步提高异常操作确定的准确度。
在一些实施例中,可以对按压数据进行特征提取,进一步确定基于按压数据确定的终端由机器操作的概率。手指面积和按压力度是用户操作手机过程中的手指接触手机屏幕的面积和手指按压屏幕的压力。正常用户在操作手机的过程中,手指接触屏幕时系统都可以生成一个0~1之间的按压力度和按压面积的值,该值表示的就是用户使用手机时按压手机屏幕的力度和接触屏幕的手指面积。而机器行为无法模拟手指接触屏幕的事件,该指标通常会是0或者1。
若采集到的数据中用户点击手机的次数为N,其中按压面积为0或为1的次数为N
A,按压力度为0或为1的次数为N
P。那么基于按压面积判断机器的概率为
基于按压力度判断机器的概率为
在一些实施例中,可以将滑动轨迹作为区分人机行为的生物特征。人在操作手机进行屏幕滑动行为时,屏幕的轨迹会呈现为较明显的圆滑的弧度,而使用机器来进行滑动行为操作的过程中通常不会有滑动轨迹,或者滑动轨迹是简单的直线。因此把判断滑动轨迹是否存在,以及轨迹是否是直线的特征作为区分人机行为的特征。
采集到的滑动轨迹数据为(x1,y1),(x2,y2),(x3,y3)…(xn,yn),判断任意三点是否在一条直线上的方法为:
若S=0那么(x1,y1),(x2,y2),(x3,y3)在一条直线上。顺序遍历任意三个点,得到三点在一条直线上出现的次数m,那么可以计算通过滑动轨迹判断机器的概率为:
在一些实施例中,可以将运动传感器的特征作为区分人机行为的特征。传感器反映的是用户操作手机时手机的物理状态,正常用户使用手机总会使手机的物理位置发生或多或少的物理运动,而用机器脚本操作手机,传感器的表现则会与人的行为有很大的不同,在一些实施例中,用户手动操作往往有明显的峰值和连续性,而及其操作的运动特征多为白噪声。对传感器的行为进行分析就可以很好的识别人机行为。在一些实施例中,可以将加速度计和陀螺仪的均值、方差、偏度、峰度、极差作为特征,采集已打标的人机的正负样本,使用xgboost训练人机识别模型,得到基于传感器识别人机的概率Ps。
本公开的异常操作识别方法的又一些实施例的流程图如图3所示。
在步骤301中,获取终端硬件操作数据。在一些实施例中,终端硬件操作数据包括按压数据、滑动数据和运动传感器数据。在一些实施例中,当用户进行某项业务操作的时候,APP调用采集传感器的接口,开始采集传感器数据,对于加速度等传感器数据,采集的频率应不小于50Hz,采集的时间不少于10s。对于按压力度等用户行为数据,采集的时间不应少于10s。完成数据采集之后,将数据进行压缩加密,上传到服务端,供服务端进行行为分析。
在步骤302中,确定终端硬件操作数据的种类,根据种类分别执行步骤313、313、333、343。
若为手指接触面积信息,则:
在步骤313中,根据预定时间段内的按压数据确定按压操作的次数N。
在步骤314中,根据按压数据确定接触面积为0或为预定接触值的次数NA。
在步骤315中,确定根据手指接触面积信息获取的终端由机器操作的概率为NA/N。
若为手指按压压力信息,则:
在步骤323中,根据预定时间段内的按压数据确定按压操作的次数N。
在步骤324中,根据按压数据确定按压压力为0或预定压力值的次数Np。
在步骤325中,确定根据按压压力信息获取的终端由机器操作的概率为Np/N。
若终端硬件操作信息为终端屏幕传感器反馈的滑动数据,则:
在步骤333中,根据滑动数据遍历滑动轨迹上任意三个坐标点。
在步骤334中,根据滑动数据遍历滑动轨迹上任意三个坐标点。
在步骤335中,确定根据滑动数据获取的终端由机器操作的概率为m/(n-2),其中,n为滑动轨迹的坐标点个数。
若终端硬件操作信息为运动传感器反馈的数据,则
在步骤343中,将运动传感器反馈的数据做预处理和归一化处理,提取位置移动特征,位置移动特征包括加速度计和陀螺仪的均值、方差、峰度或极差中的一项或多项。
在一些实施例中,采集到的传感器数据是三个方向的矢量(sx,sy,sz),需要计算合向量,合向量的大小更能反映用户的行为模式,每个采样点的合向量的计算方式为:
得到的传感器时序数据为[s1,s2,s3…st]。
不同的手机的传感器的标准可能不同,在进行进一步的数据分析之前,需要对原始数据进行规范化处理。以加速度传感器为例,若传感器检测到的重力加速度为g,那么对于采集到的加速度a的归一化方式为:
得到的加速度的单位为m/s2。角速度以及方向角可以采取类似的方式进行归一化。
在步骤344中,基于人机训练识别模型,确定根据运动传感器反馈的数据获取的终端由机器操作的概率为Ps。
当获取多种终端由机器操作的概率后,可以进一步结合步骤315、325、335、344中任意超过两项的概率值,作为概率分量,执行步骤306中的操作。
在步骤306中,根据各个概率分量确定综合概率。若综合概率大于预定概率,则确定终端由机器操作,进而执行步骤307。在一些实施例中,可以根据不同概率分量的预定权重做加权运算,将加权概率作为综合概率;
在步骤307中,确定终端所执行的操作为异常操作。在一些实施例中,可以拒绝与确定出的终端的交易。在一些实施例中,可以通过限制账户使用权限等的方式限制终端的交易。在另一些实施例中,可以结合三个方面的特征,训练一个人机识别的模型,或者使用PA,PP,PR,PS,训练一个logistic regression模型,实现人机识别,从而通过各个概率参数结合来训练机器学习模型,提高人机识别的准确率。
这样的方法,利用用户使用手机过程中的生物特征和机器脚本的不同来实现人机识别,基于手指按压特征、滑屏特征、传感器特征这三种人机识别算法的主要特征,可以单独用来实现人机识别,也可以三者结合,采集人机样本,通过训练机器学习模型的方式来实现人机识别,从而显著提高人机识别的准确率。
本公开的异常操作识别装置的一些实施例的示意图如图4所示。
数据获取单元401能够获取终端硬件操作数据。在一些实施例中,终端硬件操作数据包括按压数据、滑动数据或运动传感器数据中的至少一项。在一些实施例中,按压数据可以为按压接触面积、按压压力中的至少一项。
特征提取单元402能够根据终端硬件操作数据确定操作特征。在一些实施例中,操作特征可以与硬件操作数据的种类相匹配。
特征判断单元403能够根据操作特征和预定机器操作特征确定终端是否由机器操作。
异常操作确定单元404能够确定由机器操作的终端所执行的操作为异常操作。
这样的异常操作识别装置能够通过终端硬件操作情况分析终端是否为机器操控,基于机器操控规律性强的特点,筛选出机器操控的终端,及时管控防止发生风险,提高了异常操作防护的可靠度。
本公开异常操作识别装置的一个实施例的结构示意图如图5所示。异常操作识别装置包括存储器501和处理器502。其中:存储器501可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储上文中异常操作识别方法的对应实施例中的指令。处理器502耦接至存储器501,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器502用于执行存储器中存储的指令,能够筛选出机器操控的终端,及时管控防止发生风险,提高了异常操作防护的可靠度。
在一个实施例中,还可以如图6所示,异常操作识别装置600包括存储器601和处理器602。处理器602通过BUS总线603耦合至存储器601。该异常操作识别装置600还可以通过存储接口604连接至外部存储装置605以便调用外部数据,还可以通过网络接口606连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够筛选出机器操控的终端,及时管控防止发生风险,提高了异常操作防护的可靠度。
在另一个实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现异常操作识别方法对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
最后应当说明的是:以上实施例仅用以说明本公开的技术方案而非对其限制;尽管参照较佳实施例对本公开进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本公开的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本公开技术方案的精神,其均应涵盖在本公开请求保护的技术方案范围当中。