User behavior analyzer
First Claim
1. A method for identifying abnormal client behavior with respect to communications between one or more servers and one or more client devices communicatively coupled to said one or more servers, the method comprising:
- receiving a plurality of messages at a server from a plurality of client devices communicatively coupled to the server;
grouping the plurality of messages into subsets of messages using a learn module of said server, with each subset of messages associated with a unique client identifier and with all messages within a subset being associated with the same unique client identifier;
identifying each message within a subset of messages as belonging to a defined type of message;
recording sequences of said defined types of messages within each of said subsets of messages using said learn module;
measuring time intervals between said defined types of messages using said learn module;
generating a state machine configured to model communications designated as constituting normal client behavior for defined types of messages, wherein the state machine comprises a determined order of a sequence of states and transitions configured based, at least in part, on the recorded sequences of defined types of messages and the measured time intervals between said defined types of messages that constitute normal client behavior;
constructing a sequence of defined types of messages received from a client device using a detect module of said server;
comparing the constructed sequence of defined types of messages to the state machine;
calculating any differences between the constructed sequence and the state machine, wherein the differences are based, at least in part, on whether an order of the constructed sequence deviates from the determined order of the sequence of the state machine; and
in response to a determination that the constructed sequence differs from the state machine by more than a predetermined value or range of values, generating an output designating a constructed sequence as abnormal client behavior.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method is shown for identifying abnormal client behavior with respect to communications between one or more servers and one or more client devices communicatively coupled to the one or more servers. Messages are received at a server from one or more client devices communicatively coupled to the server. The plurality of messages are grouped into subsets of messages using a learn module of the server. Each subset of messages is associated with a unique client identifier, and all messages within a subset are associated with the same unique client identifier. Each message within a subset of messages is identified as belonging to a defined type of message. Sequences of the defined types of messages within each of said subsets of messages are recorded using the learn module. Time intervals between the defined types of messages are measured using the learn module. The recorded sequences of defined types of messages and the measured time intervals between the defined types of messages are designated as constituting normal client behavior.
-
Citations
18 Claims
-
1. A method for identifying abnormal client behavior with respect to communications between one or more servers and one or more client devices communicatively coupled to said one or more servers, the method comprising:
-
receiving a plurality of messages at a server from a plurality of client devices communicatively coupled to the server; grouping the plurality of messages into subsets of messages using a learn module of said server, with each subset of messages associated with a unique client identifier and with all messages within a subset being associated with the same unique client identifier; identifying each message within a subset of messages as belonging to a defined type of message; recording sequences of said defined types of messages within each of said subsets of messages using said learn module; measuring time intervals between said defined types of messages using said learn module; generating a state machine configured to model communications designated as constituting normal client behavior for defined types of messages, wherein the state machine comprises a determined order of a sequence of states and transitions configured based, at least in part, on the recorded sequences of defined types of messages and the measured time intervals between said defined types of messages that constitute normal client behavior; constructing a sequence of defined types of messages received from a client device using a detect module of said server; comparing the constructed sequence of defined types of messages to the state machine; calculating any differences between the constructed sequence and the state machine, wherein the differences are based, at least in part, on whether an order of the constructed sequence deviates from the determined order of the sequence of the state machine; and in response to a determination that the constructed sequence differs from the state machine by more than a predetermined value or range of values, generating an output designating a constructed sequence as abnormal client behavior. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for classifying client behavior, the method comprising:
-
receiving a plurality of messages from a client device; grouping the plurality of messages into subsets of messages; identifying each message within a subset of messages as belonging to a defined type of message; constructing a sequence of said defined types of messages for at least one of said subsets of messages; comparing the constructed sequence of the defined types of messages to a state machine, wherein the state machine is configured to model communications designated as constituting normal client behavior for the defined types of messages, wherein the state machine comprises a determined order of a sequence of states and transitions configured based, at least in part, on recorded sequences of the defined types of messages and measured time intervals between said defined types of messages that constitute normal client behavior; calculating any differences between the constructed sequence and the state machine, wherein the differences are based, at least in part, on whether an order of the constructed sequence deviates from the determined order of the sequence of the state machine; and in response to a determination that the constructed sequence differs from the state machine by more than a predetermined value or range of values, generating an output designating the constructed sequence as abnormal. - View Dependent Claims (18)
-
-
8. An apparatus for identifying abnormal communications between a client and a game server, the apparatus comprising a hardware processor configured to implement modules comprising:
-
a processing module configured to receive a plurality of messages from a client device; the processing module configured to group the plurality of messages into subsets of messages; the processing module configured to identify each message within a subset of messages as belonging to a defined type of message; the processing module configured to construct a sequence of said defined types of messages for at least one of said subsets of messages; the processing module configured to compare the constructed sequence of the defined types of messages to a state machine, wherein the state machine is configured to model communications designated as constituting normal client behavior for the defined types of messages, wherein the state machine comprises a determined order of a sequence of states and transitions configured based, at least in part, on recorded sequences of the defined types of messages and measured time intervals between said defined types of messages that constitute normal client behavior, the processing module configured to calculate any differences between the constructed sequence and the state machine, wherein the differences are based, at least in part, on whether an order of the constructed sequence deviates from the determined order of the sequence of the state machine; and the processing module configured to generate an output designating the constructed sequence as abnormal in response to a determination that the constructed sequence differs from the state machine by more than a predetermined value or range of values. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable medium for use with a computer and encoded with program code, that when executed by a computer, causes the computer to:
-
receive a plurality of messages from a client device; group the plurality of messages into subsets of messages; identify each message within a subset of messages as belonging to a defined type of message; construct a sequence of said defined types of messages for at least one of said subsets of messages; compare the constructed sequence of the defined types of messages to a state machine, wherein the state machine is configured to model communications designated as constituting normal client behavior for the defined types of messages, wherein the state machine comprises a determined order of a sequence of states and transitions configured based, at least in part, on recorded sequences of the defined types of messages and measured time intervals between said defined types of messages that constitute normal client behavior, calculate any differences between the constructed sequence and the state machine, wherein the differences are based, at least in part, on whether an order of the constructed sequence deviates from the determined order of the sequence of the state machine; and generate an output designating the constructed sequence as abnormal in response to a determination that the constructed sequence differs from the state machine by more than a predetermined value or range of values. - View Dependent Claims (15, 16, 17)
-
Specification