CN110188519A - 一种异常滑动轨迹的检测方法、装置及电子设备 - Google Patents
一种异常滑动轨迹的检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110188519A CN110188519A CN201910417971.9A CN201910417971A CN110188519A CN 110188519 A CN110188519 A CN 110188519A CN 201910417971 A CN201910417971 A CN 201910417971A CN 110188519 A CN110188519 A CN 110188519A
- Authority
- CN
- China
- Prior art keywords
- sliding trace
- detected
- sample
- default
- trace
- 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.)
- Pending
Links
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种异常滑动轨迹的检测方法、装置及电子设备,该方法包括:获得待检测滑动轨迹,其中,待检测滑动轨迹包括:多个待检测滑动轨迹点的位置信息以及采样时间,基于每一待检测滑动轨迹点的位置信息以及采样时间,确定待检测滑动轨迹对应预设轨迹特征的待检测特征信息;基于待检测特征信息以及预设轨迹分类模型,确定待检测滑动轨迹是否为异常滑动轨迹,其中,预设轨迹分类模型用于基于滑动轨迹对应预设轨迹特征的特征信息,对滑动轨迹进行分类,以实现对异常滑动轨迹更有效的检测,进而提高对恶意访问设备的检测准确性。
Description
技术领域
本发明涉及异常检测技术领域,特别是涉及一种异常滑动轨迹的检测方法、装置及电子设备。
背景技术
滑动验证码作为一种简单易用的验证工具,已经广泛应用于各大互联网公司的网站和APP(Application,应用程序)的防护中,避免被人为或机器多次恶意登录。
目前,当访问设备在通过滑动验证码来进行访问验证时,网站或APP通过统计该访问设备通过滑动滑动验证码进行验证的频次,即统计获得该访问设备生成的滑动轨迹的频次;基于所统计的生成滑动轨迹的频次,来确定该恶意访问设备所生成的滑动轨迹为异常滑动轨迹,进而确定该访问设备是否为恶意访问设备。其过程一般为:获得访问设备发送的滑动滑动验证码的滑动结果,其中,滑动结果包括访问设备的访问设备标识以及滑动轨迹,基于该访问设备的访问设备标识,确定该访问设备生成滑动轨迹的频次,基于该访问设备生成滑动轨迹的频次,确定该滑动结果包括的滑动轨迹是否为异常滑动轨迹,进而,确定该访问设备是否为恶意访问设备,其中,当该访问设备生成的滑动轨迹的频次超过预设频次时,则确定该滑动结果中的滑动轨迹为异常滑动轨迹,进而将该访问设备确定为恶意访问设备。
然而,发明人在实现本发明的过程中发现,相关技术至少存在如下问题:上述通过统计来自同一访问设备标识的设备的滑动轨迹的频次,确定该设备的滑动轨迹是否为异常滑动轨迹,进而确定访问设备是否为恶意访问设备的过程中,容易被恶意访问设备通过变更访问设备标识的形式绕过,即通过变更访问设备标识的形式,降低来自同一访问设备标识的设备的滑动轨迹的频次,导致异常滑动轨迹的检测准确性降低。
发明内容
本发明实施例的目的在于提供一种异常滑动轨迹的检测方法、装置及电子设备,以实现对异常滑动轨迹更有效的检测,进而提高对恶意访问设备的检测准确性。具体技术方案如下:
在本发明实施的一方面,提供了一种异常滑动轨迹的检测方法,所述方法包括:
获得待检测滑动轨迹,其中,所述待检测滑动轨迹包括:多个待检测滑动轨迹点的位置信息以及采样时间;
基于每一待检测滑动轨迹点的位置信息以及采样时间,确定所述待检测滑动轨迹对应预设轨迹特征的待检测特征信息;
基于所述待检测特征信息以及预设轨迹分类模型,确定所述待检测滑动轨迹是否为异常滑动轨迹,其中,所述预设轨迹分类模型用于基于滑动轨迹对应所述预设轨迹特征的特征信息,对滑动轨迹进行分类。
可选地,所述预设轨迹特征包括如下特征中的至少一个:滑动轨迹对应的滑动位移特征、滑动角度特征、滑动速度特征、滑动加速度特征、采样时间间隔特征以及滑动轨迹中轨迹点的位置信息重复次数。
可选地,所述预设轨迹分类模型包括:预设孤立森林模型和/或预设混合高斯模型;
所述基于所述待检测特征信息以及预设轨迹分类模型,确定所述待检测滑动轨迹是否为异常滑动轨迹的步骤,包括:
将所述待检测特征信息输入所述预设孤立森林模型中,得到第一检测结果;以及将所述待检测特征信息输入所述预设混合高斯模型中,得到第二检测结果;
若所述第一检测结果和/或所述第二检测结果,至少有一个检测结果表征所述待检测滑动轨迹为异常滑动轨迹,则确定所述待检测滑动轨迹为异常滑动轨迹。
可选地,所述将所述待检测特征信息输入所述预设孤立森林模型中,得到第一检测结果的步骤,包括:
针对所述预设孤立森林模型中的每一预设孤立树,将所述待检测特征信息输入该预设孤立树,确定所述待检测滑动轨迹在该预设孤立树中的高度;
基于所述待检测滑动轨迹在每一预设孤立树中的高度,确定所述待检测滑动轨迹对应的分类高度;
基于所述分类高度是否满足预设高度阈值的判断结果,得到第一检测结果。
可选地,所述基于所述待检测滑动轨迹在每一预设孤立树中的高度,确定所述待检测滑动轨迹对应的分类高度的步骤,包括:
计算所述待检测滑动轨迹在各预设孤立树中的高度的平均值;
将所述平均值确定为所述待检测滑动轨迹对应的分类高度。
可选地,在所述针对所述预设孤立森林模型中的每一预设孤立树,将所述待检测特征信息输入该预设孤立树,确定所述待检测滑动轨迹在该预设孤立树中的高度的步骤之前,所述方法还包括:
训练初始孤立森林模型中每一初始孤立树,并确定训练后的孤立森林模型为预设孤立森林模型,其中,所述训练初始孤立森林模型中每一初始孤立树的步骤,包括:
获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间,其中,所述样本滑动轨迹为非异常滑动轨迹;
基于所述样本轨迹点的位置信息以及采样时间,确定所述样本滑动轨迹对应所述预设轨迹特征的特征信息;
基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始孤立树,得到预设孤立树。
可选地,所述基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始孤立树的步骤,包括:
针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入初始孤立树的当前节点;
随机从所述预设轨迹特征中确定一轨迹特征,作为所述当前节点对应的指定轨迹特征;
生成所述指定轨迹特征对应的分类特征信息,作为所述当前节点对应的分类特征信息,其中,所述分类特征信息属于目标范围,所述目标范围的上限值为:所述当前节点中的样本滑动轨迹对应的目标特征信息中的最大值,所述目标范围的下限值为:所述当前节点中的样本滑动轨迹对应的目标特征信息中的最小值,所述目标特征信息为:所述当前节点中的样本滑动轨迹对应所述指定轨迹特征的特征信息;
判断该样本滑动轨迹对应的目标特征信息是否小于所述分类特征信息;
若该样本滑动轨迹对应的目标特征信息小于所述分类特征信息,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入所述当前节点的左孩子节点;
若该样本滑动轨迹对应的目标特征信息不小于所述分类特征信息,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入所述当前节点的右孩子节点;
将所述当前节点的孩子节点中所包括样本滑动轨迹的数量不低于1的孩子节点,作为新的当前节点,其中,所述当前节点的孩子节点包括所述当前节点的左孩子节点和右孩子节点;
返回执行随机从所述预设轨迹特征中确定一轨迹特征,作为所述当前节点对应的指定轨迹特征的步骤,直至所述初始孤立树的节点高度达到预设高度,或所述初始孤立树中所有处于顶端的节点中的样本滑动轨迹的数量为1。
可选地,所述将所述待检测特征信息输入所述预设混合高斯模型中,得到第二检测结果的步骤,包括:
将所述待检测特征信息输入所述预设混合高斯模型,确定所述预设混合高斯模型的输出为所述待检测滑动轨迹对应的概率密度;
基于所述概率密度是否满足预设概率阈值的判断结果,得到第二检测结果。
可选地,在所述将所述待检测特征信息输入所述预设混合高斯模型的步骤之前,所述方法还包括:
训练初始混合高斯模型,并确定训练后的混合高斯模型为预设混合高斯模型,其中,所述训练初始混合高斯模型的步骤,包括:
获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间,其中,所述样本滑动轨迹为非异常滑动轨迹;
基于所述样本轨迹点的位置信息以及采样时间,确定该样本滑动轨迹对应所述预设轨迹特征的特征信息;
基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始混合高斯模型,得到预设混合高斯模型。
可选地,所述初始混合高斯模型包括多个初始高斯子模型;
所述基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始混合高斯模型的步骤,包括:
针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度;
根据每一样本滑动轨迹在每一初始高斯子模型下的预测概率密度,更新每一初始高斯子模型的模型参数,得到每一初始高斯子模型的更新后的模型参数的参数值;
基于每一初始高斯子模型的更新后的模型参数的参数值,判断所述初始混合高斯模型对应的预设的似然函数是否收敛;
若所述似然函数收敛,得到包含每一初始高斯子模型的更新后的模型参数的参数值的预设混合高斯模型;
若所述似然函数未收敛,返回执行所述针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度的步骤,直至所述似然函数收敛。
在本发明实施的又一方面,还提供了一种异常滑动轨迹的检测装置,所述装置包括:
第一获得模块,用于获得待检测滑动轨迹,其中,所述待检测滑动轨迹包括:多个待检测滑动轨迹点的位置信息以及采样时间;
第一确定模块,用于基于每一待检测滑动轨迹点的位置信息以及采样时间,确定所述待检测滑动轨迹对应预设轨迹特征的待检测特征信息;
第二确定模块,用于基于所述待检测特征信息以及预设轨迹分类模型,确定所述待检测滑动轨迹是否为异常滑动轨迹,其中,所述预设轨迹分类模型用于基于滑动轨迹对应所述预设轨迹特征的特征信息,对滑动轨迹进行分类。
可选地,所述预设轨迹特征包括如下特征中的至少一个:滑动轨迹对应的滑动位移特征、滑动角度特征、滑动速度特征、滑动加速度特征、采样时间间隔特征以及滑动轨迹中轨迹点的位置信息重复次数。
可选地,所述预设轨迹分类模型包括:预设孤立森林模型和/或预设混合高斯模型;
所述第二确定模块,包括:
第一确定子模块,用于将所述待检测特征信息输入所述预设孤立森林模型中,得到第一检测结果;以及将所述待检测特征信息输入所述预设混合高斯模型中,得到第二检测结果;
第二确定子模块,用于若所述第一检测结果和/或所述第二检测结果,至少有一个检测结果表征所述待检测滑动轨迹为异常滑动轨迹,则确定所述待检测滑动轨迹为异常滑动轨迹。
可选地,所述第一确定子模块,具体用于针对所述预设孤立森林模型中的每一预设孤立树,将所述待检测特征信息输入该预设孤立树,确定所述待检测滑动轨迹在该预设孤立树中的高度;
基于所述待检测滑动轨迹在每一预设孤立树中的高度,确定所述待检测滑动轨迹对应的分类高度;
基于所述分类高度是否满足预设高度阈值的判断结果,得到第一检测结果。
可选地,所述第一确定子模块,具体用于计算所述待检测滑动轨迹在各预设孤立树中的高度的平均值;
将所述平均值确定为所述待检测滑动轨迹对应的分类高度。
可选地,所述装置还包括:
第三确定模块,用于训练初始孤立森林模型中每一初始孤立树,并确定训练后的孤立森林模型为预设孤立森林模型;
所述第三确定模块,包括:
第一获得子模块,用于获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间,其中,所述样本滑动轨迹为非异常滑动轨迹;
第三确定子模块,用于基于所述样本轨迹点的位置信息以及采样时间,确定所述样本滑动轨迹对应所述预设轨迹特征的特征信息;
第一训练子模块,用于基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始孤立树,得到预设孤立树。
可选地,所述第一训练子模块,具体用于针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入初始孤立树的当前节点;
随机从所述预设轨迹特征中确定一轨迹特征,作为所述当前节点对应的指定轨迹特征;
生成所述指定轨迹特征对应的分类特征信息,作为所述当前节点对应的分类特征信息,其中,所述分类特征信息属于目标范围,所述目标范围的上限值为:所述当前节点中的样本滑动轨迹对应的目标特征信息中的最大值,所述目标范围的下限值为:所述当前节点中的样本滑动轨迹对应的目标特征信息中的最小值,所述目标特征信息为:所述当前节点中的样本滑动轨迹对应所述指定轨迹特征的特征信息;
判断该样本滑动轨迹对应的目标特征信息是否小于所述分类特征信息;
若该样本滑动轨迹对应的目标特征信息小于所述分类特征信息,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入所述当前节点的左孩子节点;
若该样本滑动轨迹对应的目标特征信息不小于所述分类特征信息,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入所述当前节点的右孩子节点;
将所述当前节点的孩子节点中所包括样本滑动轨迹的数量不低于1的孩子节点,作为新的当前节点,其中,所述当前节点的孩子节点包括所述当前节点的左孩子节点和右孩子节点;
返回执行随机从所述预设轨迹特征中确定一轨迹特征,作为所述当前节点对应的指定轨迹特征的步骤,直至所述初始孤立树的节点高度达到预设高度,或所述初始孤立树中所有处于顶端的节点中的样本滑动轨迹的数量为1。
可选地,所述第一确定子模块,具体用于将所述待检测特征信息输入所述预设混合高斯模型,确定所述预设混合高斯模型的输出为所述待检测滑动轨迹对应的概率密度;
基于所述概率密度是否满足预设概率阈值的判断结果,得到第二检测结果。
可选地,所述装置还包括:
第四确定模块,用于训练初始混合高斯模型,并确定训练后的混合高斯模型为预设混合高斯模型;
所述第四确定模块,包括:
第二获得子模块,用于获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间,其中,所述样本滑动轨迹为非异常滑动轨迹;
第四确定子模块,用于基于所述样本轨迹点的位置信息以及采样时间,确定该样本滑动轨迹对应所述预设轨迹特征的特征信息;
第二训练子模块,用于基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始混合高斯模型,得到预设混合高斯模型。
可选地,所述初始混合高斯模型包括多个初始高斯子模型;
所述第二训练子模块,具体用于针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度;
根据每一样本滑动轨迹在每一初始高斯子模型下的预测概率密度,更新每一初始高斯子模型的模型参数,得到每一初始高斯子模型的更新后的模型参数的参数值;
基于每一初始高斯子模型的更新后的模型参数的参数值,判断所述初始混合高斯模型对应的预设的似然函数是否收敛;
若所述似然函数收敛,得到包含每一初始高斯子模型的更新后的模型参数的参数值的预设混合高斯模型;
若所述似然函数未收敛,返回执行所述针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度的步骤,直至所述似然函数收敛。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现本发明实施例所提供的上述任一所述的异常滑动轨迹的检测方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的异常滑动轨迹的检测方法步骤。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的异常滑动轨迹的检测方法步骤。
本发明实施例提供的技术方案,获得待检测滑动轨迹,其中,待检测滑动轨迹包括:多个待检测滑动轨迹点的位置信息以及采样时间,基于每一待检测滑动轨迹点的位置信息以及采样时间,确定待检测滑动轨迹对应预设轨迹特征的待检测特征信息;基于待检测特征信息以及预设轨迹分类模型,确定待检测滑动轨迹是否为异常滑动轨迹,其中,预设轨迹分类模型用于基于滑动轨迹对应预设轨迹特征的特征信息,对滑动轨迹进行分类。
本发明实施例中,直接通过待检测滑动轨迹对应预设轨迹特征的待检测特征信息以及预设轨迹分类模型,来确定待检测滑动轨迹是否为异常滑动轨迹。即直接通过待检测滑动轨迹自身的轨迹特征,来确定待检测滑动轨迹是否为异常滑动轨迹,无需通过统计来自同一访问设备标识的设备的滑动轨迹的频次,确定待检测滑动轨迹是否为异常滑动轨迹,可以避免恶意访问设备通过变更访问设备标识的形式绕过,即通过变更访问设备标识的形式,降低来自同一访问设备标识的设备的滑动轨迹的频次,导致异常滑动轨迹的检测准确性降低的情况。在一定程度上实现对异常滑动轨迹更有效的检测,进而提高对恶意访问设备的检测准确性。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例所提供的一种异常滑动轨迹的检测方法的流程示意图;
图2为本发明实施例所提供的一种异常滑动轨迹的检测方法的流程示意图;
图3为本发明实施例所提供的得到第一检测结果的流程示意图;
图4为本发明实施例所提供的得到第二检测结果的流程示意图;
图5为一种训练得到预设轨迹分类模型的一种流程示意图;
图6为本发明实施例所提供的一种异常滑动轨迹的检测装置的结构示意图;
图7为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例提供了一种异常滑动轨迹的检测方法、装置及电子设备,以实现对异常滑动轨迹更有效的检测,进而提高对恶意访问设备的检测准确性。
如图1所示,本发明实施例提供了一种异常滑动轨迹的检测方法,可以包括如下步骤:
S101:获得待检测滑动轨迹。
其中,该待检测滑动轨迹包括:多个待检测滑动轨迹点的位置信息以及采样时间,该待检测滑动轨迹可以为通过滑动滑动验证码而生成的轨迹。
可以理解的是,本发明实施例所提供的异常滑动轨迹的检测方法,可以应用于任意类型的电子设备,在此不再赘述。在一种情况中,实现本发明实施例所提供的异常滑动轨迹的检测方法的功能软件,可以以专门的客户端的形式存在,也可以以其他客户端的插件的形式存在,这都是可以。
在一种实现方式中,该电子设备可以为终端也可以为服务器。当该电子设备为终端时,终端可以监控用户滑动滑动验证码的过程,实时或定时地采集其滑动过程中的轨迹点,所采集的轨迹点可以组成一条滑动轨迹,其中,每一轨迹点可以通过其位置信息以及采样时间标识。
当该电子设备为服务器时,服务器可以获得所连接的每一终端所上传的每一滑动轨迹中轨迹点的位置信息和采集时间,其中,每一终端所上传的每一滑动轨迹中的轨迹点可以为:该终端通过监控用户滑动滑动验证码的过程,而生成的滑动轨迹中的轨迹点。或者,也可以是:服务器监控持有所连接的终端的用户滑动滑动验证码的过程,进而生成的滑动轨迹点。上述滑动验证码可以是网页和/或应用软件所展示的滑动验证码。
每一滑动轨迹中可以包括多个轨迹点。在一种情况中,为了便于后续的异常滑动轨迹的检测流程,可以从待检测滑动轨迹包括的多个轨迹点中,筛选出预设数量的轨迹点,将该所筛选出的第一预设数量个轨迹点,作为该滑动轨迹的用于异常滑动轨迹的检测流程的待检测滑动轨迹点。其中,上述从待检测滑动轨迹包括的多个轨迹点中,筛选出第一预设数量的轨迹点的过程,可以是:采用随机的方式,从每一滑动轨迹包括的多个轨迹点中,筛选出第一预设数量的轨迹点。也可以是:尽量均匀地从每一滑动轨迹所包括的轨迹点中,筛选出第一预设数量的轨迹点。例如:当第一预设数量为10,滑动轨迹所包括的轨迹点为20,此时,可以每隔一个轨迹点筛选出一个轨迹点,以确定出第一预设数量个轨迹点。
在另一种情况中,为了便于后续的异常滑动轨迹的检测流程,可以在监控目标滑动滑动验证码的过程中,可以每隔预设时间间隔采集一轨迹点,以得到滑动轨迹。
一种情况,为了保证异常滑动轨迹的检测的及时性,电子设备可以每获得一滑动轨迹,将该滑动轨迹作为待检测滑动轨迹,并针对该待检测滑动轨迹执行后续的异常滑动轨迹的检测流程。
S102:基于每一待检测滑动轨迹点的位置信息以及采样时间,确定待检测滑动轨迹对应预设轨迹特征的待检测特征信息。
其中,滑动轨迹包括的多个轨迹点的位置信息以及采样时间,在一定程度上可以表征出该滑动轨迹自身的轨迹特征信息,而滑动轨迹自身的轨迹特征信息,在一定程度上可以表征出该滑动轨迹是否出现异常,即可以表征出该滑动轨迹是否为异常滑动轨迹。
在一种实现方式中,每一待检测滑动轨迹点的位置信息可以包括:在预设直角坐标系下的坐标值。其中,该预设直角坐标系的横轴的方向与滑动验证码的滑动方向平行,可以用x轴标识该横轴;该预设直角坐标系的纵轴的方向与滑动验证码的滑动方向垂直,可以用y轴标识该纵轴。
上述预设轨迹特征中的每一轨迹特征的轨迹特征信息均可以基于滑动轨迹包括的多个轨迹点的位置信息以及采样时间得到。
对于滑动轨迹来说,可以从不同角度来确定其自身的轨迹特征信息,在一种情况中,该预设轨迹特征可以包括但不限于如下特征中的至少一个:滑动轨迹对应的滑动位移特征、滑动角度特征、滑动速度特征、滑动加速度特征、采样时间间隔特征以及滑动轨迹中轨迹点的位置信息重复次数。
在一种情况中,滑动验证码的正常滑动方向为由左向右的滑动方向。此时,该滑动位移特征可以包括但不限于如下位移特征中的至少一个:滑动轨迹对应的在该横轴的方向上的滑动总距离,可以用x_dis标识;在该纵轴的方向上滑动总距离,可以用y_dis标识;在该横轴的方向上向左滑动的总距离,可以用x_dis_left标识;相邻轨迹点对应的表征在该横轴的方向上向左滑动的位移的位移个数,可以用x_minus_offset_cnt标识;相邻轨迹点对应的在该横轴的方向上的位移中的数值最大位移,可以用x_max_offset标识;相邻轨迹点对应的在纵轴的方向上的位移中的数值最大位移,可以用y_max_offset标识;相邻轨迹点对应的在该横轴的方向上的位移的熵,可以用x_entropy标识;相邻轨迹点对应的在该横轴的方向上的位移的方差,可以用x_offset_var标识。该相邻轨迹点指:采集时间相邻的两个轨迹点。
举例而言,滑动轨迹包括的轨迹点的个数为N,N为大于1的整数:滑动轨迹对应的在该横轴的方向上的滑动总距离其中,xi+1和xi分别表示相邻轨迹点中每一轨迹点在横轴上的坐标值,|xi+1-xi|表示相邻轨迹点在横轴上的坐标值的差的绝对值,i可以取1到N中的整数。
滑动轨迹对应的在该纵轴的方向上滑动总距离其中,yi+1和yi分别表示采集时间相邻的两个轨迹点在纵轴上的坐标值,|yi+1-yi|表示相邻轨迹点在纵轴上的坐标值的差的绝对值,i可以取1到N中的整数。
相邻轨迹点对应的在该横轴的方向上的位移的熵可以通过如下公式(1)计算得到:
x_entropy=-∑Gxp(Gx)*log10(p(Gx)) (1),
其中,Gx表示相邻轨迹点对应的在该横轴的方向上的位移x所在区间;p(Gx)表示相邻轨迹点对应的在该横轴的方向上的位移x所在区间出现的概率。举例而言例如,Gx可以为[0,5),[5,10),[10,15),相邻轨迹点对应的在该横轴的方向上的位移x共有10个,通过该10个位移,可以确定出出现[0,5),[5,10),[10,15)的概率分别为0.4,0.4和0.3,则x_entropy=-(0.4*log10(0.4)+0.3*log10(0.3)+0.3*log10(0.3))=0.47。
该在该横轴的方向上向左滑动的总距离:可以指xi+1-xi中为负数的结果的总和的绝对值,该在该横轴的方向上向左滑动的总距离的特征信息为:xi+1-xi中为负数的结果的总和的绝对值的具体值。相邻轨迹点对应的表征在该横轴的方向上向左滑动的位移的位移个数:可以指xi+1-xi的结果中为负数的结果的总个数。
该滑动角度特征可以包括但不限于如下角度特征:相邻轨迹点之间的角度的熵,可以用angle_entropy标识。其中,相邻轨迹点之间的角度可以指:相邻轨迹点的方向与预设直角坐标系的横轴的夹角,其中,可以基于预设角度计算公式,以及相邻轨迹点对应的第一差值和第二差值,确定相邻轨迹点的方向与预设直角坐标系的横轴的夹角。
一种实现方式中,上述预设角度计算公式,可以标识为:
du=atan2(xud*yud,xud*xud)*180/π;
其中,du表示第u对相邻轨迹点的方向与预设直角坐标系的横轴的夹角,其中,u为[1,N-1]中的整数;(xud,yud)表示第u对第一轨迹点的方向,xud=xu+1-xu,yud=yu+1-yu;π表示圆周率。
相邻轨迹点之间的角度的熵可以通过如下公式(2)计算得到:
angle_entropy=-∑Gdp(Gd)*log10(p(Gd)) (2);
其中,Gd表示相邻轨迹点的方向与预设直角坐标系的横轴的夹角du所在区间;p(Gd)表示相邻轨迹点的方向与预设直角坐标系的横轴的夹角du所在区间出现的概率。
该滑动速度特征可以包括但不限于如下速度特征中的至少一个:滑动轨迹对应的在横轴的方向上滑动的平均速度,可以用x_v_avg标识;在横轴的方向上滑动的最大速度,可以用x_v_max标识;在横轴的方向上移动的速度的方差,可以用x_v_var标识;和在纵轴的方向上滑动的平均速度,可以用y_v_avg标识;。
该滑动加速度特征可以包括但不限于如下加速度特征中的至少一个:滑动轨迹对应的在横轴的方向上滑动的平均加速度,可以用x_a_avg标识;在横轴的方向上滑动的最大加速度,可以用x_v_max标识;在横轴的方向上滑动的最大减速度,可以用x_v_max_left标识;以及在横轴的方向上滑动的加速度的方差,可以用x_v_var标识。
该采样时间间隔特征可以包括但不限于如下时间间隔特征中的至少一个:滑动轨迹对应的滑动采样总时间,可以用slide_time标识;以及相邻轨迹点的采样时间的间隔的熵,可以用time_entropy标识。其中,滑动轨迹对应的滑动采样总时间可以指:滑动轨迹中采样时间最早的轨迹点与最晚的轨迹点的采样时间之间的差值。相邻轨迹点的采样时间的间隔的熵可以通过如下公式(3)计算得到:
time_entropy=-∑Gtp(Gd)*log10(p(Gt)) (3);
其中,Gt表示相邻轨迹点的采样时间的间隔所在区间;p(Gt)表示相邻轨迹点的采样时间的间隔所在区间出现的概率。
一种情况中,滑动轨迹对应预设轨迹特征的特征信息可以是:基于滑动轨迹中轨迹点的位置信息和采集时间,计算所得的特征值。例如:滑动轨迹对应的在该横轴的方向上的滑动总距离的特征信息为:公式所计算的具体值。滑动轨迹对应的在该纵轴的方向上滑动总距离的特征信息为:公式所计算的具体值。相邻轨迹点对应的表征在该横轴的方向上向左滑动的位移的位移个数的特征信息为:xi+1-xi的结果中为负数的结果的总个数的具体值。其中,xi+1-xi表示相邻轨迹点在横轴上的坐标值的差,i可以取1到N中的整数。
S103:基于待检测特征信息以及预设轨迹分类模型,确定待检测滑动轨迹是否为异常滑动轨迹。
其中,预设轨迹分类模型用于基于滑动轨迹对应预设轨迹特征的特征信息,对滑动轨迹进行分类。即,可以确定待检测滑动轨迹为异常滑动轨迹或非异常滑动轨迹。
在确定出待检测滑动轨迹对应预设轨迹特征的待检测特征信息之后,可以基于预设轨迹分类模型以及该待检测特征信息,确定待检测滑动轨迹是否为异常滑动轨迹。
该预设轨迹分类模型为:预先基于样本滑动轨迹训练得到的模型,即基于样本滑动轨迹对应预设轨迹特征的特征信息训练得到的模型。其中,该样本滑动轨迹为:样本设备通过监控真实用户手动滑动滑动验证码的过程,而生成的滑动轨迹。该样本滑动轨迹为非异常滑动轨迹,可以是之前检测出的非异常滑动轨迹。
在一种情况中,为了保证样本滑动轨迹为手动滑动滑动验证码而生成的滑动轨迹的可信度,上述样本设备为:用户等级超过预设等级的用户所登录的设备和/或未被标定为异常检测命中用户的用户所登录的设备。其中,未被标定为异常检测命中用户的用户为:针对其滑动滑动验证码的过程而生成的滑动轨迹,未被确定为异常滑动轨迹的用户。
可以理解的是,用户等级超过预设等级的用户,为正常用户的可能性更大,用户等级超过预设等级的用户所登录的样本设备所生成的滑动轨迹,为非异常滑动轨迹的可能性更大。并且,未被标定为异常检测命中用户的用户所登录的样本设备所生成的滑动轨迹,为非异常滑动轨迹的可能性更大,通过上述样本设备所生成的滑动轨迹,训练得到预设轨迹分类模型,该预设轨迹分类模型的检测结果的准确性更高。
上述样本滑动轨迹可以是不同的样本设备所生成的,不同样本设备的展示界面的坐标系的尺寸可能相同,可能不同。而不同的样本设备在生成样本滑动轨迹时,该样本滑动轨迹包括的样本轨迹点的初始位置信息包括:在该样本设备的展示界面的坐标系下的坐标值。当不同样本设备的展示界面的坐标系的尺寸不同时,为了保证训练所得的预设轨迹分类模型稳定性以及后续的检测结果的准确性,需要统一样本滑动轨迹包括的样本轨迹点的位置信息。其中,样本设备的展示界面展示有滑动验证码,以使得用户可以手动滑动滑动验证码,样本设备生成滑动轨迹,即样本滑动轨迹。
一种情况,电子设备可以获得每一样本设备的展示界面的坐标系与预设直角坐标系之间的转换关系,进而基于该转换关系,将每一样本滑动轨迹包括的样本轨迹点的初始位置信息,从展示界面的坐标系下转化至预设直角坐标系下,以统一样本滑动轨迹包括的样本轨迹点的位置信息。
在一种实现方式中,在基于样本滑动轨迹训练得到预设轨迹分类模型的过程中,可以基于每一样本滑动轨迹包括的每一样本轨迹点的位置信息和采样时间,确定出每一样本滑动轨迹对应预设轨迹特征的特征信息,进而,利用每一样本滑动轨迹对应预设轨迹特征的特征信息,训练初始轨迹分类模型,直至该初始轨迹分类模型收敛,得到预设轨迹分类模型。为了布局清楚,具体的模型训练过程在下文进行详细介绍。
可以理解的是,基于样本滑动轨迹训练得到该预设轨迹分类模型,该样本滑动轨迹均为非异常滑动轨迹,该样本滑动轨迹对应预设轨迹特征的特征信息均为:可以表征非异常滑动轨迹的特征信息。基于该均表征非异常滑动轨迹的特征信息,训练得到的预设轨迹分类模型,可以准确地基于待检测滑动轨迹的待检测特征信息,确定出该待检测滑动轨迹与非异常滑动轨迹的差异,若所确定的差异较小,例如差异小于预设差异值,则可以确定待检测滑动轨迹为非异常滑动轨迹;若所确定的差异较大,例如差异不小于预设差异值,则可以确定待检测滑动轨迹为异常滑动轨迹。
例如,将待检测特征信息输入预设轨迹分类模型中,得到模型的输出结果,将该输出结果与预设输出结果进行比较,预设输出结果可以为非异常滑动轨迹对应的输出结果。如果两者的差异较小,则可以确定待检测滑动轨迹为非异常滑动轨迹;如果两者的差异较大,则可以确定待检测滑动轨迹为异常滑动轨迹。不同类型的预设轨迹分类模型,对应不同的输出结果,相应的,预设输出结果也各不相同。
一种实现方式中,在确定出待检测滑动轨迹为异常滑动轨迹时,可以继续确定该待检测滑动轨迹的来源的来源标识,进而记录该来源标识,并标记该来源标识为异常来源标识,即将该来源标识为异常来源,后续的,对该异常来源的访问请求进行拦截,不允许该待检测滑动轨迹的来源进行访问。其中,该来源标识可以包括生成该待检测滑动轨迹的设备的设备标识,以及登录该生成该待检测滑动轨迹的设备的用户的用户标识。
本发明实施例中,直接通过待检测滑动轨迹对应预设轨迹特征的待检测特征信息以及预设轨迹分类模型,来确定待检测滑动轨迹是否为异常滑动轨迹。即直接通过待检测滑动轨迹自身的轨迹特征,来确定待检测滑动轨迹是否为异常滑动轨迹,无需通过统计来自同一访问设备标识的设备的滑动轨迹的频次,确定待检测滑动轨迹是否为异常滑动轨迹,可以避免恶意访问设备通过变更访问设备标识的形式绕过,即通过变更访问设备标识的形式,降低来自同一访问设备标识的设备的滑动轨迹的频次,导致异常滑动轨迹的检测准确性降低的情况。在一定程度上实现对异常滑动轨迹更有效的检测,进而提高对恶意访问设备的检测准确性。
在一种实现方式中,该预设轨迹分类模型可以包括:预设孤立森林模型和/或预设混合高斯模型。其中,本发明实施例中,可以单独利用上述预设孤立森林模型和预设混合高斯模型中的任一种模型,基于待检测滑动轨迹对应预设轨迹特征的待检测特征信息,确定该待检测滑动轨迹是否为异常滑动轨迹;也可以结合利用上述预设孤立森林模型和预设混合高斯模型两种模型,基于待检测滑动轨迹对应预设轨迹特征的待检测特征信息,确定该待检测滑动轨迹是否为异常滑动轨迹,这都是可以的。或者,也可以采用除预设孤立森林模型和预设混合高斯模型以外的其他分类模型。
如果预设轨迹分类模型包括:预设孤立森林模型和/或预设混合高斯模型,参见图2,S103可以包括以下步骤:
S1031:将待检测特征信息输入预设孤立森林模型中,得到第一检测结果;以及将待检测特征信息输入预设混合高斯模型中,得到第二检测结果。
对于得到第一检测结果,参见图3,可以包括以下步骤:
S301:针对预设孤立森林模型中的每一预设孤立树,将待检测特征信息输入该预设孤立树,确定待检测滑动轨迹在该预设孤立树中的高度。
S302:基于待检测滑动轨迹在每一预设孤立树中的高度,确定待检测滑动轨迹对应的分类高度。
S303:基于分类高度是否满足预设高度阈值的判断结果,得到第一检测结果。
当预设轨迹分类模型包括预设孤立森林模型时,可以仅利用预设孤立森林模型对待检测滑动轨迹进行异常检测,即检测待检测滑动轨迹是否为异常滑动轨迹。
该预设孤立森林模型为:基于样本滑动轨迹训练所得的模型,即该预设孤立森林模型基于样本滑动轨迹对应预设轨迹特征的特征信息,训练得到的模型。
基于样本滑动轨迹训练得到预设孤立森林模型的过程,可以理解为:基于样本滑动轨迹,训练得到预设孤立森林模型中的每一预设孤立树的过程。其中,针对每一预设孤立树训练过程是相同的,训练每一预设孤立树的样本滑动轨迹存在随机性。
该预设孤立森林模型可以包括至少一个预设孤立树。对于每一预设孤立树来说,预设孤立树为二叉树结构,可以包括多层节点,每层中可以包括至少一个节点,每一节点对应一指定轨迹特征,且对应一该指定轨迹特征的分类特征信息。其中,该每一节点对应的指定轨迹特征,是在训练得到预设孤立森林模型的过程中,针对每一节点随机确定的。每一节点对应的指定轨迹特征属于预设轨迹特征。
每一节点对应指定轨迹特征的分类特征信息为:在训练得到预设孤立森林模型的过程中,基于该节点中的样本滑动轨迹对应的特征信息确定的。每一节点对应指定轨迹特征的分类特征信息,属于目标范围,该目标范围的上限值可以为:该节点中的样本滑动轨迹对应指定轨迹特征的特征信息的最大值;下限值为:该节点中的样本滑动轨迹对应指定轨迹特征的特征信息的最小值。每一节点的指定轨迹特征的分类特征信息:用于对待检测滑动轨迹模型进行分类。
本实现方式中,可以将待检测滑动轨迹对应的待检测特征信息,输入预设孤立森林模型中的每一预设孤立树,即将待检测滑动轨迹对应的待检测特征信息,输入预设孤立森林模型中的每一预设孤立树的处于最底端的节点中;针对每一预设孤立树,基于该预设孤立树处于最底端的节点对应指定轨迹特征的分类特征信息,以及该待检测滑动轨迹对应的待检测特征信息,对该待检测滑动轨迹进行分类;即确定该待检测滑动轨迹对应的待检测特征信息被输入到该最底端的节点的左孩子节点,还是右孩子节点;以此类推,直至该待检测滑动轨迹对应的待检测特征信息,被输入到该预设孤立树的某一枝的处于顶端的节点中,此时,确定该某一枝的处于顶端的节点所处节点高度,作为该待检测滑动轨迹在该预设孤立树中的高度。
其中,上述基于该预设孤立树处于最底端的节点对应指定轨迹特征的分类特征信息,以及该待检测滑动轨迹对应的待检测特征信息,对该待检测滑动轨迹进行分类的过程,可以是:判断该待检测滑动轨迹对应该指定轨迹特征的待检测特征信息,是否小于与该预设孤立树处于最底端的节点对应指定轨迹特征的分类特征信息;若判断小于,则确定将待检测滑动轨迹对应的检测特征信息,输入该预设孤立树处于最底端的节点的左孩子节点;若判断不小于,则确定将待检测滑动轨迹对应的检测特征信息,输入该预设孤立树处于最底端的节点的右孩子节点。
确定出待检测滑动轨迹在每一预设孤立树中的高度之后,基于待检测滑动轨迹在每一预设孤立树中的高度,确定检测滑动轨迹对应的分类高度。在一种实现方式中,基于待检测滑动轨迹在每一预设孤立树中的高度,确定待检测滑动轨迹对应的分类高度的方式存在多种多样。一种情况,可以是:计算待检测滑动轨迹在各预设孤立树中的高度的平均值;将平均值确定为待检测滑动轨迹对应的分类高度。将待检测滑动轨迹在各预设孤立树中的高度的平均值,作为待检测滑动轨迹对应的分类高度,在一定程度上可以均化待检测滑动轨迹在每一预设孤立树中的高度中出现的随机性,在一定程度上可以保证后续的对待检测滑动轨迹的检测结果的准确性。另一种情况,可以是:基于待检测滑动轨迹在每一预设孤立树中的高度,统计每一高度对应的数量;将所对应数量最大的高度作为待检测滑动轨迹对应的分类高度,这也是可以的。
上述预设孤立森林模型中每一预设孤立树均为:基于非异常滑动轨迹对应预设轨迹特征的特征信息训练得到的。当待检测滑动轨迹对应的待检测特征信息在预设孤立树中遍历的层数越高,可以表征该待检测滑动轨迹与非异常滑动轨迹越相似,即与非异常滑动轨迹的差异越小,该待检测滑动轨迹为非异常滑动轨迹的可能性越大。
本实现方式中,可以通过设置高度阈值的方式,来确定待检测滑动轨迹是否为异常滑动轨迹。若判断分类高度低于预设高度阈值,则可以确定待检测滑动轨迹与非异常滑动轨迹之间的差异较大,则确定用于表征待检测滑动轨迹为异常滑动轨迹的第一检测结果。在仅基于该预设孤立森林模型对待检测滑动轨迹进行检测的情况下,当确定出用于表征待检测滑动轨迹为异常滑动轨迹的第一检测结果后,直接基于该第一检测结果,确定该待检测滑动轨迹为异常滑动轨迹。若判断分类高度不低于预设高度阈值,则可以确定待检测滑动轨迹与非异常滑动轨迹之间的差异较小,则确定用于表征待检测滑动轨迹为非异常滑动轨迹的第一检测结果。在仅基于该预设孤立森林模型对待检测滑动轨迹进行检测的情况下,当确定出用于表征待检测滑动轨迹为非异常滑动轨迹的第一检测结果后,直接基于该第一检测结果,确定该待检测滑动轨迹为非异常滑动轨迹。
在一种实现方式中,在针对预设孤立森林模型中的每一预设孤立树,将待检测特征信息输入该预设孤立树,确定待检测滑动轨迹在该预设孤立树中的高度之前,方法还可以包括:训练初始孤立森林模型中每一初始孤立树,并确定训练后的孤立森林模型为预设孤立森林模型。
训练得到预设孤立森林模型的过程可以包括:
获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间;基于样本轨迹点的位置信息以及采样时间,确定样本滑动轨迹对应预设轨迹特征的特征信息;基于样本滑动轨迹对应预设轨迹特征的特征信息,训练初始孤立树,得到预设孤立树。
其中,样本滑动轨迹为非异常滑动轨迹,可以为符合预设筛选条件的样本设备通过监控其用户滑动滑动验证码的过程,而生成的轨迹,符合预设筛选条件的样本设备包括:用户等级超过预设等级的用户所登录的设备和/或未被标定为异常检测命中用户的用户所登录的设备。
本实现方式中,获得多个样本滑动轨迹之后,基于每一样本滑动轨迹中的每一样本轨迹点的位置信息以及采样时间,确定每一样本滑动轨迹对应预设轨迹特征的特征信息(可以称为第一特征信息)。进而,基于样本滑动轨迹对应的第一特征信息,训练初始孤立树。
另外,为了保证训练所得的预设孤立森林模型中,每一预设孤立树之间的随机性,还可以从多个样本滑动轨迹中,筛选出第二预设数量个样本滑动轨迹,作为目标样本滑动轨迹,进而,基于目标样本滑动轨迹对应的第一特征信息,训练初始孤立树。基于目标样本滑动轨迹对应的第一特征信息,训练初始孤立树的方法,与基于样本滑动轨迹对应的第一特征信息,训练初始孤立树的方法类似。
上述第二预设数量为工作人员根据所获得的样本滑动轨迹的数量设置的,也可以是电子设备根据所获得的样本滑动轨迹的数量设置的。目标样本滑动轨迹则为用于训练得到预设孤立森林模型的样本滑动轨迹。
可以理解的是,用户等级超过预设等级的用户,为正常用户的可能性更大,用户等级超过预设等级的用户所登录的样本设备所生成的滑动轨迹,为非异常滑动轨迹的可能性也更大。并且,未被标定为异常检测命中用户的用户所登录的样本设备所生成的滑动轨迹,为非异常滑动轨迹的可能性也更大。通过上述样本设备所生成的滑动轨迹,训练得到预设孤立森林模型,该预设孤立森林模型的检测结果的准确性更高。
一种情况中,所获得的样本滑动轨迹的数量越多,训练的孤立树的数量越多,训练所得的预设孤立森林模型越稳定,基于该预设孤立森林模型所确定的结果的准确性越高。
在一种实现方式中,基于样本滑动轨迹对应预设轨迹特征的特征信息,训练初始孤立树的步骤,可以包括:
针对每一样本滑动轨迹,将该样本滑动轨迹对应预设轨迹特征的特征信息,输入初始孤立树的当前节点。
随机从预设轨迹特征中确定一轨迹特征,作为当前节点对应的指定轨迹特征。
生成指定轨迹特征对应的分类特征信息,作为当前节点对应的分类特征信息,其中,分类特征信息属于目标范围,目标范围的上限值为:当前节点中的样本滑动轨迹对应的目标特征信息中的最大值,目标范围的下限值为:当前节点中的样本滑动轨迹对应的目标特征信息中的最小值,目标特征信息为:当前节点中的样本滑动轨迹对应指定轨迹特征的特征信息。
判断该样本滑动轨迹对应的目标特征信息是否小于分类特征信息。
若该样本滑动轨迹对应的目标特征信息小于分类特征信息,将该样本滑动轨迹对应的第一特征信息,输入当前节点的左孩子节点。
若该样本滑动轨迹对应的目标特征信息不小于分类特征信息,将该样本滑动轨迹对应的第一特征信息,输入当前节点的右孩子节点。
将当前节点的孩子节点中所包括样本滑动轨迹的数量不低于1的孩子节点,作为新的当前节点,其中,当前节点的孩子节点包括该当前节点的左孩子节点和右孩子节点。
返回执行随机从预设轨迹特征中确定一轨迹特征,作为当前节点对应的指定轨迹特征的步骤,直至初始孤立树的节点高度达到预设高度,或初始孤立树中所有处于顶端的节点中的样本滑动轨迹的数量为1。
在训练过程之前,每一初始孤立树中仅包括1个节点,在开始训练该初始孤立树时,可以将该初始孤立树中所包括的该1个节点,作为该初始孤立树的当前节点。
对于每一初始孤立树来说,其训练过程均是相同的,其对应的训练所用的样本滑动轨迹存在差异,在训练过程中,可以是顺序训练每一初始孤立树,也可以是并行的训练每一初始孤立树。
以下基于其中的一个初始孤立树的训练过程,进行说明。
在确定出某一初始孤立树对应的样本滑动轨迹之后,将确定出的每一样本滑动轨迹对应的第一特征信息,输入该初始孤立树的当前节点,即输入该初始孤立树的所包括的该1个节点,随机从预设轨迹特征中确定一轨迹特征,作为当前节点对应的指定轨迹特征,并生成指定轨迹特征对应的分类特征信息,作为当前节点对应的分类特征信息,利用该当前节点对应的分类特征信息,对输入该初始孤立树中的每一样本滑动轨迹进行分类。其中,生成的指定轨迹特征对应的分类特征信息,可以是目标范围内随机选择的分类特征信息。
具体的,对输入该初始孤立树中的每一样本滑动轨迹的分类过程,可以是:判断每一样本滑动轨迹对应的第一特征信息,是否小于与该当前节点对应的分类特征信息;若该样本滑动轨迹对应的第一特征信息小于该当前节点对应的分类特征信息,将该样本滑动轨迹对应的第一特征信息,输入当前节点的左孩子节点;若该样本滑动轨迹对应的第一特征信息不小于该当前节点对应的分类特征信息,将该样本滑动轨迹对应的第一特征信息,输入当前节点的右孩子节点。
后续的,将当前节点的孩子节点中所包括样本滑动轨迹的数量不低于1的孩子节点,作为新的当前节点;即当当前节点的左孩子节点中所包括样本滑动轨迹的数量不低于1,将该当前节点的左孩子节点作为新的当前节点,并返回执行随机从预设轨迹特征中确定一轨迹特征,作为当前节点对应的指定轨迹特征的步骤;当当前节点的右孩子节点中所包括样本滑动轨迹的数量不低于1,将该当前节点的左孩子节点作为新的当前节点,并返回执行随机从预设轨迹特征中确定一轨迹特征,作为当前节点对应的指定轨迹特征的步骤。以此类推,直至该初始孤立树中处于顶端的所有节点中的样本滑动轨迹的数量为1,或该初始孤立树的节点高度达到预设高度,确定该初始孤立树训练完成。
在一种情况中,该初始孤立树训练完成的条件为:该初始孤立树的节点高度达到预设高度。在将当前节点的孩子节点中所包括样本滑动轨迹的数量不低于1的孩子节点,作为新的当前节点之前,还可以判断该初始孤立树当前的节点高度是否达到预设高度,若判断该初始孤立树当前的节点高度未达到预设高度,执行将当前节点的孩子节点中所包括样本滑动轨迹的数量不低于1的孩子节点,作为新的当前节点的步骤;若判断该初始孤立树的当前的节点高度达到预设高度,则确定该初始孤立树训练完成。
对于得到第二检测结果,参见图4,可以包括以下步骤:
S401:将待检测特征信息输入预设混合高斯模型,确定预设混合高斯模型的输出为述待检测滑动轨迹对应的概率密度。
S402:基于概率密度是否满足预设概率阈值的判断结果,得到第二检测结果。
当预设轨迹分类模型包括预设混合高斯模型时,可以仅利用预设混合高斯模型对待检测滑动轨迹进行异常检测,即检测待检测滑动轨迹是否为异常滑动轨迹。
该预设混合高斯模型为:基于样本滑动轨迹训练所得的模型,即该预设混合高斯模型基于样本滑动轨迹对应预设轨迹特征的特征信息,训练得到的模型。
本实现方式中,可以将待检测滑动轨迹对应的待检测特征信息,输入预设混合高斯模型,基于该预设混合高斯模型计算该待检测滑动轨迹对应的概率密度,进而基于概率密度,得到第二检测结果,当第二检测结果表征该待检测滑动轨迹为异常滑动轨迹时,则直接确定该待检测滑动轨迹为异常滑动轨迹;当第二检测结果表征该待检测滑动轨迹为非异常滑动轨迹时,若无其他异常检测结果,则直接确定该待检测滑动轨迹为非异常滑动轨迹。
上述预设混合高斯模型为:基于非异常滑动轨迹对应预设轨迹特征的特征信息训练得到的。当预设混合高斯模型所确定的待检测滑动轨迹对应的概率密度越大,可以表征该待检测滑动轨迹与非异常滑动轨迹越相似,即与非异常滑动轨迹的差异越小,该待检测滑动轨迹为非异常滑动轨迹的可能性越大。
本实现方式中,可以通过设置概率阈值的方式,来确定待检测滑动轨迹是否为异常滑动轨迹。若判断概率密度低于预设概率阈值,则可以确定待检测滑动轨迹与非异常滑动轨迹之间的差异较大,则确定用于表征待检测滑动轨迹为异常滑动轨迹的第二检测结果。在仅基于该预设混合高斯模型对待检测滑动轨迹进行检测的情况下,当确定出用于表征待检测滑动轨迹为异常滑动轨迹的第二检测结果后,直接基于该第二检测结果,确定该待检测滑动轨迹为异常滑动轨迹。若判断概率密度不低于预设概率阈值,则可以确定待检测滑动轨迹与非异常滑动轨迹之间的差异较小,则确定用于表征待检测滑动轨迹为非异常滑动轨迹的第二检测结果。在仅基于该预设混合高斯模型对待检测滑动轨迹进行检测的情况下,当确定出用于表征待检测滑动轨迹为非异常滑动轨迹的第二检测结果后,直接基于该第二检测结果,确定该待检测滑动轨迹为非异常滑动轨迹。
在一种实现方式中,在将待检测特征信息输入预设混合高斯模型的步骤之前,方法还可以包括:训练初始混合高斯模型,并确定训练后的混合高斯模型为预设混合高斯模型。
训练得到预设孤立混合高斯模型的过程可以包括:
获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间;基于样本轨迹点的位置信息以及采样时间,确定该样本滑动轨迹对应预设轨迹特征的特征信息;基于样本滑动轨迹对应预设轨迹特征的特征信息,训练初始混合高斯模型,得到预设混合高斯模型。
其中,样本滑动轨迹为非异常滑动轨迹,可以以为符合预设筛选条件的样本设备通过检测其用户滑动滑动验证码的过程,而生成的轨迹,符合预设筛选条件的样本设备包括:用户等级超过预设等级的用户所登录的设备和/或未被标定为异常检测命中用户的用户所登录的设备。
另外,用户等级超过预设等级的用户,为正常用户的可能性更大,用户等级超过预设等级的用户所登录的样本设备所生成的滑动轨迹,为非异常滑动轨迹的可能性也更大。并且,未被标定为异常检测命中用户的用户所登录的样本设备所生成的滑动轨迹,为非异常滑动轨迹的可能性也更大。通过上述样本设备所生成的滑动轨迹,训练得到预设混合高斯模型,该预设混合高斯模型的检测结果的准确性更高。
一种情况,训练初始混合高斯模型的样本滑动轨迹的数量越多,其训练所得的预设混合高斯模型的稳定性越高,且基于该训练所得的预设混合高斯模型的确定结果的准确性越高。
本实现方式中,在获得初始混合高斯模型以及多个样本滑动轨迹之后,可以基于每一样本滑动轨迹中的每一样本轨迹点的位置信息以及采样时间,确定每一样本滑动轨迹对应预设轨迹特征的特征信息(可以称为第二特征信息)。进而基于样本滑动轨迹对应的第二特征信息,训练初始混合高斯模型,得到预设混合高斯模型。
一种实现方式中,训练初始混合高斯模型的样本滑动轨迹,与上述训练初始孤立树的样本滑动轨迹可以相同,也可以不同。
在一种实现方式中,该初始混合高斯模型包括多个初始高斯子模型。
基于样本滑动轨迹对应预设轨迹特征的特征信息,训练初始混合高斯模型的步骤,可以包括:
针对每一样本滑动轨迹,将该样本滑动轨迹对应预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度。
根据每一样本滑动轨迹在每一初始高斯子模型下的预测概率密度,更新每一初始高斯子模型的模型参数,得到每一初始高斯子模型的更新后的模型参数的参数值。
基于每一初始高斯子模型的更新后的模型参数的参数值,判断初始混合高斯模型对应的预设的似然函数是否收敛。
若似然函数收敛,得到包含每一初始高斯子模型的更新后的模型参数的参数值的预设混合高斯模型。
若似然函数未收敛,返回执行针对每一样本滑动轨迹,将该样本滑动轨迹对应预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度的步骤,直至似然函数收敛。
其中,初始混合高斯模型包括多个高斯子模型,每一高斯子模型的模型参数可以包括均值向量、协方差矩阵以及权重值。
在训练初始混合高斯模型之前,可以预先设置每一高斯子模型的模型参数的初始值,进而,将每一样本滑动轨迹对应的第二特征信息,输入初始混合高斯模型的每一初始高斯子模型,得到每一样本滑动轨迹在每一初始高斯子模型下的预测概率密度。进而,根据每一样本滑动轨迹在每一高斯子模型下的预测概率密度,更新每一初始高斯子模型的模型参数,得到每一初始高斯子模型的更新后的模型参数的参数值。
其中,上述得到每一初始高斯子模型的更新后的模型参数的过程,可以是:将每一样本滑动轨迹在每一高斯子模型下的预测概率密度,输入预设的似然函数,该似然函数中包括每一初始高斯子模型的模型参数;进而,调整每一初始高斯子模型的模型参数,使得该似然函数对应的函数值达到最大,然后,确定该似然函数对应的函数值达到最大时,每一初始高斯子模型的模型参数的具体值,作为每一初始高斯子模型的更新后的模型参数的参数值。
后续的,可以基于每一初始高斯子模型的更新后的模型参数的参数值,判断初始混合高斯模型对应的预设的似然函数是否收敛。一种情况,确定本次迭代时该似然函数对应的最大的函数值,作为当前函数值;计算当前函数值与前一次迭代所得该似然函数对应的最大的函数值的差值;判断该差值是否小于预设收敛阈值,若判断小于,则确定该似然函数收敛;若判断不小于,则确定该似然函数未收敛。另一种情况,确定该似然函数对应的当前迭代次数,判断该当前迭代次数是否达到预设次数,若达到预设次数,则确定该似然函数收敛;若未达到预设次数,则确定该似然函数未收敛。
在一种情况中,该预设混合高斯模型,可以通过如下公式表示:
其中,p(h)表示滑动轨迹h的概率密度;p(k)表示选中第k个类的概率,p(h|k)表示在第k个类下选中滑动轨迹h的概率;dk表示第k个类的权重值,其中,该dk与训练时属于该类的样本滑动轨迹的数量有关;表示在第k个类的均值向量μk和协方差矩阵下生成滑动轨迹h的概率。
其中,该公式中的第k个类的均值向量μk的、协方差矩阵以及第k个类的权重值的参数值,均为训练该预设混合高斯模型对应的预设的似然函数收敛时的均值向量μk、协方差矩阵以及第k个类的权重值的参数值。上述K表示预设混合高斯模型所包括的高斯子模型的数量,上述的类可以表示高斯子模型。
一种情况中,当预设轨迹分类模型包括:预设孤立森林模型和预设混合高斯模型时,训练得到预设孤立森林模型的样本滑动轨迹,与训练得到预设混合高斯模型的样本滑动轨迹相同。以保证基于预设孤立森林模型和预设混合高斯模型,对待检测滑动轨迹进行异常检测的结果的准确性。
因此,当预设轨迹分类模型包括:预设孤立森林模型和预设混合高斯模型时,在结合预设孤立森林模型和预设混合高斯模型,共同确定待检测滑动轨迹是否为异常滑动轨迹之前,需要预先训练得到预设孤立森林模型和预设混合高斯模型。如图5所示,在训练过程中,可以首先获得多个样本滑动轨迹,基于每一样本滑动轨迹中包括的每一样本轨迹点的位置信息和采集时间,确定每一样本滑动轨迹对应预设轨迹特征的特征信息;后续的,利用每一样本滑动轨迹对应预设轨迹特征的特征信息,分别训练初始孤立森林模型和初始混合高斯模型,以得到预设孤立森林模型和预设混合高斯模型;进而,结合预设孤立森林模型和预设混合高斯模型,对待检测滑动轨迹进行异常检测。
本实现方式中,对于预设孤立森林模型和预设混合高斯模型的训练过程,已在上文中详细介绍,在此不再赘述。
S1032:若第一检测结果和/或第二检测结果中,至少有一个检测结果表征待检测滑动轨迹为异常滑动轨迹,则确定待检测滑动轨迹为异常滑动轨迹。
本实现方式中,当结合预设孤立森林模型和预设混合高斯模型,对待检测滑动轨迹进行异常检测,即检测待检测滑动轨迹是否为异常滑动轨迹时,若第一检测结果和/或第二检测结果中,至少有一个检测结果表征待检测滑动轨迹为异常滑动轨迹,则确定待检测滑动轨迹为异常滑动轨迹。仅当第一检测结果和第二检测结果均表征待检测滑动轨迹为非异常滑动轨迹时,确定待检测滑动轨迹为非异常滑动轨迹。
相应于上述方法实施例,本发明实施例还提供了一种异常滑动轨迹的检测装置,如图6所示,所述装置包括:
第一获得模块601,用于获得待检测滑动轨迹,其中,所述待检测滑动轨迹包括:多个待检测滑动轨迹点的位置信息以及采样时间;
第一确定模块602,用于基于每一待检测滑动轨迹点的位置信息以及采样时间,确定所述待检测滑动轨迹对应预设轨迹特征的待检测特征信息;
第二确定模块603,用于基于所述待检测特征信息以及预设轨迹分类模型,确定所述待检测滑动轨迹是否为异常滑动轨迹,其中,所述预设轨迹分类模型用于基于滑动轨迹对应所述预设轨迹特征的特征信息,对滑动轨迹进行分类。
可选地,所述预设轨迹特征包括如下特征中的至少一个:滑动轨迹对应的滑动位移特征、滑动角度特征、滑动速度特征、滑动加速度特征、采样时间间隔特征以及滑动轨迹中轨迹点的位置信息重复次数。
可选地,所述预设轨迹分类模型包括:预设孤立森林模型和/或预设混合高斯模型;
所述第二确定模块603,包括:
第一确定子模块,用于将所述待检测特征信息输入所述预设孤立森林模型中,得到第一检测结果;以及将所述待检测特征信息输入所述预设混合高斯模型中,得到第二检测结果;
第二确定子模块,用于若所述第一检测结果和/或所述第二检测结果,至少有一个检测结果表征所述待检测滑动轨迹为异常滑动轨迹,则确定所述待检测滑动轨迹为异常滑动轨迹。
可选地,所述第一确定子模块,具体用于针对所述预设孤立森林模型中的每一预设孤立树,将所述待检测特征信息输入该预设孤立树,确定所述待检测滑动轨迹在该预设孤立树中的高度;
基于所述待检测滑动轨迹在每一预设孤立树中的高度,确定所述待检测滑动轨迹对应的分类高度;
基于所述分类高度是否满足预设高度阈值的判断结果,得到第一检测结果。
可选地,所述第一确定子模块,具体用于计算所述待检测滑动轨迹在各预设孤立树中的高度的平均值;
将所述平均值确定为所述待检测滑动轨迹对应的分类高度。
可选地,所述装置还包括:
第三确定模块,用于训练初始孤立森林模型中每一初始孤立树,并确定训练后的孤立森林模型为预设孤立森林模型;
所述第三确定模块,包括:
第一获得子模块,用于获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间,其中,所述样本滑动轨迹为非异常滑动轨迹;
第三确定子模块,用于基于所述样本轨迹点的位置信息以及采样时间,确定所述样本滑动轨迹对应所述预设轨迹特征的特征信息;
第一训练子模块,用于基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始孤立树,得到预设孤立树。
可选地,所述第一训练子模块,具体用于针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入初始孤立树的当前节点;
随机从所述预设轨迹特征中确定一轨迹特征,作为所述当前节点对应的指定轨迹特征;
生成所述指定轨迹特征对应的分类特征信息,作为所述当前节点对应的分类特征信息,其中,所述分类特征信息属于目标范围,所述目标范围的上限值为:所述当前节点中的样本滑动轨迹对应的目标特征信息中的最大值,所述目标范围的下限值为:所述当前节点中的样本滑动轨迹对应的目标特征信息中的最小值,所述目标特征信息为:所述当前节点中的样本滑动轨迹对应所述指定轨迹特征的特征信息;
判断该样本滑动轨迹对应的目标特征信息是否小于所述分类特征信息;
若该样本滑动轨迹对应的目标特征信息小于所述分类特征信息,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入所述当前节点的左孩子节点;
若该样本滑动轨迹对应的目标特征信息不小于所述分类特征信息,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入所述当前节点的右孩子节点;
将所述当前节点的孩子节点中所包括样本滑动轨迹的数量不低于1的孩子节点,作为新的当前节点,其中,所述当前节点的孩子节点包括所述当前节点的左孩子节点和右孩子节点;
返回执行随机从所述预设轨迹特征中确定一轨迹特征,作为所述当前节点对应的指定轨迹特征的步骤,直至所述初始孤立树的节点高度达到预设高度,或所述初始孤立树中所有处于顶端的节点中的样本滑动轨迹的数量为1。
可选地,所述第一确定子模块,具体用于将所述待检测特征信息输入所述预设混合高斯模型,确定所述预设混合高斯模型的输出为所述待检测滑动轨迹对应的概率密度;
基于所述概率密度是否满足预设概率阈值的判断结果,得到第二检测结果。
可选地,所述装置还包括:
第四确定模块,用于训练初始混合高斯模型,并确定训练后的混合高斯模型为预设混合高斯模型;
所述第四确定模块,包括:
第二获得子模块,用于获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间,其中,所述样本滑动轨迹为非异常滑动轨迹;
第四确定子模块,用于基于所述样本轨迹点的位置信息以及采样时间,确定该样本滑动轨迹对应所述预设轨迹特征的特征信息;
第二训练子模块,用于基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始混合高斯模型,得到预设混合高斯模型。
可选地,所述初始混合高斯模型包括多个初始高斯子模型;
所述第二训练子模块,具体用于针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度;
根据每一样本滑动轨迹在每一初始高斯子模型下的预测概率密度,更新每一初始高斯子模型的模型参数,得到每一初始高斯子模型的更新后的模型参数的参数值;
基于每一初始高斯子模型的更新后的模型参数的参数值,判断所述初始混合高斯模型对应的预设的似然函数是否收敛;
若所述似然函数收敛,得到包含每一初始高斯子模型的更新后的模型参数的参数值的预设混合高斯模型;
若所述似然函数未收敛,返回执行所述针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度的步骤,直至所述似然函数收敛。
相应于上述方法实施例,本发明实施例还提供了一种电子设备,如图7示,包括处理器710、通信接口720、存储器730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信,
存储器730,用于存放计算机程序;
处理器710,用于执行存储器730上所存放的程序时,实现本发明实施例所提供的上述任一项所述的异常滑动轨迹的检测方法步骤。
本发明实施例中,直接通过待检测滑动轨迹对应预设轨迹特征的待检测特征信息以及预设轨迹分类模型,来确定待检测滑动轨迹是否为异常滑动轨迹。即直接通过待检测滑动轨迹的自身的轨迹特征,来确定待检测滑动轨迹是否为异常滑动轨迹,无需通过统计来自同一访问设备标识的设备的滑动轨迹的频次,确定待检测滑动轨迹是否为异常滑动轨迹,可以避免恶意访问设备通过变更访问设备标识的形式绕过,即通过变更访问设备标识的形式,降低来自同一访问设备标识的设备的滑动轨迹的频次,导致异常滑动轨迹的检测准确性降低的情况。在一定程度上实现对异常滑动轨迹更有效的检测,进而提高对恶意访问设备的检测准确性。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral PomponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的异常滑动轨迹的检测方法步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的异常滑动轨迹的检测方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (22)
1.一种异常滑动轨迹的检测方法,其特征在于,所述方法包括:
获得待检测滑动轨迹,其中,所述待检测滑动轨迹包括:多个待检测滑动轨迹点的位置信息以及采样时间;
基于每一待检测滑动轨迹点的位置信息以及采样时间,确定所述待检测滑动轨迹对应预设轨迹特征的待检测特征信息;
基于所述待检测特征信息以及预设轨迹分类模型,确定所述待检测滑动轨迹是否为异常滑动轨迹,其中,所述预设轨迹分类模型用于基于滑动轨迹对应所述预设轨迹特征的特征信息,对滑动轨迹进行分类。
2.根据权利要求1所述的方法,其特征在于,所述预设轨迹特征包括如下特征中的至少一个:滑动轨迹对应的滑动位移特征、滑动角度特征、滑动速度特征、滑动加速度特征、采样时间间隔特征以及滑动轨迹中轨迹点的位置信息重复次数。
3.根据权利要求1或2所述的方法,其特征在于,所述预设轨迹分类模型包括:预设孤立森林模型和/或预设混合高斯模型;
所述基于所述待检测特征信息以及预设轨迹分类模型,确定所述待检测滑动轨迹是否为异常滑动轨迹的步骤,包括:
将所述待检测特征信息输入所述预设孤立森林模型中,得到第一检测结果;以及将所述待检测特征信息输入所述预设混合高斯模型中,得到第二检测结果;
若所述第一检测结果和/或所述第二检测结果,至少有一个检测结果表征所述待检测滑动轨迹为异常滑动轨迹,则确定所述待检测滑动轨迹为异常滑动轨迹。
4.根据权利要求3所述的方法,其特征在于,所述将所述待检测特征信息输入所述预设孤立森林模型中,得到第一检测结果的步骤,包括:
针对所述预设孤立森林模型中的每一预设孤立树,将所述待检测特征信息输入该预设孤立树,确定所述待检测滑动轨迹在该预设孤立树中的高度;
基于所述待检测滑动轨迹在每一预设孤立树中的高度,确定所述待检测滑动轨迹对应的分类高度;
基于所述分类高度是否满足预设高度阈值的判断结果,得到第一检测结果。
5.根据权利要求4所述的方法,其特征在于,所述基于所述待检测滑动轨迹在每一预设孤立树中的高度,确定所述待检测滑动轨迹对应的分类高度的步骤,包括:
计算所述待检测滑动轨迹在各预设孤立树中的高度的平均值;
将所述平均值确定为所述待检测滑动轨迹对应的分类高度。
6.根据权利要求4所述的方法,其特征在于,在所述针对所述预设孤立森林模型中的每一预设孤立树,将所述待检测特征信息输入该预设孤立树,确定所述待检测滑动轨迹在该预设孤立树中的高度的步骤之前,所述方法还包括:
训练初始孤立森林模型中每一初始孤立树,并确定训练后的孤立森林模型为预设孤立森林模型,其中,所述训练初始孤立森林模型中每一初始孤立树的步骤,包括:
获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间,其中,所述样本滑动轨迹为非异常滑动轨迹;
基于所述样本轨迹点的位置信息以及采样时间,确定所述样本滑动轨迹对应所述预设轨迹特征的特征信息;
基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始孤立树,得到预设孤立树。
7.根据权利要求6所述的方法,其特征在于,所述基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始孤立树的步骤,包括:
针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入初始孤立树的当前节点;
随机从所述预设轨迹特征中确定一轨迹特征,作为所述当前节点对应的指定轨迹特征;
生成所述指定轨迹特征对应的分类特征信息,作为所述当前节点对应的分类特征信息,其中,所述分类特征信息属于目标范围,所述目标范围的上限值为:所述当前节点中的样本滑动轨迹对应的目标特征信息中的最大值,所述目标范围的下限值为:所述当前节点中的样本滑动轨迹对应的目标特征信息中的最小值,所述目标特征信息为:所述当前节点中的样本滑动轨迹对应所述指定轨迹特征的特征信息;
判断该样本滑动轨迹对应的目标特征信息是否小于所述分类特征信息;
若该样本滑动轨迹对应的目标特征信息小于所述分类特征信息,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入所述当前节点的左孩子节点;
若该样本滑动轨迹对应的目标特征信息不小于所述分类特征信息,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入所述当前节点的右孩子节点;
将所述当前节点的孩子节点中所包括样本滑动轨迹的数量不低于1的孩子节点,作为新的当前节点,其中,所述当前节点的孩子节点包括所述当前节点的左孩子节点和右孩子节点;
返回执行随机从所述预设轨迹特征中确定一轨迹特征,作为所述当前节点对应的指定轨迹特征的步骤,直至所述初始孤立树的节点高度达到预设高度,或所述初始孤立树中所有处于顶端的节点中的样本滑动轨迹的数量为1。
8.根据权利要求3所述的方法,其特征在于,所述将所述待检测特征信息输入所述预设混合高斯模型中,得到第二检测结果的步骤,包括:
将所述待检测特征信息输入所述预设混合高斯模型,确定所述预设混合高斯模型的输出为所述待检测滑动轨迹对应的概率密度;
基于所述概率密度是否满足预设概率阈值的判断结果,得到第二检测结果。
9.根据权利要求8所述的方法,其特征在于,在所述将所述待检测特征信息输入所述预设混合高斯模型的步骤之前,所述方法还包括:
训练初始混合高斯模型,并确定训练后的混合高斯模型为预设混合高斯模型,其中,所述训练初始混合高斯模型的步骤,包括:
获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间,其中,所述样本滑动轨迹为非异常滑动轨迹;
基于所述样本轨迹点的位置信息以及采样时间,确定该样本滑动轨迹对应所述预设轨迹特征的特征信息;
基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始混合高斯模型,得到预设混合高斯模型。
10.根据权利要求9所述的方法,其特征在于,所述初始混合高斯模型包括多个初始高斯子模型;
所述基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始混合高斯模型的步骤,包括:
针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度;
根据每一样本滑动轨迹在每一初始高斯子模型下的预测概率密度,更新每一初始高斯子模型的模型参数,得到每一初始高斯子模型的更新后的模型参数的参数值;
基于每一初始高斯子模型的更新后的模型参数的参数值,判断所述初始混合高斯模型对应的预设的似然函数是否收敛;
若所述似然函数收敛,得到包含每一初始高斯子模型的更新后的模型参数的参数值的预设混合高斯模型;
若所述似然函数未收敛,返回执行所述针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度的步骤,直至所述似然函数收敛。
11.一种异常滑动轨迹的检测装置,其特征在于,所述装置包括:
第一获得模块,用于获得待检测滑动轨迹,其中,所述待检测滑动轨迹包括:多个待检测滑动轨迹点的位置信息以及采样时间;
第一确定模块,用于基于每一待检测滑动轨迹点的位置信息以及采样时间,确定所述待检测滑动轨迹对应预设轨迹特征的待检测特征信息;
第二确定模块,用于基于所述待检测特征信息以及预设轨迹分类模型,确定所述待检测滑动轨迹是否为异常滑动轨迹,其中,所述预设轨迹分类模型用于基于滑动轨迹对应所述预设轨迹特征的特征信息,对滑动轨迹进行分类。
12.根据权利要求11所述的装置,其特征在于,所述预设轨迹特征包括如下特征中的至少一个:滑动轨迹对应的滑动位移特征、滑动角度特征、滑动速度特征、滑动加速度特征、采样时间间隔特征以及滑动轨迹中轨迹点的位置信息重复次数。
13.根据权利要求11或12所述的装置,其特征在于,所述预设轨迹分类模型包括:预设孤立森林模型和/或预设混合高斯模型;
所述第二确定模块,包括:
第一确定子模块,用于将所述待检测特征信息输入所述预设孤立森林模型中,得到第一检测结果;以及将所述待检测特征信息输入所述预设混合高斯模型中,得到第二检测结果;
第二确定子模块,用于若所述第一检测结果和/或所述第二检测结果,至少有一个检测结果表征所述待检测滑动轨迹为异常滑动轨迹,则确定所述待检测滑动轨迹为异常滑动轨迹。
14.根据权利要求13所述的装置,其特征在于,所述第一确定子模块,具体用于针对所述预设孤立森林模型中的每一预设孤立树,将所述待检测特征信息输入该预设孤立树,确定所述待检测滑动轨迹在该预设孤立树中的高度;
基于所述待检测滑动轨迹在每一预设孤立树中的高度,确定所述待检测滑动轨迹对应的分类高度;
基于所述分类高度是否满足预设高度阈值的判断结果,得到第一检测结果。
15.根据权利要求14所述的装置,其特征在于,所述第一确定子模块,具体用于计算所述待检测滑动轨迹在各预设孤立树中的高度的平均值;
将所述平均值确定为所述待检测滑动轨迹对应的分类高度。
16.根据权利要求13所述装置,其特征在于,所述装置还包括:
第三确定模块,用于训练初始孤立森林模型中每一初始孤立树,并确定训练后的孤立森林模型为预设孤立森林模型;
所述第三确定模块,包括:
第一获得子模块,用于获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间,其中,所述样本滑动轨迹为非异常滑动轨迹;
第三确定子模块,用于基于所述样本轨迹点的位置信息以及采样时间,确定所述样本滑动轨迹对应所述预设轨迹特征的特征信息;
第一训练子模块,用于基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始孤立树,得到预设孤立树。
17.根据权利要求16所述的装置,其特征在于,所述第一训练子模块,具体用于针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入初始孤立树的当前节点;
随机从所述预设轨迹特征中确定一轨迹特征,作为所述当前节点对应的指定轨迹特征;
生成所述指定轨迹特征对应的分类特征信息,作为所述当前节点对应的分类特征信息,其中,所述分类特征信息属于目标范围,所述目标范围的上限值为:所述当前节点中的样本滑动轨迹对应的目标特征信息中的最大值,所述目标范围的下限值为:所述当前节点中的样本滑动轨迹对应的目标特征信息中的最小值,所述目标特征信息为:所述当前节点中的样本滑动轨迹对应所述指定轨迹特征的特征信息;
判断该样本滑动轨迹对应的目标特征信息是否小于所述分类特征信息;
若该样本滑动轨迹对应的目标特征信息小于所述分类特征信息,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入所述当前节点的左孩子节点;
若该样本滑动轨迹对应的目标特征信息不小于所述分类特征信息,将该样本滑动轨迹对应所述预设轨迹特征的特征信息,输入所述当前节点的右孩子节点;
将所述当前节点的孩子节点中所包括样本滑动轨迹的数量不低于1的孩子节点,作为新的当前节点,其中,所述当前节点的孩子节点包括所述当前节点的左孩子节点和右孩子节点;
返回执行随机从所述预设轨迹特征中确定一轨迹特征,作为所述当前节点对应的指定轨迹特征的步骤,直至所述初始孤立树的节点高度达到预设高度,或所述初始孤立树中所有处于顶端的节点中的样本滑动轨迹的数量为1。
18.根据权利要求13所述的装置,其特征在于,所述第一确定子模块,具体用于将所述待检测特征信息输入所述预设混合高斯模型,确定所述预设混合高斯模型的输出为所述待检测滑动轨迹对应的概率密度;
基于所述概率密度是否满足预设概率阈值的判断结果,得到第二检测结果。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
第四确定模块,用于训练初始混合高斯模型,并确定训练后的混合高斯模型为预设混合高斯模型;
所述第四确定模块,包括:
第二获得子模块,用于获得样本滑动轨迹中多个样本轨迹点的位置信息以及采样时间,其中,所述样本滑动轨迹为非异常滑动轨迹;
第四确定子模块,用于基于所述样本轨迹点的位置信息以及采样时间,确定该样本滑动轨迹对应所述预设轨迹特征的特征信息;
第二训练子模块,用于基于所述样本滑动轨迹对应所述预设轨迹特征的特征信息,训练所述初始混合高斯模型,得到预设混合高斯模型。
20.根据权利要求19所述的装置,其特征在于,所述初始混合高斯模型包括多个初始高斯子模型;
所述第二训练子模块,具体用于针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度;
根据每一样本滑动轨迹在每一初始高斯子模型下的预测概率密度,更新每一初始高斯子模型的模型参数,得到每一初始高斯子模型的更新后的模型参数的参数值;
基于每一初始高斯子模型的更新后的模型参数的参数值,判断所述初始混合高斯模型对应的预设的似然函数是否收敛;
若所述似然函数收敛,得到包含每一初始高斯子模型的更新后的模型参数的参数值的预设混合高斯模型;
若所述似然函数未收敛,返回执行所述针对每一样本滑动轨迹,将该样本滑动轨迹对应所述预设轨迹特征的特征信息输入每一初始高斯子模型,确定该样本滑动轨迹在每一初始高斯子模型下的预测概率密度的步骤,直至所述似然函数收敛。
21.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-10任一所述的异常滑动轨迹的检测方法步骤。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10任一所述的异常滑动轨迹的检测方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910417971.9A CN110188519A (zh) | 2019-05-20 | 2019-05-20 | 一种异常滑动轨迹的检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910417971.9A CN110188519A (zh) | 2019-05-20 | 2019-05-20 | 一种异常滑动轨迹的检测方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110188519A true CN110188519A (zh) | 2019-08-30 |
Family
ID=67716843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910417971.9A Pending CN110188519A (zh) | 2019-05-20 | 2019-05-20 | 一种异常滑动轨迹的检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188519A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112748451A (zh) * | 2021-01-26 | 2021-05-04 | 腾讯科技(深圳)有限公司 | 轨迹处理方法、装置、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155298A (zh) * | 2015-04-21 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 人机识别方法及装置、行为特征数据的采集方法及装置 |
CN106815515A (zh) * | 2016-12-12 | 2017-06-09 | 微梦创科网络科技(中国)有限公司 | 一种基于轨迹验证的验证码实现方法及装置 |
CN107609590A (zh) * | 2017-09-12 | 2018-01-19 | 山东师范大学 | 一种多尺度鼠标轨迹特征提取方法、装置和系统 |
CN107911338A (zh) * | 2017-10-13 | 2018-04-13 | 深圳市迅雷网络技术有限公司 | 一种数据验证方法、相关设备和系统 |
-
2019
- 2019-05-20 CN CN201910417971.9A patent/CN110188519A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155298A (zh) * | 2015-04-21 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 人机识别方法及装置、行为特征数据的采集方法及装置 |
CN106815515A (zh) * | 2016-12-12 | 2017-06-09 | 微梦创科网络科技(中国)有限公司 | 一种基于轨迹验证的验证码实现方法及装置 |
CN107609590A (zh) * | 2017-09-12 | 2018-01-19 | 山东师范大学 | 一种多尺度鼠标轨迹特征提取方法、装置和系统 |
CN107911338A (zh) * | 2017-10-13 | 2018-04-13 | 深圳市迅雷网络技术有限公司 | 一种数据验证方法、相关设备和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112748451A (zh) * | 2021-01-26 | 2021-05-04 | 腾讯科技(深圳)有限公司 | 轨迹处理方法、装置、电子设备及介质 |
CN112748451B (zh) * | 2021-01-26 | 2022-04-22 | 腾讯科技(深圳)有限公司 | 轨迹处理方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110311902A (zh) | 一种异常行为的识别方法、装置及电子设备 | |
CN108600212A (zh) | 基于多维度可信特征的威胁情报可信性判别方法及装置 | |
CN106506556A (zh) | 一种网络流量异常检测方法及装置 | |
CN108900546A (zh) | 基于lstm的时间序列网络异常检测的方法与装置 | |
CN112258093A (zh) | 风险等级的数据处理方法及装置、存储介质、电子设备 | |
CN105303179A (zh) | 指纹识别方法、装置 | |
CN109582969A (zh) | 实体匹配方法、装置及电子设备 | |
CN106559431A (zh) | 一种用于汽车安全检测的可视化分析方法和装置 | |
CN109241709A (zh) | 基于滑块验证码验证的用户行为识别方法及装置 | |
CN103095728A (zh) | 一种基于行为数据融合的网络安全评分系统和方法 | |
CN105335379B (zh) | 突变测试中对突变、测试用例、随机种子的组合排序的方法和设备 | |
CN109977651A (zh) | 基于滑动轨迹的人机识别方法、装置及电子设备 | |
CN106778908A (zh) | 一种新异类检测方法与装置 | |
CN109165691A (zh) | 用于识别作弊用户的模型的训练方法、装置及电子设备 | |
CN108763274A (zh) | 访问请求的识别方法、装置、电子设备及存储介质 | |
CN109889512A (zh) | 一种充电桩can报文的异常检测方法及装置 | |
CN109714221A (zh) | 网络数据包的确定方法、装置及系统 | |
CN107766234A (zh) | 一种基于移动设备的网页健康度的测评方法、装置及系统 | |
CN110209551A (zh) | 一种异常设备的识别方法、装置、电子设备及存储介质 | |
CN103324949B (zh) | 从图像中识别物体的方法和装置 | |
CN108764369A (zh) | 基于数据融合的人物识别方法、装置和计算机存储介质 | |
CN109034629A (zh) | 一种评价指控系统多元信息融合性能的分析方法和系统 | |
CN110188519A (zh) | 一种异常滑动轨迹的检测方法、装置及电子设备 | |
CN110222704A (zh) | 一种弱监督目标检测方法及装置 | |
CN106972968A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190830 |