IP Library Granted Patent US 11,663,340
Granted Patent B2
US 11,663,340 · App. 16/668,849 · Granted May 30, 2023

Managing software vulnerabilities

Inventors: Di Wu (Newark, CA); Timothy Hsin-Kang Chou (Chico, CA); Boyu Charlie Tong (San Jose, CA)
Assignee: Rubrik, Inc.
G06F21/577G06F8/65G06F9/45558G06F11/1471G06F21/572G06F2009/45587G06F2201/815G06F2201/84G06F2221/033
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,663,340
App. No.
16/668,849
Granted
May 30, 2023
Kind
B2
Abstract

Systems and methods to manage software vulnerabilities are described. The system retrieves a snapshot image of a production machine from a database. The snapshot image is associated with a recovery point identifier. The recovery point identifier identifies a first recovery point from multiple recovery points respectively corresponding to a plurality of snapshot images of the production machine. The snapshot image includes a first virtual machine that includes software information. The system processes the software information to identify first patch information associated with a first software module. Finally, the system pushes patch information to the production machine based on the processing of the software information.

Claims (47)

1. A system comprising:

at least one processor and memory having instructions that, when executed, cause the at least one processor to perform operations comprising:

selecting a snapshot image of a production machine for software vulnerability identification based at least in part on a first timestamp associated with the snapshot image being after a second timestamp associated with a software vulnerability;

retrieving the snapshot image from a database that is separate from the production machine, the snapshot image corresponding to a first virtual machine of the production machine and including first software information for the first virtual machine;

processing the snapshot image to determine that the first software information includes the software vulnerability based at least in part on a comparison of the first software information to a set of software vulnerabilities that includes the software vulnerability;

identifying whether first patch information associated with a first software module and corresponding to the software vulnerability is available based at least in part on the determination, the first patch information for remediating the software vulnerability that corresponds to the first software information; and

pushing the first patch information to the production machine based on identifying that the first patch information for remediating the software vulnerability is available.

2. The system of claim 1 , wherein the first patch information causes an installation of a second software module on the first virtual machine in the production machine, wherein the first software module is being replaced by the second software module on the production machine.

3. The system of claim 1 , wherein the snapshot image includes first hypervisor information including a first hypervisor executing on the production machine, wherein the first hypervisor information further includes a first plurality of virtual machines executing on the production machine and being supervised by the first hypervisor, and wherein the first plurality of virtual machines includes the first virtual machine.

4. The system of claim 1 , wherein the first software information includes a first software registry and wherein the processing the first software information includes:

inspecting the first software registry to generate list information, the list information describing at least a plurality of software modules installed on the first virtual machine, the plurality of software modules including the first software module; and

comparing the list information with criterion information to identify the first patch information in association with a vulnerability identifier,

wherein the pushing the first patch information to the production machine is responsive to the comparing.

5. The system of claim 4 , wherein the comparing includes identifying a version of a software module in the list information that matches the criterion information.

6. The system of claim 1 , wherein the snapshot image includes second hypervisor information including a second hypervisor executing on the production machine, wherein the second hypervisor information further includes a second plurality of virtual machines executing on the production machine and being supervised by the second hypervisor, the second plurality of virtual machines including a second virtual machine, the second virtual machine including second software information including security information.

7. The system of claim 6 , wherein the second software information includes a second software registry, and wherein the second software registry includes security information including at least one of firewall information, file share information, and network configuration information.

8. The system of claim 7 , wherein the instructions, when executed, cause the at least one processor to perform one or more further operations comprising:

processing the second software information associated with the second virtual machine to identify second patch information associated with the security information; and

pushing the second patch information to the production machine based on the processing the second software information, wherein the second patch information causes a patch of the security information.

9. The system of claim 1 , wherein the instructions, when executed, cause the at least one processor to perform one or more further operations comprising:

presenting an electronic user interface describing an historical vulnerability timeline, wherein the historical vulnerability timeline includes a set of user interface elements signifying a start date and an end date associated with a vulnerability identifier.

10. A method comprising:

selecting a snapshot image of a production machine for software vulnerability identification based at least in part on a first timestamp associated with the snapshot image being after a second timestamp associated with a software vulnerability;

retrieving the snapshot image from a database that is separate from the production machine, the snapshot image corresponding to a first virtual machine of the production machine and including first software information for the first virtual machine;

processing the snapshot image to determine that the first software information includes the software vulnerability based at least in part on a comparison of the first software information to a set of software vulnerabilities that includes the software vulnerability;

identifying whether first patch information associated with a first software module and corresponding to the software vulnerability is available based at least in part on the determination, the first patch information for remediating the software vulnerability that corresponds to the first software information; and

pushing the first patch information to the production machine based on identifying that the first patch information for remediating the software vulnerability is available.

11. The method of claim 10 , wherein the first patch information causes an installation of a second software module on the first virtual machine in the production machine, wherein the first software module is being replaced by the second software module on the production machine.

12. The method of claim 10 , wherein the snapshot image includes first hypervisor information including a first hypervisor executing on the production machine, wherein the first hypervisor information further includes a first plurality of virtual machines executing on the production machine and being supervised by the first hypervisor, and wherein the first plurality of virtual machines includes the first virtual machine.

13. The method of claim 10 , wherein the first software information includes a first software registry and wherein the processing the first software information includes:

inspecting the first software registry to generate list information, the list information describing at least a plurality of software modules installed on the first virtual machine, the plurality of software modules including the first software module; and

comparing the list information with criterion information to identify the first patch information in association with a vulnerability identifier,

wherein the pushing the first patch information to the production machine is responsive to the comparing.

14. The method of claim 13 , wherein the comparing includes identifying a version of a software module in the list information that matches the criterion information.

15. The method of claim 10 , wherein the snapshot image includes second hypervisor information including a second hypervisor executing on the production machine, wherein the second hypervisor information further includes a second plurality of virtual machines executing on the production machine and being supervised by the second hypervisor, the second plurality of virtual machines including a second virtual machine, the second virtual machine including second software information including security information.

16. The method of claim 15 , wherein the second software information includes a second software registry, and wherein the second software registry includes security information including at least one of firewall information, file share information, and network configuration information.

17. The method of claim 16 , further comprising:

processing the second software information associated with the second virtual machine to identify second patch information associated with the security information; and

pushing the second patch information to the production machine based on the processing the second software information, wherein the second patch information causes a patch of the security information.

18. The method of claim 10 , further comprising:

presenting an electronic user interface describing an historical vulnerability timeline, wherein the historical vulnerability timeline includes a set of user interface elements signifying a start date and an end date associated with a vulnerability identifier.

19. A machine-storage medium and storing a set of instructions that, when executed by a processor, causes a machine to perform operations comprising:

selecting a snapshot image of a production machine for software vulnerability identification based at least in part on a first timestamp associated with the snapshot image being after a second timestamp associated with a software vulnerability;

retrieving the snapshot image from a database that is separate from the production machine, the snapshot image corresponding to a first virtual machine of the production machine and including first software information for the first virtual machine;

processing the snapshot image to determine that the first software information includes the software vulnerability based at least in part on a comparison of the first software information to a set of software vulnerabilities that includes the software vulnerability;

identifying whether first patch information associated with a first software module and corresponding to the software vulnerability is available based at least in part on the determination, the first patch information for remediating the software vulnerability that corresponds to the first software information; and

pushing the first patch information to the production machine based on identifying that the first patch information for remediating the software vulnerability is available.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 60333/0323 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071565/0602 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 10, 2022
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 060333/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2021
From: WU, DI; CHOU, TIMOTHY HSIN-KANG; TONG, BOYU CHARLIE
To: RUBRIK, INC.
Reel/Frame 054843/0920 →
Cited By (28)
US 12,244,627 US 12,244,634 US 12,267,326 US 12,277,216 US 12,278,819 US 12,278,825 US 12,278,840 US 12,284,220 US 12,287,899 US 12,353,474 US 12,395,488 US 12,406,071 US 12,411,937 US 12,411,957 US 12,411,962 US 12,443,720 US 12,443,722 US 12,488,100 US 12,489,781 US 12,495,049 US 12,505,200 US 12,506,755 US 12,524,550 US 12,531,881 US 12,547,765 US 12,579,251 US 12,645,785 US 12,688,277