Methods, media, and systems for detecting an anomalous sequence of function calls
First Claim
1. A method of computing a model of program execution behavior, comprising:
- assigning, using a hardware processor, a first sequence of function calls to a first computing device of an application community and a second sequence of function calls to a second computing device of the application community, wherein the application community includes a plurality of computing devices running a program that executes the first sequence of function calls and the second sequence of function calls, wherein the first computing device of the application community monitors a first portion of the program and the second computing device of the application community monitors a second portion of the program, and wherein the first portion of the program and the second portion of the program are the same portion of the program;
receiving, using the hardware processor, a first model of the first sequence of function calls from the first computing device and a second model of the second sequence of function calls from the second computing device;
generating, using the hardware processor, a combined model that combines at least a portion of the first model and at least a portion of the second model; and
notifying, using the hardware processor, at least one of the plurality of computing devices in the application community of an anomalous function call that was detected using the combined model.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods, media, and systems for detecting an anomalous sequence of function calls are provided. The methods can include compressing a sequence of function calls made by the execution of a program using a compression model; and determining the presence of an anomalous sequence of function calls in the sequence of function calls based on the extent to which the sequence of function calls is compressed. The methods can further include executing at least one known program; observing at least one sequence of function calls made by the execution of the at least one known program; assigning each type of function call in the at least one sequence of function calls made by the at least one known program a unique identifier; and creating at least part of the compression model by recording at least one sequence of unique identifiers.
102 Citations
33 Claims
-
1. A method of computing a model of program execution behavior, comprising:
-
assigning, using a hardware processor, a first sequence of function calls to a first computing device of an application community and a second sequence of function calls to a second computing device of the application community, wherein the application community includes a plurality of computing devices running a program that executes the first sequence of function calls and the second sequence of function calls, wherein the first computing device of the application community monitors a first portion of the program and the second computing device of the application community monitors a second portion of the program, and wherein the first portion of the program and the second portion of the program are the same portion of the program; receiving, using the hardware processor, a first model of the first sequence of function calls from the first computing device and a second model of the second sequence of function calls from the second computing device; generating, using the hardware processor, a combined model that combines at least a portion of the first model and at least a portion of the second model; and notifying, using the hardware processor, at least one of the plurality of computing devices in the application community of an anomalous function call that was detected using the combined model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for computing a model of program execution behavior, comprising:
a hardware processor that is programmed to; assign a first sequence of function calls to a first computing device of an application community and a second sequence of function calls to a second computing device of the application community, wherein the application community includes a plurality of computing devices running a program that executes the first sequence of function calls and the second sequence of function calls, wherein the first computing device of the application community monitors a first portion of the program and the second computing device of the application community monitors a second portion of the program, and wherein the first portion of the program and the second portion of the program are the same portion of the program; receive a first model of the first sequence of function calls from the first computing device and a second model of the second sequence of function calls from the second computing device; generate a combined model that combines at least a portion of the first model and at least a portion of the second model; and notify at least one of the plurality of computing devices in the application community of an anomalous function call that was detected using the combined model. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
23. A non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method of computing a model of program execution behavior, the method comprising:
-
assigning a first sequence of function calls to a first computing device of an application community and a second sequence of function calls to a second computing device of the application community, wherein the application community includes a plurality of computing devices running a program that executes the first sequence of function calls and the second sequence of function calls, wherein the first computing device of the application community monitors a first portion of the program and the second computing device of the application community monitors a second portion of the program, and wherein the first portion of the program and the second portion of the program are the same portion of the program; receiving a first model of the first sequence of function calls from the first computing device and a second model of the second sequence of function calls from the second computing device; generating a combined model that combines at least a portion of the first model and at least a portion of the second model; and notifying at least one of the plurality of computing devices in the application community of an anomalous function call that was detected using the combined model. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
Specification