I. J. Computer Network and Information Security, 2020, 1, 20-26 Published Online February 2020 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijcnis.2020.01.03 Copyright © 2020 MECS I.J. Computer Network and Information Security, 2020, 1, 20-26 A Novel Android Security Framework to Prevent Privilege Escalation Attacks Ahamed K. H. Hussain 1 , Mohsen Kakavand 2 , Mira Silval 3 , and Lingges Arulsamy 4 Department of Computing, Sunway University, Bandar Sunway, 47500, Malaysia E-mail: 1 khalid.hh.hussain@gmail.com, 2 mohsenk@sunway.edu.my, 3 16095267@imail.sunway.edu.my, 4 linggest90@gmail.com Received: 10 November 2019; Accepted: 27 November 2019; Published: 08 February 2020 AbstractAndroid is the most popular operating system in the world, with numerous applications having been developed for the platform since its inception, however, it has its fair share of security issues. Despite security precautions taken by developers and the system itself when it comes to permission delegation for applications, privilege escalation attacks are still possible up till Android API level 25. Unfortunately, many existing detection and prevention solutions fall short of the standard necessary or are taxing in resources not found on most Android devices. Proof is shown that a custom created malicious application can elevate its privileges, beyond the permissions it was given, in the existing Android system. In this paper, a modification to the existing Android framework is proposed, one that can detect inter-component communication messages between malicious apps attempting to elevate their privileges and benign applications. Part of this framework is the ability for the user to decide if permissions should be elevated, allowing them some measure of control. The results of the experimental evaluation demonstrate that the solution proposed is effective in preventing privilege escalation attacks on Android API level 24. Index TermsAndroid Security, Privilege Escalation, Permission Escalation. I. INTRODUCTION Android is one of the most prevalent operating systems on the planet and sees the highest pervasiveness amongst mobile devices. With this widespread prevalence, however, comes an abundance of security issues, one being privilege escalation attacks. Privilege escalation attacks on Android are a form of attack whereby a nefarious application can utilize a legitimate, yet vulnerable, application’s privileged permissions to execute commands that it itself would be incapable of doing so. While there are three forms of privilege escalation attacks [1], there are only two real-world solutions, dynamic or static. Dynamic solutions often include adding to or modifying the existing Android security framework so as to constantly be able to detect privilege escalation attacks and block them as they are being executed such as [2-5]. Static solutions, like those employed in [6-7], meanwhile involve analysis of the applications and systems at certain times and not constantly; i.e it is not real-time protection. A. Problem Statement Unfortunately, while methods against privilege escalation have been implemented from API level 26 onwards, devices employing API level 25 and below compose the bulk of the Android market at 61.3 % and are still susceptible to privilege escalation attacks. Furthermore, due to the lack of knowledge about this threat, most consumers do not implement the available solutions; moreover, many of the solutions proposed so far require a certain level of technical skill and knowledge to implement, which are barriers that make it hard for these solutions to be adopted. B. Objectives The goal of this work is to modify the existing Android security framework to monitor situations where the Inter- Component Communication messages between applications are being exploited to achieve privilege escalation. This solution will maintain the state of applications as they run whilst overseeing ICCs in between different applications similar to [8], unlike existing static methods that cannot be run in real-time or other dynamic methods that are costly in terms of resources. The objectives shall be achieved by making modifications to the existing Android framework, specifically the Activity Manager as well as creating two new components, to inspect ICCs between applications. The rest of this paper is in the following order: we discuss related solutions proposed by other third parties in section II. Section III details the components Android applications and the requirements they need to function. Section IV demonstrates current privilege escalation vulnerabilities using modified applications. Section V goes into detail about the proposed modifications we make to the Android framework to prevent privilege escalation. Section VI describes the experimental evaluation of our modified Android framework. The main conclusions are briefed in section VII.