Patents Assigned to CROWDSTRIKE, INC.
  • Patent number: 11151249
    Abstract: Techniques for searching an inverted index associating byte sequences of a fixed length and files that contain those byte sequences are described herein. Byte sequences comprising a search query are determined and searched in the inverted index. In some examples, the inverted index may be distributed across multiple computers and the search may be performed in parallel. In some examples, a search query may be submitted as expressions comprising query language or regular expressions that are interpreted as search terms, transformed into byte sequences, and searched for in the inverted index. In some examples, an automatic notification request for a search query may be processed and notifications may be sent based on a default or preferred frequency and method.
    Type: Grant
    Filed: December 29, 2017
    Date of Patent: October 19, 2021
    Assignee: CrowdStrike, Inc.
    Inventors: Horea Coroiu, Daniel Radu
  • Patent number: 11086987
    Abstract: Example techniques locate or identify malware based on events from or at monitored computing devices. A control unit can detect a sequence of events of various types. The control unit can locate a loop within the sequence of events based at least in part on relative frequencies of the event types. The control unit can determine a distribution of event types of the events within the loop, and determining that software running the sequence is associated with malware based at least in part on the distribution of event types within the loop. In some examples, the control unit can locate a point of commonality among a plurality of stack traces associated with respective events within the loop. The control unit can determine a malware module comprising the point of commonality.
    Type: Grant
    Filed: December 29, 2017
    Date of Patent: August 10, 2021
    Assignee: CrowdStrike, Inc.
    Inventor: Daniel W. Brown
  • Patent number: 11082404
    Abstract: A service proxy is described herein. The service proxy is configured to act as an intermediary between a client and a service. The service proxy may observe communications, modify communications, log communications, or the like, particularly so as to enhance the security and reliability of the host device. In some implementations, the service proxy may cooperate with an operating system to take over a named port object. In some implementations, the service proxy may receive messages as an intermediary between the client and the server. In some implementations, the service proxy may attach to a shared memory to intercept communications. In some implementations, the service proxy may be injected into a client process to appear to be the client itself.
    Type: Grant
    Filed: July 15, 2019
    Date of Patent: August 3, 2021
    Assignee: CrowdStrike, Inc.
    Inventor: Ion-Alexandru Ionescu
  • Patent number: 11063966
    Abstract: Example techniques herein search a graph data structure and retrieve data associated with a result node or edge. The graph can include nodes and edges between them. A control unit can produce a discrete finite automaton (DFA) based on a query. The control unit can traverse the DFA in conjunction with the graph, from an initial DFA state and an entry-point graph node, to reach a result graph node associated with a DFA triggering state. Traversal can include, e.g., unwinding upon reaching a terminal state of the DFA. Some examples can determine a schema of output data. Some examples can store information associated with nodes while traversing, and discard the information when unwinding traversal. Some examples can process queries including edge types not members of a set of edge types associated with a graph. Some examples can apply traversal-limiting instructions specified in a query.
    Type: Grant
    Filed: May 15, 2018
    Date of Patent: July 13, 2021
    Assignee: CrowdStrike, Inc.
    Inventors: Daniel W. Brown, David F. Diehl
  • Patent number: 11062024
    Abstract: Example techniques herein determine that an event associated with a monitored computing device is associated with a security violation. Terms are extracted from at least two command lines associated with the event. Term representations of the at least two terms are determined based at least in part on a trained representation mapping. Two or more first filter outputs are determined based at least in part on the term representations of terms in a respective first subset of the terms. An indication of whether the event is associated with a security violation is determined at least partly by operating a trained classification computational model (CM) based at least in part on the two or more first filter outputs. Various examples train a word2vec or other x2vec model to provide the representation mapping. Various examples train a CM having convolutional and classification sections to provide the indication.
    Type: Grant
    Filed: November 15, 2018
    Date of Patent: July 13, 2021
    Assignee: CrowdStrike, Inc.
    Inventors: Cory-Khoi Quang Nguyen, John Lee
  • Patent number: 11050764
    Abstract: Cardinality-based activity pattern detection is described herein. Events on a computing system are monitored to detect patterns matching defined activity patterns. A cardinality-based activity pattern query is executed over data representing detected activity patterns to identify multiple, distinct defined activity patterns that have occurred during a particular time period.
    Type: Grant
    Filed: August 23, 2018
    Date of Patent: June 29, 2021
    Assignee: CrowdStrike, Inc.
    Inventors: Brody Nisbet, Andrew Roden, John Lee
  • Patent number: 11017086
    Abstract: A security agent for a host computing device may be implemented with multiple levels of indirection from an operating system (OS) kernel of the computing device in order to facilitate software upgrades for the security agent. An unserviceable kernel-mode component of the security agent may directly interface with the OS kernel and hook into a function (e.g., a security callback function) of the OS kernel in a first level of indirection, while a serviceable kernel-mode component of the security agent, which is upgradable, may indirectly interface with the OS kernel via the unserviceable kernel-mode component in a second level of indirection. The serviceable kernel-mode component may be configured to process events, and/or data related thereto, received from the OS kernel via the unserviceable kernel-mode component in order to monitor activity on the computing device for malware attacks.
    Type: Grant
    Filed: September 29, 2017
    Date of Patent: May 25, 2021
    Assignee: CrowdStrike, Inc.
    Inventors: Cat S. Zimmermann, Steven King
  • Patent number: 10990371
    Abstract: In some examples, a processing unit can install a second driver to an installed-driver backing store on a non-volatile (nonV) memory, and replace a first driver in a driver store of the nonV memory with the second driver without replacing the first driver in the volatile memory with the second driver. The processing unit can, subsequently, determine that the second driver has been loaded into the volatile memory, and write, by the second driver loaded into the volatile memory, a driver-configuration entry in a configuration datastore. An example computing system can include the first driver in volatile memory, and the nonV memory. The nonV memory can include a driver-configuration file, a driver store holding a first copy of the second driver, and an installed-driver backing store holding a second copy of the second driver. Some examples can roll back failed installation operations.
    Type: Grant
    Filed: January 15, 2019
    Date of Patent: April 27, 2021
    Assignee: CrowdStrike, Inc.
    Inventors: Cameron Gutman, Aaron LeMasters, Ion-Alexandru Ionescu
  • Patent number: 10983849
    Abstract: A computer-processor executable container application operates within an operating system, such as an Android operating system. The application is itself configured to execute applications contained within the container application. The container application may create a secure computing environment in which business applications on a computing device can be protected and monitored without affecting or interacting with other applications or data on the computing device. Such a secure computing environment may enable businesses to protect their data residing on a personal computing device and to have visibility into how the data is accessed, used, and shared, while not interfering with personal use of the personal computing device.
    Type: Grant
    Filed: February 28, 2019
    Date of Patent: April 20, 2021
    Assignee: Crowdstrike, Inc.
    Inventors: Vincenzo Iozzo, Giovanni Gola
  • Patent number: 10983995
    Abstract: Example techniques herein search a graph data structure and retrieve data associated with a result node or edge. The graph can include nodes representing, e.g., processes or files, and edges between the nodes. A control unit can produce a discrete finite automaton (DFA) based on a query. The control unit can traverse the DFA in conjunction with the graph, beginning at an initial state of the DFA and an entry-point node of the graph, to reach a result node of the graph associated with a triggering state of the DFA. Traversal can include unwinding upon reaching a terminal state of the DFA, in some examples. The control unit can retrieve data associated with the result node or an edge connected there to, and can provide the data via a communications interface. A data-retrieval system can communicate with a data-storage system via the communications interface, in some examples.
    Type: Grant
    Filed: June 15, 2017
    Date of Patent: April 20, 2021
    Assignee: Crowdstrike, Inc.
    Inventors: Daniel W. Brown, David F. Diehl
  • Publication number: 20210037024
    Abstract: Techniques and systems to provide a more intuitive user overview of events data by mapping unbounded incident scores to a fixed range and aggregating incident scores by different schemes. The system may detect possible malicious incidents associated with events processing on a host device. The events data may be gathered from events detected on the host device. The incident scores for incidents may be determined from the events data. The incident scores may be mapped to bins of a fixed range to highlight the significance of the incident scores. For instance, a first score mapped to a first bin may be insignificant while a second score mapped to a last bin may require urgent review. The incident scores may also be aggregated at different levels (e.g., host device, organization, industry, global, etc.) and at different time intervals to provide insights to the data.
    Type: Application
    Filed: July 30, 2020
    Publication date: February 4, 2021
    Applicant: CrowdStrike, Inc.
    Inventor: Daniel W. Brown
  • Publication number: 20210037028
    Abstract: Techniques and systems to provide a more intuitive user overview of events data by mapping unbounded incident scores to a fixed range and aggregating incident scores by different schemes. The system may detect possible malicious incidents associated with events processing on a host device. The events data may be gathered from events detected on the host device. The incident scores for incidents may be determined from the events data. The incident scores may be mapped to bins of a fixed range to highlight the significance of the incident scores. For instance, a first score mapped to a first bin may be insignificant while a second score mapped to a last bin may require urgent review. The incident scores may also be aggregated at different levels (e.g., host device, organization, industry, global, etc.) and at different time intervals to provide insights to the data.
    Type: Application
    Filed: July 30, 2020
    Publication date: February 4, 2021
    Applicant: CrowdStrike, Inc.
    Inventors: Daniel W. Brown, Sseziwa A. Mukasa
  • Patent number: 10853491
    Abstract: A security agent is described herein. The security agent is configured to observe events, filter the observed events using configurable filters, route the filtered events to one or more event consumers, and utilize the one or more event consumers to take action based at least on one of the filtered events. In some implementations, the security agent detects a first action associated with malicious code, gathers data about the malicious code, and in response to detecting subsequent action(s) of the malicious code, performs a preventative action. The security agent may also deceive an adversary associated with malicious code. Further, the security agent may utilize a model representing chains of execution activities and may take action based on those chains of execution activities.
    Type: Grant
    Filed: June 13, 2018
    Date of Patent: December 1, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: David F. Diehl, Dmitri Alperovitch, Ion-Alexandru Ionescu, George Robert Kurtz
  • Patent number: 10832168
    Abstract: Example techniques described herein 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 processor can locate training analysis regions of training data streams based on predetermined structure data, and determining training model inputs based on the training analysis regions. The processor can determine a computational model based on the training model inputs. The computational model can receive an input vector and provide a corresponding feature vector. The processor can then locate a trial analysis region of a trial data stream based on the predetermined structure data and determine a trial model input. The processor can operate the computational model based on the trial model input to provide a trial feature vector, e.g., a signature. The processor can operate a second computational model to provide a classification based on the signature.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: November 10, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: Sven Krasser, David Elkind, Patrick Crenshaw, Brett Meyer
  • Patent number: 10831712
    Abstract: Drivers in different functional paths can use different types of identifiers for the same hardware device, such that the drivers may not be able to natively coordinate their actions related to the hardware device due to incompatible identifier types. However, a driver at a file system layer of one functional path can obtain a volume Physical Device Object (PDO) identifier at a volume layer and find a disk PDO identifier at a disk layer that is associated with the same device number. The driver can also find a parent device instance identifier from the disk PDO identifier, and use the parent device instance identifier as a plug-and-play (PnP) identifier for the hardware device during communications with a second driver in a PnP functional path.
    Type: Grant
    Filed: May 30, 2018
    Date of Patent: November 10, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: Cameron Gutman, Aaron LeMasters
  • Patent number: 10826934
    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.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: November 3, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: Sven Krasser, David Elkind, Brett Meyer, Patrick Crenshaw
  • Patent number: 10803172
    Abstract: A security agent implemented on a monitored computing device is described herein. The security agent has access to parametric behavioral pattern definitions that, in combination with canonical patterns of behavior, configure the security agent to match observed behavior with known computing behavior that is benign or malignant. This arrangement of the definitions and the pattern of behavior allow the security agent's behavior to be updated by a remote security service without updating a configuration of the security agent. The remote security service can create, modify, and disseminate these definitions and patterns of behavior, giving the security agent real-time ability to respond to new behaviors exhibited by the monitored computing device.
    Type: Grant
    Filed: May 2, 2017
    Date of Patent: October 13, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: David F. Diehl, Daniel W. Brown, Aaron Javon Marks, Kirby Koster, Daniel T. Martin
  • Patent number: 10762202
    Abstract: A security agent executing in kernel mode may receive a request from the anti-malware component executing with low privileges in user mode, and, in response, the security agent may perform a security action with respect to a malicious file detected on the computing device. The security agent may then assist the anti-malware component in providing a user notification about the security action by obtaining, on behalf of the anti-malware component, a user token associated with the user session in which the malicious file was detected. The anti-malware component can use the obtained user token to request a pointer to a Component Object Model (COM) interface for outputting the notification in context of the appropriate user session, which allows for securely and efficiently providing the user notification.
    Type: Grant
    Filed: April 11, 2018
    Date of Patent: September 1, 2020
    Assignee: CrowdStrike, Inc.
    Inventor: Ion-Alexandru Ionescu
  • Patent number: 10740459
    Abstract: Some examples detect malicious activity on a computing device. A processor in kernel mode detects an event on the computing device. The processor provides a validation request on a kernel-level bus. A bidirectional bridge component transmits the request to a user-level bus. The processor in user mode determines that the event is associated with malicious activity and provides a validation response on the user-level bus. The bridge component transmits the validation response to the kernel-level bus. In some examples, the processor in user mode receives security-relevant information from a system service of the computing device, and analyzes the event based at least in part on the security-relevant information. In some examples, the processor in user mode receives a security query, queries the kernel mode via the bridge component, and responds to the security query indicating that the data stream is associated with malware.
    Type: Grant
    Filed: December 28, 2017
    Date of Patent: August 11, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: David F. Diehl, Milos Petrbok, Colin Christopher McCambridge, Aaron Putnam
  • Patent number: 10726128
    Abstract: Example techniques herein determine that a trial data stream is associated with malware (“dirty”) using a local computational model (CM). The data stream can be represented by a feature vector. A control unit can receive a first, dirty feature vector (e.g., a false miss) and determine the local CM based on the first feature vector. The control unit can receive a trial feature vector representing the trial data stream. The control unit can determine that the trial data stream is dirty if a broad CM or the local CM determines that the trial feature vector is dirty. In some examples, the local CM can define a dirty region in a feature space. The control unit can determine the local CM based on the first feature vector and other clean or dirty feature vectors, e.g., a clean feature vector nearest to the first feature vector.
    Type: Grant
    Filed: July 24, 2017
    Date of Patent: July 28, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: Sven Krasser, David Elkind, Patrick Crenshaw, Kirby James Koster