IP Library Granted Patent US 11,841,954
Granted Patent B2
US 11,841,954 · App. 17/709,670 · Granted Dec 12, 2023

Systems and methods for automated threat modeling when deploying infrastructure as a code

Inventor: Anuraag Agarwwal (Jersey City, NJ)
Assignee: THREATMODELER SOFTWARE INC.
G06F21/577G06F21/563G06F30/20G06F2221/034
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,841,954
App. No.
17/709,670
Granted
Dec 12, 2023
Kind
B2
Abstract

Systems and methods of generating a threat model from a code file are defined. The system includes one or more data stores communicatively coupled with a processor, and storing information on a plurality of properties to be configured for one or more resources included in the code file and a plurality of security threats associated with one or more values of the plurality of properties. The system analyzes the code file to identify one or more properties associated with the one or more resources included in the code file. For each property, a value for the property defined in the code file is identified, one or more security threats are determined based on the identified value for the property, using the information stored in the data stores. The system generates a threat model for the one or more resources based on the determined one or more security threats.

Claims (65)

1. A processor-executed method comprising:

providing one or more first data stores communicatively coupled with the processor, the one or more first data stores storing information on:

a plurality of properties to be configured for one or more resources included in a code file; and

a plurality of security threats associated with one or more values of the plurality of properties;

analyzing the code file to identify one or more properties, of the plurality of properties, associated with the one or more resources included in the code file; and

for each property of the identified one or more properties:

identifying a value for the property defined in the code file; and

determining one or more security threats based on the identified value for the property, using the information stored in the one or more first data stores.

2. The method according to claim 1 , further comprising:

identifying one or more dubious properties that generated each security threat of the one or more security threats; and

identifying, using the information stored in the one or more first data stores, a modified value for each of the identified one or more dubious properties that generated each security threat to mitigate the one or more security threats.

3. The method according to claim 2 , further comprising:

changing the value of the identified one or more dubious properties that generated each security threat to the modified value to generate a modified code file having mitigated security threats.

4. The method according to claim 3 , further comprising:

displaying, on the user interface, an indication of the modified value of the one or more dubious properties that generated each security threat of the one or more security threats.

5. The method according to claim 1 , further comprising identifying, based on the determined one or more security threats, one or more security properties or one or more compensating controls that mitigate the determined one or more security threats.

6. The method according to claim 5 , further comprising adding the determined one or more security properties or one or more compensating controls that mitigate the determined one or more security threats to the code file.

7. The method according to claim 6 , further comprising displaying, on a user interface, an indication of the added one or more security properties or one or more compensating controls that mitigate the determined one or more security threats.

8. The method according to claim 5 ,

wherein the one or more compensating controls include a property to be defined for another resource referenced in the one or more properties associated with the one or more resources included in the code file.

9. The method according to claim 1 , further comprising:

generating a threat model for the code file;

for each security threat of the determined one or more security threats:

identifying whether the security threat is mitigated based on the threat model; and

in a case whether the security threat is mitigated, removing the security threat from the determined one or more security threats.

10. A system comprising:

one or more first data stores configured to store information on:

a plurality of properties to be configured for one or more resources included in a code file; and

a plurality of security threats associated with one or more values of the plurality of properties;

one or more memories configured to store instructions; and

one or more computing devices communicatively connected to the one or more first data stores and the one or more memories and configured to execute the stored instructions to:

analyze the code file to identify one or more properties, of the plurality of properties, associated with the one or more resources included in the code file; and

for each property of the identified one or more properties:

identify a value for the property defined in the code file; and

determine one or more security threats based on the identified value for the property, using the information stored in the one or more first data stores.

11. The system according to claim 10 , wherein the one or more computing devices further execute the stored instructions to:

identify one or more dubious properties that generated each security threat of the one or more security threats; and

identify, using the information stored in the one or more data stores, a modified value for each of the identified one or more dubious properties that generated each security threat to mitigate the one or more security threats.

12. The system according to claim 11 , wherein the one or more computing devices further execute the stored instructions to:

change the value of the identified one or more dubious properties that generated each security threat to the modified value to generate a modified code file having mitigated security threats.

13. The system according to claim 12 , wherein the one or more computing devices further execute the stored instructions to:

display, on the user interface, an indication of the modified value of the one or more dubious properties that generated each security threat of the one or more security threats.

14. The system according to claim 10 wherein the one or more computing devices further execute the stored instructions to identify, based on the determined one or more security threats, one or more security properties or one or more compensating controls that mitigate the determined one or more security threats.

15. The system according to claim 14 , wherein the one or more computing devices further execute the stored instructions to add the determined one or more security properties or one or more compensating controls that mitigate the determined one or more security threats to the code file.

16. The system according to claim 15 , wherein the one or more computing devices further execute the stored instructions to display, on a user interface, an indication of the added one or more security properties or one or more compensating controls that mitigate the determined one or more security threats.

17. The system according to claim 14 ,

wherein the one or more compensating controls include a property to be defined for another resource referenced in the one or more properties associated with the one or more resources included in the code file.

18. The system according to claim 10 , wherein the one or more computing devices further execute the stored instructions to:

generate a threat model for the code file;

for each security threat of the determined one or more security threats:

identify whether the security threat is mitigated based on the threat model; and

in a case whether the security threat is mitigated, remove the security threat from the determined one or more security threats.

19. A non-transitory computer readable storage medium configured to store a program that, when executed by a processor, performs a method comprising:

providing one or more first data stores communicatively coupled with the processor, the one or more first data stores storing information on:

a plurality of properties to be configured for one or more resources included in a code file; and

a plurality of security threats associated with one or more values of the plurality of properties;

analyzing the code file to identify one or more properties, of the plurality of properties, associated with the one or more resources included in the code file; and

for each property of the identified one or more properties:

identifying a value for the property defined in the code file; and

determining one or more security threats based on the identified value for the property, using the information stored in the one or more first data stores.

20. The non-transitory computer readable storage medium according to claim 19 , wherein the method further comprises:

generating a threat model for the code file;

for each security threat of the determined one or more security threats:

identifying whether the security threat is mitigated based on the threat model; and

in a case whether the security threat is mitigated, removing the security threat from the determined one or more security threats.

Assignments (2)
SECURITY INTEREST Recorded Dec 30, 2025
From: THREATMODELER SOFTWARE, INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 073340/0598 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2022
From: AGARWWAL, ANURAAG
To: THREATMODELER SOFTWARE INC.
Reel/Frame 059456/0814 →
Continuity (12)
Continuation 17479815 · Sep 20, 2021
Continuation In Part 16950509 · Nov 17, 2020
Continuation In Part 16947798 · Aug 17, 2020
Continuation In Part 16664679 · Oct 25, 2019
Continuation In Part 16228738 · Dec 20, 2018
Continuation In Part 15922856 · Mar 15, 2018
Continuation In Part 15888021 · Feb 3, 2018
Provisional Application 62507691 · May 17, 2017
Provisional Application 62520954 · Jun 16, 2017
Provisional Application 62527671 · Jun 30, 2017
Provisional Application 62530295 · Jul 10, 2017
Related Publication 20220222354A1 · Jul 14, 2022
Cited By (1)
US 12,306,959