IP Library Granted Patent US 12676872
Granted Patent B2
US 12676872 · App. 18/261,875 · Granted Jul 7, 2026

Anomalous network behaviour identification

Inventor: Leah Claireaux (London, GB)
Assignee: BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
H04L63/1425
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 12676872
App. No.
18/261,875
Granted
Jul 7, 2026
Kind
B2
Abstract

A computer implemented method of identifying anomalous behavior of a computer system in a set of intercommunicating computer systems can include monitoring communication between computer systems in the set to generate, for each of a first and second plurality of time periods, with a first and second duration respectively, a first and a second vector representation of each of the computer systems. First vector representations corresponding to different respective ones of the first plurality of time periods are compared to identify behavior of a target computer system at a first temporal resolution. Second vector representations corresponding to different respective ones of the second plurality of time periods are compared to identify behavior of the target computer system at a second temporal resolution. Based on the behavior at one or more of the first and second temporal resolutions, anomalous behavior of the target computer system is identified.

Claims (56)

1 . A computer implemented method of identifying anomalous behavior of a computer system in a set of intercommunicating computer systems, each computer system in the set being uniquely identifiable, the method comprising:

monitoring communication between the computer systems in the set for a first plurality of time periods to generate, for each of the first plurality of time periods, a first vector representation of each of the computer systems, wherein each of the first vector representations is generated based on at least one walk of a first graph representation of communications between the computer systems during a respective one of the first plurality of time periods, in which nodes of the first graph representation correspond to computer systems in the set and weighted directed edges between the nodes of the first graph representation correspond to a characteristic of communication between pairs of computer systems in the set;

monitoring communication between the computer systems in the set for a second plurality of time periods to generate, for each of the second plurality of time periods, a second vector representation of each of the computer systems, wherein a first duration of each of the first plurality of time periods is different from a second duration of each of the second plurality of time periods, and wherein each of the second vector representations is generated based on at least one walk of a second graph representation of communications between the computer systems during a respective one of the second plurality of time periods, in which nodes of the second graph representation correspond to computer systems in the set and weighted directed edges between the nodes of the second graph representation correspond to the characteristic of communication or a further characteristic of communication between pairs of computer systems in the set;

comparing the first vector representations corresponding to different respective ones of the first plurality of time periods for a target computer system using a vector similarity function to identify behavior of the target computer system at a first temporal resolution corresponding to the first duration;

comparing the second vector representations corresponding to different respective ones of the second plurality of time periods for the target computer system using the vector similarity function to identify behavior of the target computer system at a second temporal resolution corresponding to the second duration;

based on the behavior of the target computer system at one or more of the first temporal resolution or the second temporal resolution, identifying anomalous behavior of the target computer system; and

responsive to identifying the anomalous behavior, implementing protective measures for one or more computer systems in the set to protect against malicious communication involving the target computer system.

2 . The method of claim 1 , further comprising normalizing an input characteristic of communication to determine the characteristic of communication for each respective pair of the pairs of computer systems, wherein normalizing the input characteristic of communication comprises normalizing the input characteristic of communication for each respective pair based on:

an average of the input characteristic of communication for the pairs of computer systems; and

a dispersion of the input characteristic of communication for the pairs of computer systems.

3 . The method of claim 2 , wherein the characteristic of communication is a second normalized characteristic of communication, and normalizing the input characteristic of communication comprises:

normalizing the input characteristic of communication for each respective pair based on the average and the dispersion, to obtain a first normalized characteristic; and

obtaining the second normalized characteristic based on the first normalized characteristic such that a relationship between the first normalized characteristic and the second normalized characteristic is expressable as:

C 2 =AC 1 +B

where C 1 is the first normalized characteristic, C 2 is the second normalized characteristic, A is a first constant, and B is a second constant.

4 . The method of claim 1 , wherein the characteristic of communication includes one or more of: a flow of network traffic from a source computer system to a destination computer system; or a volume of data communicated from the source computer system to the destination computer system.

5 . The method of claim 1 , wherein the first duration is shorter than the second duration and at least one of the first plurality of time periods overlaps one of the second plurality of time periods.

6 . The method of claim 1 , further comprising:

identifying commencement of communication between a particular computer system of the set and at least one further computer system of a remainder of the set within a time window comprising at least one of the first plurality of time periods or the second plurality of time periods, such that there is a first sub-window of the time window in which the particular computer system is not in communication with the remainder of the set and a second sub-window of the time window, subsequent to the first sub-window, in which the particular computer system is in communication with the at least one further computer system; and

generating a dummy communication between the particular computer system and at least one computer system of the remainder of the set for the first sub-window, based on communication between computer systems in the remainder of the set within the first sub-window and the communication between the particular computer system and the at least one further computer system within the second sub-window,

wherein at least one of at least one of the first vector representations or at least one of the second vector representations of the particular computer system is based on the dummy communication.

7 . The method of claim 6 , wherein the target computer system is the particular computer system, and comparing the first vector representations for the target computer system comprises comparing:

a first one of the first vector representations, corresponding to a first one of the first plurality of time periods within the first sub-window, the first one of the first vector representations based on the dummy communication; and

a second one of the first vector representations, corresponding to a second one of the first plurality of time periods within the second sub-window, the second one of the first vector representations based on the communication between the particular computer system and the at least one further computer system within the second sub-window.

8 . The method of claim 6 , wherein the target computer system is the particular computer system, and comparing the second vector representations for the target computer system comprises comparing:

a first one of the second vector representations, corresponding to a first one of the second plurality of time periods within the first sub-window, the first one of the second vector representations based on the dummy communication; and

a second one of the second vector representations, corresponding to a second one of the second plurality of time periods within the second sub-window, the second one of the second vector representations based on the communication between the particular computer system and the at least one further computer system within the second sub-window.

9 . The method of claim 6 , wherein generating the dummy communication comprises:

determining, based on the communication between computer systems in the remainder of the set within the first sub-window, an average characteristic of communication between pairs of computers in the remainder of the set; and

selecting, based on the average characteristic of communication, communication between the particular computer system and the at least one further computer system within the second sub-window to use as the dummy communication.

10 . The method of claim 9 , wherein:

generating the dummy communication further comprises determining, based on the communication between computer systems in the remainder of the set within the first sub-window, an average number of communication events per computer system in the remainder of the set; and

selecting the communication comprises selecting, based on the average number and the average characteristic of communication, a predetermined number of communications of the communication between the particular computer system and the at least one further computer system within the second sub-window, as the communication.

11 . The method of claim 10 , wherein selecting the communication comprises:

identifying a first subset of communications, of the communication between the particular computer system and the at least one further computer system within the second sub-window, with a respective characteristic of communication that satisfies a condition based on the average characteristic of communication;

identifying a second subset of communications, of the communication between the particular computer system and the at least one further computer system within the second sub-window, with a respective characteristic of communication that fail to satisfy the condition based on the average characteristic of communication;

modifying the respective characteristic of communication of each of the second subset of communications such that, after modification, the respective characteristic of communication of each of the second subset of communications satisfies the condition based on the average characteristic of communication; and

selecting the communication to comprise the first subset of communications and the second subset of communications, after modification.

12 . The method of claim 1 , further comprising:

comparing first vector representations corresponding to different respective ones of the first plurality of time periods for each of at least one other computer system of the set, other than the target computer system, using the vector similarity function to identify behavior of each of the at least one other computer system at the first temporal resolution; and

comparing second vector representations corresponding to different respective ones of the second plurality of time periods for each of the at least one other computer system using the vector similarity function to identify behavior of each of the at least one other computer system at the second temporal resolution,

wherein identifying the anomalous behavior of the target computer system is further based on the behavior of the at least one other computer system at at least one of the first temporal resolution or the second temporal resolution.

13 . The method of claim 12 , further comprising:

receiving, via a graphical user interface (GUI), a selection of a behavior condition to be satisfied;

identifying, based on the behavior of the target computer system and the at least one other computer system at at least one of the first temporal resolution or the second temporal resolution, a display set of computer systems that satisfy the behavior condition; and

displaying, via the GUI, a representation of the communication between pairs of computer systems in the display set.

14 . The method of claim 13 , wherein identifying the display set comprises identifying the N-most anomalous computer systems of the target computer system and the at least one other computer system at the first and/or second temporal resolutions, based on the behavior of the target computer system and the at least one other computer system at at least one of the first temporal resolution or the second temporal resolution, where N is an integer.

15 . The method of claim 13 , wherein the behavior condition further indicates a temporal resolution at which anomalous behavior is to be identified, and the identifying the display set comprises identifying the display set based further on the behavior of the target computer system and the at least one other computer system at the first temporal resolution or the second temporal resolution, based on the temporal resolution indicated by the behavior condition.

16 . The method of claim 12 , further comprising:

receiving, via the GUI, an indication of one or more computer systems in the set for which protective measures are to be implemented to protect against malicious communication involving the target computer system.

17 . The method of claim 16 , comprising receiving, via the GUI, a further indication of the protective measures that are to be implemented.

18 . The method of claim 16 , wherein the protective measures include one or more of: preventing network communication to or from a particular computer system; performing an antimalware task on one or more of the computer systems; disconnecting one or more of the computer systems; or increasing a level of monitoring of network communication with one or more of the computer systems.

19 . The method of claim 1 , wherein comparing the first vector representations comprises comparing first vector representations corresponding to two different ones of the first plurality of time periods for the target computer system using the vector similarity function, wherein the two different ones of the first plurality of time periods are separated from each other in time by at least one other one of the first plurality of time periods.

20 . The method of claim 1 , wherein comparing the second vector representations comprises comparing second vector representations corresponding to two different ones of the second plurality of time periods for the target computer system using the vector similarity function, wherein the two different ones of the second plurality of time periods are separated from each other in time by at least one other one of the second plurality of time periods.

21 . A computer system comprising a processor and memory storing computer program code for performing the method of claim 1 .

22 . A non-transitory computer-readable storage medium storing computer program code to, when loaded into a computer system and executed thereon, cause the computer system to perform the method of claim 1 .