IP Library Granted Patent US 10,915,626
Granted Patent B2
US 10,915,626 · App. 16/161,769 · Granted Feb 9, 2021

Graph model for alert interpretation in enterprise security system

Inventors: LuAn Tang (Pennington, NJ); Zhengzhang Chen (Princeton Junction, NJ); Zhichun Li (Princeton, NJ); Zhenyu Wu (Plainsboro, NJ); Jumpei Kamimura (South Brunswick, NJ); Haifeng Chen (West Windsor, NJ)
G06F21/552G06F21/57H04L41/065H04L41/0613H04L41/142H04L63/1416H04L41/22
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,915,626
App. No.
16/161,769
Granted
Feb 9, 2021
Kind
B2
Abstract

A computer-implemented method for implementing alert interpretation in enterprise security systems is presented. The computer-implemented method includes employing a plurality of sensors to monitor streaming data from a plurality of computing devices, generating alerts based on the monitored streaming data, and employing an alert interpretation module to interpret the alerts in real-time, the alert interpretation module including a process-star graph constructor for retrieving relationships from the streaming data to construct process-star graph models and an alert cause detector for analyzing the alerts based on the process-star graph models to determine an entity that causes an alert.

Claims (432)

1. A computer-implemented method executed on a processor for implementing alert interpretation in enterprise security systems, the method comprising:

employing a plurality of sensors to monitor streaming data from a plurality of computing devices;

generating alerts based on the monitored streaming data;

employing an alert interpretation module to interpret the alerts, the alert interpretation module including:

a process-star graph constructor for retrieving relationships from the streaming data to construct process-star graph models; and

an alert cause detector for analyzing the alerts based on the process-star graph models to determine an entity that causes an alert,

wherein the alert interpretation module further includes an aftermath tracer for monitoring all the following events of the entity that causes the alert, and an information integrator for integrating alert cause, aftermath, and baseline information to generate a result graph on a visualization component to allow users to interpret the alerts;

wherein the alert cause detector retrieves related entities from an entity that caused the alert and constructs a situation-aware graph based on retrieved process-star graphs;

wherein the alert cause detector further computes abnormal scores for each related entity and determines a cause for the alert;

wherein a center of the process-star graph is a process and all object entities are located on a boundary;

wherein the situation-aware graph has two entities in the center;

wherein the two entities are a subject process and an object entity;

wherein a cause of the alert can be determined based on entity seniority, entity stability, and entity similarity; and

wherein the entity seniority is computed by

ρ

(

o

)

=

{

t

-

t

0

T

if

t

-

t

0

<

T

1

if

t

-

t

0

T

,

the entity stability is computed by

σ

(

v

)

=

Count

(

T

stable

)

Count

(

T

)

,

and the entity similarity is computed by

γ

src

(

o

1

,

o

2

)

=

dst

(

o

1

)

dst

(

o

2

)

dst

(

o

1

)

dst

(

o

2

)

and

γ

dst

(

o

1

,

o

2

)

=

src

(

o

1

)

src

(

o

2

)

src

(

o

1

)

src

(

o

2

)

,

where T is a time threshold, Count(T stable ) is a count of stable windows in which no edge connects from/to o, Count(T) is a total number of windows, and dst(o) and src(o) denote destinations/sources that have edges from/to v.

2. The method of claim 1 , wherein an entity abnormal score for a process node is computed by φ(p)=(1−σ(p))*(1−ρ(p))*(1−max o i ∈dst(p) γ dst (o,o i )) and an entity abnormal score for an object node is computed by φ(o)=(1−σ(o))*(1−ρ(o))*(1−max p j ∈src(o) γ src (p,p j )), where p is entity seniority, σ is entity stability, γ is entity similarity, and p is a process.

3. A system for implementing alert interpretation in enterprise security systems, the system comprising:

a memory; and

a processor device in communication with the memory, wherein the processor device is configured to:

employ a plurality of sensors to monitor streaming data from a plurality of computing devices;

generate alerts based on the monitored streaming data;

employ an alert interpretation module to interpret the alerts, the alert interpretation module including:

a process-star graph constructor for retrieving relationships from the streaming data to construct process-star graph models; and

an alert cause detector for analyzing the alerts based on the process-star graph models to determine an entity that causes an alert,

wherein the alert interpretation module further includes an aftermath tracer for monitoring all the following events of the entity that causes the alert, and an information integrator for integrating alert cause, aftermath, and baseline information to generate a result graph on a visualization component to allow users to interpret the alerts;

wherein the alert cause detector retrieves related entities from an entity that caused the alert and constructs a situation-aware graph based on retrieved process-star graphs;

wherein the alert cause detector further computes abnormal scores for each related entity and determines a cause for the alert;

wherein a center of the process-star graph is a process and all object entities are located on a boundary;

wherein the situation-aware graph has two entities in the center;

wherein the two entities are a subject process and an object entity;

wherein a cause of the alert can be determined based on entity seniority, entity stability, and entity similarity; and

wherein the entity seniority is computed by

ρ

(

o

)

=

{

t

-

t

0

T

if

t

-

t

0

<

T

1

if

t

-

t

0

T

,

the entity stability is computed by

σ

(

v

)

=

Count

(

T

stable

)

Count

(

T

)

,

and the entity similarity is computed by

γ

src

(

o

1

,

o

2

)

=

dst

(

o

1

)

dst

(

o

2

)

dst

(

o

1

)

dst

(

o

2

)

and

γ

dst

(

o

1

,

o

2

)

=

src

(

o

1

)

src

(

o

2

)

src

(

o

1

)

src

(

o

2

)

,

where T is a time threshold, Count (T stable ) is a count of stable windows in which no edge connects from/to o, Count(T) is a total number of windows, and dst(o) and src(o) denote destinations/sources that have edges from/to v.

4. A computer-implemented method executed on a processor for implementing alert interpretation in enterprise security systems, the method comprising:

employing a plurality of sensors to monitor streaming data from a plurality of computing devices;

generating alerts based on the monitored streaming data;

automatically analyzing the alerts by using a graph-based alert interpretation engine employing process-star graph models;

retrieving a cause of the alerts, an aftermath of the alerts, and baselines for the alert interpretation, the cause of the alerts determined based on entity seniority, entity stability, and entity similarity;

computing abnormal scores from the entity seniority, the entity stability, and the entity similarity; and

integrating the cause of the alerts, the aftermath of the alerts, and the baselines into an alert interpretation graph output to a user interface of a user device,

wherein the entity seniority is computed by

ρ

(

o

)

=

{

t

-

t

0

T

if

t

-

t

0

<

T

1

if

t

-

t

0

T

,

the entity stability is computed by

σ

(

v

)

=

Count

(

T

stable

)

Count

(

T

)

,

and the entity similarity is computed by

γ

src

(

o

1

,

o

2

)

=

dst

(

o

1

)

dst

(

o

2

)

dst

(

o

1

)

dst

(

o

2

)

and

γ

dst

(

o

1

,

o

2

)

=

src

(

o

1

)

src

(

o

2

)

src

(

o

1

)

src

(

o

2

)

,

where T is a time threshold, Count(T stable ) is a count of stable windows in which no edge connects from/to o, Count(T) is a total number of windows, and dst(o) and src(o) denote destinations/sources that have edges from/to v.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2020
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 054724/0889 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2018
From: TANG, LUAN; CHEN, ZHENGZHANG; LI, ZHICHUN; WU, ZHENYU; KAMIMURA, JUMPEI; CHEN, HAIFENG
To: NEC LABORATORIES AMERICA, INC.
Reel/Frame 047183/0554 →
Cited By (32)
US 12,212,586 US 12,217,079 US 12,219,048 US 12,219,053 US 12,244,627 US 12,244,634 US 12,267,326 US 12,277,216 US 12,278,819 US 12,278,825 US 12,278,840 US 12,278,897 US 12,284,220 US 12,287,899 US 12,353,474 US 12,395,488 US 12,406,071 US 12,411,937 US 12,411,957 US 12,438,766 US 12,443,720 US 12,443,722 US 12,489,781 US 12,495,049 US 12,505,200 US 12,506,755 US 12,524,550 US 12,531,881 US 12,547,765 US 12,579,251 US 12,645,785 US 12,688,277