IP Library Granted Patent US 9,063,964
Granted Patent B2
US 9,063,964 · App. 13/734,467 · Granted Jun 23, 2015

Detecting application harmful behavior and grading application risks for mobile devices

Inventors: Xuyang Li (Dublin, CA); Chenfu Bao (Beijing, CN); Lei Wang (Beijing, CN)
Assignee: TrustGo Mobile, Inc.
G06F17/30312G06F17/30522G06F21/562G06F17/30867G06F21/577G06Q30/0282
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,063,964
App. No.
13/734,467
Granted
Jun 23, 2015
Kind
B2
Abstract

In one embodiment, a method determines a permission list from an application and generates a set of potential behaviors. The potential behaviors are associated with actions that the application allows when executing on a mobile device where the potential behaviors are determined without execution of the application. The method then determines functional category information regarding a functional category from a set of application marketplaces that contain the application and determines application description information for the application. A required behavior list is generated including a set of required behaviors from the functional category information and the application description information. The method compares the required behaviors to the potential behaviors to determine a set of security related behaviors. The security related behaviors are behaviors found in the potential behaviors, but not in the required behaviors. A security rating is determined based on the set of security related behaviors.

Claims (70)

1. A method comprising:

determining, by a computing system, a permission list from an application;

generating, by the computing system, a set of potential behaviors from the permission list, the set of potential behaviors associated with actions that the application allows when executing on a mobile device, wherein the set of potential behaviors are determined without execution of the application;

retrieving, by the computing system, a plurality of functional categories that a plurality of application marketplaces which contain the application categorize the application;

retrieving, by the computing system, a plurality of application descriptions for the application from the plurality of application marketplaces;

using, by the computing system, the plurality of functional categories and the plurality of application descriptions to generate a required behavior list including a set of required behaviors;

comparing, by the computing system, the set of required behaviors to the set of potential behaviors to determine a set of security related behaviors, wherein security related behaviors are behaviors found in the set of potential behaviors, but not in the set of required behaviors; and

determining, by the computing system, a security rating based on the set of security related behaviors for the application in the plurality of application marketplaces.

2. The method of claim 1 , wherein determining the permission list comprises:

reading an executable file for the application or application metadata for the application to determine the set of potential behaviors; and

generating the set of potential behaviors based on a mapping table that maps permissions determined from the executable file or the application metadata to potential behaviors.

3. The method of claim 1 , wherein using the plurality of functional categories and the plurality of application descriptions to generate the required behavior list comprises generating a first set of required behaviors based on a mapping table that maps the plurality of functional categories to required behaviors.

4. The method of claim 3 , wherein using the plurality of functional categories and the plurality of application descriptions to generate the required behavior list comprises generating a second set of required behaviors based on a mapping table that maps the plurality of application descriptions to required behaviors.

5. The method of claim 1 , wherein retrieving the plurality of application descriptions comprises determining a set of keywords that describe the application based on the plurality of application descriptions.

6. The method of claim 5 , wherein using the plurality of functional categories and the plurality of application descriptions to generate the required behavior list comprises inputting the set of keywords into a mapping table to map the keywords to required behaviors in the set of required behaviors.

7. The method of claim 1 , wherein the security rating is selected from certified, malicious, high risk, low/noisy ratings.

8. The method of claim 1 , wherein the security rating is determined without executing the application on a computing device or information from executing the application on the computing device.

9. The method of claim 1 , further comprising sending the security rating to a mobile device or an application marketplace.

10. The method of claim 1 , wherein determining the security rating comprises:

determining a security rating for each security related behavior; and

determining the security rating for the application based on the security rating for each security related behavior.

11. The method of claim 10 , further comprising comparing the security rating for each security related behavior to a set of thresholds to select one of the security ratings for a portion of the security related behaviors.

12. A method comprising:

determining, by a computing system, a permission list from an application;

generating, by the computing system, a set of potential behaviors from the permission list, the set of potential behaviors associated with actions that the application allows when executing on a mobile device, wherein the set of potential behaviors are determined without execution of the application;

retrieving by the computing system, functional category information regarding a functional category that a set of application marketplaces which contain the application categorize the application;

retrieving, by the computing system, application description information for the application from a description of the application in the set of application marketplaces;

generating, by the computing system, a required behavior list including a set of required behaviors from the functional category information and the application description information;

comparing, by the computing system, the set of required behaviors to the set of potential behaviors to determine a set of security related behaviors, wherein security related behaviors are behaviors found in the set of potential behaviors, but not in the set of required behaviors; and

determining, by the computing system, a security rating based on the set of security related behaviors,

wherein retrieving the functional category information comprises:

determining a set of functional categories from the set of application marketplaces, wherein at least two marketplaces categorize the application in a different functional category;

determining a category definition for at least one of the functional categories in at least one of the application marketplaces; and

selecting a default functional category based on the category definition, wherein the default functional category is used to determine the set of required behaviors.

13. The method of claim 12 , wherein generating the required behavior list comprises inputting the default category into a mapping table to map the default category to set of required behaviors.

14. A non-transitory computer-readable storage medium containing instructions, that when executed, control a computer system to be configured for:

determining a permission list from an application;

generating a set of potential behaviors from the permission list, the set of potential behaviors associated with actions that the application allows when executing on a mobile device, wherein the set of potential behaviors are determined without execution of the application;

retrieving a plurality of functional categories that a plurality of application marketplaces which contain the application categorize the application;

retrieving a plurality of application descriptions for the application from the plurality of application marketplaces;

using the plurality of functional categories and the plurality of application descriptions to generate a required behavior list including a set of required behaviors;

comparing the set of required behaviors to the set of potential behaviors to determine a set of security related behaviors, wherein security related behaviors are behaviors found in the set of potential behaviors, but not in the set of required behaviors; and

determining a security rating based on the set of security related behaviors for the application in the plurality of application marketplaces.

15. The non-transitory computer-readable storage medium of claim 14 , wherein determining the permission list comprises:

reading an executable file for the application or application metadata for the application to determine the set of potential behaviors; and

generating the set of potential behaviors based on a mapping table that maps permissions determined from the executable file or the application metadata to potential behaviors.

16. The non-transitory computer-readable storage medium of claim 14 , wherein using the plurality of functional categories and the plurality of application descriptions to generate the required behavior list comprises generating a first set of required behaviors based on a mapping table that maps the plurality of functional categories to required behaviors.

17. The non-transitory computer-readable storage medium of claim 14 , wherein retrieving the plurality of application descriptions comprises determining a set of keywords that describe the application based on the plurality of application descriptions.

18. The non-transitory computer-readable storage medium of claim 14 , wherein the security rating is selected from certified, malicious, high risk, low/noisy ratings.

19. A non-transitory computer-readable storage medium containing instructions, that when executed, control a computer system to be configured for:

determining a permission list from an application;

generating a set of potential behaviors from the permission list, the set of potential behaviors associated with actions that the application allows when executing on a mobile device, wherein the set of potential behaviors are determined without execution of the application;

retrieving functional category information regarding a functional category that a set of application marketplaces which contain the application categorize the application;

retrieving application description information for the application from a description of the application in the set of application marketplaces;

generating a required behavior list including a set of required behaviors from the functional category information and the application description information;

comparing the set of required behaviors to the set of potential behaviors to determine a set of security related behaviors, wherein security related behaviors are behaviors found in the set of potential behaviors, but not in the set of required behaviors; and

determining a security rating based on the set of security related behaviors, wherein retrieving the functional category information comprises:

determining a set of functional categories from the set of application marketplaces, wherein at least two marketplaces categorize the application in a different functional category;

determining a category definition for at least one of the functional categories in at least one of the application marketplaces; and

selecting a default functional category based on the category definition, wherein the default functional category is used to determine the set of required behaviors.

20. An apparatus comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be configured for:

determining a permission list from an application;

generating a set of potential behaviors from the permission list, the set of potential behaviors associated with actions that the application allows when executing on a mobile device, wherein the set of potential behaviors are determined without execution of the application;

retrieving a plurality of functional categories that a plurality of application marketplaces which contain the application categorize the application;

retrieving a plurality of application descriptions for the application from the plurality of application marketplaces;

using the plurality of functional categories and the plurality of application descriptions to generate a required behavior list including a set of required behaviors;

comparing the set of required behaviors to the set of potential behaviors to determine a set of security related behaviors, wherein security related behaviors are behaviors found in the set of potential behaviors, but not in the set of required behaviors; and

determining a security rating based on the set of security related behaviors for the application in the plurality of application marketplaces.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2022
From: TRUSTGO MOBILE, INC.
To: BAIDU ONLINE NETWORK TECHNOLOGY (BEIJING) CO., LTD.
Reel/Frame 059903/0790 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2013
From: LI, XUYANG; BAO, CHENFU; WANG, LEI
To: TRUSTGO MOBILE, INC.
Reel/Frame 030144/0578 →
Continuity (2)
Provisional Application 61582910 · Jan 4, 2012
Related Publication 20130212684A1 · Aug 15, 2013