IP Library Granted Patent US 12,395,517
Granted Patent B2
US 12,395,517 · App. 18/648,912 · Granted Aug 19, 2025

Infrastructure as code predeployment compliance testing

Inventors: James Witschey (Falls Church, VA); John Jason Senich (Silver Springs, MD); Jun Park (Arlington, VA); Val Komarov (Fairfax, VA); Miguel Ledezma (Alexandria, VA); Chris DeRamus (Ashburn, VA)
Assignee: Rapid7, Inc.
H04L63/1433G06F9/44505G06F9/5072
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,395,517
App. No.
18/648,912
Granted
Aug 19, 2025
Kind
B2
Abstract

A unified cloud configuration evaluation (UCCE) system is described capable of evaluating both asset configurations in a live cloud environment and proposed configuration changes produced by a cloud configuration development (CCD) system. In embodiments, the UCCE system may be implemented as a Cloud Security Posture Management (CPSM) system that monitors assets in the cloud environment and check the assets' configurations for compliance with a set of compliance rules. In embodiments, the UCCE system ingests a cloud configuration definition generated by the CCD system. In embodiments, the CCD system is implemented as an Infrastructure as Code (IaC) system that allows a user to create a cloud configuration definition that describes proposed configuration changes to the cloud environment. The UCCE system is configured to interpret the cloud configuration definition and analyze the proposed configuration changes for compliance using the same set of compliance rules used for the live cloud environment.

Claims (68)

1. A system, comprising:

at least one computer device configured to implement a unified cloud configuration evaluation (UCCE) system; and

at least one non-transitory computer-readable storage medium storing executable instructions that, when executed, cause the at least one computer device to perform:

obtaining, in a first format, live asset configuration data about assets in a cloud environment;

converting the live asset configuration data from the first format to a second format associated with the UCCE system;

obtaining, in a third format, a cloud configuration definition specifying proposed configuration changes to the cloud environment;

converting the cloud configuration definition from the third format to the second format associated with the UCCE system; and

evaluating compliance of the live asset configuration data and the proposed configuration changes using a set of compliance rules by:

evaluating compliance of the live asset configuration data by applying the set of compliance rules to a first model of the cloud environment generated using the live asset configuration data in the second format associated with the UCCE system, and

evaluating compliance of the proposed configuration changes by applying the set of compliance rules to a second model of the cloud environment generated using the cloud configuration definition in the second format associated with the UCCE system.

2. The system of claim 1 , wherein the executable instructions, when executed, further cause the at least one computer device to perform:

generating the first model of the cloud environment using the live asset configuration data in the second format associated with the UCCE system.

3. The system of claim 1 , wherein the executable instructions, when executed, further cause the at least one computer device to perform:

generating the second model reflecting the proposed configuration changes using the cloud configuration definition in the second format associated with the UCCE system.

4. The system of claim 1 , wherein obtaining the live asset configuration data about assets in the cloud environment comprises obtaining the live asset configuration data from a cloud computing infrastructure provider service.

5. The system of claim 1 , wherein obtaining the cloud configuration definition comprises obtaining the cloud configuration definition from a cloud configuration development (CCD) system.

6. The system of claim 1 , wherein the executable instructions, when executed, further cause the at least one computer device to perform:

determining that the proposed configuration changes comply with the set of compliance rules, and in response to the determining, initiating deployment of the proposed configuration changes to the cloud environment.

7. The system of claim 1 ,

wherein the cloud environment is hosted by a cloud computing infrastructure provider service,

wherein the cloud configuration definition is obtained from a cloud configuration development (CCD) system,

wherein the first format is a provider-specific format specific to the cloud computing infrastructure provider service, and

wherein the third format is a definition language specific to the CCD system.

8. The system of claim 1 , wherein the executable instructions, when executed, further cause the at least one computer device to perform:

checking for security vulnerabilities in the cloud environment using the first model.

9. A method, comprising:

using at least one computer device to perform:

obtaining, in a first format, live asset configuration data about assets in a cloud environment;

converting the live asset configuration data from the first format to a second format associated with a unified cloud configuration evaluation (UCCE) system;

obtaining, in a third format, a cloud configuration definition specifying proposed configuration changes to the cloud environment;

converting the cloud configuration definition from the third format to the second format associated with the UCCE system; and

evaluating compliance of the live asset configuration data and the proposed configuration changes using a set of compliance rules by:

evaluating compliance of the live asset configuration data by applying the set of compliance rules to a first model of the cloud environment generated using the live asset configuration data in the second format associated with the UCCE system, and

evaluating compliance of the proposed configuration changes by applying the set of compliance rules to a second model of the cloud environment generated using the cloud configuration definition in the second format associated with the UCCE system.

10. The method of claim 9 , further comprising:

generating the first model of the cloud environment using the live asset configuration data in the second format associated with the UCCE system.

11. The method of claim 9 , further comprising:

generating the second model reflecting the proposed configuration changes using the cloud configuration definition in the second format associated with the UCCE system.

12. The method of claim 9 ,

wherein obtaining the live asset configuration data about assets in the cloud environment comprises obtaining the live asset configuration data from a cloud computing infrastructure provider service, and

wherein obtaining the cloud configuration definition comprises obtaining the cloud configuration definition from a cloud configuration development (CCD) system.

13. The method of claim 9 , further comprising:

determining that the proposed configuration changes comply with the set of compliance rules, and in response to the determining, initiating deployment of the proposed configuration changes to the cloud environment.

14. The method of claim 9 ,

wherein the cloud environment is hosted by a cloud computing infrastructure provider service,

wherein the cloud configuration definition is obtained from a cloud configuration development (CCD) system,

wherein the first format is a provider-specific format specific to the cloud computing infrastructure provider service, and

wherein the third format is a definition language specific to the CCD system.

15. The method of claim 9 , further comprising:

checking for security vulnerabilities in the cloud environment using the first model.

16. At least one non-transitory computer-readable storage medium storing executable instructions that, when executed, cause at least one computer device to perform a method comprising:

obtaining, in a first format, live asset configuration data about assets in a cloud environment;

converting the live asset configuration data from the first format to a second format associated with a unified cloud configuration evaluation (UCCE) system;

obtaining, in a third format, a cloud configuration definition specifying proposed configuration changes to the cloud environment;

converting the cloud configuration definition from the third format to the second format associated with the UCCE system; and

evaluating compliance of the live asset configuration data and the proposed configuration changes using a set of compliance rules by:

evaluating compliance of the live asset configuration data by applying the set of compliance rules to a first model of the cloud environment generated using the live asset configuration data in the second format associated with the UCCE system, and

evaluating compliance of the proposed configuration changes by applying the set of compliance rules to a second model of the cloud environment generated using the cloud configuration definition in the second format associated with the UCCE system.

17. The at least one non-transitory computer-readable storage medium of claim 16 , wherein the method further comprises:

generating the first model of the cloud environment using the live asset configuration data in the second format associated with the UCCE system, and

generating the second model reflecting the proposed configuration changes using the cloud configuration definition in the second format associated with the UCCE system.

18. The at least one non-transitory computer-readable storage medium of claim 16 ,

wherein obtaining the live asset configuration data about assets in the cloud environment comprises obtaining the live asset configuration data from a cloud computing infrastructure provider service, and

wherein obtaining the cloud configuration definition comprises obtaining the cloud configuration definition from a cloud configuration development (CCD) system.

19. The at least one non-transitory computer-readable storage medium of claim 16 , wherein the method further comprises:

determining that the proposed configuration changes comply with the set of compliance rules, and in response to the determining, initiating deployment of the proposed configuration changes to the cloud environment.

20. The at least one non-transitory computer-readable storage medium of claim 16 , wherein the method further comprises:

checking for security vulnerabilities in the cloud environment using the first model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2024
From: WITSCHEY, JAMES; PARK, JUN; KOMAROV, VAL; LEDEZMA, MIGUEL; DERAMUS, CHRIS; SENICH, JOHN
To: RAPID7, INC.
Reel/Frame 067299/0555 →
Continuity (3)
Continuation 17668005 · Feb 9, 2022
Provisional Application 63181269 · Apr 29, 2021
Related Publication 20240283812A1 · Aug 22, 2024
References Cited (31)
US 6202066B1 · Barkley et al. · 2001 [cited by applicant]
US 9218502B1 · Doermann et al. · 2015 [cited by applicant]
US 9516028B1 · Andruschuk et al. · 2016 [cited by applicant]
US 10129344B2 · Pogrebinsky et al. · 2018 [cited by applicant]
US 10880189B2 · Martinez et al. · 2020 [cited by applicant]
US 12015635B2 · Witschey · 2024 [cited by examiner]
US 20050262132A1 · Morita et al. · 2005 [cited by applicant]
US 20080104393A1 · Glasser et al. · 2008 [cited by applicant]
US 20110131275A1 · Maida-Smith et al. · 2011 [cited by applicant]
US 20130219156A1 · Sears · 2013 [cited by examiner]
US 20130290500A1 · Narendra · 2013 [cited by examiner]
US 20140280961A1 · Martinez et al. · 2014 [cited by applicant]
US 20170054757A1 · Siswick et al. · 2017 [cited by applicant]
US 20170141961A1 · Cao · 2017 [cited by examiner]
US 20180091583A1 · Collins et al. · 2018 [cited by applicant]
US 20180268347A1 · Benedetti · 2018 [cited by examiner]
US 20190121989A1 · Mousseau et al. · 2019 [cited by applicant]
US 20190327271A1 · Saxena et al. · 2019 [cited by applicant]
US 20200225655A1 · Cella · 2020 [cited by examiner]
US 20220156631A1 · Kanso · 2022 [cited by examiner]
US 20220210201A1 · Kastroulis · 2022 [cited by applicant]
US 20220263835A1 · Pieczul et al. · 2022 [cited by applicant]
US 20220353289A1 · Witschey et al. · 2022 [cited by applicant]
US 20230019705A1 · Zettel, II et al. · 2023 [cited by applicant]
US 20230090828A1 · Patro et al. · 2023 [cited by applicant]
US 20230148158A1 · Bandarupalli et al. · 2023 [cited by applicant]
CN 102307185A · 2012 [cited by applicant]
KR 20030057263A · 2003 [cited by applicant]
Montanari et al., “Evidence of log integrity in policy-based security monitoring”, IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN 2012), Date of Conference: Jun. 25-28, 2012. [cited by examiner]
Bhattacharjee et al., “A Model-Driven Approach to Automate the Deployment and Management of Cloud Services”, 2018 IEEE/ACM International Conference on Utility and Cloud Computing Companion (UCC Companion), Date of Confe… [cited by examiner]
Majumdar et al., Security compliance auditing of identity and access management in the cloud: Application to OpenStack. 2015 IEEE 7th International Conference on Cloud Computing Technology and Science (CloudCom). Nov. 3… [cited by applicant]