CN110046647A - 一种验证码机器行为识别方法及装置 - Google Patents
一种验证码机器行为识别方法及装置 Download PDFInfo
- Publication number
- CN110046647A CN110046647A CN201910177296.7A CN201910177296A CN110046647A CN 110046647 A CN110046647 A CN 110046647A CN 201910177296 A CN201910177296 A CN 201910177296A CN 110046647 A CN110046647 A CN 110046647A
- Authority
- CN
- China
- Prior art keywords
- data
- identification model
- online
- user behavior
- label
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Abstract
本发明提供了一种验证码机器行为识别方法,属于网络安全技术领域,该方法可以包括:接收来自用户的在线验证码,根据识别模型对所述在线验证码进行识别,以确定所述在线验证是否符合机器行为;其中,所述识别模型为根据收集的历史验证码验证过程中的用户行为数据、以及在线加权随机森林算法训练得到;所述用户行为数据至少包括如下任意一项:终端设备的鼠标移动轨迹、终端设备的屏幕滑动轨迹以及传感器数据,根据所述在线验证码的识别结果,更新所述识别模型,本申请中用户行为数据采集成本低,且不易被篡改,可信度高,同时基于在线加权随机森林的算法,识别模型可通过线上数据实时更新,提高了其与网络黑产之间博弈的能力。
Description
技术领域
本发明属于网络安全领域,特别是涉及一种验证码机器行为识别方法及一种验证码机器行为识别装置。
背景技术
验证码是现有技术中常用的安全风控技术之一,目前常用的验证码验证手段,包括滑块验证码,行为交互验证码,点选验证码等,都将验证挑战和验证过程中的行为相结合,一方面校验验证挑战是否正确解答,另一方面校验验证行为是否符合自然人的行为。伴随着验证码的广泛应用,其安全性深受不法分子自动化脚本的威胁,因此识别校验验证行为是否符合自然人行为的结果是否准确、能否及时覆盖新型攻击脚本成为衡量验证码安全性的一大指标。
现有技术中,识别验证码机器行为通常是收集用户风险数据,如用户的身份数据或征信数据等,以及用户终端数据,如用户代理数据、设备指纹和IP地址(InternetProtocol Address,IP Address,网际协议地址)等,根据收集到的数据通过传统的模型训练方法得到识别模型进行机器行为识别。
但是现有技术中,一方面用户风险数据采集成本高、用户终端数据篡改难度低导致数据不够可靠,且需要一定的采集成本,另一方面现有技术中采集的数据并不是针对验证码的特性采集的,对于自然人行为无法准确表征,而且传统的模型训练方法得到的识别模型难以及时更新和迭代,无法适应验证码和网络黑产之间日益激烈的攻防技术博弈。
发明内容
有鉴于此,本发明提供一种验证码机器行为识别方法,以便解决现有技术中原始数据采集成本高、可靠性低、准确性差,以及传统的模型训练方法无法适应环境的问题。
依据本发明的第一方面,提供了一种验证码机器行为识别方法,该方法可以包括:
接收来自用户的在线验证码。
根据识别模型对所述在线验证码进行识别,以确定所述在线验证是否符合机器行为;其中,所述识别模型为根据收集的历史验证码验证过程中的用户行为数据、以及在线加权随机森林算法训练得到;所述用户行为数据至少包括如下任意一项:终端设备的鼠标移动轨迹、终端设备的屏幕滑动轨迹以及传感器数据。
根据所述在线验证码的识别结果,更新所述识别模型。
依据本发明的第二方面,提供了一种验证码机器行为识别装置,该装置可以包括:
在线验证码接收模块,用于接收来自用户的在线验证码。
在线验证码识别模块,用于根据识别模型对所述在线验证码进行识别,以确定所述在线验证是否符合机器行为;其中,所述识别模型为根据收集的历史验证码验证过程中的用户行为数据、以及在线加权随机森林算法训练得到;所述用户行为数据至少包括如下任意一项:终端设备的鼠标移动轨迹、终端设备的屏幕滑动轨迹以及传感器数据。
识别模型更新模块,用于根据所述在线验证码的识别结果,更新所述识别模型。
针对现有技术,本发明具备如下优点:
本发明实施例中通过采集用户的行为数据,并根据用户行为数据基于在线加权随机森林的算法构建识别模型,在模型上线后使用线上的用户行为数据参与训练,对识别模型进行实时更新和迭代,本发明实施例中用户行为数据采集成本低,且不易被篡改,因此数据可信度更高,而且用户行为数据与验证码验证过程的关系更加紧密,进一步提升了识别模型识别的准确率,同时基于在线加权随机森林的算法,识别模型通过线上数据实时更新,提高了其网络黑产适应线上网络黑产手段的识别能力,加强了对网络黑产手段的防护能力。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例提供的一种验证码机器行为识别方法的步骤流程图;
图2是本发明实施例提供的另一种验证码机器行为识别方法的步骤流程图;
图3是本发明实施例提供的一种验证码机器行为识别装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
实施例一
图1是本发明实施例提供的一种验证码机器行为识别方法的步骤流程图,如图1所述,该方法可以包括:
步骤101,接收来自用户的在线验证码。
本发明实施例中,在用户进行验证码验证时,对用户验证码种类,如滑块验证码、行为交互验证码、点选验证码等,以及用户的行为数据进行收集,以获得用于识别身份的相关数据。
步骤102,根据识别模型对所述在线验证码进行识别,以确定所述在线验证码是否符合机器行为;其中,所述识别模型为根据收集的历史验证码验证过程中的用户行为数据、以及在线加权随机森林算法训练得到;所述用户行为数据至少包括如下任意一项:终端设备的鼠标移动轨迹、终端设备的屏幕滑动轨迹以及传感器数据。
本发明实施例中,将获得在线验证码的相关数据输入识别模型,识别模型根据在线验证码的相关数据对用户的身份进行识别,并输出识别结果,本发明实施例中可以用(0,1)中的数值来表示用户的在线验证为机器行为的概率,识别结果的数值越接近0表示机器行为的概率越小,识别结果越接近1表示机器行为的概率越大,本领域技术人员可以设置0.5为概率阈值,即识别结果小于0.5,则认为当前在线验证为自然人行为,识别结果大于0.5,则认为当前在线验证为机器脚本行为。
本发明实施例中,识别模型为根据收集的历史验证码验证过程中的用户行为数据、以及在线加权随机森林算法训练得到,其中用户行为数据是用户针对不同的验证码种类,在进行验证码验证的过程中在对接网页、移动APP(Application,应用程序)、HTML5(HyperText Markup Language 5,超文本标记语言5)页面等,用户打开智能验证码的网页、移动APP、HTML5页面,根据提示完成验证码的验证,此时用户打开智能验证码的网页、移动APP、HTML5页面,根据提示完成验证码的验证会收集用户行为数据如终端设备的鼠标移动轨迹、终端设备的屏幕滑动轨迹以及传感器数据等,传感器数据可以包括终端的加速度传感器数据、陀螺仪传感器数据、方向传感器数据等,实际数据采集的过程中,技术人员还可以自定义数据采集的频率等,本发明对获取用户行为数据的方式不做具体限定。
步骤103,根据所述在线验证码的识别结果,更新所述识别模型。
本发明实施例中,在本次在线验证识别结束后,根据用于识别的数据以及识别的结果,对识别模型进行在线更新,识别模型根据线上的数据动态更新和迭代,使其在应对网络黑产破解模仿验证码解码过程的场景中能够及时的提升识别和防护能力。
网络黑产,指以互联网为媒介,以网络技术为主要手段,为计算机信息系统安全和网络空间管理秩序,甚至国家安全、社会政治稳定带来潜在威胁(重大安全隐患)的非法行为。
本发明实施例中通过采集用户的行为数据,并根据用户行为数据基于在线加权随机森林的算法构建识别模型,在模型上线后使用线上的用户行为数据参与训练,对识别模型进行实时更新和迭代,本发明实施例中用户行为数据采集成本低,且不易被篡改,因此数据可信度更高,而且用户行为数据与验证码验证过程的关系更加紧密,进一步提升了识别模型识别的准确率,同时基于在线加权随机森林的算法,识别模型通过线上数据实时更新,能够适应网络环境的变化,提高了其与网络黑产之间博弈的能力。
实施例二
图2是本发明实施例提供的另一种验证码机器行为识别方法的步骤流程图,如图2所述,该方法可以包括:
步骤201,接收来自用户的在线验证码。
步骤202,根据识别模型对所述在线验证码进行识别,以确定所述在线验证码是否符合机器行为;其中,所述识别模型为根据收集的历史验证码验证过程中的用户行为数据、以及在线加权随机森林算法训练得到;所述用户行为数据至少包括如下任意一项:终端设备的鼠标移动轨迹、终端设备的屏幕滑动轨迹以及传感器数据。
优选地,在步骤201之前,该方法还可以包括:
步骤2010,收集历史验证码验证过程中的用户行为数据。
本发明实施例中,为了使识别模型的识别结果更加准确,在收集历史验证码验证过程中的用户行为数据时,应该尽可能广泛的收集各种类验证码的用户行为数据以便用于识别模型的训练,用户行为数据包括终端设备的鼠标移动轨迹数据、终端设备的屏幕移动轨迹数据、加速度/陀螺仪/方向传感器数据。轨迹数据包括鼠标、手指触屏每次移动的时间戳、轨迹动作类型(鼠标按下、鼠标抬起、拖动等动作)、移动位置像素点的横、纵坐标;传感器数据包括加速度传感器数据、陀螺仪传感器数据、方向传感器数据,按照技术人员预设的的采样频率对源数据进行采集,采集后的数据包装成json串上传至服务器存储,得到用户行为数据。本领域技术人员可根据实际情况对历史验证码验证过程中的用户行为数据的收集方法、收集量以及采集频率进行设定,本发明对此不做限定。
步骤2011,对所述用户行为数据标记标签;所述标签包括:自然人行为标签和机器脚本行为标签。
本发明实施例中,对获得的用户行为数据需要进行标记,标签可以是两种,用以区分自然人行为数据和机器脚本行为数据,在构建识别模型之前可以根据业务规则对用户行为数据进行打标,业务规则可以通过设备ID(Identification,身份识别)、IP地址、网络环境等多个维度定义黑、白规则并为对应的数据标记标签,例如,符合白规则“内网环境中,智能验证码采集的行为数据为白样本”的为自然人行为数据标记标签为0;符合黑规则“外网环境中,1分钟内同一个设备通过智能验证码验证的次数超过阈值的行为数据为黑样本”的为机器脚本行为数据标记标签为1,通过上述两条规则对用户行为数据进行分类标记,从而可以得到带标签的样本数据,本领域技术人员还可以根据其他规则对所述用户行为数据进行标记标签,只要能够将自然人行为数据与机器行为数据分开即可,本发明对此不作具体限制。
步骤2012,根据标记后的用户行为数据,确定特征数据。本发明实施例中,对于不同标签的用户行为数据为了便于使用,需要对其特征数据进行确定,提取特征数据能够充分的、多维度的挖掘与表达自然人行为与机器脚本行为的不同,能够在简化数据量的同时保证构建的识别模型足够准确,本发明实施例对提取特征数据的方法与类型不做具体限制。
优选地,步骤2012包括:
步骤20121,根据终端设备的鼠标移动轨迹和所述终端设备的屏幕滑动轨迹,对标记后的用户行为数据进行速度、加速度、角度以及时间维度的特征提取,确定特征数据;和/或
根据传感器数据,对标记后的用户行为数据进行时域分布和频域分布的特征提取,确定特征数据。
本发明实施例中,在获取样本数据之后,为了便于后续使用,需要对样本数据进行特征提取,轨迹数据有位置、速度、加速度、角度及时间方面的特征;位置特征包括起点位置的横/纵坐标、轨迹中相邻横/纵坐标的差分的统计信息;速度特征包括起点的横/纵/合速度、横/纵/合速度的差分、横/纵/合速度最大值及最小值的统计信息;加速度特征包括横/纵/合加速度、横/纵/合加速度的差分、横/纵/合加速度最大值及最小值的统计信息;角度特征包括(横坐标,时间戳)/(纵坐标,时间戳)/(纵坐标,横坐标)的角度值、(横坐标,时间戳)/(纵坐标,时间戳)/(纵坐标,横坐标)角度去重值、(横坐标,时间戳)/(纵坐标,时间戳)/(纵坐标,横坐标)角度的最大值和最小值的统计信息;时间特征包括时间戳的差分、时间戳的总时长、时间戳平均增量的平均卷积的统计信息。传感器数据有时域分布和频域分布的特征,时域分布特征包括:传感器x/y/z轴的最大值、最小值、方差、峰态系数的特征;频域分布特征包括;频域分布特征包括:传感器x/y/z轴的峰值振幅、差分频域幅度、频率衰减幅度、谷值振幅等特征。以上特征仅用于举例,本领域技术人员可从用户行为数据中提取的其他特征也可用于本发明实施例中。
优选地,在步骤2012之后,步骤201之前还包括:
步骤2013,根据所述标签的比例,计算所述自然人行为数据和所述机器脚本行为数据的权重比。
本发明实施例中,由于网络环境的数据分布具有不确定性,一般环境下,正常数据量会远大于异常数据,而遭受攻击的环境下,短时间内异常数据量会超过正常数据量,为了消除由于网络环境等原因造成的数据种类比例失衡,从而导致识别模型对于某一种用户行为的识别不能得到充分训练的情况,需要对数据的权重进行适当的调整,首先根据数据的样本量计算数据间的权重比,当机器行为数据样本数量为N0,自然人行为数据样本数量为N1,则可求得权重比为N1:N0,其中权重比的范围为[0.1,10]。
步骤2014,根据所述权重比,调整所述特征数据的类别权重。
本发明实施例中,在计算出数据间的权重比后,需要根据权重比对特征数据的类别权重进行调整,即当权重比小于1大于0.1时表示自然人行为数据的样本数量少于机器行为数据样本数量,则将N1除以权重比,当权重比大于1小于10时则说明自然人行为数据的样本数量多于机器行为数据样本数量,此时将N0乘以权重比,以上仅为调整数据类别权重的一种规则,出于同样的考虑,本领域技术人员采用其他的规则,如样本数量少的一方扩充是收集用户行为数据等,本发明对此不做具体限制。
步骤2015,将所述特征数据划分为训练数据集、验证数据集和测试数据集。
通常来说,进行模型训练时可以将备用的数据分为三份,包括训练数据集、验证数据集和测试数据集,三个数据集的数据量可以根据技术人员的需求进行分配,使用训练数据集训练得到初始的识别模型,再使用验证数据集对识别模型进行验证调整,最后在测试数据集上测试识别模型是否达到上线的标准,各数据集应具有相同比例的样本数据,或者本领域技术人员也可以使用k-折叠交叉验证进行模型训练,即将训练数据集的1/k作为验证数据集,每个识别模型训练k次,验证k次,则错误率为k次的平均,最终选择平均率最小的识别模型即可,本发明对此不做具体限制。
步骤2016,设定第一超参数,并根据所述训练数据集训练符合所述第一超参数的识别模型;所述第一超参数包括:模型迭代次数、决策树棵数、决策树深度和子集分裂标准。
传统的随机森林算法是一个经典的集成学习算法,具有准确率高、不易过拟合等优点,能够适用于多种应用场景。传统的随机森林算法依照bagging的方法生成一系列的训练子集,对于每个训练子集独立的构建一棵决策树,将得到的一系列决策树责成随机森林对于分类问题,随机森林按“少数服从多数”的原则,投票决定最终分类结果;对于回归问题,随机森林按所有决策树预测值的均值决定最终预测结果。
本发明实施例中,首先需要设置超参数,超参数可以包括识别模型的迭代次数、决策树棵数、决策树深度以及子集分裂标准等,具体数值可以由技术人员根据相关经验进行设置,或者也可以收集线上投入使用的识别模型超参数的作为参考。
本发明实施例中,通过二项分布来计算训练数据集中每条训练数据参与随机森林中每棵决策树训练的概率,从而通过训练数据集对识别模型进行训练,当识别模型满足超参数中决策树个数时模型训练完成。
步骤2017,通过所述验证数据集对所述识别模型进行验证,根据验证结果优化调整所述识别模型的第一超参数,获得优化后的识别模型。
本发明实施例中,对于获得识别模型需要进行进一步的优化,以评价模型的泛化能力,从而进行模型选择,通过识别模型对验证数据的识别结果,对识别模型的超参数进行调整,并最终选取在准确率、召回率或F1分数(准确率和召回率的调和平均数)等模型评价指标上表现最佳的识别模型进行下一步测试。
步骤2018,通过所述测试数据集对所述优化后的识别模型进行测试。
本发明实施例中,对于验证获得的识别模型需要根据测试数据集中的测试数据进行测试,测试的过程与实际验证的过程类似,输入用户行为数据,识别模型识别其为机器行为的概率,然后输出结果,对比识别模型的输出结果与每条测试数据的标签,如果识别模型的输出结果符合标记标签则识别成功,反之则识别失败。
步骤2019,当所述优化后的识别模型的测试结果达到预设阈值时,得到最优识别模型。
本发明实施例中,当所述优化后的识别模型的测试结果达到预设阈值,即识别成功的比例到达预设阈值,则认为该识别模型为最优识别模型,并达到上线标准可以进行线上识别,当所述优化后的识别模型的测试结果没有达到预设阈值,则返回步骤2020,增加用户行为数据,扩展特征维度,重新进行模型训练。
步骤203,根据所述在线验证码的识别结果,更新所述识别模型。
本发明实施例中,识别模型上线后,可以利用线上数据进行在线学习,对识别模型进行迭代更新,从而保持识别模型的识别和防护能力,识别模型的更新可以是每次识别后进行更新,或者为了不影响线上的实时识别,对识别模型的更新可以先将线上数据采集储存起来,预设网络流量较低的时间为更新时间进行更新,本发明实施例对具体识别模型更新的时间不做限定。
优选地,步骤203可以包括:
步骤2031,获取所述在线验证码的识别结果;所述在线验证码包括在线用户行为数据;所述在线验证码的识别结果包括:所述在线用户行为数据为自然人行为数据或机器脚本行为数据。
本发明实施例中,当对用户在线验证的行为进行识别时,可以获取线上用户的行为数据,具体地与识别模型训练过程中用户行为数据采集的过程类似。
本发明实施例中,在获取在线验证的用户行为数据后,还应该对用户行为数据进行标记标签,此时,可以通过黑、白规则对数据进行标记标签,也可以直接使用识别模型的识别结果对用户行为数据进行分类标签,再通过与识别模型训练过程中特征数据提取过程类似的方法提取用户行为数据的特征数据。
步骤2032,根据所述自然人行为数据与机器脚本行为数据的比例计算在线权重比。
步骤2033,根据所述在线权重比调整所述自然人行为数据与所述机器脚本行为数据类别权重。
步骤2034,设定第二超参数,根据所述自然人行为数据与所述机器脚本行为数据训练符合所述第二超参数的所述识别模型。
本发明实施例中,离线训练数据中每条训练数据参与随机森林每棵决策树训练的概率符合二项分布,在线加权随机森林算法的训练数据包括线上按序列接收到的数据,当时间趋近无穷时,训练数据的数量趋近无穷大。由于,二项分布的极限分布即泊松分布,此时,可以认为在线训练数据中的每条数据参与随机森林每颗决策树训练的概率服从泊松分布,即:
其中N为训练数据的数量,k(k=0或k=1)服从泊松分布P(λ=1),当用线上某条数据更新模型的时候,随机森林中每个决策树按照概率需要被同一个数据更新k(k=0或k=1)次。
本发明实施例中,可以利用线上的增量数据,生成一棵决策树,即在保证高效率的同时,满足线上环境增量训练模型的需求,可以通过Hoeffdingbound来决定结点分裂所需的最小样本个数,目标为使用n个样本(n尽可能小)得到的分裂的属性以高概率与使用全量的样本选择的分裂属性相同,令G(x)为计算节点分裂属性的评价标准,使用n个样本计算G(x),令xa为取得最大值的属性,xb为取得第二大值的属性,令ΔG=G(Xa)-G(Xb)为两个属性得到的评价值的差。根据Hoeffding bound,给定一个期望概率ρ,使用n个样本参与分裂属性选择计算,且满足ΔG>ε,其中
则xa有1-ρ的概率为使用全量样本选择的分裂属性,由上可知,对于一个节点,当ΔG<=ε时,需要继续增加计算的样本数n(ε是n的单调递减函数);满足ΔG>ε时,则n为当前节点决定节点分裂的最小样本个数。
步骤2035,当所述识别模型符合所述第二超参数时,完成所述识别模型的更新。
本发明实施例中,通过上述规则使用线上数据对识别模型进行在线迭代和更新,当新的决策树的个数满足第二超参数中设置的决策树棵数时,则模型的在线迭代和更新完成。
传统的随机森林算法适用于离线的模型训练,而在实际生产环境中,存在训练数据不充足、线上数据的分布随时间发生变化等情况,这些情况使得传统的随机森林算法的适用性受到挑战。而在线加权随机森林算法是对传统的随机森林算法进行改进,能适应上述实际生产环境中的情况,同时算法增加了在线处理数据训练模型、在线处理不平衡数据的特点。
本发明实施例中通过采集用户的行为数据,并根据用户行为数据基于在线加权随机森林的算法构建识别模型,在模型上线后使用线上的用户行为数据参与训练,对识别模型进行实时更新和迭代,本发明实施例中用户行为数据采集成本低,且不易被篡改,因此数据可信度更高,而且用户行为数据与验证码验证过程的关系更加紧密,进一步提升了识别模型识别的准确率,同时基于在线加权随机森林的算法,识别模型通过线上数据实时更新,提高了其与网络黑产之间博弈的能力。
实施例三
图3是本发明实施例提供的一种验证码机器行为识别装置的结构框图图,如图3所述,该装置可以包括:
在线验证码接收模块301,用于接收来自用户的在线验证码。
在线验证码识别模块302,用于根据识别模型对所述在线验证码进行识别,以确定所述在线验证是否符合机器行为;其中,所述识别模型为根据收集的历史验证码验证过程中的用户行为数据、以及在线加权随机森林算法训练得到;所述用户行为数据至少包括如下任意一项:终端设备的鼠标移动轨迹、终端设备的屏幕滑动轨迹以及传感器数据。
识别模型更新模块303,用于根据所述在线验证码的识别结果,更新所述识别模型。
优选地,所述装置还可以包括,识别模型训练模块,所述识别模型训练模块包括:
数据采集子模块,用于收集历史验证码验证过程中的用户行为数据。
样本收集子模块,用于对所述用户行为数据标记标签;所述标签包括:自然人行为标签和机器脚本行为标签。
特征提取子模块,用于根据标记后的用户行为数据,确定特征数据。
优选地,所述特征提取子模块包括:
特征数据提取单元,用于根据终端设备的鼠标移动轨迹和所述终端设备的屏幕滑动轨迹,对标记后的用户行为数据进行速度、加速度、角度以及时间维度的特征提取,确定特征数据。和/或
根据传感器数据,对标记后的用户行为数据进行时域分布和频域分布的特征提取,确定特征数据。
优选地,所述识别模型训练模块还包括:
数据权重比计算子模块,用于根据所述标签的比例,计算所述自然人行为数据和所述机器脚本行为数据的权重比。
数据调整子模块,用于根据所述权重比,调整所述特征数据的类别权重;
数据划分子模块,用于将所述特征数据划分为训练数据集、验证数据集和测试数据集。
模型训练子模块,用于设定第一超参数,并根据所述训练数据集训练符合所述第一超参数的识别模型;所述第一超参数包括:模型迭代次数、决策树棵数、决策树深度和子集分裂标准。
模型优化子模块,用于通过所述验证数据集对所述识别模型进行验证,根据验证结果优化调整所述识别模型的第一超参数,获得优化后的识别模型。
模型测试子模块,用于通过所述测试数据集对所述优化后的识别模型进行测试,当所述优化后的识别模型的测试结果达到预设阈值时,得到最优识别模型。
优选地,所述识别模型更新模块303包括:
在线数据获取模块,用于获取所述在线验证码的识别结果;所述在线验证码包括在线用户行为数据;所述在线验证码的识别结果包括:所述在线用户行为数据为自然人行为数据或机器脚本行为数据。
在线权重比计算子模块,用于根据所述自然人行为数据与机器脚本行为数据的比例计算在线权重比。
数据类别权重调整子模块,用于根据所述在线权重比调整所述自然人行为数据与所述机器脚本行为数据类别权重。
模型更新子模块,用于设定第二超参数,根据所述自然人行为数据与所述机器脚本行为数据训练符合所述第二超参数的所述识别模型。
更新结果判断子模块,用于当所述识别模型符合所述第二超参数时,完成所述识别模型的更新。
对于上述装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供一种终端,包括处理器,存储器,存储在存储器上并可在处理上运行的计算机程序,该计算机程序被处理器执行时实现上述验证码机器行为识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述验证码机器行为识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,可以为只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的验证码机器行为识别方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的验证码机器行为识别方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种验证码机器行为识别方法,其特征在于,所述方法包括:
接收来自用户的在线验证码;
根据识别模型对所述在线验证码进行识别,以确定所述在线验证码是否符合机器行为;其中,所述识别模型为根据收集的历史验证码验证过程中的用户行为数据、以及在线加权随机森林算法训练得到;所述用户行为数据至少包括如下任意一项:终端设备的鼠标移动轨迹、终端设备的屏幕滑动轨迹以及传感器数据;
根据所述在线验证码的识别结果,更新所述识别模型。
2.根据权利要求1所述的方法,其特征在于,所述接收来自用户的在线验证码的步骤之前,还包括:
收集历史验证码验证过程中的用户行为数据;
对所述用户行为数据标记标签;所述标签包括:自然人行为标签和机器脚本行为标签;
根据标记后的用户行为数据,确定特征数据。
3.根据权利要求2所述的方法,其特征在于,所述根据标记后的用户行为数据,确定特征数据,包括:
根据终端设备的鼠标移动轨迹和所述终端设备的屏幕滑动轨迹,对标记后的用户行为数据进行速度、加速度、角度以及时间维度的特征提取,确定特征数据;和/或
根据传感器数据,对标记后的用户行为数据进行时域分布和频域分布的特征提取,确定特征数据。
4.根据权利要求3所述的方法,其特征在于,所述根据收集的历史验证码验证过程中的用户行为数据、以及在线加权随机森林算法训练识别模型的步骤包括:
根据所述标签的比例,计算所述自然人行为数据和所述机器脚本行为数据的权重比;
根据所述权重比,调整所述特征数据的类别权重;
将所述特征数据划分为训练数据集、验证数据集和测试数据集;
设定第一超参数,并根据所述训练数据集训练符合所述第一超参数的识别模型;所述第一超参数包括:模型迭代次数、决策树棵数、决策树深度和子集分裂标准;
通过所述验证数据集对所述识别模型进行验证,根据验证结果优化调整所述识别模型的第一超参数,获得优化后的识别模型;
通过所述测试数据集对所述优化后的识别模型进行测试;
当所述优化后的识别模型的测试结果达到预设阈值时,得到最优识别模型。
5.根据权利要求3所述的方法,其特征在于,所述根据所述在线验证码的识别结果,更新所述识别模型的步骤包括:
获取所述在线验证码的识别结果;所述在线验证码包括在线用户行为数据;所述在线验证码的识别结果包括:所述在线用户行为数据为自然人行为数据或机器脚本行为数据;
根据所述自然人行为数据与机器脚本行为数据的比例计算在线权重比;
根据所述在线权重比调整所述自然人行为数据与所述机器脚本行为数据类别权重;
设定第二超参数,根据所述自然人行为数据与所述机器脚本行为数据训练符合所述第二超参数的所述识别模型;
当所述识别模型符合所述第二超参数时,完成所述识别模型的更新。
6.一种验证码机器行为识别装置,其特征在于,所述装置包括:
在线验证码接收模块,用于接收来自用户的在线验证码;
在线验证码识别模块,用于根据识别模型对所述在线验证码进行识别,以确定所述在线验证码是否符合机器行为;其中,所述识别模型为根据收集的历史验证码验证过程中的用户行为数据、以及在线加权随机森林算法训练得到;所述用户行为数据至少包括如下任意一项:终端设备的鼠标移动轨迹、终端设备的屏幕滑动轨迹以及传感器数据;
识别模型更新模块,用于根据所述在线验证码的识别结果,更新所述识别模型。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括,识别模型训练模块,所述识别模型训练模块包括:
数据采集子模块,用于收集历史验证码验证过程中的用户行为数据;
样本收集子模块,用于对所述用户行为数据标记标签;所述标签包括:自然人行为标签和机器脚本行为标签;
特征提取子模块,用于根据标记后的用户行为数据,确定特征数据。
8.根据权利要求7所述的装置,其特征在于,所述特征提取子模块包括:
特征数据提取单元,用于根据终端设备的鼠标移动轨迹和所述终端设备的屏幕滑动轨迹,对标记后的用户行为数据进行速度、加速度、角度以及时间维度的特征提取,确定特征数据;和/或
根据传感器数据,对标记后的用户行为数据进行时域分布和频域分布的特征提取,确定特征数据。
9.根据权利要求8所述的装置,其特征在于,所述识别模型训练模块还包括
数据权重比计算子模块,用于根据所述标签的比例,计算所述自然人行为数据和所述机器脚本行为数据的权重比;
数据调整子模块,用于根据所述权重比,调整所述特征数据的类别权重;
数据划分子模块,用于将所述特征数据划分为训练数据集、验证数据集和测试数据集;
模型训练子模块,用于设定第一超参数,并根据所述训练数据集训练符合所述第一超参数的识别模型;所述第一超参数包括:模型迭代次数、决策树棵数、决策树深度和子集分裂标准;
模型优化子模块,用于通过所述验证数据集对所述识别模型进行验证,根据验证结果优化调整所述识别模型的第一超参数,获得优化后的识别模型;
模型测试子模块,用于通过所述测试数据集对所述优化后的识别模型进行测试,当所述优化后的识别模型的测试结果达到预设阈值时,得到最优识别模型。
10.根据权利要求8所述的装置,其特征在于,所述识别模型更新模块包括:
在线数据获取模块,用于获取所述在线验证码的识别结果;所述在线验证码包括在线用户行为数据;所述在线验证码的识别结果包括:所述在线用户行为数据为自然人行为数据或机器脚本行为数据;
在线权重比计算子模块,用于根据所述自然人行为数据与机器脚本行为数据的比例计算在线权重比;
数据类别权重调整子模块,用于根据所述在线权重比调整所述自然人行为数据与所述机器脚本行为数据类别权重;
模型更新子模块,用于设定第二超参数,根据所述自然人行为数据与所述机器脚本行为数据训练符合所述第二超参数的所述识别模型;
更新结果判断子模块,用于当所述识别模型符合所述第二超参数时,完成所述识别模型的更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910177296.7A CN110046647A (zh) | 2019-03-08 | 2019-03-08 | 一种验证码机器行为识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910177296.7A CN110046647A (zh) | 2019-03-08 | 2019-03-08 | 一种验证码机器行为识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110046647A true CN110046647A (zh) | 2019-07-23 |
Family
ID=67274589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910177296.7A Pending CN110046647A (zh) | 2019-03-08 | 2019-03-08 | 一种验证码机器行为识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110046647A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027643A (zh) * | 2019-12-26 | 2020-04-17 | 北京奇艺世纪科技有限公司 | 深度神经网络模型的训练方法、人机交互识别方法、装置、电子设备及存储介质 |
CN111177668A (zh) * | 2019-11-21 | 2020-05-19 | 武汉极意网络科技有限公司 | 一种基于移动设备传感器的人机交互验证方法 |
CN111382403A (zh) * | 2020-03-17 | 2020-07-07 | 同盾控股有限公司 | 用户行为识别模型的训练方法、装置、设备及存储介质 |
CN112134837A (zh) * | 2020-08-06 | 2020-12-25 | 瑞数信息技术(上海)有限公司 | Web攻击行为的检测方法和系统 |
CN113553571A (zh) * | 2020-04-26 | 2021-10-26 | 国网电子商务有限公司 | 一种终端设备可信度度量方法及装置 |
CN113885980A (zh) * | 2021-09-24 | 2022-01-04 | 北京航天新立科技有限公司 | 基于局域网的桌面共享方法及系统 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8483518B2 (en) * | 2010-02-19 | 2013-07-09 | Microsoft Corporation | Image-based CAPTCHA exploiting context in object recognition |
CN103685195A (zh) * | 2012-09-21 | 2014-03-26 | 华为技术有限公司 | 用户验证处理方法、用户设备和服务器 |
CN103886323A (zh) * | 2013-09-24 | 2014-06-25 | 清华大学 | 基于移动终端的行为识别方法及移动终端 |
CN104954343A (zh) * | 2014-03-31 | 2015-09-30 | 腾讯科技(深圳)有限公司 | 验证信息处理方法、服务器及系统 |
CN105975611A (zh) * | 2016-05-18 | 2016-09-28 | 天津大学 | 自适应组合降采样增强学习机 |
CN106155298A (zh) * | 2015-04-21 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 人机识别方法及装置、行为特征数据的采集方法及装置 |
US20170046583A1 (en) * | 2015-08-10 | 2017-02-16 | Yoti Ltd | Liveness detection |
CN106951751A (zh) * | 2017-03-24 | 2017-07-14 | 电子科技大学 | 一种基于传感器的智能手机开锁识别方法 |
CN107342995A (zh) * | 2017-07-03 | 2017-11-10 | 深圳市全民合伙人科技有限公司 | 一种用户信息处理方法及系统 |
CN107368540A (zh) * | 2017-06-26 | 2017-11-21 | 北京理工大学 | 基于用户自相似度的多模型相结合的电影推荐方法 |
CN107679374A (zh) * | 2017-08-23 | 2018-02-09 | 北京三快在线科技有限公司 | 一种基于滑动轨迹的人机识别方法及装置,电子设备 |
CN108229130A (zh) * | 2018-01-30 | 2018-06-29 | 中国银联股份有限公司 | 一种验证方法及装置 |
CN108287989A (zh) * | 2018-01-18 | 2018-07-17 | 北京科技大学 | 一种基于轨迹的滑动验证码人机识别方法 |
CN108416198A (zh) * | 2018-02-06 | 2018-08-17 | 平安科技(深圳)有限公司 | 人机识别模型的建立装置、方法及计算机可读存储介质 |
CN108491714A (zh) * | 2018-04-09 | 2018-09-04 | 众安信息技术服务有限公司 | 验证码的人机识别方法 |
CN108965207A (zh) * | 2017-05-19 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 机器行为识别方法与装置 |
-
2019
- 2019-03-08 CN CN201910177296.7A patent/CN110046647A/zh active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8483518B2 (en) * | 2010-02-19 | 2013-07-09 | Microsoft Corporation | Image-based CAPTCHA exploiting context in object recognition |
CN103685195A (zh) * | 2012-09-21 | 2014-03-26 | 华为技术有限公司 | 用户验证处理方法、用户设备和服务器 |
CN103886323A (zh) * | 2013-09-24 | 2014-06-25 | 清华大学 | 基于移动终端的行为识别方法及移动终端 |
CN104954343A (zh) * | 2014-03-31 | 2015-09-30 | 腾讯科技(深圳)有限公司 | 验证信息处理方法、服务器及系统 |
CN106155298A (zh) * | 2015-04-21 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 人机识别方法及装置、行为特征数据的采集方法及装置 |
US20170046583A1 (en) * | 2015-08-10 | 2017-02-16 | Yoti Ltd | Liveness detection |
CN105975611A (zh) * | 2016-05-18 | 2016-09-28 | 天津大学 | 自适应组合降采样增强学习机 |
CN106951751A (zh) * | 2017-03-24 | 2017-07-14 | 电子科技大学 | 一种基于传感器的智能手机开锁识别方法 |
CN108965207A (zh) * | 2017-05-19 | 2018-12-07 | 北京京东尚科信息技术有限公司 | 机器行为识别方法与装置 |
CN107368540A (zh) * | 2017-06-26 | 2017-11-21 | 北京理工大学 | 基于用户自相似度的多模型相结合的电影推荐方法 |
CN107342995A (zh) * | 2017-07-03 | 2017-11-10 | 深圳市全民合伙人科技有限公司 | 一种用户信息处理方法及系统 |
CN107679374A (zh) * | 2017-08-23 | 2018-02-09 | 北京三快在线科技有限公司 | 一种基于滑动轨迹的人机识别方法及装置,电子设备 |
CN108287989A (zh) * | 2018-01-18 | 2018-07-17 | 北京科技大学 | 一种基于轨迹的滑动验证码人机识别方法 |
CN108229130A (zh) * | 2018-01-30 | 2018-06-29 | 中国银联股份有限公司 | 一种验证方法及装置 |
CN108416198A (zh) * | 2018-02-06 | 2018-08-17 | 平安科技(深圳)有限公司 | 人机识别模型的建立装置、方法及计算机可读存储介质 |
CN108491714A (zh) * | 2018-04-09 | 2018-09-04 | 众安信息技术服务有限公司 | 验证码的人机识别方法 |
Non-Patent Citations (2)
Title |
---|
王长宝等: "《面向类别不平衡数据的主动在线加权极限学习机算法》", 《计算机科学》 * |
薛贞霞等: "《基于类权重的模糊不平衡数据分类方法》", 《计算机科学》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177668A (zh) * | 2019-11-21 | 2020-05-19 | 武汉极意网络科技有限公司 | 一种基于移动设备传感器的人机交互验证方法 |
CN111027643A (zh) * | 2019-12-26 | 2020-04-17 | 北京奇艺世纪科技有限公司 | 深度神经网络模型的训练方法、人机交互识别方法、装置、电子设备及存储介质 |
CN111027643B (zh) * | 2019-12-26 | 2024-03-08 | 北京奇艺世纪科技有限公司 | 深度神经网络模型的训练方法、人机交互识别方法、装置、电子设备及存储介质 |
CN111382403A (zh) * | 2020-03-17 | 2020-07-07 | 同盾控股有限公司 | 用户行为识别模型的训练方法、装置、设备及存储介质 |
CN113553571A (zh) * | 2020-04-26 | 2021-10-26 | 国网电子商务有限公司 | 一种终端设备可信度度量方法及装置 |
CN112134837A (zh) * | 2020-08-06 | 2020-12-25 | 瑞数信息技术(上海)有限公司 | Web攻击行为的检测方法和系统 |
CN113885980A (zh) * | 2021-09-24 | 2022-01-04 | 北京航天新立科技有限公司 | 基于局域网的桌面共享方法及系统 |
CN113885980B (zh) * | 2021-09-24 | 2023-10-24 | 北京航天新立科技有限公司 | 基于局域网的桌面共享方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046647A (zh) | 一种验证码机器行为识别方法及装置 | |
CN101902470B (zh) | 一种基于表单特征的Web安全漏洞动态检测方法 | |
Tang et al. | Hyd R un: a MATLAB toolbox for rainfall–runoff analysis | |
CN107204960B (zh) | 网页识别方法及装置、服务器 | |
CN110233849A (zh) | 网络安全态势分析的方法及系统 | |
CN103853738B (zh) | 一种网页信息相关地域的识别方法 | |
CN105930723A (zh) | 一种基于特征选择的入侵检测方法 | |
CN103927483A (zh) | 用于检测恶意程序的判定模型及恶意程序的检测方法 | |
CN102567546B (zh) | 一种sql注入检测方法及装置 | |
CN110765459A (zh) | 一种恶意脚本检测方法、装置和存储介质 | |
CN110319982A (zh) | 基于机器学习的埋地式燃气管线泄漏判断方法 | |
CN108229170B (zh) | 利用大数据和神经网络的软件分析方法和装置 | |
KR20190070702A (ko) | 텍스트 마이닝 기반 보안 이벤트 자동 검증 시스템 및 방법 | |
CN104166680B (zh) | 一种基于开源库与文本挖掘的并行漏洞挖掘方法 | |
CN110263538A (zh) | 一种基于系统行为序列的恶意代码检测方法 | |
CN104113544B (zh) | 基于模糊隐条件随机场模型的网络入侵检测方法及系统 | |
CN105760649A (zh) | 一种面向大数据的可信度量方法 | |
CN106874760A (zh) | 一种基于层次式SimHash的Android恶意代码分类方法 | |
CN104202291A (zh) | 基于多因素综合评定方法的反钓鱼方法 | |
CN110365691A (zh) | 基于深度学习的钓鱼网站判别方法及装置 | |
CN106121622A (zh) | 一种基于示功图的有杆泵抽油井的多故障诊断方法 | |
CN109543408A (zh) | 一种恶意软件识别方法和系统 | |
CN109933977A (zh) | 一种检测webshell数据的方法及装置 | |
CN109600382A (zh) | webshell检测方法及装置、HMM模型训练方法及装置 | |
CN116361810A (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 |
Application publication date: 20190723 |
|
RJ01 | Rejection of invention patent application after publication |