EP2247064A2

Detecting malicious network software agents

Abstract

This disclosure describes techniques for determining whether a network session originates from an automated software agent. In one example, a network device, such as a router, includes a network interface to receive packets of a network session, a bot detection module to calculate a plurality of scores for network session data based on a plurality of metrics, wherein each of the metrics corresponds to a characteristic of a network session originated by an automated software agent, to produce an aggregate score from an aggregate of the plurality of scores, and to determine that the network session is originated by an automated software agent when the aggregate score exceeds a threshold, and an attack detection module to perform a programmed response when the network session is determined to be originated by an automated software agent. Each score represents a likelihood that the network session is originated by an automated software agent.

EP2247064A2, drawing sheet 1
Sheet 1 of 9

Term

3.5 yearsto projected expiry

Projected expiry 10 March 2030, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

15 claims: 10 independent, 5 dependent

  1. 1
    A network device comprising:means configured to receive packets of a network session;means configured to assemble network session data for the network session from the packets, the network session data comprising application-layer data and packet flow data for the network session;means configured to calculate a plurality of scores for the network session based on a plurality of metrics applied to the network session data, wherein each of the metrics corresponds to a characteristic of a network session originated by an automated software agent, and wherein each of the scores represents a likelihood that the network session is originated by an automated software agent;means configured to aggregate the plurality of scores to produce an aggregate score;means configured to determine that the network session is originated by an automated software agent when the aggregate score exceeds a threshold;and means configured to execute a programmed response when the network session is determined to be originated by an automated software agent.
  2. 5
    The network device of any one of claims 2 to 4, further comprising a user interface to receive a definition of at least one of the metrics.
  3. 6
    The network device of any one of claims 2 to 5, wherein a first one of the metrics corresponds to a number of open connections for the network session, a second one of the metrics corresponds to an average number of transactions per open connection, a third one of the metrics corresponds to a time distribution between requests during the network session, a fourth one of the metrics corresponds to an average server response time to the requests, a fifth one of the metrics corresponds to a percent of data objects of a web page that are requested for the network session, a sixth one of the metrics corresponds to link-following behavior during the network session, a seventh one of the metrics corresponds to changes to a user agent during the network session, an eighth one of the metrics corresponds to web page cookie handling behavior, and a ninth one of the metrics corresponds to an operating system used by a client device of the network session.
  4. 7
    The network device of any one of claims 2 to 6, wherein the a programmed response executed by the attack detection module comprises at least one of sending an alert, dropping the packets of the network session, sending a close-session message to a client of the network session, sending a close-session message to a server of the network session, blocking connection requests from a network device of the network session, rate-limiting the network session, sending an identifier of the client to a network device with instructions to block other network sessions of the client, and sending an identifier of the server to the network device with instructions to block network sessions of the server.
  5. 8
    The network device of any one of claims 2 to 7, further comprising a router, wherein a service plane of the router comprises an intrusion detection and prevention card that comprises the reassembly module, the bot detection module, and the attack detection module.
  6. 9
    A method comprising:receiving, with a network device, packets of a network session;assembling network session data for the network session from the packets, the network session data comprising application-layer data and packet flow data for the network session;calculating a plurality of scores for the network session based on a plurality of metrics applied to the network session data, wherein each of the metrics corresponds to a characteristic of a network session originated by an automated software agent, and wherein each of the scores represents a likelihood that the network session is originated by an automated software agent;aggregating the plurality of scores to produce an aggregate score;determining that the network session is originated by an automated software agent when the aggregate score exceeds a threshold;and executing a programmed response when the network session is determined to be originated by an automated software agent.
  7. 12
    The method of any one of claims 9 to 11, further comprising receiving a definition of at least one of the metrics via a user interface.
  8. 13
    The method of any one of claims 9 to 12, wherein a first one of the metrics corresponds to a number of open connections for the network session, a second one of the metrics corresponds to an average number of transactions per open connection, a third one of the metrics corresponds to a time distribution between requests during the network session, a fourth one of the metrics corresponds to an average server response time to the requests, a fifth one of the metrics corresponds to a percent of data objects of a web page that are requested for the network session, a sixth one of the metrics corresponds to link-following behavior during the network session, a seventh one of the metrics corresponds to changes to a user agent during the network session, an eighth one of the metrics corresponds to web page cookie handling behavior, and a ninth one of the metrics corresponds to an operating system used by a client device of the network session.
  9. 14
    The method of any one of claims 9 to 13, wherein executing a programmed response comprises at least one of sending an alert, dropping the packets of the network session, sending a close-session message to a client of the network session, blocking connection requests from a network device of the network session, sending a close-session message to a server of the network session, rate-limiting the network session, sending an identifier of the client to a network device with instructions to block other network sessions of the client, and sending an identifier of the server to the network device with instructions to block network sessions of the server.
  10. 15
    A computer-readable medium comprising instructions for causing a programmable processor of a network device to:receive packets of a network session;assemble network session data for the network session from the packets, the network session data comprising application-layer data and packet flow data for the network session;calculate a plurality of scores for the network session based on a plurality of metrics applied to the network session data, wherein each of the metrics corresponds to a characteristic of a network session originated by an automated software agent, and wherein each of the scores represents a likelihood that the network session is originated by an automated software agent;aggregate the plurality of scores to produce an aggregate score;determine that the network session is originated by an automated software agent when the aggregate score exceeds a threshold;and execute a programmed response when the network session is determined to be originated by an automated software agent.