CN108156146B - 一种用于识别异常用户操作的方法与装置 - Google Patents
一种用于识别异常用户操作的方法与装置 Download PDFInfo
- Publication number
- CN108156146B CN108156146B CN201711377442.8A CN201711377442A CN108156146B CN 108156146 B CN108156146 B CN 108156146B CN 201711377442 A CN201711377442 A CN 201711377442A CN 108156146 B CN108156146 B CN 108156146B
- Authority
- CN
- China
- Prior art keywords
- data
- abnormal
- user
- user operation
- application
- 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.)
- Active
Links
Images
Classifications
-
- 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/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- 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/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明的目的是提供一种用于识别异常用户操作的方法与设备。本发明通过对应用服务器的出入流量数据进行解析,以还原出一条或多条用户操作序列,然后,通过将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作,进而判断用户是否异常。与现有技术相比,本发明在无需高记录量与高开放量的前提下,利用完整的用户数据,高效、及时、准确地对详尽的、高复杂度的用户行为进行分析,以识别应用中的异常用户操作以及异常用户。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种用于识别异常用户操作的技术。
背景技术
当前,不论是PC端的各类应用还是移动端的各类应用,异常用户总是困扰各类应用服务商的一个问题。异常用户利用挂机脚本等非正常方式来控制用户操作,从而从应用服务商中不当得利,影响其他用户的使用体验。
以游戏行业为例,挂机脚本就是使用某些程序,控制游戏中的玩家虚拟形象,通过已经设计好的路线或者套路来行动。挂机的目的有很多种,比如在最短的时间内获得最多的经验值达到一个非常高的等级,比如通过不停地参加某些活动来获得特定的道具奖励,比如通过程序自动完成新手任务,达到一定等级之后在聊天频道中发布诈骗消息等。
当某些用户持续性地、大规模地使用挂机脚本后,就形成了打金工作室。一般地,打金工作室作为一个团伙,通过使用大量的终端或者模拟器,在上面运行特定的程序,来模拟几十甚至几百个虚假的玩家。通过这些虚假的玩家来持续获得高价值的道具、高等级的游戏账号,最终通过交易这些虚拟物品来谋取经济上的收益。
这些行为一方面扰乱了正常的游戏环境,即虚假玩家的存在和参与活动干扰了正常玩家的游戏体验,一方面他们在线上以不正常的价格交易虚拟道具,在线下以不合理的比例交易虚拟币都严重影响了游戏公司的正常营收。
在现有技术中,打击挂机脚本基本是依靠应用服务商的运营人员进行人工识别,以游戏为例,可以通过他们在线上拍卖道具的价格是否属于合理,通过角色名称、在线时长、参与活动情况等结合在一起进行人工审核。这种方法费时费力,而且难以持续地治理挂机脚本的存在
随着大数据时代的来临,很多的应用服务商也开始通过机器学习数据挖掘的方式来识别这些不正常的用户。一个典型的方式是通过统计每个用户的一系列基础信息,例如名称、在线时长、登陆次数、使用IP个数、使用设备数量、同设备下有多少个角色等等信息,使用机器学习的方式,利用不同的机器学习算法来让程序自动识别不正常用户。这种方式一定程度上节省了运营人员的工作,但由于这是一种基于宏观(如用户的基础信息)的统计数据,因此也存在着许多缺点:
第一:通过这些宏观的统计来识别还是有一定的风险,例如总是会有漏网的情况以及判断错误的情况。
第二:由于每个判断指标(如用户的不同的基础信息)是独立的,因此每个指标的说服力都不是很强,外挂用户在大体了解了应用服务商所监控的宏观指标之后,能够让挂机脚本控制的用户,在这些指标上和真实用户没有太大区别的,例如,让虚拟用户与真实用户的名称、在线时长、登陆次数等相似。
第三:由于机器学习本身的滞后性,即每个应用的挂机识别模型都需要专家进行精细的调整,而随着应用运营时间的加长,市面上会出现越来越多的挂机脚本,因此模型需要持续地重新训练。而由于发现新的挂机脚本就需要一定的时间,再教给模型就需要更长的时间,从而大大影响了对异常用户的及时定位。
第四:若挂机脚本与真人的太过相似,则应用服务商的运营人员可能很难单凭人工方式发现该挂机脚本,因此也就无法指导机器模型的学习,进而无法对这类外挂用户进行定位。
发明内容
本发明的目的是提供一种用于识别异常用户操作的方法与设备。
根据本发明的一个实施例,提供了一种用于识别异常用户操作的方法,其中,该方法包括以下步骤:
获取应用服务器的出入流量数据;
解析所述出入流量数据,以生成一条或多条用户操作序列;
将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作。
可选地,生成一条或多条用户操作序列的步骤包括:
解析所述出入流量数据,以生成一个或多个用户操作信息;
根据所述用户操作信息以及所述用户操作信息所对应的顺序,生成一条或多条用户操作序列。
可选地,解析所述出入流量数据,以生成一条或多条用户操作信息的步骤包括:
基于数据传输协议,解析出所述出入流量数据中的每个流量数据包的数据传输相关信息;
基于所述数据传输相关信息,将所述流量数据包进行分组,并对每个分组中的所述流量数据包进行排序,以生成一个或多个会话;
根据应用所对应的应用协议,对所述会话进行解析,以生成一条或多条用户操作信息,其中,所述应用对应于所述应用服务器。
可选地,将所述流量数据包进行分组的步骤包括:
基于所述流量数据包所对应的发送/接收的IP与端口信息,对所述流量数据包进行分组。
可选地,对每个分组中的所述流量数据包进行排序,以生成一个或多个会话的步骤包括:
根据所述流量数据包所对应的数据传输协议,结合所述数据传输相关信息,判断所述流量数据包之间的连续关系;
基于所述连续关系,对每个分组中的所述流量数据包进行排序,以生成一个或多个会话。
可选地,该方法还包括:
根据所述会话所对应的密钥,对所述会话中的流量数据包进行解密;
其中,对所述会话进行解析,以生成一条或多条用户操作信息的步骤包括:
根据所述应用所对应的应用协议,对已解密的所述会话进行解析,以生成一条或多条用户操作信息。
可选地,识别异常用户操作的步骤包括:
根据预定的异常模型,从所述用户操作序列中确定一个或多个待分析的用户操作序列,其中,所述待分析的用户操作序列中的至少一项参数与所述异常模型中所包含的至少一条异常操作数据相匹配;
根据所述待分析的用户操作序列与所述异常模型的匹配关系,识别异常用户操作。
可选地,该方法还包括:
确定多个异常用户;
根据所述异常用户所对应的历史操作数据,确定与所述异常用户相对应的一条或多条历史操作序列;
根据对所述历史操作序列的统计结果,从所述历史操作序列中确定一个或多个异常操作数据;
根据所述异常操作数据,生成预定的异常模型。
可选地,该方法还包括:
根据所识别的异常用户操作所对应的用户,更新所述异常用户。
可选地,获取应用服务器的出入流量数据的步骤包括:
将应用服务器的出入流量数据镜像并存储至镜像存储设备中;
从所述镜像存储设备中读取所述出入流量数据。
根据本发明的另一个实施例,还提供了一种用于识别异常用户操作的识别设备,其中,该设备包括:
第一装置,用于获取应用服务器的出入流量数据;
第二装置,用于解析所述出入流量数据,以生成一条或多条用户操作序列;
第三装置,用于将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作。
可选地,所述第二装置包括:
二一单元,用于解析所述出入流量数据,以生成一个或多个用户操作信息;
二二单元,用于根据所述用户操作信息以及所述用户操作信息所对应的顺序,生成一条或多条用户操作序列。
可选地,所述二一单元用于:
基于数据传输协议,解析出所述出入流量数据中的每个流量数据包的数据传输相关信息;
基于所述数据传输相关信息,将所述流量数据包进行分组,并对每个分组中的所述流量数据包进行排序,以生成一个或多个会话;
根据应用所对应的应用协议,对所述会话进行解析,以生成一条或多条用户操作信息,其中,所述应用对应于所述应用服务器。
可选地,当将所述流量数据包进行分组时,所述二一单元用于:
基于所述流量数据包所对应的发送/接收的IP与端口信息,对所述流量数据包进行分组。
可选地,当对每个分组中的所述流量数据包进行排序,以生成一个或多个会话时,所述二一单元用于:
根据所述流量数据包所对应的数据传输协议,结合所述数据传输相关信息,判断所述流量数据包之间的连续关系;
基于所述连续关系,对每个分组中的所述流量数据包进行排序,以生成一个或多个会话。
可选地,所述第三装置用于:
根据预定的异常模型,从所述用户操作序列中确定一个或多个待分析的用户操作序列,其中,所述待分析的用户操作序列中的至少一项参数与所述异常模型中所包含的至少一条异常操作数据相匹配;
根据所述待分析的用户操作序列与所述异常模型的匹配关系,识别异常用户操作。
可选地,该设备还包括:
第四装置,用于确定多个异常用户;
第五装置,用于根据所述异常用户所对应的历史操作数据,确定与所述异常用户相对应的一条或多条历史操作序列;
第六装置,用于根据对所述历史操作序列的统计结果,从所述历史操作序列中确定一个或多个异常操作数据;
第七装置,用于根据所述异常操作数据,生成预定的异常模型。
可选地,该设备还包括:
第八装置,用于根据所识别的异常用户操作所对应的用户,更新所述异常用户。
根据本发明的另一个实施例,还提供了一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机可读指令,当所述计算机可读指令被一个或多个设备执行时,使得所述设备执行如上述任一项所述的方法。
根据本发明的另一个实施例,还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述任一项所述的方法。
与现有技术相比,本发明通过对应用服务器的出入流量数据进行解析,以还原出一条或多条用户操作序列,然后,通过将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作,进而判断用户是否异常。从而,本发明在无需高记录量与高开放量的前提下,利用完整的用户数据,高效、及时、准确地对详尽的、高复杂度的用户行为进行分析,以识别应用中的异常用户操作以及异常用户。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明的一个优选实施例的一种用于识别异常用户操作的***架构图;
图2示出根据本发明一个方面的一种用于识别异常用户操作的识别设备示意图;
图3示出根据本发明的一个优选实施例的一种用于识别异常用户操作的识别设备示意图;
图4示出根据本发明另一个方面的一种用于识别异常用户操作的方法流程图;
图5示出根据本发明的一个优选实施例的一种用于识别异常用户操作的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称的“识别设备”,即为“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的存续指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。
所述计算机设备包括用户设备和/或网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
本领域技术人员应能理解,一般情况下,本发明中所述的“识别设备”可以仅是网络设备,即由网络设备来执行相应的操作;在特殊情况下,也可以是由用户设备与网络设备或服务器相集成来组成,即由用户设备与网络设备相配合来执行相应的操作,例如,由用户设备向网络设备发送指令,以指示网络设备开始执行“识别异常用户操作”的相应操作。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
本领域技术人员应能理解,本发明可用于任意应用的异常用户操作识别;优选地,本发明可适用于能够在短时间内执行大量不同操作的应用,例如,游戏应用的异常用户操作识别。在游戏应用中,涉及到大量的不同行为,用户(玩家)会在短时间内进行大量的不同操作,形成复杂的用户操作序列;而在其他应用场景中,由于所包含的用户操作行为较为简单,很可能会由于行为种类比较单一而无法形成明显的区分度。
所述应用包括移动应用以及非移动应用。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明的一个优选实施例的一种用于识别异常用户操作的***架构图。
用户与应用服务器通过网络进行交互,以获取所述应用服务器所提供的应用服务。在上述交互过程中,用户的客户端与所述应用服务器之间产生了大量的出入流量数据,镜像存储设备通过在网络中的任一点上,对所述出入流量数据进行镜像,以获取所述出入流量数据。优选地,所述镜像存储设备可以根据指令,与需要获取的特定的一个或多个应用服务器相交互,以获取该应用服务器与用户之间的出入流量数据。
识别设备通过与所述镜像存储设备相交互,以获取所述出入流量数据并进行解析,以识别异常用户操作。从而,所述识别设备无需与所述应用服务器相交互,整个解析与生成过程对于所述应用服务器是透明的,不会对所述应用服务器产生任何影响,从而也就不会影响到正常的应用服务。
图2示出根据本发明一个方面的一种用于识别异常用户操作的识别设备示意图;其中,所述识别设备包括第一装置1、第二装置2以及第三装置3。
具体地,所述第一装置1获取应用服务器的出入流量数据;所述第二装置2解析所述出入流量数据,以生成一条或多条用户操作序列;所述第三装置3将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作。
所述第一装置1获取应用服务器的出入流量数据。
具体地,所述第一装置1通过直接与所述应用服务器进行交互,以获取所述应用服务器与用户间的出入流量数据,或者,所述第一装置1通过与其他能够提供所述出入流量数据的设备相交互,以获取所述其他设备所提供的、所述应用服务器的出入流量数据。
优选地,所述第一装置1将应用服务器的出入流量数据镜像并存储至镜像存储设备中,然后,从所述镜像存储设备中读取所述出入流量数据。
具体地,所述第一装置1在网络中的任一点上,对所述应用服务器的出入流量数据进行镜像,以获取所述出入流量数据并将其存储之镜像存储设备中;然后,所述第一装置1从所述镜像存储设备中读取所述出入流量数据。
优选地,所述第一装置1可以是多个装置的集合,以分别执行镜像出入流量数据以及读取所述出入流量数据;其中,用于执行镜像的装置可以是分光装置,也可以是其他可以执行镜像操作的装置。优选地,所述镜像存储设备的存储方式包括但不限于分布式文件***或者消息队列,所述第一装置1可以基于对所述出入流量数据的处理需求,以选择具有特定存储方式的镜像存储设备,以执行对出入流量数据的存储。
所述第二装置2解析所述出入流量数据,以生成一条或多条用户操作序列。
具体地,所述第二装置2将所述出入流量数据进行分组,然后对每个分组中的出入流量数据进行解析,从而将每组所解析出的用户操作信息作为用户操作序列。
或者,所述第二装置2基于数据传输相关协议以及所述应用的应用协议通过对所述出入流量数据的每个流量数据包进行解析,以确定每个流量数据包所对应的应用协议,然后,将相同协议的流量数据包进行解析,以获取该应用的用户操作信息;然后,基于每个流量数据包之间的时序关系以及其所对应的用户操作信息间的关联关系,确定与所述出入流量数据所对应的一条或多条用户操作序列。
或者,所述第二装置2基于数据传输协议,解析出所述出入流量数据中的每个流量数据包的数据传输相关信息;然后,基于所述数据传输相关信息,将所述流量数据包进行分组,并对每个分组中的所述流量数据包进行排序,以生成一个或多个会话;最后,根据应用所对应的应用协议,对所述会话进行解析,以生成所述应用的一个或多个用户操作信息;然后,基于每个流量数据包之间的时序关系以及其所对应的用户操作信息间的关联关系,确定与所述出入流量数据所对应的一条或多条用户操作序列。
在此,所述应用协议即为该应用所特有的协议,如游戏应用的游戏协议,购物应用的购物应用协议等。一个应用可以对应一种或多种应用协议,以一个游戏应用为例,可以包含“玩家送花给别人”的应用协议、“执行交互任务”的应用协议、“购买道具”的应用协议等。
本领域技术人员应能理解,所述第二装置2可以对应于多个装置,这些装置形成分布式集群,以通过分布式的方式对所述出入流量数据进行解析。
所述第三装置3将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作。
具体地,所述第三装置3将所生成的用户操作序列,与异常模型中的异常操作数据进行比较,以判断所述用户操作序列是否符合该异常操作数据;若符合,则说明所述用户操作序列为异常用户操作。
或者,所述第三装置3将所生成的用户操作序列,与正常模型中的正常操作数据进行比较,若所述用户操作序列符合所述正常操作数据的特征,则认为所述用户操作序列为正常用户操作,反之,则认为是异常用户操作。
在此,所述正常模型与所述异常模型可以基于人工标注、机器学习等方式进行获取,所述正常模型中可以包括一条或多条正常操作数据,所述异常模型中可以包括一条或多条异常操作数据。
所述异常操作数据和/或所述正常操作数据包括但不限于单独的用户操作或由一系列单独的用户操作所组成的操作序列。若所述用户操作序列中的某个操作符合所述单独的用户操作或是所述用户操作序列中的全部用户操作或部分用户操作符合所述操作序列,则认为该用户操作序列属于异常操作数据或正常操作数据。
优选地,所述异常操作数据和/或所述正常操作数据仅包括由多个用户操作所组成的操作序列。
在此,所述人工标注的方式,例如:根据应用运营人员对大量用户行为数据的手工分析,将可疑的操作行为序列也作为异常模型中的一条异常操作信息。
所述机器学习的方式,例如:
1.将所有的用户行为进行分析,以过滤掉经常出现且区分度不明显的一批网络协议,比如移动相关的一系列网络协议;
2.利用Ngram算法进行分块,即将连续的N个行为(N可变,例如N=4)切分成一个行为块;
3.统计所有用户的所有行为块的数量;
4.结合机器学习对于用户的基础信息(也称宏观指标)的识别,自动标注一批用户作为异常用户;
5.统计上述所有行为块中,每个Ngram行为块的出现次数,将出现次数最多的行为块作为高可疑行为块;
6.根据所述高可疑行为块,生成异常用户操作。
从而,本发明能够生成包含异常用户操作的异常模型。
优选地,所述第三装置3根据预定的异常模型,从所述用户操作序列中确定一个或多个待分析的用户操作序列,其中,所述待分析的用户操作序列中的至少一项参数与所述异常模型中所包含的至少一条异常操作数据相匹配;根据所述待分析的用户操作序列与所述异常模型的匹配关系,识别异常用户操作。
具体地,所述第三装置3根据预定的异常模型,对所述用户操作序列所对应的参数进行分析提取,以从所述用户操作序列中确定一个或多个参数符合异常操作数据的参数的用户操作序列,以作为待分析的用户操作序列。
其中,所述参数包括但不限于时间参数(如所述异常操作数据是对应于某一时间的,则提取相应时间的用户操作序列进行分析),前序操作参数(如登录操作作为前序操作,其后所跟随的一个或多个操作作为一个待分析的用户操作序列),后续操作参数(如将登出操作作为后续操作,则将登出操作前的一个或多个操作作为一个待分析的用户操作序列)、特定操作参数(如异常模型中的异常操作数据与待分析的用户操作序列都包含对某API的特定调用)、位置参数(如坐标,即在某一地区触发异常操作,其中,所述坐标包括用户在应用内地图的坐标(如游戏地图坐标)或是用户在实际地理位置坐标(如GPS位置所对应的坐标))等。
当确定了所述待分析的用户操作序列后,利用所述异常模型对所述待分析的用户操作序列进行匹配,若所述待分析的用户操作序列能够匹配到所述异常模型中的用户操作,则将所述待分析的用户操作序列识别为异常用户操作。
优选地,所述识别设备还包括第四装置(未示出)、第五装置(未示出)、第六装置(未示出)、第七装置(未示出);其中,所述第四装置确定多个异常用户;所述第五装置根据所述异常用户所对应的历史操作数据,确定与所述异常用户相对应的一条或多条历史操作序列;所述第六装置根据对所述历史操作序列的统计结果,从所述历史操作序列中确定一个或多个异常操作数据;所述第七装置根据所述异常操作数据,生成预定的异常模型。
具体地,所述第四装置通过获取人工标注数据,或是根据机器学习的方式,确定多个异常用户。在此,所述异常用户包括但不限于利用***漏洞的用户、利用脚本或外挂的用户以及其他利用非正常手段,对应用***或其他用户产生负面影响的用户等。
以下分别基于人工标注以及机器学习的方式,来说明生成异常模型的过程。
所述人工标注的方式,例如:
应用运营人员通过对大量用户行为数据的手工分析,将具有可疑的操作行为序列的用户标注为异常用户,所述第四装置获取所确定的异常用户。
所述第五装置根据所述异常用户所对应的历史操作数据,对所述历史操作数据中的多个历史操作进行分块,如将N个历史操作分为一个操作块,并将每个操作块确定为与所述异常用户相对应的一条或多条历史操作序列。
所述第六装置根据对所述历史操作序列的统计结果,从所述历史操作序列中确定一个或多个异常操作数据,例如,若某条历史操作序列的统计结果偏高,且为非正常操作序列,则可以将其作为异常操作数据;所述第七装置根据所述异常操作数据,生成预定的异常模型。
所述机器学习的方式,例如:
1.将所有的用户行为进行分析,以过滤掉经常出现且区分度不明显的一批网络协议,比如移动相关的一系列网络协议;
2.利用Ngram算法进行分块,即将连续的N个行为(N可变,例如N=4)切分成一个行为块;
3.统计所有用户的所有行为块的数量;
4.结合机器学习对于用户的基础信息(也称宏观指标)的识别,自动标注一批用户作为异常用户。
所述第五装置根据所述异常用户所对应的历史操作数据,确定与所述异常用户相对应的一条或多条历史操作序列,也即,将所述异常用户所对应的行为块,作为所述历史操作序列。
所述第六装置根据对所述历史操作序列进行统计,例如统计每个Ngram行为块的出现次数,将出现次数最多的历史操作序列作为高可疑行为块;然后根据所述高可疑行为块,生成异常操作数据。
然后,所述第七装置根据所述异常操作数据,生成预定的异常模型。从而,本发明能够生成异常操作数据的异常行为数据库(即异常模型)。
优选地,所述识别设备还包括第八装置(未示出),其中,所述第八装置根据所识别的异常用户操作所对应的用户,更新所述异常用户。
具体地,所述第八装置能够对所述异常用户操作所对应的用户进行统计,以将该用户作为异常用户,并更新所述异常用户。
例如,如果某个用户的很多个行为块都能匹配为可疑行为块,则认为该用户是异常用户;进而,通过对所述异常用户进行关注,将这个异常用户的后续行为也作为机器学习模型的训练数据,从而可以分析该异常用户的其他行为是否属于高可疑行为。从而,能够实现对异常用户以异常操作数据的循环确定。
以下以游戏应用为示例,说明识别异常用户操作以及异常用户的具体过程:
在游戏中,所述的用户操作序列例如是如下的一串信息:
“玩家点击登录游戏按钮、玩家进入游戏主场景、玩家查看了邮件、删除了邮件、打开了***配置、更改了音量大小、更改了场景内可以显示的人物数量、玩家打开了背包、玩家升级了他的宠物、玩家沿着一条小路移动到路上的A点与B点、玩家进入了战斗界面、玩家使用了技能A”等。
用户从登陆游戏到关闭游戏的一次过程中,可能产生成百上千种的游戏行为发送给游戏服务器。所述识别设备通过对所述出入流量数据进行解析,以生成一条或多条用户操作序列,然后对所述用户操作序列进行分析。
在此,所述用户操作序列的划分可以基于时间划分,如每五分钟内的用户操作作为一个用户操作序列;也可以基于用户操作的数量进行划分,如将每10个用户操作作为一个用户操作序列;或者,基于特定的操作,如切换地图等,将用户操作进行分割,以将在特定操作之前的操作以及特定操作之后的操作分别形成用户操作序列。
然后,所述识别设备检测所述一条或多条用户操作序列中,是否具有特定行为的行为串,如用户在登陆后是不是有“打开游戏配置、更改显示效果”的操作。若某个用户每次登陆游戏的时候均包含“打开游戏配置、更改显示效果”,则该用户可能属于异常用户。这是由于,若某个用户通过脚本控制,则其在操作模式中会包括一些固定的、且与正常用户不完全一样的操作。正常用户不会在每次打开游戏之后均首先进行设置配置,通常的情况是仅操作一两次以进行调整;而只有脚本用户才会每次均执行相同的操作。
此外,某些异常操作是正常用户所不会进行的操作。例如,在添加好友时,正常用户是通过点击地图上另一用户的角色,在弹出的操作窗口中选择“添加好友”已完成;但某些脚本会直接调用“添加好友的网络协议API”,在该API中输入另一个用户的角色ID以进行添加。因此,“调用添加好友的网络协议API”这一操作则属于异常操作,对于执行这一操作的用户,则属于可疑的异常用户。
继上例,游戏中推出了“画像任务”的活动,该活动要求“在大地图中找到某个特定条件的用户,点击其虚拟形象,选择给该用户画像”以完成任务。由于大部分脚本不具备图像识别的能力,因此,脚本用户无法识别大地图上符合任务要求的用户;在这种情况下,脚本所采用的方式是:首先给自己添加大量的好友用户,每个好友符合画像任务中的一个特殊条件,当这个脚本接下画像任务之后,其会根据任务的要求,与自己相对应的一个好友组队,通过组队他们则可以在大地图上传送到同一个位置,然后对这个好友画像来完成任务。
对于这种脚本操作,若通过宏观指标或游戏中的简单日志,则难以识别。但是,通过分析用户的用户操作序列,若某个用户具有“大量添加好友”以及“接画像任务,与好友组队——传送大地图——画像”的用户操作序列,则可以识别出这样的可疑操作组合,并进一步地识别出异常用户。
图3示出根据本发明的一个优选实施例的一种用于识别异常用户操作的识别设备示意图;其中,所述识别设备包括第一装置1、第二装置2以及第三装置3,其中,所述第二装置2包括二一单元21以及二二单元22。
具体地,所述第一装置1获取应用服务器的出入流量数据;所述第二装置2的二一单元21解析所述出入流量数据,以生成一个或多个用户操作信息;所述第二装置2的二二单元22根据所述用户操作信息以及所述用户操作信息所对应的顺序,生成一条或多条用户操作序列;所述第三装置3将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作。
其中,所述第一装置1与所述第三装置3与图2所述的对应装置相同或相似,故在此不再赘述,并通过引用的方式包含于此。
所述第二装置2的二一单元21解析所述出入流量数据,以生成一个或多个用户操作信息。
具体地,所述二一单元21基于数据传输相关协议以及所述应用的应用协议通过对所述出入流量数据的每个流量数据包进行解析,以确定每个流量数据包所对应的应用协议;然后,将相同协议的流量数据包进行解析,以获取该应用的用户操作信息。
或者,所述二一单元21基于数据传输协议,解析出所述出入流量数据中的每个流量数据包的数据传输相关信息;然后,基于所述数据传输相关信息,将所述流量数据包进行分组,并对每个分组中的所述流量数据包进行排序,以生成一个或多个会话;最后,根据应用所对应的应用协议,对所述会话进行解析,以生成所述应用的一个或多个用户操作信息。
所述第二装置2的二二单元22根据所述用户操作信息以及所述用户操作信息所对应的顺序,生成一条或多条用户操作序列。
具体地,所述二二单元22基于每个流量数据包之间的时序关系以及其所对应的用户操作信息间的关联关系,确定与所述出入流量数据所对应的一条或多条用户操作序列;或者,所述二二单元22基于每个流量数据包之间的时序关系以及其所对应的用户操作信息间的关联关系,确定与所述出入流量数据所对应的一条或多条用户操作序列。
优选地,所述二一单元21用于基于数据传输协议,解析出所述出入流量数据中的每个流量数据包的数据传输相关信息;基于所述数据传输相关信息,将所述流量数据包进行分组,并对每个分组中的所述流量数据包进行排序,以生成一个或多个会话;根据应用所对应的应用协议,对所述会话进行解析,以生成一条或多条用户操作信息,其中,所述应用对应于所述应用服务器。
具体地,所述二一单元21通过与所述第一装置1或是直接与所述镜像存储设备相交互,以读取所述第一装置1或是所述镜像存储设备中的出入流量数据;然后,所述二一单元21根据所述应用服务器所采用的数据传输协议,对所述出入流量数据中的每个流量数据包进行解析,以获取数据传输相关信息。
当所述二一单元21读取每条出入流量数据时,每条出入流量数据都是二进制的数据数组;然后,所述二一单元21解析这些二进制的数组,首先根据数据传输协议还原出,例如Ethernet头、IP头、TCP/UDP头以及在上述头之后的、所传输的数据部分。然后,所述二一单元21对上述信息进行进一步分析,以得到数据传输相关信息。
其中,所述数据传输相关信息包括但不限于每个流量数据包所对应的发送IP与端口、接收IP与端口、SEQ、ACK、数据包大小、flags、断偏移、所传输的数据部分(即需要后续分析的具体应用内容)等。在此,本领域技术人员应能理解,根据流量数据包所对应的不同类型,如TCP包或UDP包,其所对应的数据传输相关信息不同。例如,TCP流量数据包的数据传输相关信息可以包括发送IP与端口、接收IP与端口、SEQ、ACK、数据包大小、所传输的数据部分等;UDP流量数据包的数据传输相关信息可以包括发送IP与端口、接收IP与端口、flags、段偏移、所传输的数据部分等。
然后,所述二一单元21基于所述数据传输相关信息中的一种或多种,对所述流量数据包进行分组;在此,所述分组方法包括但不限于:
方式1.基于所述流量数据包所对应的发送IP与接收IP进行分组。例如,若两个流量数据包的发送IP与接收IP相一致,则将这两个流量数据包划分为一组;或者,若第一流量数据包的发送IP与第二流量数据包的接收IP一致且第二流量数据包的发送IP与第一流量数据包的接收IP一致,则将所述第一流量数据包与所述第二流量数据包划分为一组。上述操作可以循环进行,例如,若第二流量数据包的发送IP与第三流量数据包的接收IP一致且第三流量数据包的发送IP与第二流量数据包的接收IP一致,则将所述第三流量数据包划分至所述第一数据包与所述第二数据包所对应的分组中,从而,直至将具有对应IP的多个流量数据包划分完成为止。
方式2.优选地,基于所述流量数据包所对应的发送/接收的IP与端口信息,对所述流量数据包进行分组,即若两个流量数据包的发送/接收的IP与端口信息对应,则将这两个流量数据包划分为一组。例如,若两个流量数据包的发送IP/发送端口与接收IP/接收端口相一致,则将这两个流量数据包划分为一组;或者,若第一流量数据包的发送IP/发送端口与第二流量数据包的接收IP/接收端口一致且第二流量数据包的发送IP/发送端口与第一流量数据包的接收IP/接收端口一致,则将所述第一流量数据包与所述第二流量数据包划分为一组。同样地,上述操作可以循环执行。
方式3.基于所述流量数据包所对应的连续性进行分组。例如,若两个TCP流量数据包,可以基于流量数据包的SEQ、ACK以及数据包大小的连续性进行分组,即发送方的SEQ+数据包大小等于接收方的ACK且发送方的ACK等于接收方的SEQ,则证明上述两个流量数据包满足连续性,可以将这两个流量数据包划分为一组;类似地,若是两个UDP流量数据包,则可以基于默认排序或基于流量数据包的包头(header)中的flags和段偏移(fragmentoffset)等进行分组。
本领域技术人员应能理解,上述分组方法可以单独执行,也可以将上述三种方式结合起来执行,以进一步优化分组的效率与效果。例如,可以仅单独执行方式1、方式2或方式3,从而仅执行分组;或者,可以将方式1与方式3进行结合,或是将方式1与方式2进行结合,以优化分组效率,同时完成分组+连续性确定,从而进一步完成排序。
当对所述流量数据包的分组完成后,所述二一单元21对每个分组中的所有流量数据包按照时间顺序进行排序,从而根据排序后的流量数据包,生成一个或多个会话。其中,所述会话可以是短会话,也可以是长回话,例如,若是游戏应用,则所述会话多为长回话,即一个报文会话流中包含大量的来回报文,能够持续十几分钟甚至几十分钟;若是一般应用,如购物应用,则所述会话多为短会话,即报文会话流中所包含的来回报文数量较少。
在此,若所述流量数据包中包含有时间信息,则根据所述时间信息依次排序即可。
若所述流量数据包中不含有时间信息,则可以根据所述流量数据包所对应的数据传输协议,结合所述数据传输相关信息,判断所述流量数据包之间的连续关系;基于所述连续关系,对每个分组中的所述流量数据包进行排序,以生成一个或多个会话。
例如,若所述流量数据包为TCP包,则可以根据流量数据包的SEQ、ACK以及数据包大小来判断连续关系,即发送方的SEQ+数据包大小等于接收方的ACK且发送方的ACK等于接收方的SEQ,则证明上述两个流量数据包满足连续性;若所述流量数据包为UDP包,则可以根据流量数据包的包头(header)中的flags和段偏移(fragment offset)关系进行直接解析。
本领域技术人员应能理解,即使所述流量数据包中含有时间信息,也可以基于上述方法进行排序,从而无需使用流量数据包中的时间信息。
以下示出一段连续的流量数据包示例:
表1:连续流量数据包的数据传输相关信息
注:Size即表示数据包大小
接下来,所述二一单元21根据所述应用所对应的应用协议,对于所生成的会话进行解析,其中,所述应用协议即为该应用所特有的协议,如游戏应用的游戏协议,购物应用的购物应用协议等。
根据所述应用协议,将所述会话的会话内容进行解析还原,从而生成该会话所对应的应用内容,以作为所述应用的应用数据,并从中提取出用户操作信息。其中,所述应用数据即为应用意义上的数据还原,例如,游戏中的游戏操作数据,购物中的购物数据等。
本领域技术人员应能理解,若所述流量数据包并未加密,则可直接对所述会话进行解析,以生成所述应用数据;若所述流量数据包已加密,则可对所述会话中的流量数据包进行解密后,再执行普通的解析操作,以生成所述应用数据。
优选地,所述识别设备还包括第九装置(未示出),其中,所述第九装置根据所述会话所对应的密钥,对所述会话中的流量数据包进行解密;所述二一单元21根据所述应用所对应的应用协议,对已解密的所述会话进行解析,以生成一条或多条用户操作信息。
具体地,所述第九装置根据所述应用的加密方式,确定所述密钥以及解密方法;在此,所述密钥可以是固定密钥或是动态密钥,所述密钥的获取方法包括但不限于直接获取所述应用所对应的密钥,或是通过对所述会话或者是所述应用服务器的出入流量数据的前几帧数据进行分析,以确定所述密钥和/或加密方式。
本领域技术人员应能理解,任意能够解密所述流量数据包的方法均适用于本发明。
当所述第九装置基于所述密钥对所述流量数据包进行解密之后,所述二一单元21获取到所述解密后的会话,并基于所述应用所对应的应用协议,对已解密的所述会话进行解析,以生成所述应用数据,并从中提取出用户操作信息。在此,基于应用所对应的编译信息的不同,所对应的解析方法也不同。
例如,若游戏应用的应用协议(或称游戏协议)为Protobuf,且加密方式为使用一个固定的密钥来进行加密,则所述第九装置先基于相应的密钥对流量数据包进行解密,然后基于Protobuf的格式对会话进行解析。
图4示出根据本发明另一个方面的一种用于识别异常用户操作的方法流程图。
具体地,在步骤S1中,所述识别设备获取应用服务器的出入流量数据;在步骤S2中,所述识别设备解析所述出入流量数据,以生成一条或多条用户操作序列;在步骤S3中,所述识别设备将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作。
在步骤S1中,所述识别设备获取应用服务器的出入流量数据。
具体地,在步骤S1中,所述识别设备通过直接与所述应用服务器进行交互,以获取所述应用服务器与用户间的出入流量数据,或者,在步骤S1中,所述识别设备通过与其他能够提供所述出入流量数据的设备相交互,以获取所述其他设备所提供的、所述应用服务器的出入流量数据。
优选地,在步骤S1中,所述识别设备将应用服务器的出入流量数据镜像并存储至镜像存储设备中,然后,从所述镜像存储设备中读取所述出入流量数据。
具体地,在步骤S1中,所述识别设备在网络中的任一点上,对所述应用服务器的出入流量数据进行镜像,以获取所述出入流量数据并将其存储之镜像存储设备中;然后,所述识别设备从所述镜像存储设备中读取所述出入流量数据。
优选地,所述镜像存储设备的存储方式包括但不限于分布式文件***或者消息队列,所述识别设备可以基于对所述出入流量数据的处理需求,以选择具有特定存储方式的镜像存储设备,以执行对出入流量数据的存储。
在步骤S2中,所述识别设备解析所述出入流量数据,以生成一条或多条用户操作序列。
具体地,在步骤S2中,所述识别设备将所述出入流量数据进行分组,然后对每个分组中的出入流量数据进行解析,从而将每组所解析出的用户操作信息作为用户操作序列。
或者,在步骤S2中,所述识别设备基于数据传输相关协议以及所述应用的应用协议通过对所述出入流量数据的每个流量数据包进行解析,以确定每个流量数据包所对应的应用协议,然后,将相同协议的流量数据包进行解析,以获取该应用的用户操作信息;然后,基于每个流量数据包之间的时序关系以及其所对应的用户操作信息间的关联关系,确定与所述出入流量数据所对应的一条或多条用户操作序列。
或者,在步骤S2中,所述识别设备基于数据传输协议,解析出所述出入流量数据中的每个流量数据包的数据传输相关信息;然后,基于所述数据传输相关信息,将所述流量数据包进行分组,并对每个分组中的所述流量数据包进行排序,以生成一个或多个会话;最后,根据应用所对应的应用协议,对所述会话进行解析,以生成所述应用的一个或多个用户操作信息;然后,基于每个流量数据包之间的时序关系以及其所对应的用户操作信息间的关联关系,确定与所述出入流量数据所对应的一条或多条用户操作序列。
在此,所述应用协议即为该应用所特有的协议,如游戏应用的游戏协议,购物应用的购物应用协议等。一个应用可以对应一种或多种应用协议,以一个游戏应用为例,可以包含“玩家送花给别人”的应用协议、“执行交互任务”的应用协议、“购买道具”的应用协议等。
在步骤S3中,所述识别设备将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作。
具体地,在步骤S3中,所述识别设备将所生成的用户操作序列,与异常模型中的异常操作数据进行比较,以判断所述用户操作序列是否符合该异常操作数据;若符合,则说明所述用户操作序列为异常用户操作。
或者,在步骤S3中,所述识别设备将所生成的用户操作序列,与正常模型中的正常操作数据进行比较,若所述用户操作序列符合所述正常操作数据的特征,则认为所述用户操作序列为正常用户操作,反之,则认为是异常用户操作。
在此,所述正常模型与所述异常模型可以基于人工标注、机器学习等方式进行获取,所述正常模型中可以包括一条或多条正常操作数据,所述异常模型中可以包括一条或多条异常操作数据。
所述异常操作数据和/或所述正常操作数据包括但不限于单独的用户操作或由一系列单独的用户操作所组成的操作序列。若所述用户操作序列中的某个操作符合所述单独的用户操作或是所述用户操作序列中的全部用户操作或部分用户操作符合所述操作序列,则认为该用户操作序列属于异常操作数据或正常操作数据。
优选地,所述异常操作数据和/或所述正常操作数据仅包括由多个用户操作所组成的操作序列。
在此,所述人工标注的方式,例如:根据应用运营人员对大量用户行为数据的手工分析,将可疑的操作行为序列也作为异常模型中的一条异常操作信息。
所述机器学习的方式,例如:
1.将所有的用户行为进行分析,以过滤掉经常出现且区分度不明显的一批网络协议,比如移动相关的一系列网络协议;
2.利用Ngram算法进行分块,即将连续的N个行为(N可变,例如N=4)切分成一个行为块;
3.统计所有用户的所有行为块的数量;
4.结合机器学习对于用户的基础信息(也称宏观指标)的识别,自动标注一批用户作为异常用户;
5.统计上述所有行为块中,每个Ngram行为块的出现次数,将出现次数最多的行为块作为高可疑行为块;
6.根据所述高可疑行为块,生成异常用户操作。
从而,本发明能够生成包含异常用户操作的异常模型。
优选地,在步骤S3中,所述识别设备根据预定的异常模型,从所述用户操作序列中确定一个或多个待分析的用户操作序列,其中,所述待分析的用户操作序列中的至少一项参数与所述异常模型中所包含的至少一条异常操作数据相匹配;根据所述待分析的用户操作序列与所述异常模型的匹配关系,识别异常用户操作。
具体地,在步骤S3中,所述识别设备根据预定的异常模型,对所述用户操作序列所对应的参数进行分析提取,以从所述用户操作序列中确定一个或多个参数符合异常操作数据的参数的用户操作序列,以作为待分析的用户操作序列。
其中,所述参数包括但不限于时间参数(如所述异常操作数据是对应于某一时间的,则提取相应时间的用户操作序列进行分析),前序操作参数(如登录操作作为前序操作,其后所跟随的一个或多个操作作为一个待分析的用户操作序列),后续操作参数(如将登出操作作为后续操作,则将登出操作前的一个或多个操作作为一个待分析的用户操作序列)、特定操作参数(如异常模型中的异常操作数据与待分析的用户操作序列都包含对某API的特定调用)、位置参数(如坐标,即在某一地区触发异常操作,其中,所述坐标包括用户在应用内地图的坐标(如游戏地图坐标)或是用户在实际地理位置坐标(如GPS位置所对应的坐标))等。
当确定了所述待分析的用户操作序列后,利用所述异常模型对所述待分析的用户操作序列进行匹配,若所述待分析的用户操作序列能够匹配到所述异常模型中的用户操作,则将所述待分析的用户操作序列识别为异常用户操作。
优选地,所述方法还包括步骤S4(未示出)、步骤S5(未示出)、步骤S6(未示出)、步骤S7(未示出);其中,在步骤S4中,所述识别设备确定多个异常用户;在步骤S5中,所述识别设备根据所述异常用户所对应的历史操作数据,确定与所述异常用户相对应的一条或多条历史操作序列;在步骤S6中,所述识别设备根据对所述历史操作序列的统计结果,从所述历史操作序列中确定一个或多个异常操作数据;在步骤S7中,所述识别设备根据所述异常操作数据,生成预定的异常模型。
具体地,在步骤S4中,所述识别设备通过获取人工标注数据,或是根据机器学习的方式,确定多个异常用户。在此,所述异常用户包括但不限于利用***漏洞的用户、利用脚本或外挂的用户以及其他利用非正常手段,对应用***或其他用户产生负面影响的用户等。
以下分别基于人工标注以及机器学习的方式,来说明生成异常模型的过程。
所述人工标注的方式,例如:
应用运营人员通过对大量用户行为数据的手工分析,将具有可疑的操作行为序列的用户标注为异常用户,所述识别设备获取所确定的异常用户。
在步骤S5中,所述识别设备根据所述异常用户所对应的历史操作数据,对所述历史操作数据中的多个历史操作进行分块,如将N个历史操作分为一个操作块,并将每个操作块确定为与所述异常用户相对应的一条或多条历史操作序列。
在步骤S6中,所述识别设备根据对所述历史操作序列的统计结果,从所述历史操作序列中确定一个或多个异常操作数据,例如,若某条历史操作序列的统计结果偏高,且为非正常操作序列,则可以将其作为异常操作数据;在步骤S7中,所述识别设备根据所述异常操作数据,生成预定的异常模型。
所述机器学习的方式,例如:
1.将所有的用户行为进行分析,以过滤掉经常出现且区分度不明显的一批网络协议,比如移动相关的一系列网络协议;
2.利用Ngram算法进行分块,即将连续的N个行为(N可变,例如N=4)切分成一个行为块;
3.统计所有用户的所有行为块的数量;
4.结合机器学习对于用户的基础信息(也称宏观指标)的识别,自动标注一批用户作为异常用户。
在步骤S5中,所述识别设备根据所述异常用户所对应的历史操作数据,确定与所述异常用户相对应的一条或多条历史操作序列,也即,将所述异常用户所对应的行为块,作为所述历史操作序列。
在步骤S6中,所述识别设备根据对所述历史操作序列进行统计,例如统计每个Ngram行为块的出现次数,将出现次数最多的历史操作序列作为高可疑行为块;然后根据所述高可疑行为块,生成异常操作数据。
然后,在步骤S7中,所述识别设备根据所述异常操作数据,生成预定的异常模型。从而,本发明能够生成异常操作数据的异常行为数据库(即异常模型)。
优选地,所述方法还包括步骤S8(未示出),其中,在步骤S8中,所述识别设备根据所识别的异常用户操作所对应的用户,更新所述异常用户。
具体地,在步骤S8中,所述识别设备能够对所述异常用户操作所对应的用户进行统计,以将该用户作为异常用户,并更新所述异常用户。
例如,如果某个用户的很多个行为块都能匹配为可疑行为块,则认为该用户是异常用户;进而,通过对所述异常用户进行关注,将这个异常用户的后续行为也作为机器学习模型的训练数据,从而可以分析该异常用户的其他行为是否属于高可疑行为。从而,能够实现对异常用户以异常操作数据的循环确定。
以下以游戏应用为示例,说明识别异常用户操作以及异常用户的具体过程:
在游戏中,所述的用户操作序列例如是如下的一串信息:
“玩家点击登录游戏按钮、玩家进入游戏主场景、玩家查看了邮件、删除了邮件、打开了***配置、更改了音量大小、更改了场景内可以显示的人物数量、玩家打开了背包、玩家升级了他的宠物、玩家沿着一条小路移动到路上的A点与B点、玩家进入了战斗界面、玩家使用了技能A”等。
用户从登陆游戏到关闭游戏的一次过程中,可能产生成百上千种的游戏行为发送给游戏服务器。所述识别设备通过对所述出入流量数据进行解析,以生成一条或多条用户操作序列,然后对所述用户操作序列进行分析。
在此,所述用户操作序列的划分可以基于时间划分,如每五分钟内的用户操作作为一个用户操作序列;也可以基于用户操作的数量进行划分,如将每10个用户操作作为一个用户操作序列;或者,基于特定的操作,如切换地图等,将用户操作进行分割,以将在特定操作之前的操作以及特定操作之后的操作分别形成用户操作序列。
然后,所述识别设备检测所述一条或多条用户操作序列中,是否具有特定行为的行为串,如用户在登陆后是不是有“打开游戏配置、更改显示效果”的操作。若某个用户每次登陆游戏的时候均包含“打开游戏配置、更改显示效果”,则该用户可能属于异常用户。这是由于,若某个用户通过脚本控制,则其在操作模式中会包括一些固定的、且与正常用户不完全一样的操作。正常用户不会在每次打开游戏之后均首先进行设置配置,通常的情况是仅操作一两次以进行调整;而只有脚本用户才会每次均执行相同的操作。
此外,某些异常操作是正常用户所不会进行的操作。例如,在添加好友时,正常用户是通过点击地图上另一用户的角色,在弹出的操作窗口中选择“添加好友”已完成;但某些脚本会直接调用“添加好友的网络协议API”,在该API中输入另一个用户的角色ID以进行添加。因此,“调用添加好友的网络协议API”这一操作则属于异常操作,对于执行这一操作的用户,则属于可疑的异常用户。
继上例,游戏中推出了“画像任务”的活动,该活动要求“在大地图中找到某个特定条件的用户,点击其虚拟形象,选择给该用户画像”以完成任务。由于大部分脚本不具备图像识别的能力,因此,脚本用户无法识别大地图上符合任务要求的用户;在这种情况下,脚本所采用的方式是:首先给自己添加大量的好友用户,每个好友符合画像任务中的一个特殊条件,当这个脚本接下画像任务之后,其会根据任务的要求,与自己相对应的一个好友组队,通过组队他们则可以在大地图上传送到同一个位置,然后对这个好友画像来完成任务。
对于这种脚本操作,若通过宏观指标或游戏中的简单日志,则难以识别。但是,通过分析用户的用户操作序列,若某个用户具有“大量添加好友”以及“接画像任务,与好友组队——传送大地图——画像”的用户操作序列,则可以识别出这样的可疑操作组合,并进一步地识别出异常用户。
图5示出根据本发明的一个优选实施例的一种用于识别异常用户操作的方法流程图。
具体地,在步骤S1中,所述识别设备获取应用服务器的出入流量数据;在步骤S21中,所述识别设备解析所述出入流量数据,以生成一个或多个用户操作信息;在步骤S22中,所述识别设备根据所述用户操作信息以及所述用户操作信息所对应的顺序,生成一条或多条用户操作序列;在步骤S3中,所述识别设备将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作。
其中,所述步骤S1与所述步骤S3与图4所述的对应步骤相同或相似,故在此不再赘述,并通过引用的方式包含于此。
在步骤S21中,所述识别设备解析所述出入流量数据,以生成一个或多个用户操作信息。
具体地,在步骤S21中,所述识别设备基于数据传输相关协议以及所述应用的应用协议通过对所述出入流量数据的每个流量数据包进行解析,以确定每个流量数据包所对应的应用协议;然后,将相同协议的流量数据包进行解析,以获取该应用的用户操作信息。
或者,在步骤S21中,所述识别设备基于数据传输协议,解析出所述出入流量数据中的每个流量数据包的数据传输相关信息;然后,基于所述数据传输相关信息,将所述流量数据包进行分组,并对每个分组中的所述流量数据包进行排序,以生成一个或多个会话;最后,根据应用所对应的应用协议,对所述会话进行解析,以生成所述应用的一个或多个用户操作信息。
在步骤S22中,所述识别设备根据所述用户操作信息以及所述用户操作信息所对应的顺序,生成一条或多条用户操作序列。
具体地,在步骤S22中,所述识别设备基于每个流量数据包之间的时序关系以及其所对应的用户操作信息间的关联关系,确定与所述出入流量数据所对应的一条或多条用户操作序列;或者,在步骤S22中,所述识别设备基于每个流量数据包之间的时序关系以及其所对应的用户操作信息间的关联关系,确定与所述出入流量数据所对应的一条或多条用户操作序列。
优选地,在步骤S21中,所述识别设备用于基于数据传输协议,解析出所述出入流量数据中的每个流量数据包的数据传输相关信息;基于所述数据传输相关信息,将所述流量数据包进行分组,并对每个分组中的所述流量数据包进行排序,以生成一个或多个会话;根据应用所对应的应用协议,对所述会话进行解析,以生成一条或多条用户操作信息,其中,所述应用对应于所述应用服务器。
具体地,在步骤S21中,所述识别设备通过直接基于步骤S1中所获取出入流量数据,或是与所述镜像存储设备相交互,以读取所述镜像存储设备中的出入流量数据;然后,所述识别设备根据所述应用服务器所采用的数据传输协议,对所述出入流量数据中的每个流量数据包进行解析,以获取数据传输相关信息。
当所述识别设备读取每条出入流量数据时,每条出入流量数据都是二进制的数据数组;然后,所述识别设备解析这些二进制的数组,首先根据数据传输协议还原出,例如Ethernet头、IP头、TCP/UDP头以及在上述头之后的、所传输的数据部分。然后,所述识别设备对上述信息进行进一步分析,以得到数据传输相关信息。
其中,所述数据传输相关信息包括但不限于每个流量数据包所对应的发送IP与端口、接收IP与端口、SEQ、ACK、数据包大小、flags、断偏移、所传输的数据部分(即需要后续分析的具体应用内容)等。在此,本领域技术人员应能理解,根据流量数据包所对应的不同类型,如TCP包或UDP包,其所对应的数据传输相关信息不同。例如,TCP流量数据包的数据传输相关信息可以包括发送IP与端口、接收IP与端口、SEQ、ACK、数据包大小、所传输的数据部分等;UDP流量数据包的数据传输相关信息可以包括发送IP与端口、接收IP与端口、flags、段偏移、所传输的数据部分等。
然后,所识别设备基于所述数据传输相关信息中的一种或多种,对所述流量数据包进行分组;在此,所述分组方法包括但不限于:
方式1.基于所述流量数据包所对应的发送IP与接收IP进行分组。例如,若两个流量数据包的发送IP与接收IP相一致,则将这两个流量数据包划分为一组;或者,若第一流量数据包的发送IP与第二流量数据包的接收IP一致且第二流量数据包的发送IP与第一流量数据包的接收IP一致,则将所述第一流量数据包与所述第二流量数据包划分为一组。上述操作可以循环进行,例如,若第二流量数据包的发送IP与第三流量数据包的接收IP一致且第三流量数据包的发送IP与第二流量数据包的接收IP一致,则将所述第三流量数据包划分至所述第一数据包与所述第二数据包所对应的分组中,从而,直至将具有对应IP的多个流量数据包划分完成为止。
方式2.优选地,基于所述流量数据包所对应的发送/接收的IP与端口信息,对所述流量数据包进行分组,即若两个流量数据包的发送/接收的IP与端口信息对应,则将这两个流量数据包划分为一组。例如,若两个流量数据包的发送IP/发送端口与接收IP/接收端口相一致,则将这两个流量数据包划分为一组;或者,若第一流量数据包的发送IP/发送端口与第二流量数据包的接收IP/接收端口一致且第二流量数据包的发送IP/发送端口与第一流量数据包的接收IP/接收端口一致,则将所述第一流量数据包与所述第二流量数据包划分为一组。同样地,上述操作可以循环执行。
方式3.基于所述流量数据包所对应的连续性进行分组。例如,若两个TCP流量数据包,可以基于流量数据包的SEQ、ACK以及数据包大小的连续性进行分组,即发送方的SEQ+数据包大小等于接收方的ACK且发送方的ACK等于接收方的SEQ,则证明上述两个流量数据包满足连续性,可以将这两个流量数据包划分为一组;类似地,若是两个UDP流量数据包,则可以基于默认排序或基于流量数据包的包头(header)中的flags和段偏移(fragmentoffset)等进行分组。
本领域技术人员应能理解,上述分组方法可以单独执行,也可以将上述三种方式结合起来执行,以进一步优化分组的效率与效果。例如,可以仅单独执行方式1、方式2或方式3,从而仅执行分组;或者,可以将方式1与方式3进行结合,或是将方式1与方式2进行结合,以优化分组效率,同时完成分组+连续性确定,从而进一步完成排序。
当对所述流量数据包的分组完成后,所述识别设备对每个分组中的所有流量数据包按照时间顺序进行排序,从而根据排序后的流量数据包,生成一个或多个会话。其中,所述会话可以是短会话,也可以是长回话,例如,若是游戏应用,则所述会话多为长回话,即一个报文会话流中包含大量的来回报文,能够持续十几分钟甚至几十分钟;若是一般应用,如购物应用,则所述会话多为短会话,即报文会话流中所包含的来回报文数量较少。
在此,若所述流量数据包中包含有时间信息,则根据所述时间信息依次排序即可。
若所述流量数据包中不含有时间信息,则可以根据所述流量数据包所对应的数据传输协议,结合所述数据传输相关信息,判断所述流量数据包之间的连续关系;基于所述连续关系,对每个分组中的所述流量数据包进行排序,以生成一个或多个会话。
例如,若所述流量数据包为TCP包,则可以根据流量数据包的SEQ、ACK以及数据包大小来判断连续关系,即发送方的SEQ+数据包大小等于接收方的ACK且发送方的ACK等于接收方的SEQ,则证明上述两个流量数据包满足连续性;若所述流量数据包为UDP包,则可以根据流量数据包的包头(header)中的flags和段偏移(fragment offset)关系进行直接解析。
本领域技术人员应能理解,即使所述流量数据包中含有时间信息,也可以基于上述方法进行排序,从而无需使用流量数据包中的时间信息。
以下示出一段连续的流量数据包示例:
发送方IP:端口 | 接收方IP:端口 | SEQ | ACK | Size |
116.62.173.112:23 | 210.12.118.194:2648 | -1401430175 | -660031943 | 28 |
210.12.118.194:2648 | 116.62.173.112:23 | -660031943 | -1401430147 | 11 |
116.62.173.112:23 | 210.12.118.194:2648 | -1401430147 | -660031943 | 13 |
116.62.173.112:23 | 210.12.118.194:2648 | -1401430134 | -660031932 | 8 |
表1:连续流量数据包的数据传输相关信息
注:Size即表示数据包大小
接下来,所述识别设备根据所述应用所对应的应用协议,对于所生成的会话进行解析,其中,所述应用协议即为该应用所特有的协议,如游戏应用的游戏协议,购物应用的购物应用协议等。
根据所述应用协议,将所述会话的会话内容进行解析还原,从而生成该会话所对应的应用内容,以作为所述应用的应用数据,并从中提取出用户操作信息。其中,所述应用数据即为应用意义上的数据还原,例如,游戏中的游戏操作数据,购物中的购物数据等。
本领域技术人员应能理解,若所述流量数据包并未加密,则可直接对所述会话进行解析,以生成所述应用数据;若所述流量数据包已加密,则可对所述会话中的流量数据包进行解密后,再执行普通的解析操作,以生成所述应用数据。
优选地,所述方法还包括步骤S9(未示出),其中,在步骤S9中,所述识别设备根据所述会话所对应的密钥,对所述会话中的流量数据包进行解密;在步骤S21中,所述识别设备根据所述应用所对应的应用协议,对已解密的所述会话进行解析,以生成一条或多条用户操作信息。
具体地,在步骤S9中,所述识别设备根据所述应用的加密方式,确定所述密钥以及解密方法;在此,所述密钥可以是固定密钥或是动态密钥,所述密钥的获取方法包括但不限于直接获取所述应用所对应的密钥,或是通过对所述会话或者是所述应用服务器的出入流量数据的前几帧数据进行分析,以确定所述密钥和/或加密方式。
本领域技术人员应能理解,任意能够解密所述流量数据包的方法均适用于本发明。
当所述识别设备基于所述密钥对所述流量数据包进行解密之后,在步骤S21中,所述识别设备获取到所述解密后的会话,并基于所述应用所对应的应用协议,对已解密的所述会话进行解析,以生成所述应用数据,并从中提取出用户操作信息。在此,基于应用所对应的编译信息的不同,所对应的解析方法也不同。
例如,若游戏应用的应用协议(或称游戏协议)为Protobuf,且加密方式为使用一个固定的密钥来进行加密,则所述识别设备先基于相应的密钥对流量数据包进行解密,然后基于Protobuf的格式对会话进行解析。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (16)
1.一种用于识别异常用户操作的方法,其中,该方法包括以下步骤:
获取应用服务器的出入流量数据;
基于数据传输协议,解析出所述出入流量数据中的每个流量数据包的数据传输相关信息,其中,所述数据传输相关信息包括发送IP与端口、接收IP与端口、SEQ、ACK、数据包大小或所传输的数据部分;基于所述数据传输相关信息,将所述流量数据包进行分组,并对每个分组中的所述流量数据包进行排序,以生成一个或多个会话;根据应用所对应的应用协议,对所述会话进行解析,生成所述会话对应的应用内容,以作为所述应用的应用数据,从所述应用数据中提取一条或多条用户操作信息,其中,所述应用对应于所述应用服务器,所述应用数据为应用意义上的数据还原;根据所述用户操作信息以及所述用户操作信息所对应的顺序,生成一条或多条用户操作序列;
将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作。
2.根据权利要求1所述的方法,其中,将所述流量数据包进行分组的步骤包括:
基于所述流量数据包所对应的发送/接收的IP与端口信息,对所述流量数据包进行分组。
3.根据权利要求1或2所述的方法,其中,对每个分组中的所述流量数据包进行排序,以生成一个或多个会话的步骤包括:
根据所述流量数据包所对应的数据传输协议,结合所述数据传输相关信息,判断所述流量数据包之间的连续关系;
基于所述连续关系,对每个分组中的所述流量数据包进行排序,以生成一个或多个会话。
4.根据权利要求1至3中任一项所述的方法,其中,该方法还包括:
根据所述会话所对应的密钥,对所述会话中的流量数据包进行解密;
其中,对所述会话进行解析,以生成一条或多条用户操作信息的步骤包括:
根据所述应用所对应的应用协议,对已解密的所述会话进行解析,以生成一条或多条用户操作信息。
5.根据权利要求1至4中任一项所述的方法,其中,识别异常用户操作的步骤包括:
根据预定的异常模型,从所述用户操作序列中确定一个或多个待分析的用户操作序列,其中,所述待分析的用户操作序列中的至少一项参数与所述异常模型中所包含的至少一条异常操作数据相匹配;
根据所述待分析的用户操作序列与所述异常模型的匹配关系,识别异常用户操作。
6.根据权利要求5所述的方法,其中,该方法还包括:
确定多个异常用户;
根据所述异常用户所对应的历史操作数据,确定与所述异常用户相对应的一条或多条历史操作序列;
根据对所述历史操作序列的统计结果,从所述历史操作序列中确定一个或多个异常操作数据;
根据所述异常操作数据,生成预定的异常模型。
7.根据权利要求6所述的方法,其中,该方法还包括:
根据所识别的异常用户操作所对应的用户,更新所述异常用户。
8.根据权利要求1至7中任一项所述的方法,其中,获取应用服务器的出入流量数据的步骤包括:
将应用服务器的出入流量数据镜像并存储至镜像存储设备中;
从所述镜像存储设备中读取所述出入流量数据。
9.一种用于识别异常用户操作的识别设备,其中,该设备包括:
第一装置,用于获取应用服务器的出入流量数据;
第二装置包括,二一单元,用于基于数据传输协议,解析出所述出入流量数据中的每个流量数据包的数据传输相关信息,其中,所述数据传输相关信息包括发送IP与端口、接收IP与端口、SEQ、ACK、数据包大小或所传输的数据部分;基于所述数据传输相关信息,将所述流量数据包进行分组,并对每个分组中的所述流量数据包进行排序,以生成一个或多个会话;根据应用所对应的应用协议,对所述会话进行解析,生成所述会话对应的应用内容,以作为所述应用的应用数据,从所述应用数据中提取一条或多条用户操作信息,其中,所述应用对应于所述应用服务器,所述应用数据为应用意义上的数据还原;二二单元,用于根据所述用户操作信息以及所述用户操作信息所对应的顺序,生成一条或多条用户操作序列;
第三装置,用于将所述用户操作序列与异常操作数据和/或正常操作数据进行比较,以识别异常用户操作。
10.根据权利要求9所述的识别设备,其中,当将所述流量数据包进行分组时,所述二一单元用于:
基于所述流量数据包所对应的发送/接收的IP与端口信息,对所述流量数据包进行分组。
11.根据权利要求9或10所述的识别设备,其中,当对每个分组中的所述流量数据包进行排序,以生成一个或多个会话时,所述二一单元用于:
根据所述流量数据包所对应的数据传输协议,结合所述数据传输相关信息,判断所述流量数据包之间的连续关系;
基于所述连续关系,对每个分组中的所述流量数据包进行排序,以生成一个或多个会话。
12.根据权利要求9至11中任一项所述的识别设备,其中,所述第三装置用于:
根据预定的异常模型,从所述用户操作序列中确定一个或多个待分析的用户操作序列,其中,所述待分析的用户操作序列中的至少一项参数与所述异常模型中所包含的至少一条异常操作数据相匹配;
根据所述待分析的用户操作序列与所述异常模型的匹配关系,识别异常用户操作。
13.根据权利要求12所述的识别设备,其中,该设备还包括:
第四装置,用于确定多个异常用户;
第五装置,用于根据所述异常用户所对应的历史操作数据,确定与所述异常用户相对应的一条或多条历史操作序列;
第六装置,用于根据对所述历史操作序列的统计结果,从所述历史操作序列中确定一个或多个异常操作数据;
第七装置,用于根据所述异常操作数据,生成预定的异常模型。
14.根据权利要求13所述的识别设备,其中,该设备还包括:
第八装置,用于根据所识别的异常用户操作所对应的用户,更新所述异常用户。
15.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机可读指令,当所述计算机可读指令被一个或多个设备执行时,使得所述设备执行如权利要求1至8中任一项所述的方法。
16.一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711377442.8A CN108156146B (zh) | 2017-12-19 | 2017-12-19 | 一种用于识别异常用户操作的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711377442.8A CN108156146B (zh) | 2017-12-19 | 2017-12-19 | 一种用于识别异常用户操作的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108156146A CN108156146A (zh) | 2018-06-12 |
CN108156146B true CN108156146B (zh) | 2021-07-30 |
Family
ID=62463945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711377442.8A Active CN108156146B (zh) | 2017-12-19 | 2017-12-19 | 一种用于识别异常用户操作的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108156146B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108932434B (zh) * | 2018-06-20 | 2021-06-25 | 中国农业银行股份有限公司 | 一种基于机器学习技术的数据加密方法及装置 |
CN109657148B (zh) * | 2018-12-24 | 2020-10-13 | 北京百度网讯科技有限公司 | 针对上报poi的异常操作识别方法、装置、服务器和介质 |
CN111382266A (zh) * | 2018-12-28 | 2020-07-07 | 沈阳美行科技有限公司 | 一种用户画像的生成方法、装置和设备 |
CN110020687B (zh) * | 2019-04-10 | 2021-11-05 | 北京神州泰岳软件股份有限公司 | 基于操作人员态势感知画像的异常行为分析方法及装置 |
CN110071930B (zh) * | 2019-04-29 | 2022-07-22 | 珠海豹好玩科技有限公司 | 一种信息处理方法及装置 |
CN110189165B (zh) * | 2019-05-14 | 2021-07-23 | 微梦创科网络科技(中国)有限公司 | 渠道异常用户和异常渠道识别方法及装置 |
CN112087452B (zh) * | 2020-09-09 | 2022-11-15 | 北京元心科技有限公司 | 异常行为检测方法、装置、电子设备及计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1389818A (zh) * | 2002-07-19 | 2003-01-08 | 叶昇武 | 用户身份识别防盗***及识别方法 |
CN1405718A (zh) * | 2002-07-19 | 2003-03-26 | 叶昇武 | 一种用户身份识别防盗***及识别方法 |
CN1551589A (zh) * | 2003-04-28 | 2004-12-01 | ���µ�����ҵ��ʽ���� | 服务管理***和方法、用于这种***的通信设备和集成电路 |
CN1649311A (zh) * | 2005-03-23 | 2005-08-03 | 北京首信科技有限公司 | 基于机器学习的用户行为异常检测***和方法 |
CN105187242A (zh) * | 2015-08-20 | 2015-12-23 | 中国人民解放军国防科学技术大学 | 一种基于变长序列模式挖掘的用户异常行为检测方法 |
CN107454109A (zh) * | 2017-09-22 | 2017-12-08 | 杭州安恒信息技术有限公司 | 一种基于http流量分析的网络窃密行为检测方法 |
-
2017
- 2017-12-19 CN CN201711377442.8A patent/CN108156146B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1389818A (zh) * | 2002-07-19 | 2003-01-08 | 叶昇武 | 用户身份识别防盗***及识别方法 |
CN1405718A (zh) * | 2002-07-19 | 2003-03-26 | 叶昇武 | 一种用户身份识别防盗***及识别方法 |
CN1551589A (zh) * | 2003-04-28 | 2004-12-01 | ���µ�����ҵ��ʽ���� | 服务管理***和方法、用于这种***的通信设备和集成电路 |
CN1649311A (zh) * | 2005-03-23 | 2005-08-03 | 北京首信科技有限公司 | 基于机器学习的用户行为异常检测***和方法 |
CN105187242A (zh) * | 2015-08-20 | 2015-12-23 | 中国人民解放军国防科学技术大学 | 一种基于变长序列模式挖掘的用户异常行为检测方法 |
CN107454109A (zh) * | 2017-09-22 | 2017-12-08 | 杭州安恒信息技术有限公司 | 一种基于http流量分析的网络窃密行为检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108156146A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108156146B (zh) | 一种用于识别异常用户操作的方法与装置 | |
CN111865815B (zh) | 一种基于联邦学习的流量分类方法及*** | |
EP3407562B1 (en) | Coflow recognition method and system, and server using method | |
CN109300028A (zh) | 基于网络数据的实时反欺诈方法和***及存储介质 | |
US20200374306A1 (en) | Network traffic anomaly detection method, apparatus, computer device and storage medium | |
CN109936512B (zh) | 流量分析方法、公共服务流量归属方法及相应的计算机*** | |
CN109003137A (zh) | 一种广告反作弊的方法及装置 | |
CN105808700A (zh) | 游戏信息推荐方法及服务器 | |
CN107040816A (zh) | 一种客户端应用运行异常分析方法与装置 | |
CN105681389B (zh) | 一种基于Skype不同功能通信流的识别方法及装置 | |
CN110798440B (zh) | 异常用户检测方法、装置、***及计算机存储介质 | |
CN110213124A (zh) | 基于tcp多会话的被动操作***识别方法及装置 | |
US20160308745A1 (en) | Presenting application performance monitoring data in distributed computer systems | |
CN109962789A (zh) | 基于网络数据构建物联网应用标签体系的方法和装置 | |
CN112346936A (zh) | 应用故障根因定位方法及*** | |
CN110267272A (zh) | 一种诈骗短信识别方法及识别*** | |
CN106656629A (zh) | 一种流媒体播放质量的预测方法 | |
CN108121637B (zh) | 一种用于记录应用日志的方法与装置 | |
CN108737367A (zh) | 一种视频监控网络的异常检测方法及*** | |
CN106559498A (zh) | 风控数据收集平台及其收集方法 | |
CN106302162A (zh) | 一种基于客户端的应用类型智能识别方法及装置 | |
CN115801594A (zh) | 电力数据通信网的数字孪生模型的构建方法、设备及介质 | |
CN108093048B (zh) | 一种用于获取应用交互数据的方法与装置 | |
CN109478219A (zh) | 用于显示网络分析的用户界面 | |
CN114283349A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |