IP Library Granted Patent US 12,355,797
Granted Patent B2
US 12,355,797 · App. 17/724,968 · Granted Jul 8, 2025

System for collecting computer network entity information employing abstract models

Inventors: Allen D. Hadden (Stow, MA); Hugh Pyle (Salem, MA); Kenneth Allen Rogers (Stow, MA)
Assignee: RAPID7, INC.
H04L63/1433H04L41/22H04L63/1416H04L63/1425H04L63/20
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 12,355,797
App. No.
17/724,968
Granted
Jul 8, 2025
Kind
B2
Abstract

An entity tracking system and method for a computer network employs proactive data collection and enrichment driven by configurable rules and workflows responsive to the discovery of new entities, changes to existing entities, and specifics about the entities' attributes. The data collection is used in conjunction with graph technologies to map interactions and relationships between various entities interacting in the computer environment and deduce interactions and relationships between the entities. The method and system provides for abstract entity types and collation nodes.

Claims (89)

1. A method for identifying and remediating cybersecurity policy violations in a computer environment, the method comprising:

using at least one computer processor to perform:

detecting entities in the computer environment from information obtained from multiple data sources and determining relationships between the detected entities based on the information;

for a first detected entity of the detected entities:

determining, based on information associated with the first detected entity, whether the first detected entity corresponds to a source-specific entity type definition or a generic entity type definition;

when it is determined the first entity corresponds to the source-specific entity type definition:

instantiating, in memory, a first data structure associated with the source-specific entity type definition, the first data structure storing information associated with the first entity; and

when it is determined the first entity does not correspond to the source-specific entity type definition:

instantiating, in the memory, a second data structure associated with a generic entity type definition, the second data structure storing information associated with the first entity;

generating an entity relationship graph by representing data structures storing information associated with the detected entities as nodes and representing relationships between the detected entities as edges between the nodes;

executing a query against the entity relationship graph to identify a set of entities that are out of compliance with a cybersecurity policy; and

executing one or more automated actions, via one or more application programming interface (API) calls to one or more software programs within the computer environment or related to the computer environment, to remediate violations of the cybersecurity policy by the set of entities identified using the entity relationship graph.

2. The method of claim 1 , wherein generic entity type definitions are included when an instance of a cybersecurity system is initially installed to the computer environment.

3. The method of claim 1 , wherein generic type entity definitions are customized to an organization deploying a cybersecurity system to the computer environment.

4. The method of claim 1 , further comprising enabling users to interact with the detected entities via generic entity type definitions.

5. The method of claim 1 , wherein property definitions for the source-specific entity type definitions are annotated to indicate generic entity type definitions and properties being fulfilled.

6. The method of claim 1 , wherein source-specific entity type definitions contain fields that are used to fulfill properties of a corresponding parent entity types.

7. The method of claim 1 , wherein source-specific entity type definitions include derived properties.

8. The method of claim 7 , wherein the derived properties are used when there is not a direct mapping between an information element obtained from the multiple data sources to a property of the generic entity type definitions.

9. The method of claim 7 , wherein the source-specific entity type definitions include a transformation from one or more properties of the information obtained from the multiple data sources.

10. A cybersecurity system for identifying and remediating cybersecurity policy violations in a computer environment, the system comprising:

at least one computer processor; and

a tracking and remediation subsystem, comprising:

an ingestion subsystem configured to perform:

detecting entities in the computer environment from information obtained from multiple data sources;

determining relationships between the detected entities based on the information;

for a first detected entity of the detected entities:

determining, based on information associated with the first detected entity, whether the first detected entity corresponds to a source-specific entity type definition or a generic entity type definition;

when it is determined the first entity corresponds to the source-specific entity type definition:

 instantiating, in memory, a first data structure associated with the source-specific entity type definition, the first data structure storing information associated with the first entity; and

when it is determined the first entity does not correspond to the source-specific entity type definition:

instantiating, in the memory, a second data structure associated with a generic entity type definition, the second data structure storing information associated with the first entity;

a graph server generating an entity relationship graph by representing data structures storing information associated with the detected entities as nodes and representing relationships between the detected entities as edges between the nodes; and

a rules engine for responding to changes in the entity relationship graph based on a cybersecurity policy that triggers an action on an identified set of entities that are out of compliance with the cybersecurity policy;

wherein the tracking and remediation subsystem is configured to:

execute a query against the entity relationship graph to identify a set of entities that are out of compliance with a cybersecurity policy; and

execute one or more automated actions, via one or more application programming interface (API) calls to one or more software programs within the computer environment or related to the computer environment, to remediate violations of the cybersecurity policy by the set of entities identified using the entity relationship graph.

11. A method for identifying and remediating cybersecurity policy violations in a computer environment, the method comprising:

using at least one computer processor to perform:

detecting entities in the computer environment from information obtained from multiple data sources and determining relationships between the detected entities based on the information;

for a first detected entity of the detected entities:

determining, based on information associated with the first detected entity, whether the first detected entity corresponds to a source-specific entity type definition or a generic entity type definition;

when it is determined the first entity corresponds to the source-specific entity type definition:

instantiating, in memory, a first data structure associated with the source-specific entity type definition, the first data structure storing information associated with the first entity; and

when it is determined the first entity does not correspond to the source-specific entity type definition:

instantiating, in the memory, a second data structure associated with a generic entity type definition, the second data structure storing information associated with the first entity;

generating an entity relationship graph by representing data structures storing information associated with the detected entities as nodes and representing relationships between the detected entities as edges between the nodes;

using virtual edges between nodes to indicate vulnerability findings related to compliance with a cybersecurity policy;

executing a query against the entity relationship graph to identify a set of entities that are out of compliance with the cybersecurity policy; and

executing one or more automated actions, via one or more application programming interface (API) calls to one or more software programs within the computer environment or related to the computer environment, to remediate violations of the cybersecurity policy by the set of entities identified using the entity relationship graph.

12. The method of claim 11 , wherein the virtual edges are indicated using a graph traversal query language.

13. A method for identifying and remediating cybersecurity policy violations in a computer environment, the method comprising:

using at least one computer processor to perform:

detecting entities in the computer environment from information obtained from multiple data sources and determining relationships between the detected entities based on the information;

for a first detected entity of the detected entities:

determining, based on information associated with the first detected entity. whether the first detected entity corresponds to a source-specific entity type definition or a generic entity type definition;

when it is determined the first entity corresponds to the source-specific entity type definition:

instantiating, in memory, a first data structure associated with the source-specific entity type definition, the first data structure storing information associated with the first entity: and

when it is determined the first entity does not correspond to the source-specific entity type definition:

instantiating, in the memory, a second data structure associated with a generic entity type definition, the second data structure storing information associated with the first entity;

generating an entity relationship graph by representing data structures storing information associated with the detected entities as nodes and representing relationships between the detected entities as edges between the nodes;

identifying a correlation property for nodes used to assess correlation between a set of detected entities;

adding correlation nodes to the entity relationship graph having edges extending to corresponding correlated nodes representing the set of detected entities matching the correlation property;

executing a query against the entity relationship graph to identify a set of entities that are out of compliance with a cybersecurity policy; and

executing one or more automated actions, via one or more application programming interface (API) calls to one or more software programs within the computer environment or related to the computer environment, to remediate violations of the cybersecurity policy by the set of entities identified using the entity relationship graph.

14. The method of claim 13 , wherein schema definitions include reference properties that represent relationships between nodes of a source-specific entity type.

15. The method of claim 13 , wherein the correlation property includes a value that is a same value among the corresponding correlated entities.

16. The method of claim 13 , wherein correlation triplet nodes represent the correlation nodes and include a correlation type, a correlation key, and a correlation value.

17. The method of claim 13 , further comprising enabling exclusion rules to create the correlation nodes.

18. The method of claim 13 , further comprising enabling inclusion rules to create the correlation nodes.

19. The method of claim 13 , further comprising enabling the query that references generic entity types even though there are no nodes of that generic entity type stored in the graph.

20. The method of claim 19 , further comprising changing the query so that it is expanded to include all source-specific entity types which extend the generic entity type definitions before executing the query.

21. A cybersecurity system for identifying and remediating cybersecurity policy violations in a computer environment, the system comprising:

at least one computer processor; and

a tracking and remediation subsystem, comprising:

an ingestion subsystem configured to perform:

detecting entities in the computer environment from information obtained from multiple data sources;

determining relationships between the detected entities based on the information;

for a first detected entity of the detected entities:

determining, based on information associated with the first detected entity, whether the first detected entity corresponds to a source-specific entity type definition or a generic entity type definition;

when it is determined the first entity corresponds to the source-specific entity type definition:

 instantiating, in memory, a first data structure associated with the source-specific entity type definition, the first data structure storing information associated with the first entity; and

when it is determined the first entity does not correspond to the source-specific entity type definition:

 instantiating, in the memory, a second data structure associated with a generic entity type definition, the second data structure storing information associated with the first entity:

a graph server generating an entity relationship graph by representing data structures storing information associated with the detected entities as nodes and representing relationships between the detected entities as edges between the nodes and providing correlation nodes having edges extending to corresponding correlated nodes representing the detected entities matching a correlation property; and

a rules engine for responding to changes in the entity relationship graph based on a cybersecurity policy that triggers an action on an identified set of entities that are out of compliance with the cybersecurity policy;

wherein the tracking and remediation subsystem is configured to:

execute a query against the entity relationship graph to identify a set of entities that are out of compliance with a cybersecurity policy; and

execute one or more automated actions, via one or more application programming interface (API) calls to one or more software programs within the computer environment or related to the computer environment, to remediates violation of the cybersecurity policy by the set of entities identified using the entity relationship graph.

Assignments (4)
SECURITY INTEREST Recorded Jun 26, 2025
From: RAPID7, INC.; RAPID7 LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 071743/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2024
From: NOETIC CYBER INC.
To: RAPID7, INC.
Reel/Frame 068676/0604 →
CHANGE OF NAME Recorded Jun 28, 2024
From: SAMOS CYBER INC.
To: NOETIC CYBER INC.
Reel/Frame 067966/0077 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2022
From: HADDEN, ALLEN D.; PYLE, HUGH; ROGERS, KENNETH ALLEN
To: SAMOS CYBER INC.
Reel/Frame 062151/0238 →
Continuity (2)
Provisional Application 63177158 · Apr 20, 2021
Related Publication 20220337620A1 · Oct 20, 2022
References Cited (24)
US 10069849B2 · Muddu et al. · 2018 [cited by applicant]
US 10958674B2 · Tsironis · 2021 [cited by applicant]
US 11503054B2 · Furtak · 2022 [cited by applicant]
US 11729204B1 · Coull · 2023 [cited by examiner]
US 12120134B2 · Rogers et al. · 2024 [cited by applicant]
US 20140372956A1 · Bisca et al. · 2014 [cited by applicant]
US 20150026158A1 · Jin · 2015 [cited by applicant]
US 20150237062A1 · Roytman et al. · 2015 [cited by applicant]
US 20150249669A1 · Gamage · 2015 [cited by examiner]
US 20160224911A1 · Rush et al. · 2016 [cited by applicant]
US 20170017708A1 · Fuchs et al. · 2017 [cited by applicant]
US 20170063894A1 · Muddu et al. · 2017 [cited by applicant]
US 20170236079A1 · Venna et al. · 2017 [cited by applicant]
US 20180027004A1 · Huang · 2018 [cited by examiner]
US 20190158309A1 · Park et al. · 2019 [cited by applicant]
US 20190158524A1 · Zadeh et al. · 2019 [cited by applicant]
US 20190278777A1 · Malik et al. · 2019 [cited by applicant]
US 20200226156A1 · Borra et al. · 2020 [cited by applicant]
US 20200272972A1 · Harry et al. · 2020 [cited by applicant]
US 20210234889A1 · Burle et al. · 2021 [cited by applicant]
US 20210352098A1 · Rogers et al. · 2021 [cited by applicant]
US 20210352099A1 · Rogers · 2021 [cited by applicant]
US 20220004546A1 · Rogers et al. · 2022 [cited by applicant]
US 20230275912A1 · Shahul Hameed · 2023 [cited by examiner]
Cited By (1)
US 12,689,637