Patents Assigned to CROWDSTRIKE, INC.
  • Patent number: 10713356
    Abstract: Deception-based techniques for responding to security attacks are described herein. The techniques include transitioning a security attack to a monitored computing device posing as a computing device impacted by the security attack and enabling the adversary to obtain deceptive information from the monitored computing device. Also, the adversary may obtain a document configured to report identifying information of an entity opening the document, thereby identifying the adversary associated with the attack. Further, the techniques include determining that a domain specified in a domain name request is associated with malicious activity and responding to the request with a network address of a monitored computing device to cause the requesting process to communicate with the monitored computing device in place of an adversary server. Additionally, a service may monitor dormant domains names associated with malicious activity and, in response to a change, respond with an alert or a configuration update.
    Type: Grant
    Filed: March 4, 2013
    Date of Patent: July 14, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: Adam S. Meyers, Dmitri Alperovitch, George Robert Kurtz, David F. Diehl, Sven Krasser
  • Patent number: 10685111
    Abstract: A security agent implemented on a computing device is described herein. The security agent is configured to detect file-modifying malware by detecting that a process is traversing a directory of the memory of the computing device and detecting that the process is accessing files in the memory according to specified file access patterns. The security agent can also be configured to correlate actions of multiple processes that correspond to a specified file access pattern and detect that one or more of the multiple processes are malware by correlating their behavior.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: June 16, 2020
    Assignee: CrowdStrike, Inc.
    Inventor: Daniel W. Brown
  • Patent number: 10664262
    Abstract: A remote security system may generate multiple different binary programs for corresponding operating system (OS) kernel versions that are to receive a software upgrade. A suppression process may then compare code in the code sections between pairs of binary programs, and may also compare the data in the data sections between the pairs of binary programs to identify subsets of “identical” binaries. The remote security system may send a representative binary (while suppressing the remaining binaries in a subset of identical binaries) to host computing devices that run different OS kernel versions. On the receiving end, a host computing device that runs a particular OS kernel version may receive a binary program, and prior to loading the binary program, modify the binary program to render the binary loadable by (or compatible with) the particular OS kernel version running on the host computing device.
    Type: Grant
    Filed: August 29, 2017
    Date of Patent: May 26, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: Cat S. Zimmermann, Steven King
  • Patent number: 10659432
    Abstract: A computing device can install and execute a kernel-level security agent that interacts with a remote security system as part of a detection loop aimed at defeating malware attacks. The kernel-level security agent can be installed with a firewall policy that can be remotely enabled by the remote security system in order to “contain” the computing device. Accordingly, when the computing device is being used, and a malware attack is detected on the computing device, the remote security system can send an instruction to contain the computing device, which causes the implementation, by an operating system (e.g., a Mac™ operating system) of the computing device, of the firewall policy accessible to the kernel-level security agent. Upon implementation and enforcement of the firewall policy, outgoing data packets from, and incoming data packets to, the computing device that would have been allowed prior to the implementation of the firewall policy are denied.
    Type: Grant
    Filed: July 6, 2017
    Date of Patent: May 19, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: Paul Meyer, Cameron Gutman, John R. Kooker
  • Patent number: 10635806
    Abstract: A security agent can implement a least recently used (LRU)-based approach to suppressing events observed on a computing device. The security agent may observe events that occur on a computing device. These observed events may then be inserted into a LRU table that tracks, for a subset of the observed events maintained in the LRU table, a rate-based statistic for multiple event groups in which the subset of the observed events are classified. In response to a value of the rate-based statistic for a particular event group satisfying a threshold for the LRU-table, observed events that are classified in the event group can be sent to a remote security system with suppression by refraining from sending, to the remote security system, at least some of the observed events in the event group. The security agent may cease suppression after the rate-based statistic falls below a predetermined threshold level.
    Type: Grant
    Filed: May 4, 2017
    Date of Patent: April 28, 2020
    Assignee: CrowdStrike, Inc.
    Inventor: Daniel W. Brown
  • Patent number: 10546127
    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, and an intersection of the results is determined and returned as a response to the search query. Further, search queries in the form of expressions including search terms and logical operators are searched in the inverted index and evaluated using a syntax tree constructed based on the logical operators. Also, byte sequences comprising a file are searched in the inverted index and results of the search are used to generate signatures and fuzzy hashes.
    Type: Grant
    Filed: January 18, 2019
    Date of Patent: January 28, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: Horea Coroiu, Daniel Radu
  • Patent number: 10482246
    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, and an intersection of the results is determined and returned as a response to the search query. Further, search queries in the form of expressions including search terms and logical operators are searched in the inverted index and evaluated using a syntax tree constructed based on the logical operators. Also, byte sequences comprising a file are searched in the inverted index and results of the search are used to generate signatures and fuzzy hashes.
    Type: Grant
    Filed: January 18, 2019
    Date of Patent: November 19, 2019
    Assignee: CrowdStrike, Inc.
    Inventors: Horea Coroiu, Daniel Radu
  • Patent number: 10430585
    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, and an intersection of the results is determined and returned as a response to the search query. Further, search queries in the form of expressions including search terms and logical operators are searched in the inverted index and evaluated using a syntax tree constructed based on the logical operators. Also, byte sequences comprising a file are searched in the inverted index and results of the search are used to generate signatures and fuzzy hashes.
    Type: Grant
    Filed: January 6, 2017
    Date of Patent: October 1, 2019
    Assignee: CrowdStrike, Inc.
    Inventors: Horea Coroiu, Daniel Radu
  • Patent number: 10409980
    Abstract: A situational model representing of a state of a monitored device is described herein. The situational model is constructed with the security-relevant information in substantially real-time as execution activities of the monitored device associated with the security-relevant information are observed. The represented state may include a current state and a past state of the monitored device. Also, the situational model may be used to validate state information associated events occurring on the monitored device. Further, a remote security service may configure the monitored device, including configuring the situational model, and may build an additional situational model representing a state of a group of monitored devices.
    Type: Grant
    Filed: December 27, 2012
    Date of Patent: September 10, 2019
    Assignee: CrowdStrike, Inc.
    Inventor: David F. Diehl
  • Publication number: 20190268355
    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: Application
    Filed: August 23, 2018
    Publication date: August 29, 2019
    Applicant: CrowdStrike, Inc.
    Inventors: Brody Nisbet, Andrew Roden, John Lee
  • Publication number: 20190266141
    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, training data for training machine learning model(s) may be created using pre-featured data from the inverted index. In various examples, training data may be used to retrain a ML model until the ML model meets a criterion. In some examples, the trained ML model may be used to perform searches on the inverted index and classify files.
    Type: Application
    Filed: May 14, 2019
    Publication date: August 29, 2019
    Applicant: CrowdStrike, Inc.
    Inventors: Horea Coroiu, Daniel Radu, Marian Radu
  • Patent number: 10395030
    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, and an intersection of the results is determined and returned as a response to the search query. Further, search queries in the form of expressions including search terms and logical operators are searched in the inverted index and evaluated using a syntax tree constructed based on the logical operators. Also, byte sequences comprising a file are searched in the inverted index and results of the search are used to generate signatures and fuzzy hashes.
    Type: Grant
    Filed: January 18, 2019
    Date of Patent: August 27, 2019
    Assignee: CrowdStrike, Inc.
    Inventors: Horea Coroiu, Daniel Radu
  • Patent number: 10387228
    Abstract: A symmetric, cross-platform, bridge component is described herein. The bridge component creates an interface (through a set of application programming interfaces (APIs)) to enable the sending of data between a pair of components, called “endpoints,” a first endpoint component of the pair being executed in a kernel mode of a computing device, and a second endpoint component of the pair being executed in a user mode of the computing device. A process for sending data between a kernel-level endpoint component and a user-level endpoint component executing on a computing device involves opening a communications port, setting the communications port to a connected state, and sending a message containing the data via the communications port. Data may be transmitted in this manner between the user mode and the kernel mode of the computing device in either direction.
    Type: Grant
    Filed: February 21, 2017
    Date of Patent: August 20, 2019
    Assignee: CrowdStrike, Inc.
    Inventors: Milos Petrbok, Colin Christopher McCambridge
  • Patent number: 10356047
    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: December 5, 2013
    Date of Patent: July 16, 2019
    Assignee: CrowdStrike, Inc.
    Inventor: Ion-Alexandru Ionescu
  • Patent number: 10339316
    Abstract: Techniques utilizing library and pre-boot components to ensure that a driver associated with a kernel-mode component is initialized before other drivers during a boot phase are described herein. The library component is processed during a boot phase; the pre-boot component, which may be an alternative to the library component, is processed during a pre-boot phase. By ensuring that the driver is the first driver initialized, the components enable the driver to launch the kernel-mode component before other drivers are initialized. The library component may also determine whether another driver is to be initialized before the kernel-mode component driver, may ensure that kernel-mode component driver is initialized first, and may alert the kernel-mode component. Also, the library component may retrieve information that is to be deleted by the operating system before initialization of drivers and may provide that information to the kernel-mode component.
    Type: Grant
    Filed: July 28, 2015
    Date of Patent: July 2, 2019
    Assignee: CrowdStrike, Inc.
    Inventor: Ion-Alexandru Ionescu
  • Patent number: 10331881
    Abstract: Techniques are described herein for loading a user-mode component of a security agent based on an asynchronous procedure call (APC) built by a kernel-mode component of the security agent. The APC is executed while a process loads, causing the process to load the user-mode component. The user-mode component then identifies slack space of the process, stores instructions in the slack space, and hooks function(s) of the process, including modifying instruction(s) of the function(s) to call the instructions stored in the slack space. When those modified instruction(s) call the stored instructions, the stored instructions invoke the user-mode component, which receives data from the hooked function(s). Also, the security agent may bypass a control-flow protection mechanism of the operating system by setting a pointer of the control-flow protection mechanism to point to an alternate verification function.
    Type: Grant
    Filed: March 22, 2016
    Date of Patent: June 25, 2019
    Assignee: CrowdStrike, Inc.
    Inventors: Ion-Alexandru Ionescu, Loren C. Robinson
  • Patent number: 10289405
    Abstract: Techniques are described herein for, without rebooting a computing device, unloading at least a component of a kernel-mode component of the computing device and loading an updated version of the component of the kernel-mode component. The techniques may be performed by an integrity manager associated with the kernel-mode component. The integrity manager may also determine integrity of the kernel-mode component by causing the kernel-mode component to perform an action associated with a known reaction, determining whether the known reaction occurred, and in response, performing a remediation action or notifying a remote security service. Further, the integrity manager may determine whether any computing device lists include representations of components or connections associated with the kernel-mode component. The integrity manager may then remove the representations from the lists or remove the representations from responses to requests for contents of the computing device lists.
    Type: Grant
    Filed: March 20, 2014
    Date of Patent: May 14, 2019
    Assignee: CrowdStrike, Inc.
    Inventor: Ion-Alexandru Ionescu
  • Patent number: 10243972
    Abstract: A security agent implemented on a monitored computing device is described herein. The security agent is configured to receive an event notification indicative of execution of an object and store, in a data structure on the monitored computing device, information associated with the event notification and the object. The security agent is further configured to receive an event notification indicative of an occurrence on the monitored computing device of an activity. Based at least in part on the stored information, the security agent correlates the occurrence of the activity with the execution of the object and generates an exploit detection event based on the correlating.
    Type: Grant
    Filed: April 11, 2016
    Date of Patent: March 26, 2019
    Assignee: CrowdStrike, Inc.
    Inventor: Daniel W. Brown
  • Patent number: 10216934
    Abstract: A security agent implemented on a monitored computing device is described herein. The security agent is configured to detect an action of interest (AoI) that may be probative of a security exploit and to determine a context in which that AoI occurred. Based on that context, the security agent is further configured to decide whether the AoI is a security exploit and can take preventative action to prevent the exploit from being completed.
    Type: Grant
    Filed: July 18, 2016
    Date of Patent: February 26, 2019
    Assignee: CrowdStrike, Inc.
    Inventors: Daniel W. Brown, Ion-Alexandru Ionescu, Loren C. Robinson
  • Patent number: 10191789
    Abstract: A security agent implemented on a monitored computing device is described herein. The security agent is configured to receive one or more event notifications respectively associated with one or more kernel-mode events. Based on the one or more event notifications, the security agent determines that the one or more kernel-mode events are associated with user-mode processing of a request message by a RPC-utilizing process of the monitored computing device. The security agent then retrieves the request message based on information included in one or more RPC data structures and based on the one or more event notifications and identifies an originator of the request message based on metadata of the request message.
    Type: Grant
    Filed: August 18, 2016
    Date of Patent: January 29, 2019
    Assignee: CrowdStrike, Inc.
    Inventors: Ion-Alexandru Ionescu, Timo Kreuzer, Aaron LeMasters