IP Library › Granted Patent US 12,265,454
Granted Patent B2
US 12,265,454 · App. 18/226,567 · Granted Apr 1, 2025

Application dependency based malware recovery

Inventors: Erin M Farr (Fishkill, NY); Yu-Cheng Hsu (Tucson, AZ); Pratik Gupta (Wake, NC)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/1469G06F11/3664G06F16/122G06F16/128G06F2201/84
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,265,454
App. No.
18/226,567
Filed
Jul 26, 2023
Granted
Apr 1, 2025
Kind
B2
Art Unit
2167
USPC
707/649
Abstract

An embodiment identifies a fileset used by an executing application. An embodiment generates, at a first time, a first snapshot of the fileset, the first snapshot comprising a first state of the fileset at the first time and a first indicator corresponding to the first state of the fileset. An embodiment selects, at a recovery time later than the first time, from a sequence of snapshots of the fileset including the first snapshot, a recovery snapshot, the recovery snapshot comprising a recovery indicator, wherein the recovery indicator has a difference from the first indicator that is higher than a threshold value. An embodiment restores, using the recovery snapshot, the fileset to a state other than the first state, the restoring resulting in a restored application.

Claims (46)

1. A computer-implemented method comprising:

identifying a fileset used by an executing application;

generating, at a first time, a first snapshot of the fileset, the first snapshot comprising a first state of the fileset at the first time and a first indicator corresponding to the first state of the fileset;

selecting, at a recovery time later than the first time, from a sequence of snapshots of the fileset including the first snapshot, a recovery snapshot, the recovery snapshot comprising a recovery indicator, wherein the recovery indicator has a difference from the first indicator that is higher than a threshold value;

restoring, using the recovery snapshot, the fileset to a state other than the first state, the restoring resulting in a restored application;

testing the restored application, the testing comprising executing the restored application in a test environment;

determining that the restored application does not meet a test success criterion;

selecting, from the sequence of snapshots of the fileset including the first snapshot, a second recovery snapshot, wherein the recovery snapshot was generated at a second time, wherein the second recovery snapshot was generated at a third time earlier than the second time; restoring, using the second recovery snapshot, the fileset to a state other than the first state, the restoring using the second recovery snapshot resulting in a second restored application; and

retesting the second restored application, the retesting comprising executing the second restored application in the test environment.

2. The computer-implemented method of claim 1 , wherein the first indicator comprises an encryption state of the fileset.

3. The computer-implemented method of claim 1 , wherein the first indicator comprises a bulk action state of the fileset.

4. The computer-implemented method of claim 1 , further comprising:

determining that the restored application meets a test success criterion; and

executing, in a production environment, the restored application.

5. A computer program product comprising one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions executable by a processor to cause the processor to perform operations comprising:

identifying a fileset used by an executing application;

generating, at a first time, a first snapshot of the fileset, the first snapshot comprising a first state of the fileset at the first time and a first indicator corresponding to the first state of the fileset;

selecting, at a recovery time later than the first time, from a sequence of snapshots of the fileset including the first snapshot, a recovery snapshot, the recovery snapshot comprising a recovery indicator, wherein the recovery indicator has a difference from the first indicator that is higher than a threshold value;

restoring, using the recovery snapshot, the fileset to a state other than the first state, the restoring resulting in a restored application;

testing the restored application, the testing comprising executing the restored application in a test environment;

determining that the restored application does not meet a test success criterion;

selecting, from the sequence of snapshots of the fileset including the first snapshot, a second recovery snapshot, wherein the recovery snapshot was generated at a second time, wherein the second recovery snapshot was generated at a third time earlier than the second time; restoring, using the second recovery snapshot, the fileset to a state other than the first state, the restoring using the second recovery snapshot resulting in a second restored application; and

retesting the second restored application, the retesting comprising executing the second restored application in the test environment.

6. The computer program product of claim 5 , wherein the stored program instructions are stored in a computer readable storage device in a data processing system, and wherein the stored program instructions are transferred over a network from a remote data processing system.

7. The computer program product of claim 5 , wherein the stored program instructions are stored in a computer readable storage device in a server data processing system, and wherein the stored program instructions are downloaded in response to a request over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system, further comprising:

program instructions to meter use of the program instructions associated with the request; and

program instructions to generate an invoice based on the metered use.

8. The computer program product of claim 5 , wherein the first indicator comprises an encryption state of the fileset.

9. The computer program product of claim 5 , wherein the first indicator comprises a bulk action state of the fileset.

10. The computer program product of claim 5 , further comprising:

determining that the restored application meets a test success criterion; and

executing, in a production environment, the restored application.

11. A computer system comprising a processor and one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions executable by the processor to cause the processor to perform operations comprising:

identifying a fileset used by an executing application;

generating, at a first time, a first snapshot of the fileset, the first snapshot comprising a first state of the fileset at the first time and a first indicator corresponding to the first state of the fileset;

selecting, at a recovery time later than the first time, from a sequence of snapshots of the fileset including the first snapshot, a recovery snapshot, the recovery snapshot comprising a recovery indicator, wherein the recovery indicator has a difference from the first indicator that is higher than a threshold value;

restoring, using the recovery snapshot, the fileset to a state other than the first state, the restoring resulting in a restored application;

testing the restored application, the testing comprising executing the restored application in a test environment;

determining that the restored application does not meet a test success criterion;

selecting, from the sequence of snapshots of the fileset including the first snapshot, a second recovery snapshot, wherein the recovery snapshot was generated at a second time, wherein the second recovery snapshot was generated at a third time earlier than the second time; restoring, using the second recovery snapshot, the fileset to a state other than the first state, the restoring using the second recovery snapshot resulting in a second restored application; and

retesting the second restored application, the retesting comprising executing the second restored application in the test environment.

12. The computer system of claim 11 , wherein the first indicator comprises an encryption state of the fileset.

13. The computer system of claim 11 , wherein the first indicator comprises a bulk action state of the fileset.

14. The computer system of claim 11 , further comprising:

determining that the restored application meets a test success criterion; and

executing, in a production environment, the restored application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2023
From: FARR, ERIN M; HSU, YU-CHENG; GUPTA, PRATIK
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 064391/0982 →
Continuity (1)
Related Publication 20250036532A1 · Jan 30, 2025
References Cited (31)
US 9043651B2 · Bala et al. · 2015 [cited by applicant]
US 9626252B1 · Chopra · 2017 [cited by examiner]
US 10178119B1 · Brandwine et al. · 2019 [cited by applicant]
US 10769278B2 · Chelarescu et al. · 2020 [cited by applicant]
US 10789361B2 · Breiman et al. · 2020 [cited by applicant]
US 11030314B2 · Kucherov et al. · 2021 [cited by applicant]
US 11151000B2 · Meadowcroft et al. · 2021 [cited by applicant]
US 11249879B2 · Burgos · 2022 [cited by examiner]
US 20120130956A1 · Caputo · 2012 [cited by examiner]
US 20160164918A1 · Satish et al. · 2016 [cited by applicant]
US 20200342106A1 · Chelarescu et al. · 2020 [cited by applicant]
US 20200349028A1 · Meadowcroft et al. · 2020 [cited by applicant]
US 20210049083A1 · Yakushkin · 2021 [cited by examiner]
US 20210150025A1 · Ben-Shalom et al. · 2021 [cited by applicant]
US 20210152595A1 · Hansen et al. · 2021 [cited by applicant]
US 20210216628A1 · Kutner et al. · 2021 [cited by applicant]
US 20210382992A1 · Massiglia et al. · 2021 [cited by applicant]
US 20220327208A1 · Karr · 2022 [cited by applicant]
US 20220374519A1 · Botelho · 2022 [cited by examiner]
US 20220405302A1 · Grunwald · 2022 [cited by examiner]
US 20230062383A1 · Borowiec et al. · 2023 [cited by applicant]
US 20230141909A1 · Truscott · 2023 [cited by examiner]
US 20230147026A1 · Munshani · 2023 [cited by examiner]
US 20230177158A1 · Gee · 2023 [cited by examiner]
US 20230297495A1 · Kumar · 2023 [cited by examiner]
EP 3491571B1 · 2021 [cited by applicant]
EP 3623982B1 · 2021 [cited by applicant]
Cloudian, Ransomware Data Recovery: How to Save Your Data, 2023, https://cloudian.com/guides/ransomware-backup/ransomware-data-recovery-5-ways-to-save-your-data/, pp 1-9. [cited by applicant]
Rubrik, Accelerate Ransomware Recovery, 2023, https://www.rubrik.com/solutions/ransomware-recovery, pp 1-6. [cited by applicant]
Cloudian, Ransomware Data Recovery: 5 ways to save your data, p. 1-9, 2023, https://cloudian.com/guides/ransomware-backup/ransomware-data-recovery-5-ways-to-save-your-data/. [cited by applicant]
Cloudian, Ransomware Data Recovery: 5 ways to save your data, 2023, 10 pages, https://web.archive.org/web/20230331085557/https://cloudian.com/guides/ransomware-backup/ransomware-data-recovery-5-ways-to-save-your-data/. [cited by applicant]