Font Size: a A A

The Implicit Control Flow Analysis Of Android Applications

Posted on:2017-05-12Degree:MasterType:Thesis
Country:ChinaCandidate:J K WangFull Text:PDF
GTID:2308330485453716Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
In order to protect smartphones from malicious software attacks, academic community conducts a lot of research in the aspect of Android malware detection. There are many techniques proposed for Android malware detection, which generally can be divided into static analysis and dynamic analysis. Control flow analysis is one of the most important part of static analysis, and this paper studies the control flow analysis of Android applications. Since Android is an event-based and framework-based system, there are lots of implicit transitions, which makes a big challenge for static program analysis tools to build a precise control flow graph. The current static analysis tools just modeled some popular implicit transitions (e.g. life cycle callback methods), we find that this approach is inadequate, malicious software can bypass detection through unpopular implicit transitions.This thesis uses the intra-procedural backward data flow techniques to extract the implicit transitions in Android applications with the API summaries provided by EdgeMiner. Combining with the explicit control flow and other implicit control flow, we have developed a more accurate and scalable tool to build control flow graphs for Android applications.The main work and contributions of this thesis are as follows.(1) Proposes an automatic method to analysis the callback-related control flow in Android applications. The method extracts the applications’implicit invocations according to the framework layer’s implicit calling relationship. It has overcome the drawbacks of existing tool involving implicit transitions.(2) Implements a light-weight control flow graph builder. It can build a precise control flow graph for each given application, including a traditional control flow graph and control flow graph between methods. The tool was developed with Python language, and the generated control flow graph can be applied to subsequent more accurate static analysis such as data flow analysis.(3) 200 (10 Categories) top free Android applications on Google Play were used to verify the validity of our tool. Compared with current well-known static analysis tool FlowDroid and Amandroid, our tool can find more control flow transitions.Given an Android application, researchers can conduct follow-up static analysis work based on the more accurate control flow graph. Since the accuracy of control flow graph has been improved, the accuracy of subsequent analysis can also be improved.
Keywords/Search Tags:Android, Application, Control Flow, Static Analysis, Bytecode
PDF Full Text Request
Related items