CN115146160A - 机器行为检测方法及其装置、设备、介质 - Google Patents
机器行为检测方法及其装置、设备、介质 Download PDFInfo
- Publication number
- CN115146160A CN115146160A CN202210770133.1A CN202210770133A CN115146160A CN 115146160 A CN115146160 A CN 115146160A CN 202210770133 A CN202210770133 A CN 202210770133A CN 115146160 A CN115146160 A CN 115146160A
- Authority
- CN
- China
- Prior art keywords
- data
- mouse
- client
- behavior
- detection
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Human Computer Interaction (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Algebra (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及网络安全领域中一种机器行为检测方法及其装置、设备、介质,所述方法包括:响应客户端提交的页面资源加载请求,获取预先采集的用户操作行为数据;根据预设规则对所述用户操作行为数据执行第一重检测,判别客户端的操作行为是否属于机器行为;当第一重检测出不属于机器行为时,采用预先训练至收敛的机器行为检测模型对所述用户操作行为数据的综合特征向量执行第二重检测,判别客户端的操作行为是否属于机器行为;当判定客户端的操作行为属于机器行为时,将客户端的网络地址加入临时黑名单,以启动对客户端的嫌疑检测;当所述客户端通过嫌疑检测时,向客户端推送所述加载请求所需的页面资源。本申请能够准确识别机器行为。
Description
技术领域
本申请涉及网络安全领域,尤其涉及一种机器行为检测方法及其相应的装置、计算机设备、计算机可读存储介质。
背景技术
随着网络信息技术的不断发展,大部分企业都会搭建互联网网站,在其中部署业务相关的线上服务,用户可通过互联网线上访问互联网网站,进而根据自身所需启动相应的网站提供的线上服务,从而实现自身需求,例如:办理证件、开设线上店铺、线上购物等等。
一般而言,企业需要保障互联网网站的网络安全,避免发生网站被暴力破解或攻击、网站信息被爬取等不良事件,而造成不必要的经济损失。传统的网络安全检测的技术手段中,通常统计访问网站的客户端的IP地址,当访问频率超过一定阈值时,对该IP进行封禁,不响应客户端对网站的访问。或者,通过反向扫描访问网站的客户端的端口情况,以判别是否封禁客户端,不响应客户端对网站的访问。上述技术实现中,单凭检测客户端访问网站时产生的网络信息,而不对客户端的操作行为进行检测,容易发生误判的情况,影响用户的正常使用,影响用户体验。
鉴于传统技术的以上不足,本申请做出相应的探索。
发明内容
本申请的首要目的在于解决上述问题至少之一而提供一种机器行为检测方法及其相应的装置、计算机设备、计算机可读存储介质。
为满足本申请的各个目的,本申请采用如下技术方案:
适应本申请的目的之一而提供的一种机器行为检测方法,包括如下步骤:
响应客户端提交的页面资源加载请求,获取采集的用户操作行为数据,所述用户操作行为数据包括鼠标移动轨迹数据、浏览器数据中的用户代理数据及键盘输入数据;
根据预设规则对所述用户操作行为数据执行第一重检测,判别客户端的操作行为是否属于机器行为;
当第一重检测出不属于机器行为时,采用预先训练至收敛的机器行为检测模型对所述用户操作行为数据的综合特征向量执行第二重检测,判别客户端的操作行为是否属于机器行为;
当判定客户端的操作行为属于机器行为时,将客户端的网络地址加入临时黑名单,以启动对客户端的嫌疑检测;
当所述客户端通过嫌疑检测时,向客户端推送所述加载请求所需的页面资源。
另一方面,适应本申请的目的之一而提供的一种机器行为检测装置,包括数据获取模块、一重检测模块、二重检测模块、拉黑检测模块及资源推送模块,其中:数据获取模块,用于响应客户端提交的页面资源加载请求,获取采集的用户操作行为数据,所述用户操作行为数据包括鼠标移动轨迹数据、浏览器数据中的用户代理数据及键盘输入数据;一重检测模块,用于根据预设规则对所述用户操作行为数据执行第一重检测,判别客户端的操作行为是否属于机器行为;二重检测模块,用于当第一重检测出不属于机器行为时,采用预先训练至收敛的机器行为检测模型对所述用户操作行为数据的综合特征向量执行第二重检测,判别客户端的操作行为是否属于机器行为;拉黑检测模块,用于当判定客户端的操作行为属于机器行为时,将客户端的网络地址加入临时黑名单,以启动对客户端的嫌疑检测;资源推送模块,用于当所述客户端通过嫌疑检测时,向客户端推送所述加载请求所需的页面资源。
又一方面,适应本申请的目的之一而提供的一种计算机设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本申请所述的机器行为检测方法的步骤。
又一方面,适应本申请的另一目的而提供的一种计算机可读存储介质,其以计算机可读指令的形式存储有依据所述的机器行为检测方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
本申请的技术方案存在多方面优势,包括但不限于如下各方面:
一方面,采用多重检测机制逐步深入检测客户端的操作行为,在第一重检测判定属于客户端的操作行为数据机器行为时,无需第二重检测,能够保证检测的效率,在第一重检测判定不属于机器行为时,进一步采用预先训练至收敛的机器行为检测模型实现智能化快速准确检测,降低误判风险,保证用户顺畅使用相关服务,确保用户使用体验良好。
另一方面,在客户端提交页面资源加载请求后按照第一重检测、第二重检测、嫌疑检测多层次深入结合的方式进行检测,能够实时有效保障网络安全,避免机器违规作弊行为造成经济损失。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请的机器行为检测方法的典型实施例的流程示意图;
图2为本申请的实施例中机器行为检测模型训练过程的示意图;
图3为本申请的实施例中采用机器行为检测模型执行第二重检测的流程示意图;
图4为本申请的实施例中获取用户操作行为数据对应的综合特征的流程示意图;
图5为本申请的实施例中通过抽取鼠标移动轨迹数据获得鼠标综合特征的示意图;
图6为本申请的实施例中获得基础统计特征、移动特征、回退特征、交互框特征的流程示意图;
图7为本申请的实施例中嫌疑检测执行的流程示意图;
图8为本申请的机器行为检测装置的原理框图;
图9为本申请所采用的一种计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本申请所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
本申请的一个或数个技术特征,除非明文指定,既可部署于服务器实施而由客户端远程调用获取服务器提供的在线服务接口来实施访问,也可直接部署并运行于客户端来实施访问。
本申请中所引用或可能引用到的神经网络模型,除非明文指定,既可部署于远程服务器且在客户端实施远程调用,也可部署于设备能力胜任的客户端直接调用,某些实施例中,当其运行于客户端时,其相应的智能可通过迁移学习来获得,以便降低对客户端硬件运行资源的要求,避免过度占用客户端硬件运行资源。
本申请所涉及的各种数据,除非明文指定,既可远程存储于服务器,也可存储于本地终端设备,只要其适于被本申请的技术方案所调用即可。
本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
本申请即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本申请的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。
本申请的一种机器行为检测方法,可被编程为计算机程序产品,部署于客户端或服务器中运行而实现,例如,本申请的示例性应用场景中,可以在电商平台的服务器中部署实现,藉此可以通过访问该计算机程序产品运行后开放的接口,通过图形用户界面与该计算机程序产品的进程进行人机交互而执行该方法。
请参阅图1,本申请的机器行为检测方法,在其典型实施例中,包括如下步骤:
步骤S1100、响应客户端提交的页面资源加载请求,获取采集的用户操作行为数据,所述用户操作行为数据包括鼠标移动轨迹数据、浏览器数据中的用户代理数据及键盘输入数据;
一般而言,用户可通过操作客户端建立与网站的互联网连接,线上访问网站,进一步,用户可根据自身所需操作在客户端加载的网站的图形用户界面,触发生成页面资源加载请求,客户端提交该请求至网站的服务器,服务器接收该请求并对其进行响应,此时可触发对客户端的操作行为实行本申请实现的机器行为检测方法,待机器行为检测通过之后,确定客户端的操作行为不属于机器行为即确保网络安全的情况下,再应答所述请求将所需的页面资源发送至客户端。
一种实施例中,可以在网站上部署采集用户操作行为数据的功能模块,具体而言,每当用户触控网站的图形用户界面上的任意交互框例如跳转、确认、取消、搜索、支付、表单提交或获取等控件时,采集访问网站期间客户端的操作行为例如浏览器操作、鼠标移动操作及键盘输入操作,相应产生的用户操作行为数据,将其上传至网站的服务器。服务器接收所述用户操作行为数据将其存储至数据库中。可以理解,所述鼠标移动轨迹数据包括序列化的多个信息单元,每个信息单元包含多个基础数据,所述基础数据包括鼠标所在位置的横坐标和纵坐标,以及鼠标处于所述位置的时间戳,该鼠标移动轨迹数据示范性举例:[[200,200,1651738042000],[620,300,1651738045000],[1300,500,1651738047000]…]。所述浏览器数据中的用户代理数据包含但不限于操作系统类型、操作系统版本、CPU类型、浏览器类型、浏览器型号、浏览器渲染引擎,示范性举例:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,like Gecko)Chrome/102.0.5005.124Safari/537.36Edg/102.0.1245.44。所述键盘输入数据包含特殊输入和常规输入,所述特殊输入包括:Enter、Backspace、Tab、Esc、Delete、Shift、Ctrl等任意一种或多种对应的键盘按键输入,常规输入为A至Z的按键输入。
据此,响应客户端提交的页面加载请求,启动机器行为检测,从所述数据库中获取采集访问网站期间客户端的操作行为产生的用户操作行为数据。
步骤S1200、根据预设规则对所述用户操作行为数据执行第一重检测,判别客户端的操作行为是否属于机器行为;
所述预设规则可为多个规则,各个规则对应一个或多个条件,示范性举例:
规则1:
1.采集的用户操作行为数据的鼠标移动轨迹数据中的信息单元的点数少于预设阈值a。
2.触控网站的图像用户界面上的交互框对应的用户操作行为数据的鼠标移动轨迹数据中的信息单元的点数少于预设阈值b。
3.采集的用户操作行为数据的键盘输入数据为空。
其中,所述预设阈值a、b可由本领域技术人员按实际业务所需灵活设置。
规则2:
1.采集的用户操作行为数据的鼠标移动轨迹数据为空。
2.采集的用户操作行为数据的键盘输入数据中的常规输入为空。
根据上述的预设规则对所述用户操作行为数据执行第一重检测,当任一规则中的所有条件都成立,即可判别客户端的操作行为属于机器行为,否则,即判断不属于机器行为。
步骤S1300、当第一重检测出不属于机器行为时,采用预先训练至收敛的机器行为检测模型对所述用户操作行为数据的综合特征向量执行第二重检测,判别客户端的操作行为是否属于机器行为;
所述机器行为检测模型可为分类模型如逻辑回归分类模型、随机森林模型,或者深度学习模型。对于分类模型而言,可采用机器行为和人为即客户端的操作行为对应的两种操作类型,对应产生的用户操作行为数据作为训练集,训练模型至收敛,使得模型习得区分产生用户操作行为数据的操作行为是否属于机器行为的能力;对于深度学习模型而言,同样可采用机器行为和人为对应产生的用户操作行为数据作为训练集,预先训练模型至收敛,使得模型习得预测产生用户操作行为数据的操作行为属于或不属于机器行为的能力。
一种实施例中,所述机器行为检测模型为深度学习模型,在第一重检测出不属于机器行为时,执行第二重检测,采用预先训练至收敛的机器行为检测模型提取出所述用户操作行为数据的鼠标移动轨迹数据、浏览器数据中的用户代理数据及键盘输入数据对应的表征机器行为的三个维度的特征,拼接三个维度的特征作为综合特征,获得向量化表示该综合特征的综合特征向量,将所述综合特征向量输入至全连接层获得一维向量,将该一维向量映射至属于机器行为的分类空间,获得属于机器行为的概率,进而可通过判断所述概率是否达到预设阈值,达到则判定客户端的操作行为属于机器行为,否则,判定为不属于机器行为,所述预设阈值可由本领域技术人员根据先验知识或实验数据设置。
另一种实施例中,所述机器行为检测模型为机器学习模型,在第一重检测出不属于机器行为时,触发执行第二重检测,对所述用户操作行为数据的鼠标移动轨迹数据、浏览器数据中的用户代理数据及键盘输入数据分别进行预处理,提取出对应该三种数据的三个维度的特征,拼接三个维度的特征作为综合特征,对该综合特征进行编码获得向量化表示该综合特征的综合特征向量,对该综合特征向量进行二分类,获得是否属于机器行为的分类结果,进而可根据该分类结果判别客户端的操作行为是否属于机器行为。
可以设置定时任务以实现对所述机器行为检测模型的迭代更新,保障模型检测的准确性,示范性举例,每到达预设时间点时,可从所述数据库中调用采集的用户操作行为数据对当前部署的机器行为检测模型进行训练,在训练至收敛后,获得相应的更新后的机器行为检测模型替换当前部署的机器行为检测模型。
步骤S1400、当判定客户端的操作行为属于机器行为时,将客户端的网络地址加入临时黑名单,以启动对客户端的嫌疑检测;
可以理解,当第一重检测或第二重检测判定客户端的操作行为属于机器行为时,可视当前客户端与网站之间的网络安全异常,该客户端涉嫌违规操作,对该客户端执行临时封禁。从该客户端访问网站时,由客户端提交的网络报文中获取客户端的网络地址,所述网络地址可为互联网协议地址例如IPv4地址、IPv6地址,或客户端设备的MAC地址等等。进一步,将客户端的网络地址添加至临时黑名单中临时保存,所述临时黑名单为预先创建并存储在网站的服务器中的数据列表,根据预设时限临时保存被封禁的客户端的网络地址,并在预设时限到达时删除。据此,网站的服务器能够根据临时黑名单中的客户端的网站地址,启动对客户端的嫌疑检测。所述嫌疑检测,可为常见的图片滑块验证、图片物品辨认验证、图片汉字排序验证、图片数字或字母输入验证等需要用户在客户端手动操作的检测手段,本领域技术人员可灵活变通实现。
步骤S1500、当所述客户端通过嫌疑检测时,向客户端推送所述加载请求所需的页面资源。
当所述客户端通过嫌疑检测时,将所述客户端的网络地址从临时黑名单中移除,可视当前客户端与网站之间的网络安全正常,网站的服务器可正常响应客户端提交的所述加载请求,向客户端推送所述加载请求所需的页面资源。
一种实施例中,当所述客户端不能通过嫌疑检测时,将所述客户端的网络地址从临时黑名单中移除,加入永久黑名单,对该客户端进行永久封禁,控制客户端展示申诉审核界面向用户提供申诉服务,用户可通过提交申述,使得在申诉通过审核后从永久黑名单除名,以实现对该客户端的永久封禁。所述永久黑名单预先创建并存储在网站的服务器中的数据列表。所述永久封禁为,服务器拦截客户端访问网站提交的任何的页面资源获取请求,仅控制客户端展示申诉审核界面。
根据本申请的典型实施例可以知晓,本申请的技术方案存在多方面优势,包括但不限于如下各方面:
一方面,采用多重检测机制逐步深入检测客户端的操作行为,在第一重检测判定属于客户端的操作行为数据机器行为时,无需第二重检测,能够保证检测的效率,在第一重检测判定不属于机器行为时,进一步采用预先训练至收敛的机器行为检测模型实现智能化快速准确检测,降低误判风险,保证用户顺畅使用相关服务,确保用户使用体验良好。
另一方面,在客户端提交页面资源加载请求后按照第一重检测、第二重检测、嫌疑检测多层次深入结合的方式进行检测,能够实时有效保障网络安全,避免机器违规作弊行为造成经济损失。
请参阅图2,进一步的实施例中,步骤S1300、所述机器行为检测模型的训练过程,包括如下步骤:
步骤S1301、获取预先制备的训练集,所述训练集包含人为产生的用户操作行为数据的第一类训练样本,以及机器行为产生的用户操作行为数据的第二类训练样本,根据训练样本的操作行为类型标注相应的监督标签;
基于所述人机模型需要学习的根据用户操作行为数据判别是否属于机器行为的能力,可以预先采集两类数据作为训练样本,第一类数据为通过人为产生的用户操作行为数据作为第一类训练样本,示范性举例,可通过人为正常操作客户端访问网站,采集鼠标移动操作、键盘输入操作及浏览器操作相应产生的用户操作行为数据;第二类数据为通过机器行为产生的用户操作行为数据作为第二类训练样本,示范性举例,可通过多个开源的机器模拟人操作浏览器的软件操作客户端访问网站,采集鼠标移动操作、键盘输入操作及浏览器操作相应产生的用户操作行为数据。所述用户操作行为数据包括鼠标移动轨迹数据、浏览器数据中的用户代理数据及键盘输入数据。
进一步,可为训练集中的各个训练样本,根据其操作行为类型标注相应的监督标签,例如:第一类训练样本的监督标签标注为表示人为操作,第二类训练样本的监督标签标注为表示机器行为操作,使得后续机器行为检测模型可采用所述标注的训练样本进行监督训练,进行二分类预测。
步骤S1302、确定训练集中各个训练样本对应的综合特征构造出综合特征向量,所述综合特征包含鼠标综合特征、键盘输入特征、浏览器特征;
根据训练样本的用户操作行为数据中的中的鼠标移动轨迹数据,确定鼠标综合特征,示范性举例,可以理解,根据操作客户端访问网站时移动鼠标产生的鼠标移动轨迹数据可表示出多种特征,拼接所述多种特征作为鼠标综合特征,所述鼠标综合特征包含基础统计特征、移动特征、回退特征、交互框特征。
对于基础统计特征而言,可根据鼠标移动过程中对应鼠标所在位置的横坐标和纵坐标,统计出多个维度的统计数据作为基础统计特征,所述多个维度的统计数据包含但不限于和值、均值、最大值、最小值、极差、方差、标准差、平均绝对误差、众数、分位数中的任意一种或任意多种;
对于移动特征,可根据鼠标移动过程对应鼠标所在位置的横坐标和纵坐标以及鼠标处于所述位置的时间戳,计算出多个维度的移动数据作为移动特征,所述多个维度的移动数据包含但不限于移动距离,移动时间、移动速度、移动速度、移动加速度中的任意一种或任意多种;
对于回退特征而而言,可根据鼠标在假定的鼠标移动方向移动过程中对应鼠标所在位置的横坐标和纵坐标及鼠标处于所述位置的时间戳,统计出多个维度的统计数据及计算出多个维度的移动数据,合并两者数据作为回退特征,所述假定的鼠标移动方向指的是鼠标远离网站的图形用户界面上的交互框的方向;
对于交互框特征而言,可根据鼠标在交互框内移动时对应鼠标所在位置的横坐标和纵坐标及鼠标处于所述位置的时间戳,统计出多个维度的统计数据及计算出多个维度的移动数据,合并两者数据作为交互框特征。
根据训练样本的用户操作行为数据中的浏览器数据中的用户代理数据可表示出浏览器特征,示范性举例,从浏览器数据中的用户代理数据拆分出对应操作系统类型、操作系统版本、CPU类型、浏览器类型、浏览器型号、浏览器内核、浏览器渲染引擎中的任意一种或任意多种,将该些字段的数据作为浏览器特征。
根据训练样本的用户操作行为数据中的键盘输入数据可表示出键盘输入特征,示范性举例,从键盘输入数据中分离出特殊输入的数据作为键盘输入特征,所述特殊输入包括:Enter、Backspace、Tab、Esc、Delete、Shift、Ctrl等中的任意一种或任意多种对应的键盘按键输入。
采用独热编码方式对所述键盘输入特征和浏览器特征的数据进行编码,获得相应的两个特征向量,将该两个特征向量与所述鼠标综合特征三者进行拼接,获得综合特征向量。
步骤S1303、获取训练集中的单个训练样本对应的综合特征向量输入至机器行为检测模型,预测该训练样本对应的操作行为类型;
进一步,将所述综合特征向量输入至机器行为检测模型,该机器行为检测模型,以利用传统机器学习原理搭建为机器学习模型为例,推荐采用LightGBM作为模型原型,由模型的全连接层进行线性转换,获得一维向量,采用预设的二分类函数计算将该一维向量映射至二分类空间对应的预测的概率,进而获得所述映射的最大概率的分类空间对应的操作行为类型作为所述预测的操作行为类型,所述二分类函数可为sigmoid函数,所述二分类空间包含两类操作行为类型对应的分类空间,即人为的分类空间和机器行为的分类空间。
步骤S1304、根据所述单个训练样本对应的监督标签,计算所预测的操作行为类型的损失值,判断该损失值是否达到预设阈值,当其达到预设阈值时,终止训练;否则,根据该损失值对该模型实施权重更新,调用所述训练集中的下一训练样本继续对该模型实施迭代训练。
调用预设的交叉熵损失函数,此处可由本领域技术人员根据先验知识或实验经验灵活变通设置,基于所述单个训练样本对应的监督标计算所预测的操作行为类型的交叉熵损失值,当该损失值达到预设阈值时,表明模型已被训练至收敛状态,从而可以终止模型训练;损失值未达到预设阈值时,表明模型未收敛,于是根据该损失值对模型实施梯度更新,通常通过反向传播修正模型各个环节的权重参数以使模型进一步逼近收敛,然后,继续调用所述训练集中的下一样本数据对该模型实施迭代训练,直至该模型被训练至收敛状态为止。
本实施例中,一方面,通过预处理采集的训练集中的各个训练样本,获得其对应的多维度的综合特征,将其向量化表示成综合特征向量输入至模型进行训练,保证训练至收敛的模型在实际应用时的准确度。
另一方面,揭示了机器行为检测模型的训练过程,可以看出,在所述数据集的样本数据和监督标签训练下,所述模型具备能够根据用户操作行为数据对应的综合特征向量,快速分类出相应的操作行为类型的能力,从而确保后续能够服务于第二重检测的执行,大大提升第二重检测的精准度和效率。
请参阅图3,进一步的实施例中,步骤S1300、采用预先训练至收敛的机器行为检测模型对所述用户操作行为数据的综合特征向量执行第二重检测,判别客户端的操作行为是否属于机器行为的步骤中,包括如下步骤:
步骤S1310、预处理所述用户操作行为数据,获得其综合特征,所述综合特征包含鼠标综合特征、键盘输入特征、浏览器特征;
所述预处理为根据所述用户操作行为数据中的鼠标移动轨迹数据、键盘输入数据及浏览器数据中的用户代理数据,获得鼠标综合特征、键盘输入特征、浏览器特征,合并所述三个维度的特征获得综合特征。获得所述鼠标综合特征的具体实现,由后续部分实施例进一步揭示,本步骤暂且按下不表。
获得所述键盘输入特征、浏览器特征的具体实现,示范性举例如下:
根据所述用户操作行为数据中的浏览器数据中的用户代理数据可表示出浏览器特征,示范性举例,从浏览器数据中的用户代理数据拆分出对应操作系统类型、操作系统版本、CPU类型、浏览器类型、浏览器型号、浏览器内核、浏览器渲染引擎中的任意一种或任意多种,将该些字段的数据作为浏览器特征。
根据所述用户操作行为数据中的键盘输入数据可表示出键盘输入特征,示范性举例,从键盘输入数据中分离出特殊输入的数据作为键盘输入特征,所述特殊输入包括:Enter、Backspace、Tab、Esc、Delete、Shift、Ctrl等中的任意一种或任意多种对应的键盘按键输入。
步骤S1320、采用独热编码方式对综合特征中的键盘输入特征和浏览器特征进行编码,获得相应的编码数据与所述鼠标综合特征共同构造为综合特征向量;
采用独热编码方式对所述键盘输入特征和浏览器特征的数据进行编码,获得相应的两个特征向量,将该两个特征向量与所述鼠标综合特征三者进行拼接,获得综合特征向量。
步骤S1330、采用预先训练至收敛的机器行为检测模型对所述综合特征向量进行二分类,获得相应的分类结果;
将所述综合特征向量输入至机器行为检测模型,该机器行为检测模型为分类模型,由模型的全连接层进行线性转换,获得一维向量,采用预设的二分类函数计算将该一维向量映射至二分类空间对应的预测的概率,进而获得所述映射的最大概率的分类空间对应的操作行为类型作为所述分类结果,所述二分类函数可为sigmoid函数,所述二分类空间包含两类操作行为类型对应的分类空间,即人为的分类空间和机器行为的分类空间。
步骤S1340、根据所述分类结果,判别客户端的操作行为是否属于机器行为。
不难理解,根据所述分类结果对应的操作行为类型,若为机器行为即可判别客户端的操作行为是属于机器行为,否则即可判别不属于机器行为是人为。
本实施例中,揭示了采用机器行为检测模型执行第二重检测的过程,应用模型能够快速精准判别客户端的操作行为,能够在每次客户端提交页面资源获取请求时,这种实时度要求较高场景下,高效完成第二重检测及准确的判别,实时保障网络安全,使得能够以较低的延时保证用户体验,以及保障企业网站资源的安全。
请参阅图4,深化的实施例中,步骤S1310、预处理所述用户操作行为数据,获得其综合特征的步骤中,包括如下步骤:
步骤S1311、根据所述用户操作行为数据中的鼠标移动轨迹数据,确定鼠标综合特征,所述鼠标综合特征包含与鼠标操作相对应的基础统计特征、移动特征、回退特征、交互框特征;
根据所述用户操作行为数据中的鼠标移动数据抽取出相应的统计特征、鼠标移动过程中的特征数据、在假定鼠标反向移动方向下相对应的特征数据、鼠标在图形用户界面上的交互框内移动所表现的特征数据,获得相应的基础统计特征、移动特征、回退特征、交互框特征,此处具体实现由后续部分是实施例进一步揭示,本步骤暂且按下不表。
步骤S1312、根据所述用户操作行为数据中的浏览器数据中的用户代理数据及键盘输入数据,确定相应的浏览器特征、键盘输入特征;
根据所述用户操作行为数据中的浏览器数据中的用户代理数据可表示出浏览器特征,示范性举例,从浏览器数据中的用户代理数据拆分出对应操作系统类型、操作系统版本、CPU类型、浏览器类型、浏览器型号、浏览器内核、浏览器渲染引擎该些字段的数据作为浏览器特征。
根据所述用户操作行为数据中的键盘输入数据可表示出键盘输入特征,示范性举例,从键盘输入数据中分离出特殊输入的数据作为键盘输入特征,所述特殊输入包括:Enter、Backspace、Tab、Esc、Delete、Shift、Ctrl等中的任意一种或任意多种对应的键盘按键输入。
步骤S1313、合并所述鼠标综合特征、浏览器特征及键盘输入特征,获得相应的综合特征。
拼接所述鼠标综合特征、浏览器特征及键盘数据特征为一个数组,作为所述综合特征。
本实施例中,通过对用户操作行为数据进行特征提取及合并处理,获得多个维度的细粒度的特征构成的综合特征,有助于保障后续机器行为检测模型的分类预测的准确性。
请参阅图5,进一步的实施例中,步骤S1311、根据所述用户操作行为数据中的鼠标移动轨迹数据,确定鼠标综合特征的步骤中,包括如下步骤:
步骤S13110、根据所述鼠标移动轨迹数据抽取统计特征,获得基础统计特征;
根据所述鼠标移动轨迹数据抽取统计特征确定多个第一子序列,计算出各个第一子序列对应的多项统计数据作为基础统计特征。
具体而言,所述鼠标移动轨迹数据包括序列化的多个信息单元,每个信息单元包含多个基础数据,所述基础数据包括鼠标所在位置的横坐标和纵坐标,以及鼠标处于所述位置的时间戳,所述鼠标移动轨迹数据示范性举例,[[200,200,1651738042000],[620,300,1651738045000],[1300,500,1651738047000],[1800,600,1651738059000]…]。可以理解,鼠标移动轨迹数据是序列数据,将其作为原始序列,进一步,可从原始序列中的各个信息单元中抽取出横坐标子序列、纵坐标子序列、横坐标前半部分子序列、横坐标后半部分子序列、纵坐标前半部分子序列、纵坐标后半部分子序列,对所述横坐标子序列、纵坐标子序列分别进行一阶差分处理,获得相应的横坐标一阶差分子序列和纵坐标一阶差分子序列。将所述横坐标子序列、纵坐标子序列、横坐标前半部分子序列、横坐标后半部分子序列、纵坐标前半部分子序列、纵坐标后半部分子序列、横坐标一阶差分子序列及纵坐标一阶差分子序列,共八个子序列,作为所述第一子序列。
分别对所述八个第一子序列进行多项统计,所述多项统计包含和值、均值、最大值、最小值、极差、方差、标准差、平均绝对误差、众数、分位数,获得各个第一子序列对应的多项统计数据,拼接该多个多项统计数据为一个数组作为所述基础统计特征。
步骤S13111、根据所述鼠标移动轨迹数据抽取出鼠标移动过程中的特征数据,获得移动特征;
根据所述鼠标移动轨迹数据计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第二子序列,计算出第二子序列分别对应的多项统计数据,拼接多项统计数据和移动数据作为移动特征。
具体而言,根据所述鼠标移动轨迹数据中的各个信息单元的基础数据,即鼠标所在位置的横坐标和纵坐标,以及鼠标处于所述位置的时间戳,计算出鼠标移动过程中每个信息单元移动到下一信息单元的移动路程、移动时间、移动速度、移动加速度,获得该多项移动指标对应的移动数据。
此外,根据所述鼠标移动轨迹数据中的各个信息单元的基础数据,即鼠标所在位置的横坐标和纵坐标,计算出每个信息单元与下一信息单元之间的正弦、余弦、正切,获得该多项三角函数指标分别对应的三个子序列作为第二子序列。
进一步,分别对第二子序列进行多项统计,所述多项统计包含和值、均值、最大值、最小值、极差、方差、标准差、平均绝对误差、众数、分位数,获得各个第二子序列对应的多项统计数据,拼接所述多项统计数据和移动数据作为移动特征。
步骤S13112、根据所述鼠标移动轨迹数据抽取出在假定鼠标反向移动方向下相对应的特征数据,获得回退特征;
根据所述鼠标移动轨迹数据确定在假定鼠标反向移动方向下对应的多个第三子序列,计算出各个第三子序列对应的多项统计数据,根据表示横轴和纵轴对应坐标的第三子序列,计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第四子序列,计算出第四子序列对应的多项统计数据,拼接第三子序列对应的多项统计数据、第四子序列对应的多项统计数据及移动数据作为回退特征;
具体而言,可以假定鼠标向着网站的图形用户界面上的交互框靠近为正向移动方向,反之,远离为反向移动方向。据此,从所述鼠标移动轨迹数据中的各个信息单元中确定在假定鼠标反向移动方向下对应的横坐标子序列及纵坐标子序列,示范性举例,图形用户界面上的交互框的坐标为[1100至1300,400至500],鼠标移动轨迹数据为[[1300,500,1651738042000],[620,300,1651738045000],[200,200,1651738047000]],可确定反向移动方向的横向坐标子序列为[620,200],纵向坐标子序列为[300,200]。对所述横坐标子序列、纵坐标子序列分别进行一阶差分处理,获得相应的横坐标一阶差分子序列和纵坐标一阶差分子序列,将所述横坐标子序列、纵坐标子序列、横坐标一阶差分子序列、纵坐标一阶差分子序列,共四个子序列,作为所述第三子序列。
进一步,分别对第三子序列进行多项统计,所述多项统计包含和值、均值、最大值、最小值、极差、方差、标准差、平均绝对误差、众数、分位数,获得各个第三子序列对应的多项统计数据。
此外,根据第三子序列中的横坐标子序列、纵坐标子序列,以及两者子序列横、纵坐标对应的各个信息单元中的时间戳,计算出鼠标移动过程中每个信息单元移动到下一信息单元的移动路程、移动时间、移动速度、移动加速度,获得该多项移动指标对应的移动数据。
另外,根据第三子序列中的横坐标子序列、纵坐标子序列中对应的横、纵坐标,计算出对应的每个信息单元与下一信息单元之间的正弦、余弦、正切,获得该多项三角函数指标分别对应的三个子序列。
进一步,分别对所述三个子序列进行多项统计,所述多项统计包含和值、均值、最大值、最小值、极差、方差、标准差、平均绝对误差、众数、分位数,获得三个子序列对应的多项统计数据,将其与所述多项移动指标对应的移动数据作为第四子序列。
拼接第三子序列对应的多项统计数据、第四子序列对应的多项统计数据及移动数据作为回退特征。
步骤S13113、根据所述鼠标移动轨迹数据抽取鼠标在图形用户界面上的交互框内移动所表现的特征数据,获得交互框特征;
根据所述鼠标移动轨迹数据确定在图形用户界面上的交互框内移动的多个第五子序列,计算出各个第五子序列对应的多项统计数据,根据表示横轴和纵轴对应坐标的第五子序列,计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第六子序列,计算出第六子序列对应的多项统计数据,拼接第五子序列对应的多项统计数据、第六子序列对应的多项统计数据及移动数据作为交互框特征。
具体而言,从所述鼠标移动轨迹数据中的各个信息单元中确定在图形用户界面上的交互框内移动的鼠标位置坐标对应的横坐标子序列及纵坐标子序列,示范性举例,图形用户界面上的交互框的坐标为[1100至1300,400至500],鼠标移动轨迹数据为[[1340,520,1651738042000],[1250,440,1651738048000],[1270,450,1651738050000],[1290,490,1651738054000]],可确定在图形用户界面上的交互框内移动的横坐标子序列为[1250,1270,1290],纵坐标子序列为[440,450,490]。对所述横坐标子序列和纵坐标子序列分别进行一阶差分处理,获得相应的横坐标一阶差分子序列和纵坐标一阶差分子序列,将所述横坐标子序列、纵坐标子序列、横坐标一阶差分子序列、纵坐标一阶差分子序列,共四个子序列,作为所述第五子序列。
进一步,分别对第五子序列进行多项统计,所述多项统计包含和值、均值、最大值、最小值、极差、方差、标准差、平均绝对误差、众数、分位数,获得各个第五子序列对应的多项统计数据。
此外,根据第五子序列中的横坐标子序列、纵坐标子序列,以及两者子序列横、纵坐标对应的各个信息单元中的时间戳,计算出鼠标移动过程中每个信息单元移动到下一信息单元的移动路程、移动时间、移动速度、移动加速度,获得该多项移动指标对应的移动数据。
另外,根据第五子序列中的横坐标子序列、纵坐标子序列中对应的横、纵坐标,计算出对应的每个信息单元与下一信息单元之间的正弦、余弦、正切,获得该多项三角函数指标分别对应的三个子序列。
进一步,分别对所述三个子序列进行多项统计,所述多项统计包含和值、均值、最大值、最小值、极差、方差、标准差、平均绝对误差、众数、分位数,获得三个子序列对应的多项统计数据,将其与所述多项移动指标对应的移动数据作为第六子序列。
拼接第五子序列对应的多项统计数据、第六子序列对应的多项统计数据及移动数据作为交互框特征。
步骤S13114、合并所述基础统计特征、移动特征、回退特征及交互框特征作为鼠标综合特征。
拼接所述基础统计特征、移动特征、回退特征及交互框特征为一个数组,作为鼠标综合特征。
本实施例中,通过抽取鼠标移动过程中产生的鼠标移动轨迹数据对应的四个维度的特征,实现多维度特征表示鼠标移动轨迹数据,使得能够更多的暴露人为与机器行为产生的鼠标移动轨迹特征数据之间的区别特征,有助于保障机器行为检测的准确性,降低误判风险,保证用户体验,维护企业的网络安全。
请参阅图6,较佳的实施例中:步骤S13110、根据所述鼠标移动轨迹数据抽取统计特征,获得基础统计特征的步骤中,包括:
步骤S131101、根据所述鼠标移动轨迹数据抽取统计特征确定多个第一子序列,计算出各个第一子序列对应的多项统计数据作为基础统计特征,所述鼠标移动轨迹数据包括序列化的多个信息单元,每个信息单元包含多个基础数据,所述基础数据包括鼠标所在位置的横坐标和纵坐标,以及鼠标处于所述位置的时间戳;
可参考步骤S13110,本步骤不做赘述。
和/或,步骤S13111、根据所述鼠标移动轨迹数据抽取出鼠标移动过程中的特征数据,获得移动特征的步骤中,包括:
步骤S131111、根据所述鼠标移动轨迹数据计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第二子序列,计算出第二子序列分别对应的多项统计数据,拼接多项统计数据和移动数据作为移动特征;
可参考步骤S13111,本步骤不做赘述。
和/或,步骤S13112、根据所述鼠标移动轨迹数据抽取出在假定鼠标反向移动方向下相对应的特征数据,获得回退特征的步骤中,包括:
步骤S131121、根据所述鼠标移动轨迹数据确定在假定鼠标反向移动方向下对应的多个第三子序列,计算出各个第三子序列对应的多项统计数据,根据表示横轴和纵轴对应坐标的第三子序列,计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第四子序列,计算出第四子序列对应的多项统计数据,拼接第三子序列对应的多项统计数据、第四子序列对应的多项统计数据及移动数据作为回退特征;
可参考步骤S13112,本步骤不做赘述。
和/或,步骤S13113、根据所述鼠标移动轨迹数据抽取鼠标在图形用户界面上的交互框内移动所表现的特征数据,获得交互框特征的步骤中,包括:
步骤S131131、根据所述鼠标移动轨迹数据确定在图形用户界面上的交互框内移动的多个第五子序列,计算出各个第五子序列对应的多项统计数据,根据表示横轴和纵轴对应坐标的第五子序列,计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第六子序列,计算出第六子序列对应的多项统计数据,拼接第五子序列对应的多项统计数据、第六子序列对应的多项统计数据及移动数据作为交互框特征。
可参考步骤S13113,本步骤不做赘述。
本实施例中,通过对鼠标移动轨迹数据进行特征抽取,并且进一步采用多项统计方式计算出相应的多项统计数据作为特征,使得能够显化人为操作与机器行为操作产生的鼠标移动轨迹特征数据之间的区别特征,有利于提升机器行为检测的准确性,大大降低误判风险。
请参阅图7,深化的实施例中,步骤S1400、启动对客户端进行的嫌疑检测之后,还包括如下步骤:
步骤S1410、响应所述客户端即时产生的用户操作事件,采集当前用户操作行为数据,再次采用所述机器行为检测模型对当前用户操作行为数据执行第三重检测,判别客户端的操作行为是否属于机器行为;
可以理解,第一、二重检测可能存在一定的误差,为了确保网络安全,可进行嫌疑检测,示范性举例,可控制客户端访问的网站的图形用户界面上展示相应的提示消息弹窗,提示用户涉嫌违规操作,需要用户平常的操作行为手动操作客户端访问的网站的图形用户界面,触控界面上的交互框,进而通过嫌疑检测排除嫌疑。由此,在用户根据所述提示进行手动操作时,触发客户端即时产生的用户操作事件,服务器响应该事件,从数据库中获取预先在网站部署的采集用户操作行为数据的模块采集的当前手动操作客户端产生的用户操作行为数据,再次采用所述机器行为检测模型对当前用户操作行为数据执行第三重检测,所述第三重检测与第二重检测功能相同,可参考本申请前部分的实施例的揭示,此处不做赘述。进一步,根据模型预测的分类结果,判别客户端的操作行为是否属于机器行为。
步骤S1420、当所述第三重检测判定属于机器行为时,控制客户端展示验证码校验界面;
当所述第三重检测判定属于机器行为时,可进一步采用验证码验证方式,以机器行为检测的准确性,服务器可向客户端推送验证码校验界面,其中可包含数字和/或字母的验证码图片,使得用户根据该验证码图片进行验证码的输入。
步骤S1430、获取用户输入的验证码,校验该验证码,当校验未通过时判定客户端的操作行为属于机器行为,终止响应所述客户端的后续页面资源加载请求,当通过校验时,将所述客户端的网络地址从临时黑名单中移除。
获取用户输入的验证码,对其进行比对校验,将所述验证码与生成所述验证码图片采用的验证码进行比对,在比对一致时校验通过,反之校验不通过。进而在校验未通过时,可判定客户端的操作行为属于机器行为,当通过校验时,从临时黑名单中移除客户端的网络地址,正常响应客户端的页面资源加载请求。可以理解,在经过所述多重检测下,仍判定客户端的操作行为属于机器行为,即可认为网络安全异常,为了保障网站资源安全而不泄露给客户端,可终止所述客户端的后续页面资源加载请求,也不对当前客户端提交的页面资源加载请求做出响应,向客户端推送该请求加载失败提示;
本实施例中,揭示了嫌疑检测的执行过程,在嫌疑检测的执行下,能够进一步保障网络安全,维护企业资源安全。
请参阅图8,适应本申请的目的之一而提供的一种机器行为检测装置,是对本申请的机器行为检测方法的功能化体现,该装置包括数据获取模块1100、一重检测模块1200、二重检测模块1300、拉黑检测模块1400及资源推送模块1500,其中:数据获取模块1100,用于响应客户端提交的页面资源加载请求,获取采集的用户操作行为数据,所述用户操作行为数据包括鼠标移动轨迹数据、浏览器数据中的用户代理数据及键盘输入数据;一重检测模块1200,用于根据预设规则对所述用户操作行为数据执行第一重检测,判别客户端的操作行为是否属于机器行为;二重检测模块1300,用于当第一重检测出不属于机器行为时,采用预先训练至收敛的机器行为检测模型对所述用户操作行为数据的综合特征向量执行第二重检测,判别客户端的操作行为是否属于机器行为;拉黑检测模块1400,用于当判定客户端的操作行为属于机器行为时,将客户端的网络地址加入临时黑名单,以启动对客户端的嫌疑检测;资源推送模块1500,用于当所述客户端通过嫌疑检测时,向客户端推送所述加载请求所需的页面资源。
进一步的实施例中,所述机器行为检测模型的训练过程,包括:训练集获取子模块,用于获取预先制备的训练集,所述训练集包含人为产生的用户操作行为数据的第一类训练样本,以及机器行为产生的用户操作行为数据的第二类训练样本,根据训练样本的操作行为类型标注相应的监督标签;向量构造子模块,用于确定训练集中各个训练样本对应的综合特征构造出综合特征向量,所述综合特征包含鼠标综合特征、键盘输入特征、浏览器特征;模型预测子模块,用于获取训练集中的单个训练样本对应的综合特征向量输入至机器行为检测模型,预测该训练样本对应的操作行为类型;迭代训练子模块,用于根据所述单个训练样本对应的监督标签,计算所预测的操作行为类型的损失值,判断该损失值是否达到预设阈值,当其达到预设阈值时,终止训练;否则,根据该损失值对该模型实施权重更新,调用所述训练集中的下一训练样本继续对该模型实施迭代训练。
深化的实施例中,所述拉黑检测模块1400之后,还包括:三重检测模块,用于响应所述客户端即时产生的用户操作事件,采集当前用户操作行为数据,再次采用所述机器行为检测模型对当前用户操作行为数据执行第三重检测,判别客户端的操作行为是否属于机器行为;界面展示模块,用于当所述第三重检测判定属于机器行为时,控制客户端展示验证码校验界面;校验验证码模块,用于获取用户输入的验证码,校验该验证码,当校验未通过时判定客户端的操作行为属于机器行为,终止响应所述客户端的后续页面资源加载请求,当通过校验时,将所述客户端的网络地址从临时黑名单中移除。
进一步的实施例中,所述二重检测模块1300,包括:数据预处理子模块,用于预处理所述用户操作行为数据,获得其综合特征,所述综合特征包含鼠标综合特征、键盘输入特征、浏览器特征;特征编码子模块,用于采用独热编码方式对综合特征中的键盘输入特征和浏览器特征进行编码,获得相应的编码数据与所述鼠标综合特征共同构造为综合特征向量;模型分类子模块,用于采用预先训练至收敛的机器行为检测模型对所述综合特征向量进行二分类,获得相应的分类结果;分类判别子模块,用于根据所述分类结果,判别客户端的操作行为是否属于机器行为。
深化的实施例中,所述数据预处理子模块,包括:第一特征处理单元,用于根据所述用户操作行为数据中的鼠标移动轨迹数据,确定鼠标综合特征,所述鼠标综合特征包含与鼠标操作相对应的基础统计特征、移动特征、回退特征、交互框特征;第二特征处理单元,用于根据所述用户操作行为数据中的浏览器数据中的用户代理数据及键盘输入数据,确定相应的浏览器特征、键盘输入特征;特征整合单元,用于合并所述鼠标综合特征、浏览器特征及键盘输入特征,获得相应的综合特征。
进一步的实施例中,所述第一特征处理单元,包括:第一特征抽取子单元,用于根据所述鼠标移动轨迹数据抽取统计特征,获得基础统计特征;第二特征抽取子单元,用于根据所述鼠标移动轨迹数据抽取出鼠标移动过程中的特征数据,获得移动特征;第三特征抽取子单元,用于根据所述鼠标移动轨迹数据抽取出在假定鼠标反向移动方向下相对应的特征数据,获得回退特征;第四特征抽取子单元,用于根据所述鼠标移动轨迹数据抽取鼠标在图形用户界面上的交互框内移动所表现的特征数据,获得交互框特征;特征整合子单元,用于合并所述基础统计特征、移动特征、回退特征及交互框特征作为鼠标综合特征。
较佳的实施例中:所述第一特征抽取子单元,包括:基础统计特征组件,用于根据所述鼠标移动轨迹数据抽取统计特征确定多个第一子序列,计算出各个第一子序列对应的多项统计数据作为基础统计特征,所述鼠标移动轨迹数据包括序列化的多个信息单元,每个信息单元包含多个基础数据,所述基础数据包括鼠标所在位置的横坐标和纵坐标,以及鼠标处于所述位置的时间戳;
和/或,所述第二特征抽取子单元,包括:移动特征组件,用于根据所述鼠标移动轨迹数据计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第二子序列,计算出第二子序列分别对应的多项统计数据,拼接多项统计数据和移动数据作为移动特征;
和/或,所述第三特征抽取子单元,包括:回退特征组件,用于根据所述鼠标移动轨迹数据确定在假定鼠标反向移动方向下对应的多个第三子序列,计算出各个第三子序列对应的多项统计数据,根据表示横轴和纵轴对应坐标的第三子序列,计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第四子序列,计算出第四子序列对应的多项统计数据,拼接第三子序列对应的多项统计数据、第四子序列对应的多项统计数据及移动数据作为回退特征;
和/或,所述第四特征抽取子单元,包括:交互框特征组件,用于根据所述鼠标移动轨迹数据确定在图形用户界面上的交互框内移动的多个第五子序列,计算出各个第五子序列对应的多项统计数据,根据表示横轴和纵轴对应坐标的第五子序列,计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第六子序列,计算出第六子序列对应的多项统计数据,拼接第五子序列对应的多项统计数据、第六子序列对应的多项统计数据及移动数据作为交互框特征。
为解决上述技术问题,本申请实施例还提供计算机设备。如图9所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该计算机设备的计算机可读存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种机器行为检测方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本申请的机器行为检测方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图8中的各个模块及其子模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有本申请的机器行为检测装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本申请还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本申请任一实施例的机器行为检测方法的步骤。
本领域普通技术人员可以理解实现本申请上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等计算机可读存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本申请能够提取出操作客户端产生的用户操作行为数据对应的多个维度的细粒度特征,用于机器行为检测模型的训练,提升模型预测的准确性。此外,本申请实现的机器行为检测采用多重检测机制,能够实时有效保障网络安全,维护企业资源的安全。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种机器行为检测方法,其特征在于,包括如下步骤:
响应客户端提交的页面资源加载请求,获取采集的用户操作行为数据,所述用户操作行为数据包括鼠标移动轨迹数据、浏览器数据中的用户代理数据及键盘输入数据;
根据预设规则对所述用户操作行为数据执行第一重检测,判别客户端的操作行为是否属于机器行为;
当第一重检测出不属于机器行为时,采用预先训练至收敛的机器行为检测模型对所述用户操作行为数据的综合特征向量执行第二重检测,判别客户端的操作行为是否属于机器行为;
当判定客户端的操作行为属于机器行为时,将客户端的网络地址加入临时黑名单,以启动对客户端的嫌疑检测;
当所述客户端通过嫌疑检测时,向客户端推送所述加载请求所需的页面资源。
2.根据权利要求1所述的机器行为检测方法,其特征在于,所述机器行为检测模型的训练过程,包括如下步骤:
获取预先制备的训练集,所述训练集包含人为产生的用户操作行为数据的第一类训练样本,以及机器行为产生的用户操作行为数据的第二类训练样本,根据训练样本的操作行为类型标注相应的监督标签;
确定训练集中各个训练样本对应的综合特征构造出综合特征向量,所述综合特征包含鼠标综合特征、键盘输入特征、浏览器特征;
获取训练集中的单个训练样本对应的综合特征向量输入至机器行为检测模型,预测该训练样本对应的操作行为类型;
根据所述单个训练样本对应的监督标签,计算所预测的操作行为类型的损失值,判断该损失值是否达到预设阈值,当其达到预设阈值时,终止训练;否则,根据该损失值对该模型实施权重更新,调用所述训练集中的下一训练样本继续对该模型实施迭代训练。
3.根据权利要求1所述的机器行为检测方法,其特征在于,采用预先训练至收敛的机器行为检测模型对所述用户操作行为数据的综合特征向量执行第二重检测,判别客户端的操作行为是否属于机器行为的步骤中,包括如下步骤:
预处理所述用户操作行为数据,获得其综合特征,所述综合特征包含鼠标综合特征、键盘输入特征、浏览器特征;
采用独热编码方式对综合特征中的键盘输入特征和浏览器特征进行编码,获得相应的编码数据与所述鼠标综合特征共同构造为综合特征向量;
采用预先训练至收敛的机器行为检测模型对所述综合特征向量进行二分类,获得相应的分类结果;
根据所述分类结果,判别客户端的操作行为是否属于机器行为。
4.根据权利要求1所述的机器行为检测方法,其特征在于,预处理所述用户操作行为数据,获得其综合特征的步骤中,包括如下步骤:
根据所述用户操作行为数据中的鼠标移动轨迹数据,确定鼠标综合特征,所述鼠标综合特征包含与鼠标操作相对应的基础统计特征、移动特征、回退特征、交互框特征;
根据所述用户操作行为数据中的浏览器数据中的用户代理数据及键盘输入数据,确定相应的浏览器特征、键盘输入特征;
合并所述鼠标综合特征、浏览器特征及键盘输入特征,获得相应的综合特征。
5.根据权利要求4所述的机器行为检测方法,其特征在于,根据所述用户操作行为数据中的鼠标移动轨迹数据,确定鼠标综合特征的步骤中,包括如下步骤:
根据所述鼠标移动轨迹数据抽取统计特征,获得基础统计特征;
根据所述鼠标移动轨迹数据抽取出鼠标移动过程中的特征数据,获得移动特征;
根据所述鼠标移动轨迹数据抽取出在假定鼠标反向移动方向下相对应的特征数据,获得回退特征;
根据所述鼠标移动轨迹数据抽取鼠标在图形用户界面上的交互框内移动所表现的特征数据,获得交互框特征;
合并所述基础统计特征、移动特征、回退特征及交互框特征作为鼠标综合特征。
6.根据权利要求5所述的机器行为检测方法,其特征在于:
根据所述鼠标移动轨迹数据抽取统计特征,获得基础统计特征的步骤中,包括:
根据所述鼠标移动轨迹数据抽取统计特征确定多个第一子序列,计算出各个第一子序列对应的多项统计数据作为基础统计特征,所述鼠标移动轨迹数据包括序列化的多个信息单元,每个信息单元包含多个基础数据,所述基础数据包括鼠标所在位置的横坐标和纵坐标,以及鼠标处于所述位置的时间戳;
和/或,根据所述鼠标移动轨迹数据抽取出鼠标移动过程中的特征数据,获得移动特征的步骤中,包括:
根据所述鼠标移动轨迹数据计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第二子序列,计算出第二子序列分别对应的多项统计数据,拼接多项统计数据和移动数据作为移动特征;
和/或,根据所述鼠标移动轨迹数据抽取出在假定鼠标反向移动方向下相对应的特征数据,获得回退特征的步骤中,包括:
根据所述鼠标移动轨迹数据确定在假定鼠标反向移动方向下对应的多个第三子序列,计算出各个第三子序列对应的多项统计数据,根据表示横轴和纵轴对应坐标的第三子序列,计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第四子序列,计算出第四子序列对应的多项统计数据,拼接第三子序列对应的多项统计数据、第四子序列对应的多项统计数据及移动数据作为回退特征;
和/或,根据所述鼠标移动轨迹数据抽取鼠标在图形用户界面上的交互框内移动所表现的特征数据,获得交互框特征的步骤中,包括:
根据所述鼠标移动轨迹数据确定在图形用户界面上的交互框内移动的多个第五子序列,计算出各个第五子序列对应的多项统计数据,根据表示横轴和纵轴对应坐标的第五子序列,计算出鼠标移动过程中的多项移动指标对应的移动数据,以及计算出多项三角函数指标分别对应的第六子序列,计算出第六子序列对应的多项统计数据,拼接第五子序列对应的多项统计数据、第六子序列对应的多项统计数据及移动数据作为交互框特征。
7.根据权利要求1所述的机器行为检测方法,其特征在于,启动对客户端进行的嫌疑检测之后,还包括如下步骤:
响应所述客户端即时产生的用户操作事件,采集当前用户操作行为数据,再次采用所述机器行为检测模型对当前用户操作行为数据执行第三重检测,判别客户端的操作行为是否属于机器行为;
当所述第三重检测判定属于机器行为时,控制客户端展示验证码校验界面;
获取用户输入的验证码,校验该验证码,当校验未通过时判定客户端的操作行为属于机器行为,终止响应所述客户端的后续页面资源加载请求,当通过校验时,将所述客户端的网络地址从临时黑名单中移除。
8.一种机器行为检测装置,其特征在于,包括:
数据获取模块,用于响应客户端提交的页面资源加载请求,获取采集的用户操作行为数据,所述用户操作行为数据包括鼠标移动轨迹数据、浏览器数据中的用户代理数据及键盘输入数据;
一重检测模块,用于根据预设规则对所述用户操作行为数据执行第一重检测,判别客户端的操作行为是否属于机器行为;
二重检测模块,用于当第一重检测出不属于机器行为时,采用预先训练至收敛的机器行为检测模型对所述用户操作行为数据的综合特征向量执行第二重检测,判别客户端的操作行为是否属于机器行为;
拉黑检测模块,用于当判定客户端的操作行为属于机器行为时,将客户端的网络地址加入临时黑名单,以启动对客户端的嫌疑检测;
资源推送模块,用于当所述客户端通过嫌疑检测时,向客户端推送所述加载请求所需的页面资源。
9.一种计算机设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至7中任意一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,其以计算机可读指令的形式存储有依据权利要求1至7中任意一项所述的方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行相应的方法所包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210770133.1A CN115146160A (zh) | 2022-06-30 | 2022-06-30 | 机器行为检测方法及其装置、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210770133.1A CN115146160A (zh) | 2022-06-30 | 2022-06-30 | 机器行为检测方法及其装置、设备、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115146160A true CN115146160A (zh) | 2022-10-04 |
Family
ID=83410548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210770133.1A Pending CN115146160A (zh) | 2022-06-30 | 2022-06-30 | 机器行为检测方法及其装置、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115146160A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117421729A (zh) * | 2023-12-18 | 2024-01-19 | 湖南森鹰科技有限公司 | 一种自动化程序攻击检测方法、装置、系统及介质 |
-
2022
- 2022-06-30 CN CN202210770133.1A patent/CN115146160A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117421729A (zh) * | 2023-12-18 | 2024-01-19 | 湖南森鹰科技有限公司 | 一种自动化程序攻击检测方法、装置、系统及介质 |
CN117421729B (zh) * | 2023-12-18 | 2024-04-26 | 湖南森鹰科技有限公司 | 一种自动化程序攻击检测方法、装置、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11522873B2 (en) | Detecting network attacks | |
CN108229322A (zh) | 基于视频的人脸识别方法、装置、电子设备及存储介质 | |
CN109614795B (zh) | 一种事件感知的安卓恶意软件检测方法 | |
Takemura et al. | Model extraction attacks on recurrent neural networks | |
US20220222372A1 (en) | Automated data masking with false positive detection and avoidance | |
CN113434716B (zh) | 一种跨模态信息检索方法和装置 | |
Gowtham et al. | Semantic query-featured ensemble learning model for SQL-injection attack detection in IoT-ecosystems | |
US20200336506A1 (en) | Predicting a next alert in a pattern of alerts to identify a security incident | |
CN113691542A (zh) | 基于HTTP请求文本的Web攻击检测方法及相关设备 | |
CN111586695B (zh) | 短信识别方法及相关设备 | |
CN111680161A (zh) | 一种文本处理方法、设备以及计算机可读存储介质 | |
CN115146160A (zh) | 机器行为检测方法及其装置、设备、介质 | |
US20190042932A1 (en) | Techniques and Architectures for Deep Learning to Support Security Threat Detection | |
CN110941828B (zh) | 基于AndroGRU的安卓恶意软件静态检测方法 | |
CN116361791A (zh) | 基于api分组重构与图像表示的恶意软件检测方法 | |
CN115828269A (zh) | 源代码漏洞检测模型的构建方法、装置、设备及存储介质 | |
CN117009832A (zh) | 异常命令的检测方法、装置、电子设备及存储介质 | |
US20220172102A1 (en) | Machine learning model trained using features extracted from n-grams of mouse event data | |
Zhong et al. | A security log analysis scheme using deep learning algorithm for IDSs in social network | |
CN115168609A (zh) | 一种文本匹配方法、装置、计算机设备和存储介质 | |
US20230123632A1 (en) | Random strings classification for detecting suspicious network activities | |
CN117992966A (zh) | 漏洞检测方法、模型训练方法及对应装置 | |
US20230394387A1 (en) | Content analysis and retrieval using machine learning | |
CN117078789B (zh) | 图像处理方法、装置、设备及介质 | |
US11847244B1 (en) | Private information detector for data loss prevention |
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 |