IP Library Granted Patent US 12,518,013
Granted Patent B2
US 12,518,013 · App. 18/667,819 · Granted Jan 6, 2026

Analysis of malware

Inventors: George Robert Kurtz (Ladera Ranch, CA); Dmitri Alperovitch (Gaithersburg, MD); Amol Kulkarni (Bothell, WA); Jan Miller (Hamburg, DE); Daniel Radu (Bucharest, RO)
Assignee: CrowdStrike, Inc.
G06F21/566G06F21/567G06F21/577G06F2221/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 12,518,013
App. No.
18/667,819
Granted
Jan 6, 2026
Kind
B2
Abstract

A security service can determine a synthetic context based at least in part on context data associated with a first malware sample, and detonate the first malware sample in the synthetic context to provide one or more first event records representing events performed by the first malware sample and detected during detonation. Additionally or alternatively, the security service can detonate the first malware sample and locate a second malware sample in a corpus based at least in part on the one or more first event records. Additionally or alternatively, the security service can receive event records representing events detected during a detonation of a first malware sample, the detonation based at least in part on context data, and locate a second malware sample in the corpus based at least in part on the one or more reference event records.

Claims (76)

1 . A computing device comprising:

a processor; and

a non-transitory computer-readable memory storing instructions that, when executed by the processor, cause the processor to:

receive context data associated with a file presented on a security device;

determine, based on the context data, a synthetic context associated with the file;

determine, by detonating the file in the synthetic context, first detonation data, wherein the first detonation data includes first event records representing first events detected during detonating the file;

determine, based on the first event records, a set of detectable indicators associated with the file, the set of detectable indicators including a first detectable indicator;

determine a first confidence level of the first detectable indicator, the first confidence level indicating a degree of occurrence of the first detectable indicator in the set of the detectable indicators; and

transmit the first detectable indicator and the first confidence level to the security device, causing the security device to take an action on a program that exhibits the first detectable indicator.

2 . The computing device of claim 1 , wherein the instructions, when executed by the processor, cause the processor further to:

transmit the first confidence level to the security device, allowing the security device to determine the action based at least in part on the first detectable indicator and the first confidence level.

3 . The computing device of claim 1 , wherein the context data is determined by the security device based on at least one of:

an attempt to execute the file on the security device, or

an execution of the file on the security device.

4 . The computing device of claim 1 , wherein the instructions, when executed by the processor, cause the processor further to:

locate, in a corpus of malware samples and based on the first detonation data, a first malware sample that is similar to the file.

5 . The computing device of claim 4 , wherein

the first detonation data includes the first event records representing the first events detected during detonating the file in the synthetic context,

the corpus of malware samples includes second event records associated with the malware samples, and

the instructions, when executed by the processor, cause the processor further to:

locate, in the corpus of malware samples, the first malware sample based at least in part on the first event records and the second event records.

6 . The computing device of claim 4 , wherein the corpus of malware samples includes a plurality of hash values associated with the malware samples, and the instructions, when executed by the processor, cause the processor further to:

determine a first hash value associated with the file; and

locate, in the corpus of malware samples, the first malware sample having a hash value being equal to the first hash value.

7 . The computing device of claim 4 , wherein the instructions, when executed by the processor, cause the processor further to:

determine, based on at least one of the file or the first malware sample, a second detectable indicator; and

transmit the second detectable indicator to the security device, causing the security device to block a second program that exhibits the second detectable indicator.

8 . A computer-implemented method, comprising:

determining a synthetic context associated with a first malware sample;

determining, by detonating the first malware sample in the synthetic context, a first event record;

determining, based at least in part on the first event record, a first task tree associated with the first malware sample;

determining, based on second event records associated with a corpus of malware samples, a plurality of second task trees associated with the corpus of malware samples; and

locating, from the corpus of malware samples, a second malware sample having a corresponding second task tree matching the first task tree.

9 . The computer-implemented method of claim 8 , wherein the corpus of malware samples includes a plurality of hash values associated with the corpus of malware samples, and the method further comprises:

determining, based on the first task tree, a first hash value; and

locating, in the corpus of malware samples, the second malware sample having a corresponding hash value being equal to the first hash value.

10 . The computer-implemented method of claim 9 , wherein the first hash value is determined based on at least one of:

a type of the first malware sample,

a size of the first malware sample, or

the first event record representing network traffic generated by detonating the first malware sample in the synthetic context.

11 . The computer-implemented method of claim 9 , wherein the first task tree includes one or more first tasks, and the method further comprises:

determining two invocation strings, each representing an invocation of a respective one of the one or more first tasks;

determining, based on the two invocation strings, a hash-input string; and

determining the first hash value as a hash of the hash-input string.

12 . The computer-implemented method of claim 11 , wherein determining two invocation strings comprises at least one of:

replacing a pattern occurring in a command line with a corresponding marker string;

removing characters in a predetermined set of characters from the command line;

splitting arguments out of the command line; or

sorting the arguments.

13 . The computer-implemented method of claim 11 , further comprising:

locating, in the corpus of malware samples, the second malware sample having at least one byte sequence or a hash value in common with the first malware sample.

14 . A computer-implemented method, comprising:

detonating a first malware sample based at least in part on context data associated with the first malware sample;

obtaining one or more first event records representing first events detected during detonating the first malware sample;

determining, based on the one or more first event records, a first detectable indicator of a set of detectable indicators associated with the first malware sample;

determining, a first confidence level associated with the first detectable indicator, the first confidence level indicating a degree of occurrence of the first detectable indicator in the set of the detectable indicators; and

transmitting, to a computing device and via a network, the first detectable indicator and the first confidence level, causing the computing device to block a program that exhibits the first detectable indicator based on the first confidence level.

15 . The computer-implemented method of claim 14 , further comprising:

locating, in a corpus of malware samples and based on the one or more first event records, a second malware sample;

detonating the second malware sample based at least in part on context data associated with the second malware sample; and

obtaining one or more second event records representing second events detected during detonating the second malware sample.

16 . The computer-implemented method of claim 15 , the corpus of malware samples includes a plurality of hash values associated with the malware samples, and the method further comprises:

determining a first hash value associated with the first malware sample; and

locating, in the corpus of malware samples, the second malware sample having a corresponding hash value being equal to the first hash value.

17 . The computer-implemented method of claim 15 , further comprising:

determining, based on the one or more first event records, a second detectable indicator of the set of detectable indicator;

determining, a second confidence level associated with the second detectable indicator, the second confidence level indicating a degree of occurrence of the second detectable indicator in the set of the detectable indicators;

determining, based on the one or more second event records, a third detectable indicator of the set of detectable indicator;

determining, a third confidence level associated with the third detectable indicator, the third confidence level indicating a degree of occurrence of the third detectable indicator in the set of the detectable indicators; and

transmitting, to the computing device and via the network, one of the second detectable indicator and the third detectable indicator having a higher confidence level.

18 . The computer-implemented method of claim 14 , further comprising:

generating a detection rule representing the first detectable indicator.

19 . The computer-implemented method of claim 18 , further comprising:

determining a first hash value associated with the first malware sample;

encoding the first hash value to generate encoded first hash value; and

including the encoded first hash value in the detection rule.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2024
From: KURTZ, GEORGE ROBERT; ALPEROVITCH, DMITRI; KULKARNI, AMOL; MILLER, JAN; RADU, DANIEL
To: CROWDSTRIKE, INC.
Reel/Frame 067582/0920 →
Continuity (3)
Continuation 17255958
Provisional Application 62691212 · Jun 28, 2018
Related Publication 20240386109A1 · Nov 21, 2024
References Cited (10)
US 10482239B1 · Liu · 2019 [cited by examiner]
US 20150186645A1 · Aziz et al. · 2015 [cited by applicant]
US 20170249463A1 · Marsden et al. · 2017 [cited by applicant]
US 20180203998A1 · Maisel et al. · 2018 [cited by applicant]
US 20180276371A1 · Haukli · 2018 [cited by examiner]
US 20210117544A1 · Kurtz et al. · 2021 [cited by applicant]
Cho et al, “Malware Similarity Analysis using API Sequence Alignments”, retrieved on Oct. 2, 2019 at <<https:ffpdfs.semanticscholar.org/27b4/b35628cbc286af9c41fd7b51e9813ec409e4.pdf>>, Nov. 1, 2014, 12 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/255,958, mailed on May 23, 2023, George Robert Kurtz, “Analysis of Malware”, 10 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/255,958, mailed on Oct. 5, 2023, George Robert Kurtz, “Analysis of Malware”, 12 pages. [cited by applicant]
PCT Search Report and Written Opinion mailed Oct. 11, 2019 for PCT Application No. PCT/US2019/039839, 12 pages. [cited by applicant]