Adaptive observation of behavioral features on a heterogeneous platform
First Claim
1. A method of monitoring behaviors of a mobile computing device, comprising:
- repeatedly monitoring in a non-master processing core of the mobile computing device activities of a software application to collect behavior information on a partial behavior of the software application;
using the collected behavior information to generate in the non-master processing core a behavior signature that describes the partial behavior of the software application in a vector data-structure;
sending the generated behavior signature to a master processing core of the mobile computing device;
generating a task graph in the master processing core of the computing device;
using the generated task graph to combine two or more behavior signatures that each describe a different partial behavior of the software application in a vector data-structure received from non-master processing cores in the master processing core to generate a global behavior vector data-structure that describes the complete behavior of the software application; and
providing the global behavior vector to an analyzer module for processing.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, devices and systems for monitoring behaviors of a mobile computing device include observing in a non-master processing core a portion of a mobile device behavior that is relevant to the non-master processing core, generating a behavior signature that describes the observed portion of the mobile device behavior, and sending the generated behavior signature to a master processing core. The master processing core combines two or more behavior signatures received from the non-master processing cores to generate a global behavior vector, which may be used by an analyzer module to determine whether a distributed software application is benign or not benign.
175 Citations
16 Claims
-
1. A method of monitoring behaviors of a mobile computing device, comprising:
-
repeatedly monitoring in a non-master processing core of the mobile computing device activities of a software application to collect behavior information on a partial behavior of the software application; using the collected behavior information to generate in the non-master processing core a behavior signature that describes the partial behavior of the software application in a vector data-structure; sending the generated behavior signature to a master processing core of the mobile computing device; generating a task graph in the master processing core of the computing device; using the generated task graph to combine two or more behavior signatures that each describe a different partial behavior of the software application in a vector data-structure received from non-master processing cores in the master processing core to generate a global behavior vector data-structure that describes the complete behavior of the software application; and providing the global behavior vector to an analyzer module for processing. - View Dependent Claims (2, 3, 4)
-
-
5. A mobile computing device, comprising:
-
a memory; a master processor; and one or more non-master processors coupled to the memory and the master processor, wherein each of the one or more non-master processors are configured with processor-executable instructions to perform operation comprising; repeatedly monitoring activities of a software application to collect behavior information on a partial behavior of the software application; using the collected behavior information to generate a behavior signature that describes the partial behavior of the software application in a vector data-structure; and sending the generated behavior signature to the master processor, and wherein the master processor is configured with processor-executable instructions to perform operations comprising; generating a task graph; using the generated task graph to combine two or more behavior signatures that each describe a different partial behavior of the software application in a vector data-structure received from the one or more non-master processors to generate a global behavior vector data-structure that describes the complete behavior of the software application; and providing the global behavior vector to an analyzer module for processing. - View Dependent Claims (6, 7, 8)
-
-
9. A mobile computing device having multiple heterogeneous cores, comprising:
-
means for repeatedly monitoring in a non-master processing core activities of a software application to collect behavior information on a partial behavior of the software application; means for using the collected behavior information to generate in the non-master processing core a behavior signature that describes the partial behavior of the software application in a vector data-structure; means for sending the generated behavior signature to a master processing core; means for generating a task graph in the master processing core; means for using the generated task graph to combine two or more behavior signatures that each describe a different partial behavior of the software application in a vector data-structure received from non-master processing cores in the master processing core to generate a global behavior vector data-structure that describes the complete behavior of the software application; and means for providing the global behavior vector to an analyzer module for processing. - View Dependent Claims (10, 11, 12)
-
-
13. A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a multiprocessor computing system to perform operations comprising:
-
repeatedly monitoring in a non-master processor activities of a software application to collect behavior information on a partial behavior of the software application; using the collected behavior information to generate in the non-master processor a behavior signature that describes the partial behavior of the software application in a vector data-structure; sending the generated behavior signature to a master processor; generating a task graph in the master processor; using the generated task graph to combine two or more behavior signatures that each describe a different partial behavior of the software application in a vector data-structure received from two or more non-master processors in the master processor to generate a global behavior vector data-structure that describes the complete behavior of the software application; and providing the global behavior vector to an analyzer module for processing. - View Dependent Claims (14, 15, 16)
-
Specification