IP Library › Granted Patent US 11,792,223
Granted Patent B2
US 11,792,223 · App. 17/062,732 · Granted Oct 17, 2023

Systems and methods for detecting malware attacks

Inventors: Prateeksha Varshney (Bangalore, IN); Siddhartha Nandi (Bangalore, IN); Jayanta Basak (Bangalore, IN)
Assignee: NETAPP, INC.
H04L63/145G06F21/602H04L63/1416
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,792,223
App. No.
17/062,732
Granted
Oct 17, 2023
Kind
B2
Abstract

A method, a computing device, and a non-transitory machine-readable medium for detecting malware attacks. In one example, an agent implemented in an operating system detects an overwrite in which an original data component is overwritten with a new data component. The agent computes a plurality of features associated with the overwrite, the plurality of features including an original entropy corresponding to the original data component, a new entropy corresponding to the new data component, an overwrite fraction, and a set of divergence features. The agent determines whether the new data component is encrypted using the plurality of features.

Claims (62)

1. A method comprising:

detecting, by an agent implemented in an operating system, an overwrite in which an original data component is overwritten with a new data component;

computing, by the agent, a plurality of features associated with the overwrite, the plurality of features including an original entropy corresponding to the original data component, a new entropy corresponding to the new data component, an overwrite fraction, and a set of divergence features,

wherein the set of divergence features includes a divergence feature computed using at least one Kullback-Leibler divergence that is computed for the new data component and for the original data component and using at least one of the original entropy, the new entropy, or the overwrite fraction; and

determining, by the agent, that the new data component is encrypted using the plurality of features.

2. The method of claim 1 , wherein the determining comprises:

inputting, by the agent, the plurality of features into a linear Support Vector Machine; and

classifying the new data component as encrypted using the linear Support Vector Machine.

3. The method of claim 1 , wherein the computing comprises:

computing, by the agent, a Kullback-Leibler divergence from the new data component to the original data component.

4. The method of claim 1 , wherein the computing comprises:

computing, by the agent, a Kullback-Leibler divergence from the original data component to the new data component.

5. The method of claim 1 , wherein the computing comprises:

computing, by the agent, the divergence feature using a first Kullback-Leibler divergence from the new data component to the original data component, a second Kullback-Leibler divergence from the original data component to the new data component, the original entropy, the new entropy, and the overwrite fraction.

6. The method of claim 1 , wherein the computing comprises:

computing, by the agent, the divergence feature using a first Kullback-Leibler divergence from the new data component to the original data component, a second Kullback-Leibler divergence from the original data component to the new data component, and the overwrite fraction.

7. The method of claim 1 , further comprising:

halting, by the agent, any further overwrite operations in response to determining that the new data component is encrypted.

8. The method of claim 1 , further comprising:

restoring, by the agent, the original data component in response to determining that the new data component is encrypted.

9. The method of claim 1 , further comprising:

preventing, by the agent, the new data component from being written to disk in response to determining that the new data component is encrypted.

10. The method of claim 1 , wherein the determining comprises:

determining, by the agent, that the overwrite of the original data component with the new data component is a result of a malware attack.

11. A non-transitory machine-readable medium having stored thereon instructions for performing a method comprising machine-executable code which, when executed by at least one machine, causes the at least one machine to:

compute a plurality of features associated with an overwrite that replaces an original data component with a new data component,

wherein the plurality of features includes an original entropy corresponding to the original data component, a new entropy corresponding to the new data component, an overwrite fraction, and a set of divergence features,

wherein the set of divergence features includes a divergence feature computed using at least one Kullback-Leibler divergence that is computed for the new data component and for the original data component and using at least one of the original entropy, the new entropy, or the overwrite fraction; and

determine that the new data component is encrypted using the plurality of features and a linear Support Vector Machine.

12. The non-transitory machine-readable medium of claim 11 , wherein the machine-executable code further causes the at least one machine, as part of the computing, to:

compute a Kullback-Leibler divergence from the new data component to the original data component.

13. The non-transitory machine-readable medium of claim 11 , wherein the machine-executable code further causes the at least one machine, as part of the computing, to:

compute the divergence feature using a first Kullback-Leibler divergence from the new data component to the original data component, a second Kullback-Leibler divergence from the original data component to the new data component, the original entropy, the new entropy, and the overwrite fraction.

14. The non-transitory machine-readable medium of claim 11 , wherein the machine-executable code further causes the at least one machine, as part of the computing, to:

compute the divergence feature using a first Kullback-Leibler divergence from the new data component to the original data component, a second Kullback-Leibler divergence from the original data component to the new data component, and the overwrite fraction.

15. The non-transitory machine-readable medium of claim 11 , wherein the machine-executable code further causes the at least one machine, as part of the computing, to:

compute the set of divergence features including:

D KL ( P∥Q )/λ,

D KL ( Q∥P )/λ;

( D KL ( P∥Q )+ D KL ( Q∥P ))/λ;

( D KL ( P∥Q )+ D KL ( Q∥P ))*( e ( P )+ e ( Q ))/λ; and

( D KL ( P∥Q )+ D KL ( Q∥P ))*| e ( Q )− e ( P )|/λ;

wherein e(P) is the original entropy; e(Q) is the new entropy; λ is the overwrite fraction; D KL (P∥Q) is a first Kullback-Leibler divergence from the new data component to the original data component; and D KL (Q∥P) is a second Kullback-Leibler divergence from the original data component to the new data component.

16. A computing device comprising:

at least one memory containing machine-readable medium comprising machine-executable code having stored thereon instructions for performing a method of managing a parallel file system during input/output (I/O) operation; and

at least one processor coupled to the at least one memory, the at least one processor configured to execute the machine-executable code to cause the at least one processor to:

compute an original entropy corresponding to an original data component;

compute a new entropy corresponding to a new data component that has replaced the original data component;

compute an overwrite fraction; and

compute a set of divergence features based on Kullback-Leibler divergence between the original data component and the new data component,

wherein the set of divergence features includes a divergence feature computed using at least one Kullback-Leibler divergence that is computed for the new data component and for the original data component and using at least one of the original entropy, the new entropy, or the overwrite fraction; and

determine that the new data component is encrypted using the original entropy, the new entropy, the overwrite fraction, and the set of divergence features.

17. The computing device of claim 16 , wherein the original entropy and the new entropy are Shannon entropies.

18. The computing device of claim 16 , wherein the at least one processor being configured to execute the machine-executable code to compute the set of divergence features comprises the at least one processor executing the machine-executable code to compute the divergence feature using a first Kullback-Leibler divergence from the new data component to the original data component, a second Kullback-Leibler divergence from the original data component to the new data component, the original entropy, the new entropy, and the overwrite fraction.

19. The computing device of claim 16 , wherein the at least one processor being configured to execute the machine-executable code to compute the set of divergence features comprises the at least one processor executing the machine-executable code to compute the set of divergence features including:

D KL ( P∥Q )/λ,

D KL ( Q∥P )/λ;

( D KL ( P∥Q )+ D KL ( Q∥P ))/λ;

( D KL ( P∥Q )+ D KL ( Q∥P ))*( e ( P )+ e ( Q ))/λ; and

( D KL ( P∥Q )+ D KL ( Q∥P ))*| e ( Q )− e ( P )|/λ;

wherein e(P) is the original entropy; e(Q) is the new entropy; λ is the overwrite fraction; D KL (P∥Q) is a first Kullback-Leibler divergence from the new data component to the original data component; and D KL (Q∥P) is a second Kullback-Leibler divergence from the original data component to the new data component.

20. The computing device of claim 16 , wherein the at least one processor is further configured to execute the machine-executable code to prevent the new data component from being written to disk in response to determining that the new data component is encrypted.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2020
From: VARSHNEY, PRATEEKSHA; NANDI, SIDDHARTHA; BASAK, JAYANTA
To: NETAPP, INC.
Reel/Frame 053971/0202 →
Priority Claims (1)
IN 202041027588 · Jun 29, 2020 · national
Continuity (1)
Related Publication 20210409425A1 · Dec 30, 2021
Cited By (2)
US 12,265,611 US 12,688,278