IP Library Granted Patent US 11,023,579
Granted Patent B1
US 11,023,579 · App. 15/367,026 · Granted Jun 1, 2021

Malicious activity detection in a memory

Inventors: Jason W. Wheeler (Albuquerque, NM); Tu-Thach Quach (Albuquerque, NM); Conrad D. James (Albuquerque, NM); James Bradley Aimone (Albuquerque, NM); Arun F. Rodrigues (Albuquerque, NM)
Assignee: National Technology & Engineering Solutions of Sandia, LLC
G06F21/562H04L63/145G06F21/564G06F2212/1052G06F2212/401
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,023,579
App. No.
15/367,026
Granted
Jun 1, 2021
Kind
B1
Abstract

A method and apparatus for monitoring a volatile memory in a computer system. Samples of compressed data from locations in the volatile memory in the computer system are read. Data in the volatile memory is reconstructed using the samples of compressed data. The data is an image of the volatile memory. The image enables determining whether an undesired process is present in the volatile memory.

Claims (31)

1. A method for monitoring a volatile memory, the method comprising:

selecting random locations in the volatile memory, wherein the random locations in the volatile memory are fewer than all of the locations in the volatile memory, and wherein the random locations are selected by using a dictionary created from analyzing a group of memory files from a group of memories to identify patterns in how data is arranged in memory for similar types of files or processes;

reading samples of compressed data from the random locations in the volatile memory; and

analyzing the samples of compressed data to determine whether an undesired process is present in the volatile memory using the samples of compressed data without reconstructing data in the memory.

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

reconstructing data in the memory using the samples of compressed data.

3. The method of claim 2 , wherein the analyzing step comprises:

determining whether the undesired process is present in the memory using the data reconstructed using the samples of compressed data.

4. The method of claim 1 further comprising:

performing a set of actions when the undesired process is present.

5. The method of claim 4 , wherein the set of actions is selected from at least one of shutting down the memory, shutting down a portion of the memory, isolating the memory, isolating the portion of the memory, generating an alert, or initiating a scan of a computer system in which the memory is located.

6. The method of claim 4 , wherein the set of actions is performed by at least one of a virus scanner, a human operator, a neural network, an artificial intelligence system, or an expert system.

7. The method of claim 1 , wherein a controller reads the samples of compressed data.

8. The method of claim 1 , wherein the undesired process is for one selected from one of a virus, a Trojan horse, a worm, a root kit, a backdoor, an evasion process, a spyware, or an adware.

9. The method of claim 1 , wherein the memory is selected from one of a dynamic random access memory and a static random access memory.

10. A method for monitoring a volatile memory in a computer system, the method comprising:

selecting random locations in the volatile memory, wherein the random locations in the volatile memory are fewer than all of the locations in the volatile memory, and wherein the random locations are selected by using a dictionary created from analyzing a group of memory files from a group of memories to identify patterns in how data is arranged in memory for similar types of files or processes;

reading samples of compressed data from the random locations in the volatile memory in the computer system;

reconstructing data in the volatile memory using the samples of compressed data, wherein the data is an image of the volatile memory; and

using the image of the volatile memory to determine whether an undesired process is present in the volatile memory.

11. The method of claim 10 , wherein the volatile memory is selected from one of a dynamic random access memory and a static random access memory.

12. A computer system comprising:

a volatile memory, wherein data is present in the volatile memory; and

a controller in communication with the volatile memory, wherein the controller is configured to:

select random locations in the volatile memory, wherein the random locations in the memory are fewer than all of the locations in the volatile memory, and wherein the random locations are selected by using a dictionary created from analyzing a group of memory files from a group of memories to identify patterns in how data is arranged in memory for similar types of files or processes,

read samples of compressed data from the random locations in the volatile memory, and

analyze the samples of compressed data for to determine whether an undesired process is present in the volatile memory using the samples of compressed data without reconstructing the data in the memory.

13. The computer system of claim 12 , wherein in analyzing the samples of compressed data, the controller is configured to reconstruct the data in the memory using the samples of compressed data.

14. The computer system of claim 13 , wherein in analyzing the samples of compressed data, the controller is configured to determine whether the undesired process is present in the memory using the data reconstructed using the samples of compressed data.

15. The computer system of claim 12 , wherein the undesired process is for one of a malware, a virus, a Trojan horse, a root kit, a backdoor, a spyware, a worm, and an adware.

16. The computer system of claim 12 , wherein the memory is selected from one of a dynamic random access memory and a static random access memory.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2017
From: WHEELER, JASON W.; QUACH, TU-THACH; JAMES, CONRAD D.; AIMONE, JAMES BRADLEY; RODRIGUES, ARUN F.
To: SANDIA CORPORATION
Reel/Frame 041065/0342 →
CONFIRMATORY LICENSE Recorded Jan 13, 2017
From: SANDIA CORPORATION
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 041366/0374 →