IP Library Granted Patent US 9,582,668
Granted Patent B2
US 9,582,668 · App. 14/988,393 · Granted Feb 28, 2017

Quantifying the risks of applications for mobile devices

Inventors: Anthony John Bettini (San Francisco, CA); Kevin Watkins (San Francisco, CA); Domingo J. Guerra (San Francisco, CA); Michael Price (San Ramon, CA)
Assignee: Appthority, Inc.
G06F21/577G06F17/30864G06F21/51G06F21/53G06F21/566G06F21/57
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,582,668
App. No.
14/988,393
Granted
Feb 28, 2017
Kind
B2
Abstract

Quantifying the risks of applications (“apps”) for mobile devices is disclosed. In some embodiments, quantifying the risks of apps for mobile devices includes receiving an application for a mobile device; performing an automated analysis of the application based on a risk profile; and generating a risk score based on the automated analysis of the application based on the risk profile.

Claims (71)

1. A system for quantifying risks of applications (“apps”) for mobile devices, comprising:

a processor configured to:

receive an application for a mobile device;

perform an automated analysis of the application based on a risk profile, wherein perform the automated analysis of the application based on the risk profile includes:

perform a dynamic analysis on the application based on the risk profile, wherein perform the dynamic analysis includes simulating a plurality of behaviors of the application during execution on a mobile device platform, wherein the dynamic analysis on the application is a run-time emulation performed using an instrumented emulation environment that simulates an app execution environment for mobile devices;

generate a risk score based on the automated analysis of the application based on the risk profile and any malware behaviors, privacy behaviors, and/or risky behaviors identified during the automated analysis of the application; and

perform an action based on the risk score, wherein perform the action based on the risk score includes:

report the risk score, generate a report for the application including the risk score, send a notification related to the application based on the risk score, block the application based on the risk score, or any combination thereof; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system recited in claim 1 , wherein simulating the plurality of behaviors of the application during execution on the mobile device platform includes performing an operation without user permission.

3. The system recited in claim 1 , wherein simulating the plurality of behaviors of the application during execution on the mobile device platform includes performing an SMS operation without user permission.

4. The system recited in claim 1 , wherein the processor is further configured to:

monitor internal and external API calls during the dynamic analysis.

5. The system recited in claim 1 , wherein the processor is further configured to:

monitor internal and external API calls, including kernel level API calls, during the dynamic analysis.

6. The system recited in claim 1 , wherein the processor is further configured to:

monitor calls to URLs during the dynamic analysis.

7. The system recited in claim 1 , wherein the processor is further configured to:

perform a static analysis on the application during the automated analysis of the application based on the risk profile.

8. The system recited in claim 1 , wherein the processor is further configured to:

perform a static analysis on the application during the automated analysis of the application based on the risk profile, wherein information determined from the static analysis is provided as input to the dynamic analysis.

9. The system recited in claim 1 , wherein the processor is further configured to:

perform a comparison with collective app intelligence to determine an app reputation based on a URL and IP reputation during the automated analysis of the application based on the risk profile, wherein the risk score is based on the dynamic analysis, the app reputation, or any combination thereof.

10. The system recited in claim 1 , wherein the processor is further configured to:

query public application market data relating to the application, the public application market data including an application description, an application ranking in a store, a vendor reputation of the application, or any combination thereof.

11. The system recited in claim 1 , wherein the processor is further configured to:

extract metadata associated with the application, the metadata comprising application permissions, file and version name, author of the application, application ID, package name, or any combination thereof; and

query public application market data relating to the application based on the extracted metadata associated with the application to determine whether the application has been repackaged with malware.

12. The system recited in claim 1 , wherein the risk profile is based on an enterprise policy that includes one or more custom rules for scanning of apps based on security requirements to determine whether the application includes previously known malware, exhibits new malware behaviors, poses a privacy or security risk, or any combination thereof.

13. The system recited in claim 1 , wherein the processor is further configured to:

customize the risk score based on a customized risk scoring profile, wherein the customized risk scoring profile includes an enterprise-based customization.

14. The system recited in claim 1 , wherein the processor is further configured to:

determine whether the application is in violation of an enterprise policy, wherein the enterprise policy includes a malware policy for apps that includes one or more custom rules for scanning of apps based on security requirements to determine whether the application includes previously known malware, exhibits new malware behaviors, poses a privacy or security risk, or any combination thereof.

15. The system recited in claim 1 , wherein the processor is further configured to:

generate an enterprise risk score based on an enterprise risk profile; and

perform an action based on the enterprise risk score, wherein perform the action based on the enterprise risk score includes:

report the enterprise risk score, generate an enterprise report for the application including the enterprise risk score, send a notification related to the application based on the enterprise risk score, block the application based on the enterprise risk score, or any combination thereof.

16. The system recited in claim 1 wherein the processor is further configured to:

perform a pre-screening phase that includes checking an application cache, wherein the application cache includes previously determined risk scores for previously analyzed apps that are available from a public app store.

17. The system recited in claim 1 wherein the processor is further configured to:

perform a pre-screening phase that includes checking an application cache, wherein the application cache includes previously determined risk scores for previously analyzed apps that are available from a public app store, wherein checking the application cache includes:

determine whether the application has been previously analyzed; and

in the event that the application has been previously analyzed, determine whether to return the previously determined risk score of the application.

18. A method of quantifying risks of applications (“apps”) for mobile devices, comprising:

receiving an application for a mobile device;

performing an automated analysis of the application based on a risk profile using a processor, wherein performing the automated analysis of the application based on the risk profile includes:

performing a dynamic analysis on the application based on the risk profile, wherein performing the dynamic analysis includes simulating a plurality of behaviors of the application during execution on a mobile device platform, wherein the dynamic analysis on the application is a run-time emulation performed using an instrumented emulation environment that simulates an app execution environment for mobile devices;

generating a risk score based on the automated analysis of the application based on the risk profile and any malware behaviors, privacy behaviors, and/or risky behaviors identified during the automated analysis of the application; and

performing an action based on the risk score, wherein performing the action based on the risk score includes:

reporting the risk score, generating a report for the application including the risk score, sending a notification related to the application based on the risk score, blocking the application based on the risk score, or any combination thereof.

19. The method of claim 18 , wherein simulating the plurality of behaviors of the application during execution on the mobile device platform includes performing an operation without user permission.

20. The method of claim 18 , further comprising:

monitoring internal and external API calls during the dynamic analysis.

21. The method of claim 18 , further comprising:

monitoring calls to URLs during the dynamic analysis.

22. The method of claim 18 , further comprising:

performing a static analysis on the application during the automated analysis of the application based on the risk profile, wherein information determined from the static analysis is provided as input to the dynamic analysis.

23. A computer program product for quantifying risks of applications (“apps”) for mobile devices, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an application for a mobile device;

performing an automated analysis of the application based on a risk profile, wherein performing the automated analysis of the application based on the risk profile includes:

performing a dynamic analysis on the application based on the risk profile, wherein performing the dynamic analysis includes simulating a plurality of behaviors of the application during execution on a mobile device platform, wherein the dynamic analysis on the application is a run-time emulation performed using an instrumented emulation environment that simulates an app execution environment for mobile devices;

generating a risk score based on the automated analysis of the application based on the risk profile and any malware behaviors, privacy behaviors, and/or risky behaviors identified during the automated analysis of the application; and

performing an action based on the risk score, wherein performing the action based on the risk score includes:

reporting the risk score, generating a report for the application including the risk score, sending a notification related to the application based on the risk score, blocking the application based on the risk score, or any combination thereof.

24. The computer program product recited in claim 23 , wherein simulating the plurality of behaviors of the application during execution on the mobile device platform includes performing an operation without user permission.

25. The computer program product recited in claim 23 , further comprising computer instructions for:

monitoring internal and external API calls during the dynamic analysis.

26. The computer program product recited in claim 23 , further comprising computer instructions for:

monitoring calls to URLs during the dynamic analysis.

27. The computer program product recited in claim 23 , further comprising computer instructions for:

performing a static analysis on the application during the automated analysis of the application based on the risk profile, wherein information determined from the static analysis is provided as input to the dynamic analysis.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2019
From: APPTHORITY LLC
To: SYMANTEC CORPORATION
Reel/Frame 049524/0538 →
ENTITY CONVERSION Recorded May 30, 2019
From: APPTHORITY, INC.
To: APPTHORITY LLC
Reel/Frame 049506/0163 →
Continuity (5)
Continuation 14541001 · Nov 13, 2014
Continuation 14205220 · Mar 11, 2014
Continuation 13740036 · Jan 11, 2013
Provisional Application 61603134 · Feb 24, 2012
Related Publication 20160210458A1 · Jul 21, 2016