IP Library Granted Patent US 10,614,210
Granted Patent B2
US 10,614,210 · App. 15/223,944 · Granted Apr 7, 2020

Systems and methods of protecting data from injected malware

Inventor: Dwayne A. Carson (Mendon, MA)
Assignee: Digital Guardian, Inc.
G06F21/52G06F21/566
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,614,210
App. No.
15/223,944
Granted
Apr 7, 2020
Kind
B2
Abstract

Provided herein are systems and methods for protecting data from injected malware. In some embodiments, a virtual memory validator may execute in user mode memory space on a computing device. The virtual memory validator may monitor an execution stack of an executing thread of a process. The virtual memory validator may identify a memory address referenced in the execution stack, responsive to the process attempting to access a protected resource. The virtual memory validator may determine that the memory address refers to a memory region that is designated as executable. The virtual memory validator may determine that the memory address is outside memory regions identified in a memory range map. The virtual memory validator may, responsive to the determination, identify the process as a potential malware process.

Claims (42)

1. A method of detecting injected malware, the method comprising:

monitoring, by a virtual memory validator injected into a process executing in a user mode memory space on a computing device, an execution stack of an executing thread of the process;

identifying, by the virtual memory validator on the user mode memory space, a memory address referenced in the execution stack, responsive to the process from the user mode memory space attempting to access a protected resource in a kernel mode memory space;

determining, by the virtual memory validator, that the memory address attempted to be accessed from the user mode memory space refers to a memory region that is designated as executable in the kernel mode memory space;

determining, by the virtual memory validator, that the memory address is outside memory regions identified in a memory range map that specifies memory addresses for a plurality of validated processes including the process; and

identifying, by the virtual memory validator responsive to the determination that the memory address refers to the memory region that is designated as executable in the kernel mode memory space and to the determination that the memory address is outside the memory regions identified in the memory range map, the process as a potential malware process.

2. The method of claim 1 , further comprising receiving, by the virtual memory validator, from an action examiner operating in a kernel mode memory space on the computing device, a request to determine whether the process comprises a potential malware process.

3. The method of claim 1 , further comprising injecting, by an action examiner operating on the kernel mode memory space on the computing device, the virtual memory validator as a thread or executable module into the process.

4. The method of claim 1 , further comprising traversing, by the virtual memory validator, the execution stack of the executing thread to identify each memory address referenced in the execution stack.

5. The method of claim 1 , wherein monitoring the execution stack comprises monitoring the execution stack of the executing thread, wherein the executing thread executes in user mode memory space on the computing device.

6. The method of claim 1 , further comprising checking, by an action examiner operating on a kernel mode memory space on the computing device, the process against a list of approved processes, responsive to the process attempting to access the protected resource.

7. The method of claim 1 , further comprising:

determining, by the virtual memory validator, that a second memory address referenced in the execution stack refers to a memory region identified in the memory range map; and

determining, by the virtual memory validator, whether the identified memory region belongs to a legitimate executable module.

8. The method of claim 6 , wherein determining that the second memory address refers to a memory region identified in the memory range map further comprises determining that the identified in the memory range map is designated as executable.

9. The method of claim 1 , further comprising:

identifying, by the virtual memory validator, that second memory address referenced in the execution stack points to an executable module; and

determining, by the virtual memory validator, whether the executable module comprises a legitimate executable module.

10. The method of claim 1 , comprising suspending, according to a rule engine of an action examiner, the executing thread responsive to identifying that the process is a potential malware process.

11. A system for detecting injected malware, the system comprising:

memory space on a computing device, comprising a user mode memory space and a kernel mode memory space; and

a virtual memory validator injected into a process executing in the user mode memory space, the virtual memory validator configured to:

monitor an execution stack of an executing thread of the process executing in the user mode memory space;

identify a memory address referenced in the execution stack, responsive to the process from the user mode memory space attempting to access a protected resource of the kernel mode memory space;

determine that the memory address refers to a memory region attempted to be accessed from the user mode memory space that is designated as executable in the kernel mode memory space;

determine that the memory address is outside memory regions identified in a memory range map that specifies memory addresses for a plurality of validated processes including the process; and

identify, responsive to the determination that the memory address refers to the memory region that is designated as executable in the kernel mode memory space and to the determination that the memory address is outside the memory regions identified in the memory range map, the process as a potential malware process.

12. The system of claim 11 , wherein the virtual memory validator is further configured to receive, from an action examiner operating in the kernel mode memory space, a request to determine whether the process comprises a potential malware process.

13. The system of claim 11 , further comprising an action examiner operating in the kernel mode memory space, configured to inject the virtual memory validator as a thread or executable module into the process.

14. The system of claim 11 , wherein the virtual memory validator is further configured to traverse the execution stack of the executing thread to identify each memory address referenced in the execution stack.

15. The system of claim 11 , wherein the executing thread executes in user mode memory space on the computing device.

16. The system of claim 11 , further comprising an action examiner operating in the kernel mode memory space, configured to check the process against a list of approved processes, responsive to the process attempting to access the protected resource.

17. The system of claim 11 , wherein the virtual memory validator is further configured to:

determine that a second memory address referenced in the execution stack refers to a memory region identified in the memory range map; and

determine whether the identified memory region belongs to a legitimate executable module.

18. The system of claim 11 , wherein the virtual memory validator is further configured to:

determine that a second memory address referenced in the execution stack refers to a memory region that is designated as executable and identified in the memory range map; and

determine whether the identified memory region belongs to a legitimate executable module.

19. The system of claim 11 , wherein the virtual memory validator is further configured to:

identify that second memory address referenced in the execution stack points to an executable module; and

determine whether the executable module comprises a legitimate executable module.

20. The system of claim 11 , further comprising an action examiner operating in the kernel mode memory space, the action examiner having a rule engine configured to suspend the executing thread responsive to identifying that the process is a potential malware process.

Assignments (15)
SECURITY INTEREST Recorded Jan 6, 2026
From: ALERT LOGIC, INC.; DIGITAL GUARDIAN LLC; ECRIME MANAGEMENT STRATEGIES, INC.; FORTRA, LLC; GLOBALSCAPE, INC.; TRIPWIRE, INC.
To: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 074233/0632 →
TERMINATION AND RELEASE OF FIRST LIEN INTELLECTUAL PROPERTY SECURITY INTEREST RECORDED AT REEL/FRAME 58892/0766 Recorded Nov 24, 2025
From: JEFFERIES FINANCE LLC
To: DIGITAL GUARDIAN LLC
Reel/Frame 073783/0619 →
NEW MONEY FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: ALERT LOGIC, INC.; DIGITAL GUARDIAN LLC; ECRIME MANAGEMENT STRATEGIES, INC.; FORTRA, LLC; GLOBALSCAPE, INC.; TRIPWIRE, INC.; VERA SECURITY, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 073683/0534 →
TERMINATION AND RELEASE OF SECOND LIEN INTELLECTUAL PROPERTY SECURITY INTEREST RECORDED AT REEL/FRAME 58892/0945 Recorded Nov 21, 2025
From: ACQUIOM AGENCY SERVICES LLC
To: DIGITAL GUARDIAN LLC
Reel/Frame 073663/0411 →
EXTENDED FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: DIGITAL GUARDIAN LLC
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073663/0844 →
EXTENDED RCF FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Nov 21, 2025
From: DIGITAL GUARDIAN LLC
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 073663/0050 →
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 14, 2025
From: GOLUB CAPITAL MARKETS LLC (AS EXISTING AGENT)
To: ACQUIOM AGENCY SERVICES LLC (AS SUCCESSOR COLLATERAL AGENT)
Reel/Frame 072471/0665 →
RELEASE OF SECURITY INTEREST Recorded May 3, 2022
From: GOLUB CAPITAL LLC
To: DIGITAL GUARDIAN LLC
Reel/Frame 059802/0303 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 28, 2022
From: DIGITAL GUARDIAN, LLC
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 058892/0945 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 28, 2022
From: DIGITAL GUARDIAN, LLC
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 058892/0766 →
SECOND AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2021
From: DIGITAL GUARDIAN LLC
To: GOLUB CAPITAL LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 055207/0012 →
AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 29, 2019
From: DIGITAL GUARDIAN LLC
To: GOLUB CAPITAL LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 050305/0418 →
CHANGE OF NAME Recorded May 21, 2019
From: DIGITAL GUARDIAN, INC.
To: DIGITAL GUARDIAN LLC
Reel/Frame 049240/0514 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 23, 2018
From: DIGITAL GUARDIAN, INC.
To: GOLUB CAPITAL LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 046419/0207 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2017
From: CARSON, DWAYNE A.
To: DIGITAL GUARDIAN, INC.
Reel/Frame 041078/0805 →
Continuity (2)
Provisional Application 62199855 · Jul 31, 2015
Related Publication 20170032118A1 · Feb 2, 2017