一种Web机器人的识别方法、装置、设备和介质制造方法及图纸

技术编号:34926463 阅读:18 留言:0更新日期:2022-09-15 07:20
本发明专利技术公开了一种Web机器人的识别方法、装置、设备和介质,由于该方法中是通过被动获取的每个web数据包提取到的每个TCP/IP指纹、第一操作系统类型及第一操作系统版本,在根据每个TCP/IP指纹生成的第一特征向量输入第一识别模型后得到的第二操作系统类型和第二操作系统版本、与第一操作系统类型及第一操作系统版本对Web机器人进行识别,在第一操作系统类型与第二操作系统类型不匹配,或第一操作系统版本与第二操作系统版本不匹配时,确定客户端为Web机器人,因此不会影响到客户端的性能从而提高了客户体验,并且该方法中不需要依赖用户经验设置阈值,从而提高了Web机器人识别的准确度。的准确度。的准确度。

【技术实现步骤摘要】
一种Web机器人的识别方法、装置、设备和介质


[0001]本专利技术涉及计算机安全
,尤其涉及一种Web机器人的识别方法、装置、设备和介质。

技术介绍

[0002]万维网(World Wide Web,Web)机器人是在不需要人工干预的情况下,自动进行一系列Web事务处理的软件程序。互联网在高速的发展过程中,web网站除了会面临传统的结构化查询语言(Structured Query Language,SQL)注入、跨站脚本攻击等传统威胁外,越来越多的会面临web机器人的攻击。这些web机器人在进行攻击时,一般会使用注册机进行虚假账号的批量注册、使用拖库撞库的手段盗取用户账号信息、采用爬虫的手段窃取网站的敏感数据、采用自动化脚本工具参与抢券和抽奖等各类营销活动进行薅羊毛、以及使用自动化工具进行刷单操作等。这些web机器人的存在会对网站造成巨大的威胁。
[0003]现有识别Web机器人的方法,包括通过对客户端注入直译式脚本语言(JavaScript,JS)脚本识别Web机器人、使用访问频率判定识别Web机器人、采用验证码技术识别Web机器人、采用行为检测技术识别Web机器人等。
[0004]其中对客户端注入JS脚本识别Web机器人的方法通常是在服务器端生成一段包含客户端身份(Cookie)名称等信息的Javascript代码,并将该Javascript代码返回给客户端,当服务器端检测到客户端无法执行Javascript代码,则意味着客户端为web机器人。此方法由于需要在客户端注入Javascript代码,会影响到客户端的性能和用户体验。
[0005]使用访问频率判定识别Web机器人的方法为通过在服务器端对客户端的访问流量进行频率检测,当访问频率超过阈值时,则确定客户端为web机器人。此方法能够识别进行暴力破解和抢券的攻击行为的web机器人,但难点是阈值在实际使用中通常依赖于经验,因此非常容易存在误报或漏报。
[0006]采用验证码技术识别Web机器人为通过服务器端向客户端发送验证码,若验证不通过,则确定客户端为Web机器人,但该方法在使用过程中,会打断用户的正常操作,导致正常用户的体验较差。
[0007]采用行为检测技术识别Web机器人是通过在服务器端生成的JS脚本,并将JS脚本发送给客户端,由JS脚本在客户端采集鼠标键盘等行为数据,并通过机器学习模型识别Web机器人。该方法由于也需要在客户端注入JS脚本,在执行中会影响到客户端的性能和用户体验,且采集行为数据存在用户隐私数据泄露的合规风险。

技术实现思路

[0008]本专利技术提供了一种Web机器人的识别方法、装置、设备和介质,用以解决现有技术中在识别Web机器人时会影响客户端的性能导致用户体验差的问题、以及存在误报或漏报导致识别准确度较低的问题。
[0009]本专利技术提供了一种Web机器人的识别方法,所述方法包括:
[0010]获取设定时间长度内客户端向服务器端发送的每个web数据包,对所述每个web数据包进行解析提取所述客户端的每个TCP/IP指纹、第一操作系统类型及第一操作系统版本;
[0011]根据所述每个TCP/IP指纹,生成第一特征向量,基于预先保存的第一识别模型,获取针对输入的所述第一特征向量输出的所述客户端的第二操作系统类型和第二操作系统版本;
[0012]若所述第一操作系统类型与所述第二操作系统类型不匹配,或所述第一操作系统版本与所述第二操作系统版本不匹配,则确定所述客户端为Web机器人。
[0013]进一步地,所述对每个web数据包进行解析提取所述客户端的每个TCP/IP指纹、第一操作系统类型及第一操作系统版本包括:
[0014]针对所述每个web数据包,对该web数据包进行IP协议解析和TCP协议解析,提取该web数据包对应的每个IP协议特征的特征值和每个TCP协议特征的特征值,并组成该web数据包对应的TCP/IP指纹;
[0015]对所述每个web数据包中的任一web数据包进行超文本传输协议HTTP协议解析,提取所述客户端的第一操作系统类型及第一操作系统版本。
[0016]进一步地,所述根据所述每个TCP/IP指纹,生成第一特征向量包括:
[0017]针对第一特征向量中的每一维度分量对应的协议特征,根据所述每个TCP/IP指纹包含的每个IP协议特征的特征值和每个TCP协议特征的特征值,确定该协议特征的每个特征值的平均值,并将所述平均值确定为所述第一特征向量中的该维度分量对应的分量值。
[0018]进一步地,若所述第一操作系统类型与所述第二操作系统类型匹配、且所述第一操作系统版本与所述第二操作系统版本匹配,所述方法还包括:
[0019]获取所述每个web数据包中的目标握手数据包;
[0020]对所述目标握手数据包进行安全层传输协议TLS协议解析,获取所述客户端的TLS指纹;
[0021]根据所述TLS指纹,生成第二特征向量,基于预先保存的第二识别模型,获取针对输入的所述第二特征向量输出的目标标识信息;
[0022]若根据所述目标标识信息识别所述客户端为工具,则确定所述客户端为Web机器人,并将所述工具的工具类型确定为所述Web机器人的类型。
[0023]进一步地,若根据所述目标标识信息识别所述客户端为浏览器,所述方法还包括:
[0024]对所述每个web数据包中的任一web数据包进行超文本传输协议HTTP协议解析,提取所述客户端使用的浏览器的第二浏览器版本号;
[0025]判断所述目标标识信息标识所述浏览器的第一浏览器版本号与所述第二浏览器版本号是否匹配,若否,则确定所述客户端为Web机器人。
[0026]进一步地,所述获取所述每个web数据包中的目标握手数据包之后,所述对所述每个web数据包进行安全层传输协议TLS协议解析,提取所述客户端的TLS指纹之前,所述方法还包括:
[0027]确定所述客户端向所述服务器端发送的首个web数据包是否基于超文本传输安全协议HTTPS传输,若是,则执行后续的对所述每个web数据包进行安全层传输协议TLS协议解析,提取所述客户端的TLS指纹的步骤。
[0028]相应地,本专利技术提供了一种Web机器人的识别装置,所述装置包括:
[0029]解析模块,用于获取设定时间长度内客户端向服务器端发送的每个web数据包,对所述每个web数据包进行解析提取所述客户端的每个TCP/IP指纹、第一操作系统类型及第一操作系统版本;
[0030]识别模块,用于根据所述每个TCP/IP指纹,生成第一特征向量,基于预先保存的第一识别模型,获取针对输入的所述第一特征向量输出的所述客户端的第二操作系统类型和第二操作系统版本;若所述第一操作系统类型与所述第二操作系统类型不匹配,或所述第一操作系统版本与所述第二操作系统版本不匹配,则确定所述客户端为Web机器人。
[0031]进一步地,所述解析模块,具体用于针对所述每个web数据包,对该web数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Web机器人的识别方法,其特征在于,所述方法包括:获取设定时间长度内客户端向服务器端发送的每个web数据包,对所述每个web数据包进行解析提取所述客户端的每个TCP/IP指纹、第一操作系统类型及第一操作系统版本;根据所述每个TCP/IP指纹,生成第一特征向量,基于预先保存的第一识别模型,获取针对输入的所述第一特征向量输出的所述客户端的第二操作系统类型和第二操作系统版本;若所述第一操作系统类型与所述第二操作系统类型不匹配,或所述第一操作系统版本与所述第二操作系统版本不匹配,则确定所述客户端为Web机器人。2.根据权利要求1所述的方法,其特征在于,所述对每个web数据包进行解析提取所述客户端的每个TCP/IP指纹、第一操作系统类型及第一操作系统版本包括:针对所述每个web数据包,对该web数据包进行IP协议解析和TCP协议解析,提取该web数据包对应的每个IP协议特征的特征值和每个TCP协议特征的特征值,并组成该web数据包对应的TCP/IP指纹;对所述每个web数据包中的任一web数据包进行超文本传输协议HTTP协议解析,提取所述客户端的第一操作系统类型及第一操作系统版本。3.根据权利要求1所述的方法,其特征在于,所述根据所述每个TCP/IP指纹,生成第一特征向量包括:针对第一特征向量中的每一维度分量对应的协议特征,根据所述每个TCP/IP指纹包含的每个IP协议特征的特征值和每个TCP协议特征的特征值,确定该协议特征的每个特征值的平均值,并将所述平均值确定为所述第一特征向量中的该维度分量对应的分量值。4.根据权利要求1所述的方法,其特征在于,若所述第一操作系统类型与所述第二操作系统类型匹配、且所述第一操作系统版本与所述第二操作系统版本匹配,所述方法还包括:获取所述每个web数据包中的目标握手数据包;对所述目标握手数据包进行安全层传输协议TLS协议解析,获取所述客户端的TLS指纹;根据所述TLS指纹,生成第二特征向量,基于预先保存的第二识别模型,获取针对输入的所述第二特征向量输出的目标标识信息;若根据所述目标标识信息识别所述客户端为工具,则确定所述客户端为Web机器人,并将所述工具...

【专利技术属性】
技术研发人员:姜剑荆昆仑赵粤征叶建伟黄俊叶晓虎
申请(专利权)人:北京神州绿盟科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1