IP Library Granted Patent US 11,811,821
Granted Patent B2
US 11,811,821 · App. 17/087,194 · Granted Nov 7, 2023

Validation-based determination of computational models

Inventors: Sven Krasser (Los Angeles, CA); David Elkind (Arlington, VA); Brett Meyer (Alpharetta, GA); Patrick Crenshaw (Atlanta, GA)
Assignee: CrowdStrike, Inc.
H04L63/145G06F21/56G06N20/00H04L63/1416
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,811,821
App. No.
17/087,194
Granted
Nov 7, 2023
Kind
B2
Abstract

Example techniques described herein determine a validation dataset, determine a computational model using the validation dataset, or determine a signature or classification of a data stream such as a file. The classification can indicate whether the data stream is associated with malware. A processing unit can determine signatures of individual training data streams. The processing unit can determine, based at least in part on the signatures and a predetermined difference criterion, a training set and a validation set of the training data streams. The processing unit can determine a computational model based at least in part on the training set. The processing unit can then operate the computational model based at least in part on a trial data stream to provide a trial model output. Some examples include determining the validation set based at least in part on the training set and the predetermined criterion for difference between data streams.

Claims (82)

1. A method comprising, under control of at least one processing unit:

determining a validation set of data streams from a candidate set of data streams based at least in part on a training set of data streams and on a predetermined difference criterion between an individual data stream of the candidate set and an individual data stream of the training set; and

operating a computational model based at least in part on one or more data streams of the validation set to provide one or more respective model outputs;

determining that the one or more respective model output do not satisfy a predetermined completion criterion; and, in response,

updating the computational model based at least in part on one or more data streams of the training set to provide an updated computational model,

wherein the predetermined difference criterion applies to a first signature associated with the candidate set and a second signature associated with the training set, respectively, and is satisfied by the first signature and the second signature having at least a predetermined threshold difference.

2. The method according to claim 1 , further comprising:

determining respective signatures of at least some data streams of the candidate set;

determining respective signatures of at least some data streams of the training set; and

selecting a first data stream of the candidate set for inclusion in the validation set in response to the respective signature of the first data stream satisfying the predetermined difference criterion with respect to the respective signature of at least one data stream of the training set.

3. The method according to claim 2 , further comprising:

determining a feature vector associated with the first data stream; and

determining the respective signature of the first data stream as a locality-sensitive hash (LSH) of the feature vector.

4. The method according to claim 2 , further comprising selecting the first data stream further based at least in part on the first data stream satisfying the predetermined difference criterion with respect to a majority of the respective signatures of the data streams of the training set.

5. The method according to claim 2 , further comprising:

determining a plurality of partitions of the training set based at least in part on the respective signatures, wherein each partition of the plurality of partitions comprises at least one of the data streams of the training set;

providing individual partitions of the plurality of partitions to respective computing nodes of a plurality of computing nodes via a communications interface communicatively connected with the at least one processing unit;

receiving respective results from individual computing nodes of the plurality of computing nodes; and

updating the computational model based at least in part on the results.

6. The method according to claim 1 , further comprising:

determining respective signatures of at least some data streams of the candidate set;

determining a first subset of the candidate set and a second subset of the candidate set based at least in part on at least some of the respective signatures and on the predetermined difference criterion;

determining the training set comprising the first subset; and

determining the validation set comprising the second subset.

7. The method according to claim 1 , further comprising:

operating the updated computational model based at least in part on at least one trial data stream to provide a trial model output indicating whether the trial data stream is associated with malware.

8. A system comprising:

one or more processors; and

memory communicatively coupled to the one or more processors, the memory storing instructions executable by the one or more processors that, when executed by the one or more processors, cause the system to perform operations including:

determining a validation set of data streams from a candidate set of data streams based at least in part on a training set of data streams and on a predetermined difference criterion between an individual data stream of the candidate set and an individual data stream of the training set; and

operating a computational model based at least in part on one or more data streams of the validation set to provide one or more respective model outputs;

determining that the one or more respective model outputs do not satisfy a predetermined completion criterion; and, in response,

updating the computational model based at least in part on the one or more data streams of the training set to provide an updated computational model,

wherein the predetermined difference criterion applies to a first signature associated with the candidate set and a second signature associated with the training set, respectively, and is satisfied by the first signature and the second signature having at least a predetermined threshold difference.

9. The system according to claim 8 , wherein:

the instructions, when executed by the one or more processors, cause the system to perform operations further including:

determining respective signatures of at least some data streams of the candidate set;

determining respective signatures of at least some data streams of the training set; and

selecting a first data stream of the candidate set for inclusion in the validation set in response to the respective signature of the first data stream satisfying the predetermined difference criterion with respect to the respective signature of at least one data stream of the training set.

10. The system according to claim 9 , wherein the instructions, when executed by the one or more processors, cause the system to perform operations further including:

determining a feature vector associated with the first data stream; and

determining the respective signature of the first data stream as a locality-sensitive hash (LSH) of the feature vector.

11. The system according to claim 9 , wherein the instructions, when executed by the one or more processors, cause the system to perform operations further including:

selecting the first data stream further based at least in part on the first data stream satisfying the predetermined difference criterion with respect to a majority of the respective signatures of the data streams of the training set.

12. The system according to claim 9 , wherein the instructions, when executed by the one or more processors, cause the system to perform operations further including:

determining a plurality of partitions of the training set based at least in part on the respective signatures, wherein each partition of the plurality of partitions comprises at least one of the data streams of the training set;

providing individual partitions of the plurality of partitions to respective computing nodes of a plurality of computing nodes via a communications interface communicatively connected with the at least one processing unit;

receiving respective results from individual computing nodes of the plurality of computing nodes; and

updating the computational model based at least in part on the results.

13. The system according to claim 8 , wherein the instructions, when executed by the one or more processors, cause the system to perform operations further including:

determining respective signatures of at least some data streams of the candidate set;

determining a first subset of the candidate set and a second subset of the candidate set based at least in part on at least some of the respective signatures and on the predetermined difference criterion;

determining the training set comprising the first subset; and

determining the validation set comprising the second subset.

14. The system according to claim 8 , wherein the instructions, when executed by the one or more processors, cause the system to perform operations further including:

operating the updated computational model based at least in part on at least one trial data stream to provide a trial model output indicating whether the trial data stream is associated with malware.

15. A non-transitory computer-readable storage medium storing computer-readable instructions executable by one or more processors, that when executed by the one or more processors, cause the one or more processors to perform operations comprising:

determining a validation set of data streams from a candidate set of data streams based at least in part on a training set of data streams and on a predetermined difference criterion between an individual data stream of the candidate set and an individual data stream of the training set; and

operating a computational model based at least in part on one or more data streams of the validation set to provide one or more respective model outputs;

determining that the one or more respective model outputs do not satisfy a predetermined completion criterion; and, in response,

updating the computational model based at least in part on one or more data streams of the training set to provide an updated computational model,

wherein the predetermined difference criterion applies to a first signature associated with the candidate set and a second signature associated with the training set, respectively, and is satisfied by the first signature and the second signature having at least a predetermined threshold difference.

16. The non-transitory computer-readable storage medium according to claim 15 , wherein:

the instructions, when executed by the one or more processors, cause the one or more processors to perform operations further including:

determining respective signatures of at least some data streams of the candidate set;

determining respective signatures of at least some data streams of the training set; and

selecting a first data stream of the candidate set for inclusion in the validation set in response to the respective signature of the first data stream satisfying the predetermined difference criterion with respect to the respective signature of at least one data stream of the training set.

17. The non-transitory computer-readable storage medium according to claim 16 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform operations further including:

determining a feature vector associated with the first data stream; and

determining the respective signature of the first data stream as a locality-sensitive hash (LSH) of the feature vector.

18. The non-transitory computer-readable storage medium according to claim 16 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform operations further including:

selecting the first data stream further based at least in part on the first data stream satisfying the predetermined difference criterion with respect to a majority of the respective signatures of the data streams of the training set.

19. The non-transitory computer-readable storage medium according to claim 16 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform operations further including:

determining a plurality of partitions of the training set based at least in part on the respective signatures, wherein each partition of the plurality of partitions comprises at least one of the data streams of the training set;

providing individual partitions of the plurality of partitions to respective computing nodes of a plurality of computing nodes via a communications interface communicatively connected with the at least one processing unit;

receiving respective results from individual computing nodes of the plurality of computing nodes; and

updating the computational model based at least in part on the results.

20. The non-transitory computer-readable storage medium according to claim 15 , wherein the instructions, when executed by the one or more processors, cause the one or more processors to perform operations further including:

determining respective signatures of at least some data streams of the candidate set;

determining a first subset of the candidate set and a second subset of the candidate set based at least in part on at least some of the respective signatures and on the predetermined difference criterion;

determining the training set comprising the first subset; and

determining the validation set comprising the second subset.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2026
From: FIRST-CITIZENS BANK & TRUST COMPANY
To: CROWDSTRIKE HOLDINGS, INC.; CROWDSTRIKE, INC.
Reel/Frame 074202/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2021
From: KRASSER, SVEN; ELKIND, DAVID; MEYER, BRETT; CRENSHAW, PATRICK
To: CROWDSTRIKE, INC.
Reel/Frame 055776/0421 →
PATENT SECURITY AGREEMENT Recorded Jan 5, 2021
From: CROWDSTRIKE HOLDINGS, INC.; CROWDSTRIKE, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 054899/0848 →
Continuity (2)
Division 15402503 · Jan 10, 2017
Related Publication 20210075798A1 · Mar 11, 2021