IP Library › Granted Patent US 11,347,849
Granted Patent B2
US 11,347,849 · App. 16/839,293 · Granted May 31, 2022

Ransomware detection and prevention

Inventors: Andrew C. M. Hicks (Wappingers Falls, NY); Michael Peter Lyons (Arlington, MA); Miles C. Pedrone (Wappingers Falls, NY); Tynan J. Garrett (Poughkeepsie, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F21/561G06F12/1458G06F21/602G06F2212/1052G06F2221/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 11,347,849
App. No.
16/839,293
Granted
May 31, 2022
Kind
B2
Abstract

Embodiments are described for detecting ransomware attacks. Aspects include receiving a memory access request for a memory location. Aspects also include allowing the memory access request based on a determination that the memory location is not present in a decoy address table. Aspects further include terminating a process that made the memory access request based on a determination that the memory location is present in the decoy address table.

Claims (40)

1. A computer-implemented method for detecting ransomware, the method comprising:

receiving a memory access request for a memory location;

based on a determination that the memory location is not present in a decoy address table, allowing the memory access request; and

based on a determination that the memory location is present in the decoy address table, terminating a process that made the memory access request,

wherein the decoy address table is created by:

identifying one or more high priority files in a memory, wherein the one or more high priority files includes one or more of sensitive user data and system backups;

reserving a plurality of decoy areas in the memory, wherein at least one of the plurality of decoy areas is associated with each of the one or more high priority files; and

storing the addresses of the plurality of decoy areas in the decoy address table.

2. The computer-implemented method of claim 1 , further comprising creating an alert of a detected malicious event based on the determination that the memory location is present in the decoy address table.

3. The computer-implemented method of claim 1 , wherein an appearance of the one or more high priority files to other programs is unchanged by reserving the plurality of decoy areas in the memory.

4. The computer-implemented method of claim 3 , wherein the at least one of the plurality of decoy areas associated with each of the one or more high priority files is appended to one of a beginning and an ending of a memory block containing the one or more high priority files.

5. The computer-implemented method of claim 1 , wherein the memory access request is an encryption request.

6. The computer-implemented method of claim 1 , wherein the decoy address table includes addresses of a plurality of decoy areas in the memory and wherein the plurality of decoy areas are randomly allocated small memory areas in the memory.

7. A system, comprising:

a memory; and

a processor; wherein the processor is configured to:

receive a memory access request for a memory location;

based on a determination that the memory location is not present in a decoy address table, allow the memory access request; and

based on a determination that the memory location is present in the decoy address table, terminate a process that made the memory access request,

wherein the decoy address table is created by:

identifying one or more high priority files in a memory, wherein the one or more high priority files includes one or more of sensitive user data and system backups;

reserving a plurality of decoy areas in the memory, wherein at least one of the plurality of decoy areas is associated with each of the one or more high priority files; and

storing the addresses of the plurality of decoy areas in the decoy address table.

8. The system of claim 7 , wherein the processor is further configured to create an alert of a detected malicious event based on the determination that the memory location is present in the decoy address table.

9. The system of claim 7 , wherein an appearance of the one or more high priority files to other programs is unchanged by reserving the plurality of decoy areas in the memory.

10. The system of claim 7 , wherein the at least one of the plurality of decoy areas associated with each of the one or more high priority files is appended to one of a beginning and an ending of a memory block containing the one or more high priority files.

11. The system of claim 7 , wherein the memory access request is an encryption request.

12. The system of claim 7 , wherein the decoy address table includes addresses of a plurality of decoy areas in the memory and wherein the plurality of decoy areas are randomly allocated small memory areas in the memory.

13. A computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions being executable by a processor to cause the processor to perform a method comprising:

receiving a memory access request for a memory location;

based on a determination that the memory location is not present in a decoy address table, allowing the memory access request; and

based on a determination that the memory location is present in the decoy address table, terminating a process that made the memory access request,

wherein the decoy address table is created by:

identifying one or more high priority files in a memory, wherein the one or more high priority files includes one or more of sensitive user data and system backups;

reserving a plurality of decoy areas in the memory, wherein at least one of the plurality of decoy areas is associated with each of the one or more high priority files; and

storing the addresses of the plurality of decoy areas in the decoy address table.

14. The computer program product of claim 13 , wherein the method further comprises creating an alert of a detected malicious event based on the determination that the memory location is present in the decoy address table.

15. The computer program product of claim 13 , wherein an appearance of the one or more high priority files to other programs is unchanged by reserving the plurality of decoy areas in the memory.

16. The computer program product of claim 13 , wherein the at least one of the plurality of decoy areas associated with each of the one or more high priority files is appended to one of a beginning and an ending of a memory block containing the one or more high priority files.

17. The computer program product of claim 16 , wherein the memory access request is an encryption request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2020
From: HICKS, ANDREW C. M.; LYONS, MICHAEL PETER; PEDRONE, MILES C.; GARRETT, TYNAN J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 052304/0614 →
Continuity (1)
Related Publication 20210312046A1 · Oct 7, 2021
Cited By (3)
US 12,432,229 US 12,437,059 US 12,481,754