IP Library Granted Patent US 11,609,984
Granted Patent B2
US 11,609,984 · App. 15/896,333 · Granted Mar 21, 2023

Systems and methods for determining a likelihood of an existence of malware on an executable

Inventor: Dwayne A. Carson (Mendon, MA)
Assignee: Digital Guardian LLC
G06F21/51G06F21/52G06F21/56G06F21/561G06F21/566G06N20/00H04L63/1433H04L63/1441G06F21/568
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,609,984
App. No.
15/896,333
Granted
Mar 21, 2023
Kind
B2
Abstract

Provided herein are systems and methods for determining a likelihood that an executable comprises malware. A learning engine may determine a plurality of attributes of an executable identified in a computing environment, and a corresponding weight to assign to each of the plurality of attributes. Each of the plurality of attributes may be indicative of a level of risk for the computing environment. The learning engine may generate, according to the determined plurality of attributes and the corresponding weights, one or more scores indicative of a likelihood that the executable comprises malware. A rule engine may perform an action to manage operation of the executable, according to the generated one or more scores.

Claims (39)

1. A system for determining a likelihood that an executable comprises malware, the system comprising:

a server device comprising one or more processors coupled with memory, configured to:

identify an executable to unpack for analysis in a first computing environment and to be executed in a second computing environment;

determine that an identifier for the executable is not included in a database of indexed executables;

determine, responsive to determining that the identifier is not included, a first attribute of a plurality of attributes identified from the executable unpacked in the first computing environment by the server device detecting initiation of the executable by a computing device containing the second computing environment, the initiation of the executable being in the second computing environment, and identifying, by the server device, the first attribute as a characteristic of the second computing environment while the executable is executing in the second computing environment, wherein the first environment comprises an operating environment on the server device, and wherein the second environment comprises an operating environment on a client device separate from the server device, wherein detecting the initiation of the executable comprises the server device detecting a process of the executable being run in the second computing environment;

determine a remainder of the plurality of attributes identified from the executable unpacked in the first computing environment;

determine a corresponding weight to assign to each of the plurality of attributes, each of the plurality of attributes indicative of a level of risk for the first second computing environment;

assign a weight to an attribute corresponding to the use of a first API, the assigned weight being lower than one for assigning to an attribute corresponding to the use of a second API that is riskier than the first API;

generate, according to the determined plurality of attributes and the corresponding weights, one or more scores indicative of a likelihood that the executable comprises malware;

store, in the database of indexed executables, the identifier for the executable in association with the one or more scores; and

perform an action to manage operation of the executable in the second computing environment according to the generated one or more scores.

2. The system of claim 1 , wherein the one or more scores are indicative of at least one of: a likelihood of falsely identifying that the executable comprises malware, or a likelihood of falsely identifying that the executable is free of malware.

3. The system of claim 1 , wherein the plurality of attributes comprises at least one of the executable: being associated with a non-standard compiler, using an embedded uniform resource locator (URL) or an external internet protocol (IP) address, using an unknown or unsafe application programming interface (API), using a non-standard import string, having packed or encrypted binary data, being smaller than a predetermined file-size, having no signature or root authority, being excluded from program files, being a hidden file, being downloaded from an external site, or having ability to encrypt files.

4. The system of claim 1 , wherein the plurality of attributes comprises the executable being able to at least one of: start a process, start a process as a user, exit a process, open or access a process, suspend a process, open a process token, create a symbolic link, query a file system volume, access an environment string, create a thread, exit a thread, access a thread, suspend a thread, open a thread token, or create a named pipe, copy a file, print a file, or transmit a file out of the first computing environment.

5. The system of claim 1 , wherein the first computing environment includes decrypted binary data of the executable unpacked in a testing computing environment and the second computing environment includes a runtime computing environment.

6. The system of claim 1 , wherein the one or more processors are configured to evaluate the one or more scores against an assessment by a user.

7. The system of claim 6 , wherein the one or more processors are configured to adjust, responsive to the evaluation, at least one of: a weight to assign to one of the plurality of attributes, or a mathematical function.

8. The system of claim 1 , wherein the one or more processors are configured to perform the action, the action comprising automatically blocking an operation of the executable, adding or updating a rule to apply when the executable is detected, storing the one or more scores of the executable, sending the one or more scores to another learning engine or rule engine, sending a rule to block or control the operation of the executable, or sending one or more prompts to a user regarding the executable.

9. The system of claim 1 , wherein the plurality of attributes comprises at least one of the executable: being associated with a standard compiler, not using an embedded uniform resource locator (URL) or an external internet protocol (IP) address, using a known or safe application programming interface (API), using a standard import string, not having packed or encrypted binary data, having a file-size of at least a predetermined value, having a legitimate signature, not being excluded from program files, being a visible file, being installed using a known or signed installer file.

10. The system of claim 1 , wherein the one or more processors are further configured to generate the identifier for the executable based at least on a hash function of decrypted binary data unpacked in the first computing environment.

11. The system of claim 1 , wherein the first attribute comprises one or more of a process of the executable, additional code loaded into the executable, one or more executable binaries, one or more executable libraries, one or more binary libraries, one or more dynamic libraries, and one or more dynamic link files.

12. A method for determining a likelihood that an executable comprises malware, the method comprising:

identifying, by one or more processors, an executable unpacked in a first computing environment to be executed in a second computing environment, wherein the first environment comprises an operating environment on a server device, and wherein the second environment comprises an operating environment on a client device separate from the server device;

determining, by the one or more processors, that an identifier for the executable is not included in a database of indexed executables;

determining, by the one or more processors, a first attribute of a plurality of attributes identified from the executable unpacked in the first computing environment by the server device detecting initiation of the executable by a computing device containing the second computing environment, the initiation of the executable being in the second computing environment, and identifying, by the server device, the first attribute as a characteristic of the second computing environment while the executable is executing in the second computing environment, wherein detecting the initiation of the executable comprises the server device detecting a process of the executable being run in the second computing environment;

determining, by the one or more processors responsive to determining that the identifier is not included, a remainder of the plurality of attributes identified from the executable unpacked in the first computing environment;

determining, by the one or more processors, a corresponding weight to assign to each of the plurality of attributes, each of the plurality of attributes indicative of a level of risk for the second computing environment;

assigning, by the one or more processors, a weight to an attribute corresponding to the use of a first API, the assigned weight being lower than one for assigning to an attribute corresponding to the use of a second API that is riskier than the first API;

generating, by the one or more processors according to the determined plurality of attributes and the corresponding weights, one or more scores indicative of a likelihood that the executable comprises malware;

storing, by the one or more processors, in the database of indexed executables, the identifier for the executable in association with the one or more scores; and

performing, by the one or more processors, an action to manage operation of the executable in the second computing environment, according to the generated one or more scores.

13. The method of claim 12 , wherein the generated one or more scores are indicative of at least one of: a likelihood of falsely identifying that the executable comprises malware, or a likelihood of falsely identifying that the executable is free of malware.

14. The method of claim 12 , wherein the plurality of attributes comprises at least one of the executable: being associated with a non-standard compiler, using an embedded uniform resource locator (URL) or an external internet protocol (IP) address, using an unknown or unsafe application programming interface (API), using a non-standard import string, having packed or encrypted binary data, being smaller than a predetermined file-size, having no signature or root authority, being excluded from program files, being a hidden file, being downloaded from an external site, or having ability to encrypt files.

15. The method of claim 12 , wherein the plurality of attributes comprises the executable being able to at least one of: start a process, start a process as a user, exit a process, open or access a process, suspend a process, open a process token, create a symbolic link, query a file system volume, access an environment string, create an execution path, exit an execution path, access an execution path, suspend an execution path, open an execution path token, create a named pipe, copy a file, print a file, or transmit a file out of the first computing environment.

16. The method of claim 12 , wherein the first computing environment includes decrypted binary data of the executable unpacked in a testing computing environment and the second computing environment includes a runtime computing environment.

17. The method of claim 12 , further comprising:

evaluating, by the one or more processors, the one or more scores against an assessment by a user; and

adjusting, by the one or more processors responsive to the evaluation, at least one of: a weight to assign to one of the plurality of attributes, or a mathematical function.

18. The method of claim 12 , wherein performing the action comprises automatically blocking an operation of the executable, adding or updating a rule to apply when the executable is detected, storing the one or more scores of the executable, sending the one or more scores, sending a rule to block or control the operation of the executable, or sending one or more prompts to a user regarding the executable.

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 Feb 15, 2018
From: CARSON, DWAYNE A.
To: DIGITAL GUARDIAN, INC.
Reel/Frame 044939/0583 →
Continuity (1)
Related Publication 20190251251A1 · Aug 15, 2019
Cited By (1)
US 12,664,274