Expressing intent to control behavior of application components
First Claim
1. A method, comprising:
- collect prior component data in a data repository, the prior component data associated with prior known behavior for a known component common to at least one application installed on at least one mobile device other than a mobile device of a user;
storing, in a memory, a first application comprising computer-readable instructions, which when executed after installation of the first application onto the mobile device of the user, cause the mobile device to;
determine components of a second application to be installed on the mobile device, the second application comprising components packaged within the second application, and the components including a first component;
identify a respective set of behaviors associated with each of the components of the second application, wherein a first set of behaviors includes a first behavior associated with the first component, wherein the identifying comprises comparing the first behavior to the prior known behavior by accessing, over a communication network, the prior component data, and wherein each of the first set of behaviors is a behavior that occurs when a component associated with the behavior is functioning in an application running on a mobile device;
determine compliance of the second application with at least one behavioral preference of the user, wherein the at least one behavioral preference comprises at least one of;
opting out of the first behavior, opting out of one or more of the components including the first component, or a set of user preferences for specifically-identified behaviors; and
block installation of the second application on the mobile device of the user when the second application fails the compliance; and
sending, via at least one processor, over a communication network, the first application for storage in a data processing system, the first application to be subsequently installed onto the mobile device of the user from the data processing system.
7 Assignments
0 Petitions
Accused Products
Abstract
Detection, identification, and control of application behavior dealing with malware, security risks, data privacy, or resource usage can be difficult in an era of complex, composite software applications composed of multiple components. Software applications are analyzed to determine their components and to identify the behaviors associated with each of the components. Components can also be analyzed with respect to similarity of previously known components. Behaviors can include use of personal identifying information or device information, or any actions that can be taken by applications on the device, including user interface displays, notifications, network communications, and file reading or writing actions. Policies to control or restrict the behavior of applications and their components may be defined and applied. In one embodiment this can include the identification of advertising networks and defining policies to permit various opt-out actions for these advertising networks.
424 Citations
23 Claims
-
1. A method, comprising:
-
collect prior component data in a data repository, the prior component data associated with prior known behavior for a known component common to at least one application installed on at least one mobile device other than a mobile device of a user; storing, in a memory, a first application comprising computer-readable instructions, which when executed after installation of the first application onto the mobile device of the user, cause the mobile device to; determine components of a second application to be installed on the mobile device, the second application comprising components packaged within the second application, and the components including a first component; identify a respective set of behaviors associated with each of the components of the second application, wherein a first set of behaviors includes a first behavior associated with the first component, wherein the identifying comprises comparing the first behavior to the prior known behavior by accessing, over a communication network, the prior component data, and wherein each of the first set of behaviors is a behavior that occurs when a component associated with the behavior is functioning in an application running on a mobile device; determine compliance of the second application with at least one behavioral preference of the user, wherein the at least one behavioral preference comprises at least one of;
opting out of the first behavior, opting out of one or more of the components including the first component, or a set of user preferences for specifically-identified behaviors; andblock installation of the second application on the mobile device of the user when the second application fails the compliance; and sending, via at least one processor, over a communication network, the first application for storage in a data processing system, the first application to be subsequently installed onto the mobile device of the user from the data processing system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system, comprising:
-
a data repository to store prior component data associated with prior known behavior for a known component common to at least one application installed on at least one mobile device other than a mobile device of a user; at least one processor; and memory storing a first application, which when executed on the mobile device of the user after installation of the first application on the mobile device, causes the mobile device to; determine components of a second application to be installed on the mobile device, the second application comprising components packaged within the second application, and the components including a first component; identify a respective set of behaviors associated with each of the components of the second application, wherein a first set of behaviors includes a first behavior associated with the first component, wherein the identifying comprises comparing the first behavior to the prior known behavior based on the prior component data in the data repository, and wherein each of the first set of behaviors is a behavior that occurs when a component associated with the behavior is functioning in an application running on a mobile device; determine at least one behavioral preference of the user, the at least one behavioral preference comprising at least one of;
opting out of the first behavior, opting out of one or more of the components including the first component, or a set of user preferences for specifically-identified behaviors;determine compliance of the second application with the at least one behavioral preference, wherein the at least one behavioral preference includes a preference regarding the first behavior; and block installation of the second application on the mobile device of the user when the second application fails the compliance; and the memory further storing instructions configured to instruct the at least one processor to send the first application to a data processing system so that the first application can be later installed, over a communication network, on the mobile device of the user from the data processing system. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method, comprising:
-
storing, in a data repository, by at least one processor, component data for a known component of applications installed on mobile devices of a plurality of users, the component data comprising a prior known behavior for the known component; receiving, by the at least one processor, at least one behavioral preference of a first user from a mobile device of the first user executing a first application, the at least one behavioral preference determined by the first application based on input from the first user; storing, in a memory, the at least one behavioral preference; communicating, by the at least one processor, with the first application, the first application identifying a first set of behaviors on the mobile device, wherein the first set of behaviors includes a first behavior associated with a first component of a second application being installed on the mobile device, the second application comprising components packaged within the second application including the first component, and wherein each of the first set of behaviors is a behavior that occurs when a component associated with the behavior is functioning in an application running on a mobile device; comparing, by the at least one processor, the first behavior to the prior known behavior using the component data in the data repository; and based on the comparing, determining, by the at least one processor, that the second application violates the at least one behavioral preference; wherein the at least one behavioral preference comprises at least one of;
opting out of the first behavior, opting out of one or more of the components including the first component, or a set of user preferences for specifically-identified behaviors. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium storing computer-readable instructions, which when executed, cause a computing apparatus to:
-
collect prior component data in a data repository, the prior component data associated with prior known behavior for a known component common to at least one application installed on at least one computing device other than a computing device of a user; receive a selection of at least one behavioral preference from the user; after the collecting the prior component data, in response to downloading an application on the computing device of the user, wherein the application comprises components packaged within the application, determine the components of the application, the components including a first component; identify, via at least one processor, a respective set of behaviors associated with each of the components of the downloaded application, wherein a first set of behaviors includes a first behavior associated with the first component, wherein the identifying comprises comparing the first behavior to the prior known behavior based on the prior component data in the data repository, and wherein each of the first set of behaviors is a behavior that occurs when a component associated with the behavior is functioning in an application running on a computing device; based on the comparing, determine that the first component corresponds to the known component; determine whether the downloaded application complies with the at least one behavioral preference; and in response to the downloaded application violating the at least one behavioral preference, block installation of the application on the computing device of the user; wherein the at least one behavioral preference comprises at least one of;
opting out of the first behavior, opting out of one or more of the components including the first component, or a set of user preferences for specifically-identified behaviors. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A non-transitory computer-readable storage medium storing computer-readable instructions, which when executed, cause a computing apparatus to:
-
collect prior component data in a data repository, the prior component data associated with prior known behavior for a known component common to at least one application installed on at least one computing device other than a computing device of a user; for an application to be installed on the computing device of the user, determine components of the application, the application comprising components packaged within the application, and the components including a first component; identify, via at least one processor, a respective set of behaviors associated with each of the components of the application to be installed, wherein a first set of behaviors includes a first behavior associated with the first component, wherein the identifying comprises comparing the first behavior to the prior known behavior based on the prior component data in the data repository, and wherein each of the first set of behaviors is a behavior that occurs when a component associated with the behavior is functioning in an application running on a computing device; determine at least one behavioral preference of the user, wherein the at least one behavioral preference comprises at least one of;
opting out of the first behavior, opting out of one or more of the components including the first component, or a set of user preferences for specifically-identified behaviors;scan the application to be installed to determine compliance with the at least one behavioral preference of the user; and in response to the application to be installed violating the at least one behavioral preference, block installation of the application. - View Dependent Claims (22, 23)
-
Specification