Machine learning-based dynamic analysis of Android apps with improved code coverage

Suleiman Yerima, Mohammed Alzaylaee, Sakir Sezer

Research output: Contribution to journalArticle

3 Citations (Scopus)
159 Downloads (Pure)

Abstract

This paper investigates the impact of code coverage on machine learning-based dynamic analysis of Android malware. In order to maximize the code coverage, dynamic analysis on Android typically requires the generation of events to trigger the user interface and maximize the discovery of the run-time behavioral features. The commonly used event generation approach in most existing Android dynamic analysis systems is the random-based approach implemented with the Monkey tool that comes with the Android SDK. Monkey is utilized in popular dynamic analysis platforms like AASandbox, vetDroid, MobileSandbox, TraceDroid, Andrubis, ANANAS, DynaLog, and HADM. In this paper, we propose and investigate approaches based on stateful event generation and compare their code coverage capabilities with the state-of-the-practice random-based Monkey approach. The two proposed approaches are the state-based method (implemented with DroidBot) and a hybrid approach that combines the state-based and random-based methods. We compare the three different input generation methods on real devices, in terms of their ability to log dynamic behavior features and the impact on various machine learning algorithms that utilize the behavioral features for malware detection. Experiments performed using 17,444 applications show that overall, the proposed methods provide much better code coverage which in turn leads to more accurate machine learning-based malware detection compared to the state-of- the- art approach.
Original languageEnglish
Pages (from-to)1-24
JournalEURASIP Journal on Information Security
Volume4
DOIs
Publication statusPublished - 29 Apr 2019

Keywords

  • Android malware detection
  • code coverage
  • Monkey
  • DroidBot
  • Dynamic analysis
  • Machine learning
  • Event generation
  • State-based input generation
  • Model-based input generation
  • Random input generation

Fingerprint Dive into the research topics of 'Machine learning-based dynamic analysis of Android apps with improved code coverage'. Together they form a unique fingerprint.

  • Cite this