Automated creation of lightweight behavioral indicators of compromise (IOCS)

US11451561B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11451561-B2
Application numberUS-201816131146-A
CountryUS
Kind codeB2
Filing dateSep 14, 2018
Priority dateSep 14, 2018
Publication dateSep 20, 2022
Grant dateSep 20, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one embodiment, a device obtains execution records regarding executions of a plurality of binaries. The execution records comprise command line arguments used during the execution. The device determines measures of similarity between the executions of the binaries based on their command line arguments. The device clusters the executions into clusters based on the determined measures of similarity. The device flags the command line arguments for a particular one of the clusters as an indicator of compromise for malware, based on at least one of the binaries associated with the particular cluster being malware.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, by a device, execution records regarding executions of a plurality of binaries from one or more monitoring agents that capture the execution records, the one or more monitoring agents being executed by one or more clients at which the binaries are executed, wherein the execution records comprise command line arguments used during the executions of the plurality of binaries; determining, by the device, measures of similarity between the executions of the binaries based on their command line arguments; clustering, by the device, the executions into clusters based on the determined measures of similarity; and flagging, by the device, the command line arguments for a particular one of the clusters as an indicator of compromise for malware, based on at least one of the binaries associated with the particular cluster being malware that uses the same command line arguments as at least a portion of the flagged command line arguments. 2. The method as in claim 1 , further comprising: providing, by the device and via a network, data regarding the indicator of compromise to a monitoring agent executed by a client, wherein the monitoring agent uses the indicator of compromise to detect malware on the client. 3. The method as in claim 1 , wherein determining the measures of similarity between the executions of the binaries comprises: assigning term frequency-inverse document frequency scores to the command line arguments. 4. The method as in claim 1 , wherein clustering, by the device, the executions into clusters based on the determined measures of similarity comprises: applying parallel label propagation to the command line arguments, to perform graph clustering on the command line arguments. 5. The method as in claim 1 , wherein flagging the command line arguments for a particular one of the clusters as an indicator of compromise for a type of malware comprises: filtering out at least one of the clusters based on the filtered cluster being associated with a benign binary or a binary with high prevalence of execution by a set of clients. 6. The method as in claim 1 , wherein flagging the command line arguments for a particular one of the clusters as an indicator of compromise for a type of malware comprises: selecting the particular cluster for the flagging, based on the number of unique binaries associated with the particular cluster. 7. The method as in claim 1 , wherein flagging the command line arguments for a particular one of the clusters as an indicator of compromise for a type of malware comprises: selecting the particular cluster for the flagging, based on the particular cluster being associated with a high-risk malware. 8. The method as in claim 1 , further comprising: preventing, by the device, use of the indicator of compromise for detection of malware, when the indicator of compromise triggers a threshold amount of binaries to be deemed as malware. 9. An apparatus, comprising: one or more network interfaces to communicate with a network; a processor coupled to the network interfaces and configured to execute one or more processes; and a memory configured to store a process executable by the processor, the process when executed configured to: receive execution records regarding executions of a plurality of binaries from one or more monitoring agents that capture the execution records, the one or more monitoring agents being executed by one or more clients at which the binaries are executed, wherein the execution records comprise command line arguments used during the executions of the plurality of binaries; determine measures of similarity between the executions of the binaries based on their command line arguments used by the plurality of binaries during execution; cluster the executions into clusters based on the determined measures of similarity; and flag the command line arguments for a particular one of the clusters as an indicator of compromise for malware, based on at least one of the binaries associated with the particular cluster being malware that uses the same command line arguments as at least a portion of the flagged command line arguments. 10. The apparatus as in claim 9 , wherein the process when executed is further configured to: provide, via a network, data regarding the indicator of compromise to a monitoring agent executed by a client, wherein the monitoring agent uses the indicator of compromise to detect malware on the client. 11. The apparatus as in claim 9 , wherein the apparatus determines the measures of similarity between the executions of the binaries by: assigning term frequency-inverse document frequency scores to the command line arguments. 12. The apparatus as in claim 9 , wherein the apparatus clusters the executions into clusters based on the determined measures of similarity by: applying parallel label propagation to the command line arguments, to perform graph clustering on the command line arguments. 13. The apparatus as in claim 9 , wherein the apparatus flags the command line arguments for a particular one of the clusters as an indicator of compromise for a type of malware by: filtering out at least one of the clusters based on the filtered cluster being associated with a benign binary or a binary with high prevalence of execution by a set of clients. 14. The apparatus as in claim 9 , wherein the apparatus flags the command line arguments for a particular one of the clusters as an indicator of compromise for a type of malware by: selecting the particular cluster for the flagging, based on the number of unique binaries associated with the particular cluster. 15. The apparatus as in claim 9 , wherein the apparatus flags the command line arguments for a particular one of the clusters as an indicator of compromise for a type of malware comprises: selecting the particular cluster for the flagging, based on the particular cluster being associated with a high-risk malware. 16. The apparatus as in claim 9 , wherein the process when executed is further configured to: prevent use of the indicator of compromise for detection of malware, when the indicator of compromise triggers a threshold amount of binaries to be deemed as malware. 17. A tangible, non-transitory, computer-readable medium storing program instructions that cause a device to execute a process comprising: receiving, by the device, execution records regarding executions of a plurality of binaries from one or more monitoring agents that capture the execution records, the one or more monitoring agents being executed by one or more clients at which the binaries are executed, wherein the execution records comprise command line arguments used during the executions of the plurality of binaries; determining, by the device, measures of similarity between the executions of the binaries based on their command line arguments; clustering, by the device, the executions into clusters based on the determined measures of similarity; and flagging, by the device, the command line arguments for a particular one of the clusters as an indicator of compromise for malware, based on at least one of the binaries associated with the particular cluster being malware that uses the same command line arguments as at least a portion of the flagged command line arguments.

Assignees

Inventors

Classifications

  • Event detection, e.g. attack signature detection · CPC title

  • Traffic logging, e.g. anomaly detection · CPC title

  • Clustering or classification · CPC title

  • Query processing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11451561B2 cover?
In one embodiment, a device obtains execution records regarding executions of a plurality of binaries. The execution records comprise command line arguments used during the execution. The device determines measures of similarity between the executions of the binaries based on their command line arguments. The device clusters the executions into clusters based on the determined measures of simil…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L63/1416. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 20 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).