Patents by Inventor Derek A. Soeder

Derek A. Soeder has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20200204575
    Abstract: Systems, methods, and articles of manufacture, including computer program products, are provided for classification systems and methods using modeling. In some example embodiments, there is provided a system that includes at least one processor and at least one memory including program code which when executed by the at least one memory provides operations. The operations can include generating a representation of a sequence of sections of a file and/or determining, from a model including conditional probabilities, a probability for each transition between at least two sequential sections in the representation. The operations can further include classifying the file based on the probabilities for each transition.
    Type: Application
    Filed: February 28, 2020
    Publication date: June 25, 2020
    Inventors: Jian Luan, Derek A. Soeder
  • Patent number: 10691799
    Abstract: Using a recurrent neural network (RNN) that has been trained to a satisfactory level of performance, highly discriminative features can be extracted by running a sample through the RNN, and then extracting a final hidden state hh where i is the number of instructions of the sample. This resulting feature vector may then be concatenated with the other hand-engineered features, and a larger classifier may then be trained on hand-engineered as well as automatically determined features. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: April 15, 2016
    Date of Patent: June 23, 2020
    Assignee: Cylance Inc.
    Inventors: Andrew Davis, Matthew Wolff, Derek A. Soeder, Glenn Chisholm
  • Patent number: 10685112
    Abstract: In some implementations there may be provided a system. The system may include a processor and a memory. The memory may include program code which causes operations when executed by the processor. The operations may include analyzing a series of events contained in received data. The series of events may include events that occur during the execution of a data object. The series of events may be analyzed to at least extract, from the series of events, subsequences of events. A machine learning model may determine a classification for the received data. The machine learning model may classify the received data based at least on whether the subsequences of events are malicious. The classification indicative of whether the received data is malicious may be provided. Related methods and articles of manufacture, including computer program products, are also disclosed.
    Type: Grant
    Filed: May 5, 2017
    Date of Patent: June 16, 2020
    Assignee: Cylance Inc.
    Inventors: Xuan Zhao, Aditya Kapoor, Matthew Wolff, Andrew Davis, Derek Soeder, Ryan Permeh
  • Patent number: 10664597
    Abstract: Identifying shellcode in a sequence of instructions by identifying a first instruction, the first instruction identifying a first bound of a sequence of instructions, identifying a second instruction, the second instruction identifying a second bound of the sequence of instructions, and generating a distribution for the sequence of instructions, bounded by the first instruction and the second instructions, the distribution indicative of whether the sequence of instructions is likely to include shellcode.
    Type: Grant
    Filed: July 10, 2019
    Date of Patent: May 26, 2020
    Assignee: Cylance Inc.
    Inventors: Mahdi Azarafrooz, Derek A. Soeder
  • Patent number: 10652252
    Abstract: Systems, methods, and articles of manufacture, including computer program products, are provided for classification systems and methods using modeling. In some example embodiments, there is provided a system that includes at least one processor and at least one memory including program code which when executed by the at least one memory provides operations. The operations can include generating a representation of a sequence of sections of a file and/or determining, from a model including conditional probabilities, a probability for each transition between at least two sequential sections in the representation. The operations can further include classifying the file based on the probabilities for each transition.
    Type: Grant
    Filed: September 26, 2017
    Date of Patent: May 12, 2020
    Assignee: Cylance Inc.
    Inventors: Jian Luan, Derek Soeder
  • Patent number: 10649877
    Abstract: An agent inserts one or more hooks into a sub-execution runtime environment that is configured to include a script and/or targeted to include the script. The agent including the one or more hooks monitors a behavior of the sub-execution runtime environment and/or the script. The agent subsequently obtains context information regarding the sub-execution runtime environment and/or the script so that it can control the runtime of at least the sub-execution runtime environment. Related systems, methods, and articles of manufacture are also disclosed.
    Type: Grant
    Filed: November 29, 2018
    Date of Patent: May 12, 2020
    Assignee: Cylance Inc.
    Inventor: Derek A. Soeder
  • Patent number: 10635814
    Abstract: In one respect, there is provided a system for training a neural network adapted for classifying one or more scripts. The system may include at least one processor and at least one memory. The memory may include program code which when executed by the at least one memory provides operations including: receiving a disassembled binary file that includes a plurality of instructions; processing the disassembled binary file with a convolutional neural network configured to detect a presence of one or more sequences of instructions amongst the plurality of instructions and determine a classification for the disassembled binary file based at least in part on the presence of the one or more sequences of instructions; and providing, as an output, the classification of the disassembled binary file. Related computer-implemented methods are also disclosed.
    Type: Grant
    Filed: November 7, 2018
    Date of Patent: April 28, 2020
    Assignee: Cylance Inc.
    Inventors: Andrew Davis, Matthew Wolff, Derek A. Soeder, Glenn Chisholm, Ryan Permeh
  • Patent number: 10635415
    Abstract: The present disclosure involves systems and computer-implemented methods for installing software hooks. One process includes identifying a target method and a hook code, where the hook code is to execute instead of at least a portion of the target method, and wherein the target method and the hook code are executed within a managed code environment. A compiled version of the target method and a compiled version of the hook code are located in memory, where the compiled versions of the target method and the hook code are compiled in native code. Then, the compiled version of the target method is modified to direct execution of at least a portion of the compiled version of the target method to the compiled version of the hook code. The non-compiled version of the target method may be originally stored as bytecode. The managed code environment may comprise a managed .NET environment.
    Type: Grant
    Filed: August 25, 2015
    Date of Patent: April 28, 2020
    Assignee: Cylance Inc.
    Inventor: Derek A. Soeder
  • Patent number: 10637874
    Abstract: In one respect, there is provided a system for training a machine learning model to detect malicious container files. The system may include at least one processor and at least one memory. The memory may include program code which when executed by the at least one processor provides operations including: processing a container file with a trained machine learning model, wherein the trained machine learning is trained to determine a classification for the container file indicative of whether the container file includes at least one file rendering the container file malicious; and providing, as an output by the trained machine learning model, an indication of whether the container file includes the at least one file rendering the container file malicious. Related methods and articles of manufacture, including computer program products, are also disclosed.
    Type: Grant
    Filed: November 7, 2016
    Date of Patent: April 28, 2020
    Assignee: Cylance Inc.
    Inventors: Xuan Zhao, Matthew Wolff, John Brock, Brian Wallace, Andrew Wortman, Jian Luan, Mahdi Azarafrooz, Andrew Davis, Michael Wojnowicz, Derek Soeder, David Beveridge, Yaroslav Oliinyk, Ryan Permeh
  • Publication number: 20200057853
    Abstract: In one respect, there is provided a system for training a machine learning model to detect malicious container files. The system may include at least one processor and at least one memory. The at least one memory may include program code that provides operations when executed by the at least one processor. The operations may include: training, based on a training data, a machine learning model to enable the machine learning model to determine whether at least one container file includes at least one file rendering the at least one container file malicious; and providing the trained machine learning model to enable the determination of whether the at least one container file includes at least one file rendering the at least one container file malicious. Related methods and articles of manufacture, including computer program products, are also disclosed.
    Type: Application
    Filed: October 24, 2019
    Publication date: February 20, 2020
    Inventors: Xuan Zhao, Matthew Wolff, John Brock, Brian Wallace, Andy Wortman, Jian Luan, Mahdi Azarafrooz, Andrew Davis, Michael Wojnowicz, Derek Soeder, David Beveridge, Yaroslav Oliinyk, Ryan Permeh
  • Patent number: 10558804
    Abstract: Using a recurrent neural network (RNN) that has been trained to a satisfactory level of performance, highly discriminative features can be extracted by running a sample through the RNN, and then extracting a final hidden state hi, where i is the number of instructions of the sample. This resulting feature vector may then be concatenated with the other hand-engineered features, and a larger classifier may then be trained on hand-engineered as well as automatically determined features. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: August 12, 2016
    Date of Patent: February 11, 2020
    Assignee: Cylance Inc.
    Inventors: Andrew Davis, Matthew Wolff, Derek A. Soeder, Glenn Chisholm, Ryan Permeh
  • Patent number: 10503901
    Abstract: In one respect, there is provided a system for training a machine learning model to detect malicious container files. The system may include at least one processor and at least one memory. The at least one memory may include program code that provides operations when executed by the at least one processor. The operations may include: training, based on a training data, a machine learning model to enable the machine learning model to determine whether at least one container file includes at least one file rendering the at least one container file malicious; and providing the trained machine learning model to enable the determination of whether the at least one container file includes at least one file rendering the at least one container file malicious. Related methods and articles of manufacture, including computer program products, are also disclosed.
    Type: Grant
    Filed: November 7, 2016
    Date of Patent: December 10, 2019
    Assignee: Cylance Inc.
    Inventors: Xuan Zhao, Matthew Wolff, John Brock, Brian Wallace, Andy Wortman, Jian Luan, Mahdi Azarafrooz, Andrew Davis, Michael Wojnowicz, Derek Soeder, David Beveridge, Yaroslav Oliinyk, Ryan Permeh
  • Patent number: 10482248
    Abstract: Identifying shellcode in a sequence of instructions by identifying a first instruction, the first instruction identifying a first bound of a sequence of instructions, identifying a second instruction, the second instruction identifying a second bound of the sequence of instructions, and generating a distribution for the sequence of instructions, bounded by the first instruction and the second instructions, the distribution indicative of whether the sequence of instructions is likely to include shellcode.
    Type: Grant
    Filed: November 7, 2017
    Date of Patent: November 19, 2019
    Assignee: Cylance Inc.
    Inventors: Mahdi Azarafrooz, Derek A. Soeder
  • Publication number: 20190332772
    Abstract: Identifying shellcode in a sequence of instructions by identifying a first instruction, the first instruction identifying a first bound of a sequence of instructions, identifying a second instruction, the second instruction identifying a second bound of the sequence of instructions, and generating a distribution for the sequence of instructions, bounded by the first instruction and the second instructions, the distribution indicative of whether the sequence of instructions is likely to include shellcode.
    Type: Application
    Filed: July 10, 2019
    Publication date: October 31, 2019
    Inventors: Mahdi Azarafrooz, Derek A. Soeder
  • Publication number: 20190311135
    Abstract: A nested file having a primary file and at least one secondary file embedded therein is parsed using at least one parser of a cell. The cell assigns a maliciousness score to each of the parsed primary file and each of the parsed at least one secondary file. Thereafter, the cell generates an overall maliciousness score for the nested file that indicates a level of confidence that the nested file contains malicious content. The overall maliciousness score is provided to a data consumer indicating whether to proceed with consuming the data contained within the nested file.
    Type: Application
    Filed: June 21, 2019
    Publication date: October 10, 2019
    Inventors: Eric Petersen, Derek A. Soeder
  • Publication number: 20190278690
    Abstract: Data is received or accessed that includes a structured file encapsulating data required by an execution environment to manage executable code wrapped within the structured file. Thereafter, code and data regions are iteratively identified in the structured file. Such identification is analyzed so that at least one feature can be extracted from the structured file. Related apparatus, systems, techniques and articles are also described.
    Type: Application
    Filed: May 28, 2019
    Publication date: September 12, 2019
    Inventors: Derek A. Soeder, Ryan Permeh, Gary Golomb, Matthew Wolff
  • Patent number: 10409996
    Abstract: A nested file having a primary file and at least one secondary file embedded therein is parsed using at least one parser of a cell. The cell assigns a maliciousness score to each of the parsed primary file and each of the parsed at least one secondary file. Thereafter, the cell generates an overall maliciousness score for the nested file that indicates a level of confidence that the nested file contains malicious content. The overall maliciousness score is provided to a data consumer indicating whether to proceed with consuming the data contained within the nested file.
    Type: Grant
    Filed: June 5, 2017
    Date of Patent: September 10, 2019
    Assignee: Cylance Inc.
    Inventors: Eric Petersen, Derek A. Soeder
  • Patent number: 10394686
    Abstract: Data is received or accessed that includes a structured file encapsulating data required by an execution environment to manage executable code wrapped within the structured file. Thereafter, code and data regions are iteratively identified in the structured file. Such identification is analyzed so that at least one feature can be extracted from the structured file. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: February 6, 2018
    Date of Patent: August 27, 2019
    Assignee: Cylance Inc.
    Inventors: Derek A. Soeder, Ryan Permeh, Gary Golomb, Matthew Wolff
  • Patent number: 10339305
    Abstract: In one aspect there is provided a method. The method may include: determining that an executable implements a sub-execution environment, the sub-execution environment being configured to receive an input, and the input triggering at least one event at the sub-execution environment; intercepting the event at the sub-execution environment; and applying a security policy to the intercepted event, the applying of the policy comprises blocking the event, when the event is determined to be a prohibited event. Systems and articles of manufacture, including computer program products, are also provided.
    Type: Grant
    Filed: February 24, 2017
    Date of Patent: July 2, 2019
    Assignee: Cylance Inc.
    Inventors: Ryan Permeh, Derek Soeder, Matthew Wolff, Ming Jin, Xuan Zhao
  • Publication number: 20190188381
    Abstract: In some implementations there may be provided a system. The system may include a processor and a memory. The memory may include program code which causes operations when executed by the processor. The operations may include analyzing a series of events contained in received data. The series of events may include events that occur during the execution of a data object. The series of events may be analyzed to at least extract, from the series of events, subsequences of events. A machine learning model may determine a classification for the received data. The machine learning model may classify the received data based at least on whether the subsequences of events are malicious. The classification indicative of whether the received data is malicious may be provided. Related methods and articles of manufacture, including computer program products, are also disclosed.
    Type: Application
    Filed: May 5, 2017
    Publication date: June 20, 2019
    Inventors: Xuan Zhao, Aditya Kapoor, Matthew Wolff, Andrew Davis, Derek Soeder, Ryan Permeh