IP Library Granted Patent US 10,503,897
Granted Patent B1
US 10,503,897 · App. 15/649,255 · Granted Dec 10, 2019

Detecting and stopping ransomware

Inventor: Yonatan Striem-Amit (Somerville, MA)
Assignee: CYBEREASON
G06F21/554G06F11/1451G06F11/1464G06F21/552
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 10,503,897
App. No.
15/649,255
Granted
Dec 10, 2019
Kind
B1
Abstract

Techniques of operating a computer involve providing controls to an OS that monitor a rate at which commands in an operating system are performed. Along these lines, ransomware performs the OS commands it needs to control access to data files on a computer by performing those commands rapidly. In many cases, such rapid sequences of commands, e.g., read-copy-encrypt-delete, are performed much more rapidly than would be done by a typical user. Accordingly, the OS is then provided the capacity to monitor, e.g., a number of specified command sequences (e.g., read-copy-encrypt-delete) within some specified period of time (e.g., a minute, 5 minutes, an hour, or greater or less). If the number is greater than some threshold number, then the computer may take a remedial action such as issuing an alert to the user and/or limiting the rate at which the commands may be performed.

Claims (44)

1. A method, comprising:

receiving, by controlling circuitry of a computer having a non-volatile memory, data including a set of instructions configured to cause the controlling circuitry to perform a sequence of operating system commands on a set of files stored in the non-volatile memory;

performing, by the controlling circuitry, a monitoring operation on the data, including counting a number of files of a specified file type being copied within a specified period of time, to produce a measurement of a rate of performance of the sequence of operating system commands on a subset of the set of files, the copying of a file from the number of files including an opening of the file and a reading of the contents of the file into a volatile memory, and further including (i) counting a number of files for which the sequence of commands read-encrypt-write-delete is performed within a specified time period, a file from the number of files having been read subsequently having been deleted and (ii) counting a number of files having a read-only permission state that have been copied into new files not having the read-only permission state within a specified period of time;

in response to the measurement of the rate of performance of the operating system commands on the subset of the set of files being greater than a specified threshold, generating, by the controlling circuitry, an alert indicating that the sequence of operating system commands were issued by a malicious actor; and

in response to the measurement of the rate of performance of the sequence of operating system commands on the subset of the set of files being less than the specified threshold, not generating, by the controlling circuitry, the alert.

2. The method as in claim 1 , wherein the performing the monitoring operation includes:

counting a number of files copied and then the files of the number of files, from which copies were produced, being erased within a specified time period.

3. The method as in claim 1 , wherein performing the monitoring operation includes:

counting a number of files being created within a specified time period.

4. The method as in claim 1 , wherein performing the monitoring operation includes:

counting a number of files being encrypted within a specified time period.

5. The method as in claim 1 , wherein performing the monitoring operation includes:

counting a number of files whose contents are read in their entirety into volatile memory within a specified time period.

6. The method as in claim 5 , where performing the monitoring operation further includes:

counting a number of files whose contents are subsequently erased after being read in their entirety into volatile memory within the specified time period.

7. The method as in claim 1 , further comprising:

in response to the number of files of the specified file type being copied within the specified period of time being greater than the threshold, performing an erase disable operation on files of the specified type stored in the non-volatile medium, the erase disable operation disabling copy commands from being performed on the files of the specified type stored in the non-volatile medium.

8. The method as in claim 1 , wherein the specified file type is a file type associated with user generated data including one of a group of file types including a text file, a video file, and an image file.

9. The method as in claim 1 , wherein performing the monitoring operation includes:

counting a number of files having a file size greater than a size threshold being copied within a specified period of time.

10. The method as in claim 1 , wherein performing the monitoring operation includes:

counting a number of files which, upon execution of a write command, has a current version whose file size has changed from that of a previous version by more than a file change threshold within a specified period of time.

11. The method as in claim 1 , wherein performing the monitoring operation includes:

counting a number of files created by a user as a data file from a specified software package accessed by the user accessed within a specified period of time.

12. The method as in claim 11 , wherein the software package accessed by the user is one of a word processing software package, a document processing software package, a presentation software package, a spreadsheet software package, an image editing software package, a video editing software package, and a drawing software package.

13. The method as in claim 1 , wherein performing the monitoring operation includes:

counting a number of files for which a time spent before a first write to disk is less than a write-to-disk threshold within a specified period of time, the time spent indicating whether the files from the number of files were copied to a location in a non-volatile memory or created in the location in the non-volatile memory.

14. The method as in claim 1 , further comprising:

in response to receiving a copy command on a file of the subset of the set of files to produce a current version of the file, storing a previous version of the file in unutilized portion of the non-volatile memory.

15. The method as in claim 14 , further comprising:

in response to the measurement of the rate of performance of the operating system commands on the subset of the set of files being greater than a specified threshold, loading the previous version of the file in a volatile memory.

16. A computer program product comprising a nontransitive storage medium, the computer program product including code that, when executed by processing circuitry of a computer having a non-volatile memory, causes the processing circuitry to perform a method, the method comprising:

receiving data including a set of instructions configured to cause the controlling circuitry to perform operating system commands on a set of files stored in the non-volatile memory;

performing a monitoring operation on the data, including counting a number of files of a specified file type being copied within a specified period of time, to produce a measurement of a rate of performance of the sequence of operating system commands on a subset of the set of files, the copying of a file from the number of files including an opening of the file and a reading of the contents of the file into a volatile memory, and further including (i) counting a number of files for which the sequence of commands read-encrypt-write-delete is performed within a specified time period, a file from the number of files having been read subsequently having been deleted and (ii) counting a number of files having a read-only permission state that have been copied into new files not having the read-only permission state within a specified period of time;

in response to the measurement of the rate of performance of the operating system commands on the subset of the set of files being greater than a specified threshold, generating an alert indicating that an alert indicating that the operating system commands were issued by a malicious actor; and

in response to the measurement of the rate of performance of the operating system commands on the subset of the set of files being less than the specified threshold, not generating the alert.

17. An electronic apparatus having a non-volatile memory, the electronic apparatus comprising:

memory; and

controlling circuitry coupled to the memory, the controlling circuitry being configured to:

receive data including a set of instructions configured to cause the controlling circuitry to perform operating system commands on a set of files stored in the non-volatile memory;

perform a monitoring operation on the data, including counting a number of files of a specified file type being copied within a specified period of time, to produce a measurement of a rate of performance of the sequence of operating system commands on a subset of the set of files, the copying of a file from the number of files including an opening of the file and a reading of the contents of the file into a volatile memory, and further including (i) counting a number of files for which the sequence of commands read-encrypt-write-delete is performed within a specified time period, a file from the number of files having been read subsequently having been deleted and (ii) counting a number of files having a read-only permission state that have been copied into new files not having the read-only permission state within a specified period of time;

in response to the measurement of the rate of performance of the operating system commands on the subset of the set of files being greater than a specified threshold, generate an alert indicating that an alert indicating that the operating system commands were issued by a malicious actor; and

in response to the measurement of the rate of performance of the operating system commands on the subset of the set of files being less than the specified threshold, not generate the alert.

18. The method as in claim 14 , wherein a version number of the current version of the file remains unchanged from a version number of the previous version of the file.

Assignments (9)
SECURITY INTEREST Recorded Apr 7, 2026
From: CYBEREASON INC.; ALERT LOGIC, LLC
To: AT&T ENTERPRISES, LLC
Reel/Frame 075377/0304 →
RELEASE OF SECURITY INTEREST (REEL/FRAME 054517/0199) Recorded Nov 26, 2025
From: JPMORGAN CHASE BANK, N.A.
To: CYBEREASON INC.
Reel/Frame 073781/0912 →
RELEASE OF SECURITY INTEREST (REEL/FRAME 065316/0551 ) Recorded Nov 26, 2025
From: JPMORGAN CHASE BANK, N.A.
To: CYBEREASON INC.
Reel/Frame 073781/0852 →
SUPPLEMENT NO. 2 TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 23, 2023
From: CYBEREASON INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065316/0551 →
RELEASE OF SECURITY INTEREST Recorded Jun 26, 2023
From: SOFTBANK CORP.
To: CYBEREASON INC.
Reel/Frame 064108/0725 →
SECURITY INTEREST Recorded May 5, 2023
From: CYBEREASON INC.
To: SOFTBANK CORP.
Reel/Frame 063550/0415 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 046434 FRAME 904. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 29, 2021
From: STRIEM-AMIT, YONATAN
To: CYBEREASON INC.
Reel/Frame 055170/0849 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 25, 2020
From: CYBEREASON INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 054517/0199 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2018
From: STRIEM-AMIT, YONATAN
To: CYBEREASON
Reel/Frame 046434/0904 →
Cited By (9)
US 12,204,657 US 12,235,954 US 12,248,566 US 12,273,377 US 12,411,962 US 12,423,411 US 12,561,428 US 12,675,443 US 12,694,136