IP Library Granted Patent US 11,755,584
Granted Patent B2
US 11,755,584 · App. 16/033,814 · Granted Sep 12, 2023

Constructing distributions of interrelated event features

Inventors: Christopher Poirel (Baltimore, MD); William Renner (Baltimore, MD); Eduardo Luiggi (Ellicott City, MD); Phillip Bracikowski (Indianapolis, IN)
Assignee: Forcepoint LLC
G06F16/24568G06F16/215G06F16/2365
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 11,755,584
App. No.
16/033,814
Granted
Sep 12, 2023
Kind
B2
Abstract

A method, system and computer-usable medium for constructing a distribution of interrelated event features. The constructing a distribution of interrelated event features includes receiving a stream of events, the stream of events comprising a plurality of events; extracting features from the plurality of events; constructing a distribution of the features from the plurality of events; and, analyzing the distribution of the features from the plurality of events.

Claims (179)

1. A computer-implementable method for constructing a distribution of interrelated event features, comprising:

receiving a stream of data via a protected endpoint, the stream of data representing electronically-observable interactions by a user, the electronically-observable interactions being observed through at least one of an electronic device, a computer system and a software application executing on the computing system, the protected endpoint identifying a plurality of events from the interactions by the user, at least some of the plurality of events corresponding to user actions, the protected endpoint comprising an endpoint device and an endpoint agent, the endpoint agent executing on a hardware processor of the endpoint device, the protected endpoint providing a policy-based approach to network security;

extracting features from the plurality of events;

constructing a distribution of the features from the plurality of events, the distribution of the features being constructed via a scoring container update operation, the scoring container update operation using a scoring container to provide an approximation of a probability distribution of the features from the plurality of events for a particular time window across a sequence of time windows, the scoring container being implemented as a percentile container and a delta container, the percentile container collecting probability distribution of features extracted from certain interrelated events of a particular period of time which are then used to perform scoring operations, the delta container collecting probability distribution of features extracted from certain interrelated events of a particular period of time which are then used to update a persistent datastore;

performing a scoring operation using contents of the percentile container, the scoring operation being performed as:

P

ˆ

2

=

P

ˆ

1

+

n

i

=

1

VAL

i

where P 1 corresponds to a first point in time;

P 2 corresponds to a second point in time; and,

VAL i corresponds to a score value of an associated feature;

analyzing the distribution of the features from the plurality of events;

generating a risk score for the user based upon the analyzing; and,

performing a risk assessment operation via a security analytics system based upon the distribution of features from the plurality of events, the security analytics system executing on a hardware processor, the security analytics system communicating with the endpoint via a network, the risk assessment operation taking into account the risk score, the protected endpoint communicating with the security analytics system via a network, the security analytics system being implemented in combination with the endpoint to perform operations associated with construction the distribution of interrelated event features.

2. The method of claim 1 , further comprising:

enriching data associated with each of the plurality of events prior to extracting features from the plurality of events.

3. The method of claim 2 , wherein:

the enriching data comprises

validating event data associated with at least some of the plurality of events,

disclaiming certain event data associated with at least some of the plurality of events;

deduplicating at least some of the plurality of events;

performing an entity resolution operation on at least some of the plurality of events;

performing an attachment enrichment operation on data associated with at least some of the plurality of events; and,

performing a domain enrichment on at least some of the plurality of events.

4. The method of claim 1 , further comprising:

labeling at least some of the plurality of events prior to extracting features from the plurality of events.

5. The method of claim 1 , wherein:

the extracting features comprises performing transformation operations on certain features associated with an event to generate a smaller set of derived features.

6. The method of claim 1 , further comprising:

processing a query relating to the plurality of events, the processing the query being performed via a streaming query framework.

7. The method of claim 1 , further comprising:

performing a container summation operation using contents of the delta container, the container summation operation being performed as:

Δ

=

i

=

1

n

VAL

i

where VAL i corresponds to a score value of an associated feature.

8. The method of claim 7 , further comprising:

performing a scoring data update operation using the results of the scoring operation and the container summation operation, the scoring data update operation being performed as:

P 3 ={circumflex over (P)} 2 +Δ

where P 3 corresponds to a third point in time.

9. A system comprising:

a hardware processor;

a data bus coupled to the processor; and

a non-transitory, computer-readable storage medium embodying computer program code, the non-transitory, computer-readable storage medium being coupled to the data bus, the computer program code interacting with a plurality of computer operations and comprising instructions executable by the processor and configured for:

receiving a stream of data via a protected endpoint, the stream of data representing electronically-observable interactions by a user, the electronically-observable interactions being observed through at least one of an electronic device, a computer system and a software application executing on the computing system, the protected endpoint identifying a plurality of events from the interactions by the user, at least some of the plurality of events corresponding to user actions, the protected endpoint comprising an endpoint device and an endpoint agent, the endpoint agent executing on a hardware processor of the endpoint device, the protected endpoint providing a policy-based approach to network security;

extracting features from the plurality of events;

constructing a distribution of the features from the plurality of events, the distribution of the features being constructed via a scoring container update operation, the scoring container update operation using a scoring container to provide an approximation of a probability distribution of the features from the plurality of events for a particular time window across a sequence of time windows, the scoring container being implemented as a percentile container and a delta container, the percentile container collecting probability distribution of features extracted from certain interrelated events of a particular period of time which are then used to perform scoring operations, the delta container collecting probability distribution of features extracted from certain interrelated events of a particular period of time which are then used to update a persistent datastore;

performing a scoring operation using contents of the percentile container, the scoring operation being performed as:

P

ˆ

2

=

P

ˆ

1

+

n

i

=

1

VAL

i

where P 1 corresponds to a first point in time;

P 2 corresponds to a second point in time; and,

VAL i corresponds to a score value of an associated feature;

analyzing the distribution of the features from the plurality of events;

generating a risk score for the user based upon the analyzing; and,

performing a risk assessment operation via a security analytics system based upon the distribution of features from the plurality of events, the security analytics system executing on the hardware processor, the security analytics system communicating with the endpoint via a network, the risk assessment operation taking into account the risk score, the protected endpoint communicating with the security analytics system via a network, the security analytics system being implemented in combination with the endpoint to perform operations associated with construction the distribution of interrelated event features.

10. The system of claim 9 , wherein the instructions are further configured for:

enriching data associated with each of the plurality of events prior to extracting features from the plurality of events.

11. The system of claim 10 , wherein:

the enriching data comprises

validating event data associated with at least some of the plurality of events,

disclaiming certain event data associated with at least some of the plurality of events;

deduplicating at least some of the plurality of events;

performing an entity resolution operation on at least some of the plurality of events;

performing an attachment enrichment operation on data associated with at least some of the plurality of events; and,

performing a domain enrichment on at least some of the plurality of events.

12. The system of claim 9 , wherein the instructions are further configured for:

labeling at least some of the plurality of events prior to extracting features from the plurality of events.

13. The system of claim 9 , wherein:

the extracting features comprises performing transformation operations on certain features associated with an event to generate a smaller set of derived features.

14. The system of claim 9 , wherein:

processing a query relating to the plurality of events, the processing the query being performed via a streaming query framework.

15. The system of claim 9 , wherein the instructions are further configured for:

performing a container summation operation using contents of the delta container, the container summation operation being performed as:

Δ

=

i

=

1

n

VAL

i

where VAL i corresponds to a score value of an associated feature.

16. The system of claim 15 , wherein the instructions are further configured for:

performing a scoring data update operation using the results of the scoring operation and the container summation operation, the scoring data update operation being performed as:

P 3 ={circumflex over (P)} 2 +Δ

where P 3 corresponds to a third point in time.

17. A non-transitory, computer-readable storage medium embodying computer program code, the computer program code comprising computer executable instructions configured for:

receiving a stream of data via a protected endpoint, the stream of data representing electronically-observable interactions by a user, the electronically-observable interactions being observed through at least one of an electronic device, a computer system and a software application executing on the computing system, the protected endpoint identifying a plurality of events from the interactions by the user, at least some of the plurality of events corresponding to user actions, the protected endpoint comprising an endpoint device and an endpoint agent, the endpoint agent executing on a hardware processor of the endpoint device, the protected endpoint providing a policy-based approach to network security;

extracting features from the plurality of events;

constructing a distribution of the features from the plurality of events, the distribution of the features being constructed via a scoring container update operation, the scoring container update operation using a scoring container to provide an approximation of a probability distribution of the features from the plurality of events for a particular time window across a sequence of time windows, the scoring container being implemented as a percentile container and a delta container, the percentile container collecting probability distribution of features extracted from certain interrelated events of a particular period of time which are then used to perform scoring operations, the delta container collecting the probability distribution of features extracted from the certain interrelated events of the particular period of time which are then used to update a persistent datastore;

performing a scoring operation using contents of the percentile container, the scoring operation being performed as:

P

ˆ

2

=

P

ˆ

1

+

n

i

=

1

VAL

i

where P 1 corresponds to a first point in time;

P 2 corresponds to a second point in time; and,

VAL i corresponds to a score value of an associated feature;

analyzing the distribution of the features from the plurality of events;

generating a risk score for the user based upon the analyzing; and,

performing a risk assessment operation via a security analytics system based upon the distribution of features from the plurality of events, the security analytics system executing on a hardware processor, the security analytics system communicating with the endpoint via a network, the risk assessment operation taking into account the risk score, the protected endpoint communicating with the security analytics system via a network, the security analytics system being implemented in combination with the endpoint to perform operations associated with construction the distribution of interrelated event features.

18. The non-transitory, computer-readable storage medium of claim 13 , wherein the computer executable instructions are further configured for:

enriching data associated with each of the plurality of events prior to extracting features from the plurality of events.

19. The non-transitory, computer-readable storage medium of claim 14 , wherein:

the enriching data comprises

validating event data associated with at least some of the plurality of events,

disclaiming certain event data associated with at least some of the plurality of events;

deduplicating at least some of the plurality of events;

performing an entity resolution operation on at least some of the plurality of events;

performing an attachment enrichment operation on data associated with at least some of the plurality of events; and,

performing a domain enrichment on at least some of the plurality of events.

20. The non-transitory, computer-readable storage medium of claim 13 , wherein the computer executable instructions are further configured for:

labeling at least some of the plurality of events prior to extracting features from the plurality of events.

21. The non-transitory, computer-readable storage medium of claim 13 , wherein:

the extracting features comprises performing transformation operations on certain features associated with an event to generate a smaller set of derived features.

22. The non-transitory, computer-readable storage medium of claim 13 , wherein the computer executable instructions are further configured for:

processing a query relating to the plurality of events, the processing the query being performed via a streaming query framework.

23. The non-transitory, computer-readable storage medium of claim 13 , wherein the computer executable instructions are deployable to a client system from a server system at a remote location.

24. The non-transitory, computer-readable storage medium of claim 13 , wherein the computer executable instructions are provided by a service provider to a user on an on-demand basis.

25. The non-transitory, computer-readable storage medium of claim 13 , wherein the computer executable instructions are further configured for:

performing a container summation operation using contents of the delta container, the container summation operation being performed as:

Δ

=

i

=

1

n

VAL

i

where VAL i corresponds to a score value of an associated feature.

26. The non-transitory, computer-readable storage medium of claim 25 , wherein the computer executable instructions are further configured for:

performing a scoring data update operation using the results of the scoring operation and the container summation operation, the scoring data update operation being performed as:

P 3 ={circumflex over (P)} 2 +Δ

where P 3 corresponds to a third point in time.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2025
From: UBS AG, STAMFORD BRANCH
To: FORCEPOINT, LLC; BITGLASS, LLC
Reel/Frame 070706/0263 →
CHANGE OF NAME Recorded Mar 21, 2025
From: FORCEPOINT FEDERAL HOLDINGS LLC
To: EVERFOX HOLDINGS LLC
Reel/Frame 070588/0074 →
PARTIAL PATENT RELEASE AND REASSIGNMENT AT REEL/FRAME 055052/0302 Recorded Oct 3, 2023
From: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: FORCEPOINT FEDERAL HOLDINGS LLC (F/K/A FORCEPOINT LLC)
Reel/Frame 065103/0147 →
SECURITY INTEREST Recorded Sep 29, 2023
From: FORCEPOINT FEDERAL HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC, AS COLLATERAL AGENT
Reel/Frame 065086/0822 →
CHANGE OF NAME Recorded May 12, 2021
From: FORCEPOINT LLC
To: FORCEPOINT FEDERAL HOLDINGS LLC
Reel/Frame 056216/0309 →
PATENT SECURITY AGREEMENT Recorded Jan 20, 2021
From: REDOWL ANALYTICS, INC.; FORCEPOINT LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 055052/0302 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jan 8, 2021
From: RAYTHEON COMPANY
To: FORCEPOINT LLC
Reel/Frame 055479/0676 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 15, 2019
From: FORCEPOINT LLC
To: RAYTHEON COMPANY
Reel/Frame 048613/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2018
From: POIREL, CHRISTOPHER; RENNER, WILLIAM; LUIGGI, EDUARDO; BRACIKOWSKI, PHILLIP
To: FORCEPOINT, LLC
Reel/Frame 046334/0883 →