Static and dynamic security analysis of apps for mobile devices

US9811665B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9811665-B1
Application numberUS-201313954815-A
CountryUS
Kind codeB1
Filing dateJul 30, 2013
Priority dateJul 30, 2013
Publication dateNov 7, 2017
Grant dateNov 7, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques for performing static and dynamic analysis on a mobile device application are disclosed. Static analysis is performed on a mobile device application using a static analysis engine. A static analysis report is generated. Dynamic analysis of the application is performed using a dynamic analysis engine. The dynamic analysis performed is customized based on results of the static analysis. A determination of whether the application is malicious is made based at least on the dynamic analysis.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a processor configured to: perform static analysis on a mobile device application using a static analysis engine to generate a static analysis report associated with the application; perform dynamic analysis of the application using a dynamic analysis engine, wherein the dynamic analysis is customized based on results of the static analysis, wherein performing dynamic analysis includes emulating a mobile device, wherein performing dynamic analysis includes simulating an event external to the mobile device, and wherein performing dynamic analysis includes: (1) performing a first stage of dynamic analysis, (2) initiating a reboot event, and (3) performing a second stage of dynamic analysis after the reboot event occurs; and determine whether the application is malicious based at least in part on the dynamic analysis; and a memory coupled to the processor and configured to provide the processor with instructions. 2. The system of claim 1 wherein the processor is further configured to refine a result of the static analysis based on the dynamic analysis. 3. The system of claim 1 wherein performing static analysis includes determining that a permission is not used by the application, and wherein customizing the dynamic analysis includes not performing dynamic analysis with respect to the permission. 4. The system of claim 1 wherein performing static analysis includes reversing the mobile device application into an intermediate source code form. 5. The system of claim 1 wherein performing static analysis includes determining the presence of a filetype mismatch. 6. The system of claim 1 wherein performing static analysis includes determining a minimum operating system version number associated with the application. 7. The system of claim 6 wherein performing dynamic analysis includes emulating a system running the minimum operating system version. 8. The system of claim 1 wherein performing static analysis includes performing an integrity check to determine whether the application will crash if executed during dynamic analysis. 9. The system of claim 1 wherein performing at least one of static and dynamic analysis includes determining that a deletion action is taken in response to receipt of message appearing to have been sent by a carrier. 10. The system of claim 1 wherein, in the event a feature is identified as suspicious during static analysis, the processor is configured to determine whether the feature is malicious during dynamic analysis. 11. The system of claim 1 wherein the processor is further configured to report the determination to a data security appliance. 12. The system of claim 1 wherein the simulated external event comprises a simulated location change. 13. The system of claim 1 wherein the simulated external event comprises a simulated transmission of a message to the mobile device from a simulated entity. 14. A method, comprising: performing static analysis on a mobile device application using a static analysis engine to generate a static analysis report associated with the application; performing dynamic analysis of the application using a dynamic analysis engine, wherein the dynamic analysis is customized based on results of the static analysis, wherein performing dynamic analysis includes emulating a mobile device, wherein performing dynamic analysis includes simulating an event external to the mobile device, and wherein performing dynamic analysis includes: (1) performing a first stage of dynamic analysis, (2) initiating a reboot event, and (3) performing a second stage of dynamic analysis after the reboot event occurs; and determining whether the application is malicious based at least in part on the dynamic analysis. 15. The method of claim 14 further comprising refining a result of the static analysis based on the dynamic analysis. 16. The method of claim 14 wherein performing static analysis includes determining that a permission is not used by the application, and wherein customizing the dynamic analysis includes not performing dynamic analysis with respect to the permission. 17. The method of claim 14 wherein performing static analysis includes determining a minimum operating system version number associated with the application. 18. The method of claim 14 wherein performing at least one of static and dynamic analysis includes determining that a deletion action is taken in response to receipt of message appearing to have been sent by a carrier. 19. The method of claim 14 wherein, in the event a feature is identified as suspicious during static analysis, a determination of whether the feature is malicious is made during dynamic analysis. 20. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for: performing static analysis on a mobile device application using a static analysis engine to generate a static analysis report associated with the application; performing dynamic analysis of the application using a dynamic analysis engine, wherein the dynamic analysis is customized based on results of the static analysis, wherein performing dynamic analysis includes emulating a mobile device, wherein performing dynamic analysis includes simulating an event external to the mobile device, and wherein performing dynamic analysis includes: (1) performing a first stage of dynamic analysis, (2) initiating a reboot event, and (3) performing a second stage of dynamic analysis after the reboot event occurs; and determining whether the application is malicious based at least in part on the dynamic analysis.

Assignees

Inventors

Classifications

  • G06F21/566Primary

    Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities · CPC title

  • Static detection · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9811665B1 cover?
Techniques for performing static and dynamic analysis on a mobile device application are disclosed. Static analysis is performed on a mobile device application using a static analysis engine. A static analysis report is generated. Dynamic analysis of the application is performed using a dynamic analysis engine. The dynamic analysis performed is customized based on results of the static analysis…
Who is the assignee on this patent?
Palo Alto Networks Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/566. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 07 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).