IP Library Granted Patent US 12664265
Granted Patent B2
US 12664265 · App. 18/216,578 · Granted Jun 23, 2026

Ransomware mitigation using versioning and entropy delta-based recovery

Inventors: Mark Duane Seaborn (Algonquin, IL); Jacqueline Hegedus Wilson (Austin, TX)
Assignee: International Business Machines Corporation
G06F21/554G06F21/566G06F21/602G06F2221/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 12664265
App. No.
18/216,578
Granted
Jun 23, 2026
Kind
B2
Abstract

A mitigation system protects data in a data store that is not yet encrypted by a successful ransomware attack against encryption. Data is stored in the data store as a set of versions identified in a data tree, and a version can only be updated by writing a new version to the tree. Access controls to prevent modification of the tree are also in place. Following an attack, a restore function is executed to attempt recovery. This function computes an entropy delta that compares an entropy of an encrypted version, with an entropy of versions of the data not yet encrypted. Based on the computed entropy deltas, the restore function identifies a latest clear version of the data, and a restore operation is then is initiated with respect to this version.

Claims (55)

1 . A method of mitigating a ransomware attack on data stored in a data store, comprising:

versioning data in the data store as a set of versions identified in a data tree, wherein new writes of data to the data store manipulate the data tree by only creating one or more new version(s) in the data tree, and wherein the versioning further implements a multifactor modification security policy which requires a collaboration across multiple user accounts to manipulate the data tree, and wherein the collaboration requires the multiple user accounts to provide respective shares of a secret decryption key to decrypt at least an encrypted portion of the data tree before manipulation of the data tree;

following a ransomware attack that has encrypted one or more versions of the set of versions identified in the data tree, wherein one or more versions of the set of versions in the data tree remain unencrypted, identifying an encrypted version of the set with a highest entropy value;

performing an entropy delta analysis that compares the highest entropy value to respective entropy values of each version of the set that remains unencrypted;

based on the performed entropy delta analysis, identifying a given version of the set that remains unencrypted, wherein the given version has a lowest relative entropy value as compared to the highest entropy value; and

initiating a restore operation with respect to the identified given version.

2 . The method as described in claim 1 further including enforcing one or more access controls at one or more defined points in the data tree.

3 . The method as described in claim 2 wherein the access control is one of: a role-based access control on the data tree, an access control list on the data tree, an attribute-based access control on the data tree, and a policy that enables manipulation of the data tree only by a set of collaborating entities.

4 . The method as described in claim 1 wherein the data store is one of: a database, a file-based data store, and a cloud object data store.

5 . The method as described in claim 1 wherein the identified given version is a latest unencrypted version of the data.

6 . The method as described in claim 1 wherein initiating the restore operation is an operation that is one of: retrieving the identified given version to a new location in the data store, moving the identified given version to be at a top of the data tree, and clearing the version tree of the one or more versions that are encrypted.

7 . The method as described in claim 1 wherein the entropy delta analysis is a relative entropy computation.

8 . An apparatus, comprising:

a processor;

computer memory holding computer program instructions executed by the processor to mitigate a ransomware attack on data stored in a data store as a set of versions, the set of versions identified in a data tree, the computer program instructions comprising program code configured to:

version data in the data store as a set of versions identified in a data tree, wherein new writes of data to the data store manipulate the data tree by only creating one or more new version(s) in the data tree, and wherein versioning the data further implements a multifactor modification security policy which requires a collaboration across multiple user accounts to manipulate the data tree, and wherein the collaboration requires the multiple user accounts to provide respective shares of a secret decryption key to decrypt at least an encrypted portion of the data tree before manipulation of the data tree;

following a ransomware attack that has encrypted one or more versions of the set of versions identified in the data tree, wherein one or more versions of the set remain unencrypted, identify an encrypted version of the set with a highest entropy value;

perform an entropy delta analysis that compares the highest entropy value to respective entropy values of each version of the set that remains unencrypted;

based on the performed entropy delta analysis, identify a given version of the set that remains unencrypted, wherein the given version has a lowest relative entropy value as compared to the highest entropy value; and

initiate a restore operation with respect to the identified given version.

9 . The apparatus as described in claim 8 wherein the program code is further configured to enforce one or more access controls at one or more defined points in the data tree.

10 . The apparatus as described in claim 9 wherein, with respect to the data tree, the access control is one of: a role-based access control on the data tree, an access control list on the data tree, an attribute-based access control on the data tree, and a policy that enables manipulation of the data tree only by a set of collaborating entities.

11 . The apparatus as described in claim 8 wherein the data store is one of: a database, a file-based data store, and a cloud object data store.

12 . The apparatus as described in claim 8 wherein the identified given version is a latest unencrypted version of the data.

13 . The apparatus as described in claim 8 wherein the program code configured to initiate the restore operation includes program code configured to perform one of: retrieving the identified given version to a new location in the data store, moving the identified given version to be at a top of the data tree, and clearing the version tree of the one or more versions that are encrypted.

14 . The apparatus as described in claim 8 wherein the entropy delta analysis is a relative entropy computation.

15 . A computer program product comprising:

one or more computer-readable storage media; and

program instructions stored on the one or more computer-readable storage media to perform operations which mitigate a ransomware attack on data stored in a data store as a set of versions, the set of versions identified in a data tree, the operations comprising:

versioning data in the data store as a set of versions identified in a data tree, wherein new writes of data to the data store manipulate the data tree by only creating one or more new version(s) in the data tree, and wherein the versioning further implements a multifactor modification security policy which requires a collaboration across multiple user accounts to manipulate the data tree, and wherein the collaboration requires the multiple user accounts to provide respective shares of a secret decryption key to decrypt at least an encrypted portion of the data tree before manipulation of the data tree;

following a ransomware attack that has encrypted one or more versions of the set of versions identified in the data tree, wherein one or more versions of the set remain unencrypted, identifying an encrypted version of the set with a highest entropy value;

performing an entropy delta analysis that compares the highest entropy value to respective entropy values of each version of the set that remains unencrypted;

based on the performed entropy delta analysis, identifying a given version of the set that remains unencrypted, wherein the given version has a lowest relative entropy value as compared to the highest entropy value; and

initiating a restore operation with respect to the identified given version.

16 . The computer program product as described in claim 15 wherein one or more access controls are enforced at one or more defined points in the data tree.

17 . The computer program product as described in claim 16 wherein the access control is one of: a role-based access control on the data tree, an access control list on the data tree, an attribute-based access control on the data tree, and a policy that enables manipulation of the data tree only by a set of collaborating entities.

18 . The computer program product as described in claim 15 wherein the data store is one of: a database, a file-based data store, and a cloud object data store.

19 . The computer program product as described in claim 15 wherein the identified given version is a latest unencrypted version of the data.

20 . The computer program product as described in claim 15 wherein the initiating comprises operations to perform one of: retrieving the identified given version to a new location in the data store, moving the identified given version to be at a top of the data tree, and clearing the version tree of the one or more versions that are encrypted.

21 . The computer program product as described in claim 15 wherein the entropy delta analysis is a relative entropy computation.

22 . A computing system for ransomware attack mitigation, comprising:

a processor set;

one or more computer-readable storage media; and

program instructions stored on the one or more computer-readable storage media to cause the processor set to perform operations comprising:

implementing a versioning mechanism to store data in a data store as a set of versions identified in a data tree, wherein a version in the set of versions can only be updated by writing a new version to the data tree, and to enforce an access control to prevent modification of the data tree, and wherein the versioning mechanism further implements a multifactor modification security policy which requires a collaboration across multiple user accounts to manipulate the data tree, and wherein the collaboration requires the multiple user accounts to provide respective shares of a secret decryption key to decrypt at least an encrypted portion of the data tree before manipulation of the data tree; and

implementing a restore mechanism to execute a restore function that identifies from the data tree a latest clear version of the data, and that initiates a restore operation with respect to the latest clear version, wherein identification of the latest clear version of the data further comprises:

identifying an encrypted version of the set with a highest entropy value;

performing an entropy delta analysis that compares the highest entropy value to respective entropy values of each version of the set that remains unencrypted; and

identifying an unencrypted version of the set with a lowest relative entropy value, as compared to the highest entropy value, as the latest clear version of the data.

23 . The computing system as described in claim 22 wherein the restore operation clears the version tree of the version that is encrypted.

24 . A method operating in a computing system wherein versions of data are identified in a data store in a data tree, and wherein a version can only be updated by writing a new version to the data tree, and wherein manipulation of the data tree requires a collaboration across multiple user accounts where the collaboration requires the multiple user accounts to provide respective shares of a secret decryption key to decrypt at least an encrypted portion of the data tree before manipulation of the data tree, comprising:

responsive to a ransomware attack that has encrypted one or more versions of a set of versions identified in the data tree, identifying an encrypted version of the set with a highest entropy value;

performing an entropy delta analysis that compares the highest entropy value to respective entropy values of each version of the set that remains unencrypted;

based on the performed entropy delta analysis, identify a latest version of the set that remains unencrypted, wherein the latest version has a lowest relative entropy value as compared to the highest entropy value; and

initiate a restore operation with respect to the latest version.