IP Library Granted Patent US 10,944,773
Granted Patent B2
US 10,944,773 · App. 16/210,596 · Granted Mar 9, 2021

Monitoring network activity

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,944,773
App. No.
16/210,596
Filed
Dec 5, 2018
Granted
Mar 9, 2021
Kind
B2
Art Unit
2439
USPC
726/22
Abstract

A method for monitoring network activity includes initiating a training phase by a machine learning (ML) server. Data associated with normal network traffic through the ML server during the training phase is collected. A classification model is generated based on the collected data. The ML server switches the training phase to an active phase. An outbound request is received during the active phase. Whether the outbound request is an anomalous request is determined based on the classification model.

Claims (59)

1. A method, comprising:

initiating, by a machine learning (ML) server, a training phase;

collecting, by the ML server and during the training phase, data associated with normal network traffic through the ML server;

generating, by the ML server, a classification model based on the collected data;

switching, by the ML server, from the training phase to an active phase;

receiving, by the ML server and during the active phase, an outbound request;

determining, by the ML server, whether the outbound request is an anomalous request based on the classification model;

detecting, by the ML server, a completion of a software update in a communication network system that is monitored by the ML server during the active phase; and

in response to detecting the completion of the software update in the communication network system, switching, by the ML server, from the active phase to the training phase.

2. The method of claim 1 , wherein the ML server transmits to a second server a configuration file comprising the classification model based on the collected data, the second server being either a backup of the ML server, or a part of a distributed system, the distributed system comprising the ML server and the second server, and the distributed system delivering an outbound request filtering functionality.

3. The method of claim 1 , wherein the normal network traffic includes one or more outbound requests that are normal requests.

4. The method of claim 1 , wherein the collected data includes at least one of a port number, an action, and a web address.

5. The method of claim 1 , wherein the received outbound request is associated with a sudden change of network traffic or associated with a covert channel.

6. The method of claim 1 , wherein the training phase is automatically or manually switched to the active phase after a configured time period.

7. The method of claim 1 , wherein the training phase is automatically or manually switched to the active phase when an amount of the collected data is greater than a predetermined threshold.

8. The method of claim 1 , wherein determining, by the ML server, whether the outbound request is an anomalous request based on the classification model comprises:

generating, by the ML server, a confidence value based on the outbound request and the classification model;

determining, by the ML server, whether the confidence value exceeds a configured threshold;

if the confidence value exceeds the configured threshold, determining, by the ML server, that the outbound request is an anomalous request; and

if the confidence value does not exceed the configured threshold, determining, by the ML server, that the outbound request is not an anomalous request.

9. The method of claim 1 , further comprising:

in response to determining that the outbound request is an anomalous request:

generating, by the ML server, an alert indicating that the anomalous request has been detected; and

blocking, by the ML server, the outbound request.

10. A non-transitory computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

initiating, by a machine learning (ML) server, a training phase;

collecting, by the ML server and during the training phase, data associated with normal network traffic through the ML server;

generating, by the ML server, a classification model based on the collected data;

switching, by the ML server, from the training phase to an active phase;

receiving, by the ML server and during the active phase, an outbound request;

determining, by the ML server, whether the outbound request is an anomalous request based on the classification model;

detecting, by the ML server, a completion of a software update in a communication network system that is monitored by the ML server during the active phase; and

in response to detecting the completion of the software update in the communication network system, switching, by the ML server, from the active phase to the training phase.

11. The non-transitory computer-readable medium of claim 10 , wherein the ML server transmits to a second server a configuration file comprising the classification model based on the collected data, the second server being either a backup of the ML server, or a part of a distributed system, the distributed system comprising the ML server and the second server, and the distributed system delivering an outbound request filtering functionality.

12. The non-transitory computer-readable medium of claim 10 , wherein the normal network traffic includes one or more outbound requests that are normal requests.

13. The non-transitory computer-readable medium of claim 10 , wherein the collected data includes at least one of a port number, an action, and a web address.

14. The non-transitory computer-readable medium of claim 10 , wherein the received outbound request is associated with a sudden change of network traffic or associated with a covert channel.

15. The non-transitory computer-readable medium of claim 10 , wherein the training phase is automatically or manually switched to the active phase after a configured time period.

16. The non-transitory computer-readable medium of claim 10 , wherein the training phase is automatically or manually switched to the active phase when an amount of the collected data is greater than a predetermined threshold.

17. The non-transitory computer-readable medium of claim 10 , wherein determining, by the ML server, whether the outbound request is an anomalous request based on the classification model comprises:

generating, by the ML server, a confidence value based on the outbound request and the classification model;

determining, by the ML server, whether the confidence value exceeds a configured threshold;

if the confidence value exceeds the configured threshold, determining, by the ML server, that the outbound request is an anomalous request; and

if the confidence value does not exceed the configured threshold, determining, by the ML server, that the outbound request is not an anomalous request.

18. The non-transitory computer-readable medium of claim 10 , the operations further comprising:

in response to determining that the outbound request is an anomalous request:

generating, by the ML server, an alert indicating that the anomalous request has been detected; and

blocking, by the ML server, the outbound request.

19. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

initiating, by a machine learning (ML) server, a training phase;

collecting, by the ML server and during the training phase, data associated with normal network traffic through the ML server;

generating, by the ML server, a classification model based on the collected data;

switching, by the ML server, from the training phase to an active phase;

receiving, by the ML server and during the active phase, an outbound request;

determining, by the ML server, whether the outbound request is an anomalous request based on the classification model;

detecting, by the ML server, a completion of a software update in a communication network system that is monitored by the ML server during the active phase; and

in response to detecting the completion of the software update in the communication network system, switching, by the ML server, from the active phase to the training phase.