# US 10,747,876 B2 · Systems and methods for assisted model generation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,747,876 B2
- Document ID: US10747876B2
- Status: Granted
- Kind: B2
- Application number: 16/664,679
- Filed: 2019-10-25
- Published: 2020-02-20
- Granted: 2020-08-18
- Earliest claimed: 2017-05-17
- Assignees: ThreatModeler Software Inc.
- Applicants: ThreatModeler Software Inc.
- Inventors: Anurag Agarwal
- Web page: https://patentgrep.com/patent/US10747876B2

## CPC

- G06F 21/552: {involving long-term monitoring or reporting}
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06Q 20/308: {using the Internet of Things}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 2221/034: Test or assess a computer or a system
- G06Q 20/409: {Device specific authentication in transaction processing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Modeling methods include providing one or more data stores storing model components and in some cases threats, each threat associated with at least one model components. A relational diagram of a system, application or process is displayed on one or more user interfaces. The diagram includes visual representations of the model components and defines a model. In response to adding a model component to the model, a list of one or more model components associated with the added model component is displayed, along with an indication of whether the model components are required to be added to the model. In some implementations a threat report is displayed on a threat report interface and includes each threat that is associated through the data store(s) with one of the model components in the model. Modeling systems and threat modeling systems include systems configured to carry out the modeling and threat modeling methods.

## Claims

### Claim 1

A modeling method, comprising:
providing one or more data stores, the one or more data stores comprising:
a plurality of threat model components stored therein; and
a plurality of threats stored therein, wherein each of the threats is associated with at least one of the threat model components through the one or more data stores;
displaying, on one or more user interfaces displayed on one or more computing devices communicatively coupled with the one or more data stores, a relational diagram of one of a system, an application, and a process, using visual representations of the threat model components, the relational diagram defining a threat model;
in response to receiving user input using the one or more user interfaces, adding one of the threat model components to the threat model;
in response to the added threat model component being added to the threat model, displaying on the one or more user interfaces a list of one or more threat model components associated through the one or more data stores with the added threat model component; and
generating, using the one or more computing devices, and displaying, on the one or more user interfaces, a threat report displaying each threat that is associated through the one or more data stores with one of the threat model components included in the threat model.

### Claim 2 (depends on 1)

The method of claim 1, wherein displaying the list comprises displaying an indication of whether each threat model component in the list is required to be added to the threat model.

### Claim 3 (depends on 1)

The method of claim 1, further comprising displaying a relationships interface, on the one or more user interfaces, wherein the relationships interface displays relationship details for all threat model components associated with one another, through the one or more data stores, using one or more defined relationships.

### Claim 4 (depends on 3)

The method of claim 3, further comprising, in response to receiving user input using the relationships interface, defining a relationship between two threat model components, wherein the defined relationship includes an indication of whether one of the two threat model components is required to be added to the threat model if the other of the two threat model components is added to the threat model.

### Claim 5 (depends on 3)

The method of claim 3, wherein the relationship details include an indication of whether one of the threat model components is one of attached to, associated with, contained in, or contains, another threat model component.

### Claim 6 (depends on 3)

The method of claim 3, further comprising, in response to receiving user input using the relationships interface, editing the defined relationship for two threat model components from one of attached to, associated with, contained in, and contains, to another of attached to, associated with, contained in, and contains.

### Claim 7 (depends on 3)

The method off claim 3, wherein the relationships interface includes one or more selectors configured to, in response to receiving user input, delete the defined relationship between two threat model components.

### Claim 8 (depends on 3)

The method of claim 3, wherein the relationships interface includes one or more selectors configured to, in response to receiving user input, toggle whether the defined relationship between two threat model components is required.

### Claim 9 (depends on 1)

The method of claim 1, further comprising displaying a resource interface, on the one or more user interfaces, wherein the resource interface displays, for a plurality of the threat model components, correlated third-party components of a computing network.

### Claim 10 (depends on 1)

The method of claim 1, wherein the user input adding the added threat model component to the relational diagram comprises a drag-and-drop user input.

### Claim 11 (depends on 1)

The method of claim 1, further comprising, in response to receiving user selection of an execute selector, automatically diagramming on the diagram interface one of the threat model components in the list and an illustration representing a defined relationship between the added threat model component and the automatically diagrammed threat model component.

### Claim 12

A modeling system, comprising:
one or more computing devices communicatively coupled with one or more data stores, the one or more data stores comprising:
a plurality of threat model components stored therein; and
a plurality of threats stored therein, wherein each of the threats is associated with at least one of the threat model components through the one or more data stores;
a diagram interface, displayed on the one or more computing devices, displaying a relational diagram of one of a system, an application, and a process, using visual representations of the threat model components, the relational diagram defining a threat model;
a tasks interface displaying, in response to one of the threat model components being added to the relational diagram, a list of one or more of the threat model components related to the added threat model component through defined relationships in the one or more data stores; and
a threat report interface, displayed on the one or more computing devices, including a threat report displaying each threat that is associated through the one or more data stores with one of the threat model components included in the threat model.

### Claim 13 (depends on 12)

The system of claim 12, wherein the list includes an indication of whether each threat model component in the list is required to be added to the threat model.

### Claim 14 (depends on 12)

The system of claim 12, further comprising a relationships interface, displayed on the one or more computing devices, displaying, for all defined relationships between threat model components, relationship details, the relationship details including an indication of whether one of the threat model components is one of attached to, associated with, contained in, or contains, another threat model component.

### Claim 15 (depends on 14)

The system of claim 14, further comprising an add selector displayed on the relationships interface configured to initiate storing, in the one or more data stores, a new defined relationship between two threat model components.

### Claim 16 (depends on 14)

The system of claim 14, further comprising a delete selector displayed on the relationships interface configured to initiate deleting, from the one or more data stores, the defined relationship between two threat model components.

### Claim 17 (depends on 14)

The system of claim 14, further comprising a required selector, displayed on the relationships interface, configured to toggle the defined relationship between two threat model components between a required state and a not-required state.

### Claim 18 (depends on 12)

The system of claim 12, further comprising an execute selector, displayed on the diagram interface, configured to initiate automatic diagramming on the diagram interface of one of the threat model components in the list and an illustration representing the defined relationship between the added threat model component and the automatically diagrammed threat model component.

### Claim 19 (depends on 14)

The system of claim 14, further comprising an edit selector, displayed on the relationships interface, configured to edit the defined relationship between two threat model components from one of attached to, associated with, contained in, and contains, to another of attached to, associated with, contained in, and contains.

### Claim 20

A modeling method, comprising:
providing one or more data stores, the one or more data stores comprising:
a plurality of model components stored therein, the plurality of model components including a first model component and a second model component; and
a stored defined relationship indicating that the second model component is required to be added to any model that includes the first model component;
displaying, on a diagram interface displayed on one or more computing devices communicatively coupled with the one or more data stores, a relational diagram of one of a system, an application, and a process, using visual representations of the model components, the relational diagram defining a model;
in response to receiving user input using the diagram interface, adding the first model component to the model; and
in response to the first model component being added to the model, displaying on the diagram interface an indication that the second model component is required to be added to the model.
