IP Library Granted Patent US 12689634
Granted Patent B2
US 12689634 · App. 18/882,987 · Granted Jul 21, 2026

Threat detection with event stream correlation using join keys

Inventors: Christopher A. Kulakowski (Austin, TX); Joshua J. Powers (Round Hill, VA); Mauro Marzorati (Lutz, FL); John A. Adams (Pleasant Hill, MO)
Assignee: International Business Machines Corporation
H04L63/1416
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 12689634
App. No.
18/882,987
Granted
Jul 21, 2026
Kind
B2
Abstract

Automatically identifying join keys to correlate events is provided. A group of fields of a plurality of fields corresponding to a plurality of events having a percentage of cardinality and entropy of values greater than a defined threshold percentage level for the cardinality and the entropy is identified as a group of join keys corresponding to the plurality of events that occurred within a defined timeframe. It is determined which particular join keys of the group of join keys corresponding to the plurality of events that occurred within the defined timeframe are common join keys among the plurality of events. Pairs of events in the plurality of events that occurred within the defined timeframe are correlated based on the common join keys between each pair of events to form a set of correlated event pairs for detecting threats.

Claims (69)

1 . A method comprising:

identifying a group of fields of a plurality of fields corresponding to a plurality of events having a percentage of cardinality and entropy of values greater than a defined threshold percentage level for the cardinality and the entropy as a group of join keys corresponding to the plurality of events that occurred within a defined timeframe;

determining which particular join keys of the group of join keys corresponding to the plurality of events that occurred within the defined timeframe are common join keys among the plurality of events;

applying a weight boosting function to at least one event of the plurality of events based on values in at least one field of the at least one event matching a predefined regular expression pattern stored in a database of regular expression patterns, wherein the weight boosting function applies a weight boosting value to the at least one event to increase influence of the at least one event on an event correlation confidence score;

correlating pairs of events in the plurality of events that occurred within the defined timeframe based on the common join keys between each pair of events to form a set of correlated event pairs for detecting threats;

generating the event correlation confidence score for each correlated event pair of the set of correlated event pairs based on the cardinality and the entropy of the values corresponding to each correlated event pair, number of common join keys used to correlate each correlated event pair, and the weight boosting value applied to any event in each correlated event pair

selecting those correlated event pairs of the set of correlated event pairs having the event correlation confidence score greater than an event correlation confidence score threshold level;

performing a threat detection analysis of the plurality of events that occurred within the defined timeframe utilizing only those correlated event pairs of the set of correlated event pairs having the event correlation confidence score greater than the event correlation confidence score threshold level to decrease threat detection and response time; and

determining whether a cybersecurity threat was detected based on the threat detection analysis of the plurality of events that occurred within the defined timeframe.

2 . The method of claim 1 , further comprising:

responsive to determining that the threat was detected based on the threat detection analysis of the plurality of events that occurred within the defined timeframe, performing a set of action steps to mitigate the threat.

3 . The method of claim 2 , wherein the set of action steps to mitigate the threat include at least one of sending a notification to a security analyst regarding the threat, isolating any affected devices, applying security patches to the affected devices, and reporting the threat to other threat detection systems.

4 . The method of claim 1 , further comprising:

receiving event logs from a plurality of different event log sources in real time;

performing an analysis of the event logs received from the plurality of different event log sources within the defined timeframe; and

identifying the plurality of events that occurred within the defined timeframe based on the analysis of the event logs received from the plurality of different event log sources.

5 . The method of claim 1 , further comprising:

identifying the plurality of fields corresponding to each of the plurality of events that occurred within the defined timeframe; and

performing an analysis of the values contained in each of the plurality of fields corresponding to each of the plurality of events that occurred within the defined timeframe.

6 . The method of claim 5 , further comprising:

determining the percentage of the cardinality and the entropy of the values based on the analysis of the values contained in each of the plurality of fields corresponding to each of the plurality of events that occurred within the defined timeframe; and

selecting the group of fields of the plurality of fields having the percentage of the cardinality and the entropy of the values greater than the defined threshold percentage level for the cardinality and the entropy.

7 . The method of claim 1 , wherein applying the weight boosting function comprises:

applying the weight boosting value to the at least one event at an event level to amplify a signal strength corresponding to the at least one event, wherein the database of regular expression patterns comprises a plurality of regular expression patterns organized for a specific type of values contained in the at least one field, and wherein the weight boosting value applied to the at least one event is determined based on a most specific regular expression pattern, of the plurality of regular expression patterns, that is matched by the values in the at least one field.

8 . The method of claim 1 , wherein the defined timeframe is dynamically defined such that a number of events of the plurality of events evaluated for correlation shifts depending on a predefined condition or rule corresponding to a threat detection use case, thereby enabling correlation of events occurring over an extended period of time.

9 . A computer system comprising:

a processor set;

one or more computer-readable storage media; and

program instructions stored on the one or more computer-readable storage media to cause the processor set to perform operations comprising:

identifying a group of fields of a plurality of fields corresponding to a plurality of events having a percentage of cardinality and entropy of values greater than a defined threshold percentage level for the cardinality and the entropy as a group of join keys corresponding to the plurality of events that occurred within a defined timeframe;

determining which particular join keys of the group of join keys corresponding to the plurality of events that occurred within the defined timeframe are common join keys among the plurality of events;

applying a weight boosting function to at least one event of the plurality of events based on values in at least one field of the at least one event matching a predefined regular expression pattern stored in a database of regular expression patterns, wherein the weight boosting function applies a weight boosting value to the at least one event to increase influence of the at least one event on an event correlation confidence score;

correlating pairs of events in the plurality of events that occurred within the defined timeframe based on the common join keys between each pair of events to form a set of correlated event pairs for detecting threats;

generating the event correlation confidence score for each correlated event pair of the set of correlated event pairs based on the cardinality and the entropy of the values corresponding to each correlated event pair, number of common join keys used to correlate each correlated event pair, and the weight boosting value applied to any event in each correlated event pair;

selecting those correlated event pairs of the set of correlated event pairs having the event correlation confidence score greater than an event correlation confidence score threshold level;

performing a threat detection analysis of the plurality of events that occurred within the defined timeframe utilizing only those correlated event pairs of the set of correlated event pairs having the event correlation confidence score greater than the event correlation confidence score threshold level to decrease threat detection and response time; and

determining whether a cybersecurity threat was detected based on the threat detection analysis of the plurality of events that occurred within the defined timeframe.

10 . The computer system of claim 9 , wherein the operations further comprise:

responsive to determining that the threat was detected based on the threat detection analysis of the plurality of events that occurred within the defined timeframe, performing a set of action steps to mitigate the threat.

11 . The computer system of claim 9 , wherein applying the weight boosting function comprises:

applying the weight boosting value to the at least one event at an event level to amplify a signal strength corresponding to the at least one event, wherein the database of regular expression patterns comprises a plurality of regular expression patterns organized for a specific type of values contained in the at least one field, and wherein the weight boosting value applied to the at least one event is determined based on a most specific regular expression pattern, of the plurality of regular expression patterns, that is matched by the values in the at least one field.

12 . The computer system of claim 9 , wherein the defined timeframe is dynamically defined such that a number of events of the plurality of events evaluated for correlation shifts depending on a predefined condition or rule corresponding to a threat detection use case, thereby enabling correlation of events occurring over an extended period of time.

13 . A computer program product comprising:

one or more computer-readable storage media; and

program instructions stored on the one or more computer-readable storage media to perform operations comprising:

identifying a group of fields of a plurality of fields corresponding to a plurality of events having a percentage of cardinality and entropy of values greater than a defined threshold percentage level for the cardinality and the entropy as a group of join keys corresponding to the plurality of events that occurred within a defined timeframe;

determining which particular join keys of the group of join keys corresponding to the plurality of events that occurred within the defined timeframe are common join keys among the plurality of events;

applying a weight boosting function to at least one event of the plurality of events based on values in at least one field of the at least one event matching a predefined regular expression pattern stored in a database of regular expression patterns, wherein the weight boosting function applies a weight boosting value to the at least one event to increase influence of the at least one event on an event correlation confidence score;

correlating pairs of events in the plurality of events that occurred within the defined timeframe based on the common join keys between each pair of events to form a set of correlated event pairs for detecting threats;

generating the event correlation confidence score for each correlated event pair of the set of correlated event pairs based on the cardinality and the entropy of the values corresponding to each correlated event pair, number of common join keys used to correlate each correlated event pair, and the weight boosting value applied to any event in each correlated event pair;

selecting those correlated event pairs of the set of correlated event pairs having the event correlation confidence score greater than an event correlation confidence score threshold level;

performing a threat detection analysis of the plurality of events that occurred within the defined timeframe utilizing only those correlated event pairs of the set of correlated event pairs having the event correlation confidence score greater than the event correlation confidence score threshold level to decrease threat detection and response time; and

determining whether a cybersecurity threat was detected based on the threat detection analysis of the plurality of events that occurred within the defined timeframe.

14 . The computer program product of claim 13 , wherein the operations further comprise:

responsive to determining that the threat was detected based on the threat detection analysis of the plurality of events that occurred within the defined timeframe, performing a set of action steps to mitigate the threat.

15 . The computer program product of claim 14 , wherein the set of action steps to mitigate the threat include at least one of sending a notification to a security analyst regarding the threat, isolating any affected devices, applying security patches to the affected devices, and reporting the threat to other threat detection systems.

16 . The computer program product of claim 13 , wherein the operations further comprise:

receiving event logs from a plurality of different event log sources in real time;

performing an analysis of the event logs received from the plurality of different event log sources within the defined timeframe; and

identifying the plurality of events that occurred within the defined timeframe based on the analysis of the event logs received from the plurality of different event log sources.

17 . The computer program product of claim 13 , wherein the operations further comprise:

identifying the plurality of fields corresponding to each of the plurality of events that occurred within the defined timeframe; and

performing an analysis of the values contained in each of the plurality of fields corresponding to each of the plurality of events that occurred within the defined timeframe.

18 . The computer program product of claim 17 , wherein the operations further comprise:

determining the percentage of the cardinality and the entropy of the values based on the analysis of the values contained in each of the plurality of fields corresponding to each of the plurality of events that occurred within the defined timeframe; and

selecting the group of fields of the plurality of fields having the percentage of the cardinality and the entropy of the values greater than the defined threshold percentage level for the cardinality and the entropy.

19 . The computer program product of claim 13 , wherein applying the weight boosting function comprises:

applying the weight boosting value to the at least one event at an event level to amplify a signal strength corresponding to the at least one event, wherein the database of regular expression patterns comprises a plurality of regular expression patterns organized for a specific type of values contained in the at least one field, and wherein the weight boosting value applied to the at least one event is determined based on a most specific regular expression pattern, of the plurality of regular expression patterns, that is matched by the values in the at least one field.

20 . The computer program product of claim 13 , wherein the defined timeframe is dynamically defined such that a number of events of the plurality of events evaluated for correlation shifts depending on a predefined condition or rule corresponding to a threat detection use case, thereby enabling correlation of events occurring over an extended period of time.