Bringing Mandatory Access Control to Android Apps 1 Introduction

Total Page:16

File Type:pdf, Size:1020Kb

Bringing Mandatory Access Control to Android Apps 1 Introduction SEApp: Bringing Mandatory Access Control to Android Apps Matthew Rossi Dario Facchinetti Università degli Studi di Bergamo Università degli Studi di Bergamo [email protected] [email protected] Enrico Bacis∗ Marco Rosa Stefano Paraboschi Università degli Studi di Bergamo SAP Security Research Università degli Studi di Bergamo [email protected] [email protected] [email protected] Abstract A peculiar threat that characterizes mobile operating sys- Mandatory Access Control (MAC) has provided a great con- tems is the need to balance on one side the high sensitivity of tribution to the improvement of the security of modern op- the information, and on the other hand the need for users to erating systems. A clear demonstration is represented by install into the system a large number of applications (called Android, which has progressively assigned a greater role to simply apps in this domain) often produced by unknown de- SELinux since its introduction in 2013. These benefits have velopers, which may hide malicious functions. A first level of been mostly dedicated to the protection of system compo- protection is offered, both in iOS and Android, by a prelimi- nents against the behavior of apps and no control is offered nary screening of apps before they are made available on the to app developers on the use of MAC. Our solution over- platform market [2] or installed to a device, but this approach comes this limitation, giving developers the power to define cannot provide a strong guarantee. Security mechanisms in- ad-hoc MAC policies for their apps, supporting the internal ternal to the operating system are needed in order to constrain compartmentalization of app components. the apps to only operate within the boundaries specified by This is a natural evolution of the security mechanisms al- the device owner at installation time. ready available in Android, but its realization requires to con- The approach used in the design of mobile operating sys- sider that (i) the security of system components must be main- tems considers as the first requirement the protection of sys- tained, (ii) the solution must be usable by developers, and tem resources. Focusing on Android, which is open source (iii) the performance impact should be limited. Our proposal and more accessible to researchers, we notice a significant evo- meets these three requirements. The proposal is supported by lution in its internal security architecture. This architecture is an open-source implementation. quite rich and consists of many security measures [44, 58]. In this environment, we specifically look at the role of SELinux. SELinux implements the Mandatory Access Control (MAC) 1 Introduction mechanism, which relies on a system-level policy to declare the operations that a process can execute over a resource Security in operating systems has greatly evolved and has based on the security labels associated with them. Compared been able to address many of the threats originating by an to classical Discretionary Access Control (DAC), still used extensive and varied collection of adversaries. in Android in an extensive way, MAC is more rigid and pro- The mitigation of security threats is particularly important vides stronger guarantees against unwanted behaviors. When for mobile operating systems, due to their wide deployment SELinux was introduced into Android 4.3 in 2013 (see Fig- and the confidential information they hold. ure1), it used a limited set of system domains and it was Both Android and iOS have seen significant investments mainly aimed at separating system resources from user apps. toward the realization of advanced security techniques, which In the next releases, the configuration of SELinux has progres- have led to a great increase in the level of protection offered to sively become more complex, with a growing set of domains users [58]. The strength of security and the value of protected isolating different services and resources, so that a bug or resources is testified, for instance, by the payouts associated vulnerability in some system component does not lead to a with working exploits in markets like Zerodium [72], where direct compromise of the whole system. the payouts for mobile operating systems are the highest1. The introduction of SELinux into Android has been a clear success. Unfortunately, the stronger protection benefits do ∗now at Google 1At the time of writing, US$2.5M and US$2M are paid for a zero click not extend to regular apps which are assigned with a single solution able to subvert the security of Androd and iOS, respectively. domain named untrusted_app. Since Android 9, isolation of apps has increased with the use of categories, which guar- app 1 app 2 app 1 app 2 app 1 app 2 app 1 app 2 antees that distinct apps operate on separate security contexts. Our proposal, SEApp, builds upon the observation that giving app developers the ability to apply MAC to the internal struc- ture of the app would provide more robust protection against other apps and internal vulnerabilities. system services system services system services system services 2 Android security for apps Before Android 4.3 - Since Our Android 4.3 Android 8 Android 9 Proposal One of the major requirements considered in the design of mobile operating systems is the need to constrain the ability Figure 1: Evolution of the MAC policy in Android. Before 4.3, of apps to manipulate the execution environment. Apps may MAC was not used. Starting with 4.3, MAC protects system hide functions that are meant to gain system privileges or components. Since 9, categories offer rigid MAC protection capture valuable information from other apps. Compared to for apps. Our proposal offers flexible MAC protection to apps. classical desktop operating systems, there is greater reliance on the use of apps to access resources or get services, with more attention paid to limit the ability of apps to operate in the MAC dictates which actions are allowed based on the secu- system. Advancements in this context can have an impact on rity policy defined by the system. Specifically, only actions ex- how security for applications is managed in other domains [1]. plicitly granted by the policy are permitted. To decide whether The basic principle adopted to manage the threat introduced to permit or deny an action, a set of policy rules concerning by apps is the design of a sandbox, a restricted environment the security contexts (i.e., collections of security labels that for app execution, where anomalous actions by the app are classify resources) of the involved parties is evaluated. not able to access resources beyond what has been authorized In Android, MAC is implemented using SEAndroid, a set at app installation time. The sandbox can be considered a of kernel modifications part of the Linux Security Module realization of the “least privilege” security principle. (LSM) framework [70]. Since its first introduction with the Se- The construction of the app sandbox is based on three curity Enhanced Android (SEAndroid) project [65], SELinux access control mechanisms: Android permissions [14, 44, 45], has been extensively applied to protect system components. Discretionary Access Control (DAC) [38], and Mandatory Initially, it was used to assert the security model requirements Access Control (MAC) [63]; each of them roughly aligning during compatibility testing, then its usage grew further at with how users, developers, and the platform grant consent, each release. In the current version Android 11, SELinux respectively. is also used to isolate the rendering of untrusted web con- Android permissions restrict access to sensitive data and tent (by the isolated_app domain), to restrict ioctl system services. In file AndroidManifest.xml [16], each app stat- calls [56], thus limiting the reachability of potential kernel ically lists the Android permissions needed to fully operate. vulnerabilities, and to support multi-user separation and app Not all of them may be granted; depending on the threat they sandboxing with SELinux categories. This last aspect permits pose from a security and privacy standpoint, they may be to enforce app separation both at DAC and MAC. Android granted as part of the installation procedure, or prompted to dynamically assigns categories to apps during app installa- the user when the app needs them. tion, so that: (i) an app running on behalf of a user cannot DAC restricts access to resources based on user and group read or write files created by the same app on behalf of an- identity. By assigning each application a unique UNIX user other user (since Android 6 [9]); and, (ii) an app cannot read ID (UID) and a dedicated directory, Android isolates apps or write files created by another app (since Android 9 [11]). from each other and from the system. However, UID sandbox- Before Android 9, this separation was only enforced at DAC ing has a number of shortcomings. As an example, processes level. This overlap of security measures is of extreme rele- running as root are not subject to these restrictions. For this vance to the enforcement of the Android Security Model and reason, when such a process is misbehaving, for instance due our proposal moves in the same direction. To bypass these to a bug, it can access private app data files. DAC discretion- protections, a process should be granted root permissions, ality itself is a problem. Indeed, as apps and system processes DAC_OVERRIDE or DAC_READ_SEARCH, and run as SELinux could override safe defaults, they are more susceptible to dan- mlstrustedsubject; only a few critical system services run gerous behavior, such as leaking files or data across security in this configuration. boundaries via IPC or fork/exec. Despite its deficiencies, UID Android restricts the SELinux implementation to the policy sandboxing is still the primary enforcement mechanism that enforcement, ignoring most policy management functions.
Recommended publications
  • Role Based Access Control on MLS Systems Without Kernel Changes
    Role Based Access Control on For example, roles in a bank may include the role of teller or accountant. Each of these roles has a set of MLS Systems without Kernel privileges or transactions that they can p erform, includ- Changes ing some privileges that are available to b oth roles. Roles can b e hierarchical. For example, some roles in a hospital D. Richard Kuhn may b e health care provider, nurse, and do ctor. The do c- National Institute of Standards and Technology tor role may include all privileges available to the nurse Gaithersburg, Maryland 20899 role, which in turn includes all the privileges available to the health care provider role. Roles have b een used in a variety of forms for com- Abstract puter system security for at least 20 years, and several prop osals for incorp orating roles into existing access con- Role based access control (RBAC) is attracting increas- trol mechanisms have b een published [2], [3], [4]. More ing attention as a security mechanism for b oth commer- recently, formal defnitions for general-purp ose RBAC no- cial and many military systems. This pap er shows how tions have b een prop osed [5], [6], [7]. RBAC can b e implemented using the mechanisms avail- This pap er shows how RBAC can b e implemented able on traditional multi-level security systems that im- using the controls available on traditional lattice-based plement information fow p olicies. The construction from multi-level secure systems. This approach presents a MLS to RBAC systems is signifcant b ecause it shows that number of advantages: the enormous investment in MLS systems can b e lever- aged to pro duce RBAC systems.
    [Show full text]
  • File Permissions Do Not Restrict Root
    Filesystem Security 1 General Principles • Files and folders are managed • A file handle provides an by the operating system opaque identifier for a • Applications, including shells, file/folder access files through an API • File operations • Access control entry (ACE) – Open file: returns file handle – Allow/deny a certain type of – Read/write/execute file access to a file/folder by – Close file: invalidates file user/group handle • Access control list (ACL) • Hierarchical file organization – Collection of ACEs for a – Tree (Windows) file/folder – DAG (Linux) 2 Discretionary Access Control (DAC) • Users can protect what they own – The owner may grant access to others – The owner may define the type of access (read/write/execute) given to others • DAC is the standard model used in operating systems • Mandatory Access Control (MAC) – Alternative model not covered in this lecture – Multiple levels of security for users and documents – Read down and write up principles 3 Closed vs. Open Policy Closed policy Open Policy – Also called “default secure” • Deny Tom read access to “foo” • Give Tom read access to “foo” • Deny Bob r/w access to “bar” • Give Bob r/w access to “bar • Tom: I would like to read “foo” • Tom: I would like to read “foo” – Access denied – Access allowed • Tom: I would like to read “bar” • Tom: I would like to read “bar” – Access allowed – Access denied 4 Closed Policy with Negative Authorizations and Deny Priority • Give Tom r/w access to “bar” • Deny Tom write access to “bar” • Tom: I would like to read “bar” – Access
    [Show full text]
  • Access Control and Operating System
    Outline (may not finish in one lecture) Access Control and Operating Access Control Concepts Secure OS System Security • Matrix, ACL, Capabilities • Methods for resisting • Multi-level security (MLS) stronger attacks OS Mechanisms Assurance • Multics • Orange Book, TCSEC John Mitchell – Ring structure • Common Criteria • Amoeba • Windows 2000 – Distributed, capabilities certification • Unix Some Limitations – File system, Setuid • Information flow • Windows • Covert channels – File system, Tokens, EFS • SE Linux – Role-based, Domain type enforcement Access control Access control matrix [Lampson] Common Assumption Objects • System knows who the user is File 1 File 2 File 3 … File n – User has entered a name and password, or other info • Access requests pass through gatekeeper User 1 read write - - read – OS must be designed monitor cannot be bypassed User 2 write write write - - Reference Subjects monitor User 3 - - - read read User process ? Resource … User m read write read write read Decide whether user can apply operation to resource Two implementation concepts Capabilities Access control list (ACL) File 1 File 2 … Operating system concept • “… of the future and always will be …” • Store column of matrix User 1 read write - Examples with the resource User 2 write write - • Dennis and van Horn, MIT PDP-1 Timesharing Capability User 3 - - read • Hydra, StarOS, Intel iAPX 432, Eros, … • User holds a “ticket” for … • Amoeba: distributed, unforgeable tickets each resource User m read write write • Two variations References – store
    [Show full text]
  • Making Linux Security Frameworks Available to Containers
    Security Namespace : Making Linux Security Frameworks Available to Containers Yuqiong Sun, David Safford, Mimi Zohar, Dimitrios Pendarakis, Zhongshu Gu and Trent Jaeger Container vs. Virtual Machines • Containers are operating system level virtualization environment for running multiple isolated Linux systems on a single Linux control host Image credit: Docker Inc. and RightScale Inc. Is Kernel Sharing All Good? • Container owners cannot leverage kernel security frameworks to protect their containers • I.e., cannot apply local security policies to govern integrity measurement, code execution, mandatory access control, etc. Integrity Attestation for Container • On a container cloud, can a container owner attest integrity of his/her containers to his/her customers? • Exactly what Linux Integrity subsystem (a.k.a. IMA) is designed for kernel mmap() extend Process Measure record Policy Measurements Integrity Attestation for Container (Cont.) • But… • Mixed measurements from different containers and host Process mmap() kernel extend Container1 Measure mmap() record Process Policy Measurements Container2 Integrity Attestation for Container (Cont.) • But… • Mixed measurements from different containers and host • Different versions of policies Process mmap() kernel extend Container1 Measure mmap() record Process Policy1 Policy2 Measurements Container2 Integrity Attestation for Container (Cont.) • But… • Mixed measurements from different containers and host • Different versions of policies • And policies do not always agree with each other Me:
    [Show full text]
  • Operating Systems & Virtualisation Security Knowledge Area
    Operating Systems & Virtualisation Security Knowledge Area Issue 1.0 Herbert Bos Vrije Universiteit Amsterdam EDITOR Andrew Martin Oxford University REVIEWERS Chris Dalton Hewlett Packard David Lie University of Toronto Gernot Heiser University of New South Wales Mathias Payer École Polytechnique Fédérale de Lausanne The Cyber Security Body Of Knowledge www.cybok.org COPYRIGHT © Crown Copyright, The National Cyber Security Centre 2019. This information is licensed under the Open Government Licence v3.0. To view this licence, visit: http://www.nationalarchives.gov.uk/doc/open-government-licence/ When you use this information under the Open Government Licence, you should include the following attribution: CyBOK © Crown Copyright, The National Cyber Security Centre 2018, li- censed under the Open Government Licence: http://www.nationalarchives.gov.uk/doc/open- government-licence/. The CyBOK project would like to understand how the CyBOK is being used and its uptake. The project would like organisations using, or intending to use, CyBOK for the purposes of education, training, course development, professional development etc. to contact it at con- [email protected] to let the project know how they are using CyBOK. Issue 1.0 is a stable public release of the Operating Systems & Virtualisation Security Knowl- edge Area. However, it should be noted that a fully-collated CyBOK document which includes all of the Knowledge Areas is anticipated to be released by the end of July 2019. This will likely include updated page layout and formatting of the individual Knowledge Areas KA Operating Systems & Virtualisation Security j October 2019 Page 1 The Cyber Security Body Of Knowledge www.cybok.org INTRODUCTION In this Knowledge Area, we introduce the principles, primitives and practices for ensuring se- curity at the operating system and hypervisor levels.
    [Show full text]
  • Discretionary Access Control (DAC)
    CS 5323 Discretionary Access Control (DAC) Prof. Ravi Sandhu Executive Director and Endowed Chair Lecture 7 [email protected] www.profsandhu.com © Ravi Sandhu World-Leading Research with Real-World Impact! 1 Authentication, Authorization, Audit AAA Authentication Authorization Audit Who are You? What are You What Did You Do? Allowed to Do? siloed integrated © Ravi Sandhu World-Leading Research with Real-World Impact! 2 Access Control Fixed policy Discretionary Access Control Mandatory Access Control (DAC), 1970 (MAC), 1970 Role Based Access Control (RBAC), 1995 Attribute Based Access Control (ABAC), ???? Flexible policy © Ravi Sandhu World-Leading Research with Real-World Impact! 3 Access Matrix Model © Ravi Sandhu World-Leading Research with Real-World Impact! 4 Access Matrix Model Objects (and Subjects) F G S U r w r u own b j r w e V c own t s rights © Ravi Sandhu World-Leading Research with Real-World Impact! 5 Access Matrix Model Basic Abstractions Subjects Objects Rights The rights in a cell specify the access of the subject (row) to the object (column) © Ravi Sandhu World-Leading Research with Real-World Impact! 6 Users and Subjects A subject is a program (application) executing on behalf of a user A user may at any time be idle, or have one or more subjects executing on its behalf User-subject distinction is important if subject’s rights are different from a user’s rights Usually a subset In many systems a subject has all the rights of a user A human user may manifest as multiple users (accounts, principals) in the system © Ravi Sandhu World-Leading Research with Real-World Impact! 7 Users and Subjects JOE.TOP-SECRET JOE.SECRET JOE JOE.CONFIDENTIAL JOE.UNCLASSIFIED USER SUBJECTS © Ravi Sandhu World-Leading Research with Real-World Impact! 8 Users and Subjects JANE.CHAIRPERSON JANE.FACULTY JANE JANE.
    [Show full text]
  • Role Hierarchies and Constraints for Lattice-Based Access Controls
    Role Hierarchies and Constraints for Lattice-Based Access Controls Ravi Sandhu* George Mason University & SETA Corporation~* Abstract Role-based access control (RBAC) is a promising alternative to traditional discretionary and mandatory access controls. In RBAC permis- sions are associated with roles, and users are made members of appropriate roles thereby acquiring the roles' permissions. In this paper we formally show that lattice-based mandatory access controls can be enforced by appropriate configuration of RBAC components. Our constructions demonstrate that role hierarchies and constraints are required to effectively achieve this result. We show that variations of the lattice-based *-property, such as write-up (liberal *-property) and no-write-up (strict ,-property), can be easily accommodated in RBAC. Our results attest to the flexibility of RBAC and its ability to ac- commodate different policies by suitable configuration of role hierarchies and constraints. 1 INTRODUCTION Role-based access control (RBAC) has recently received considerable attention as a promising alternative to traditional discretionary and mandatory access controls (see, for example, [FK92, SCY96, SCFY96]). In RBAC permissions are associated with roles, and users are made members of appropriate roles thereby acquiring the roles' permissions. This greatly simplifies management of permissions. Roles are created for the various job functions in an organization and users are assigned roles based on their responsibilities and qualifications. Users can be easily reassigned from one role to another. Roles can be granted new permissions as new applications and systems are incorporated, and permissions can be revoked from roles as needed. An important characteristic of RBAC is that by itself it is policy neutral.
    [Show full text]
  • The Simplified Mandatory Access Control Kernel
    The Simplified Mandatory Access Control Kernel Casey Schaufler [email protected] Mandatory Access Control Computer systems employ a variety of schemes to constrain how information is shared among the people and services using the machine. Some of these schemes allow the program or user to decide what other programs or users are allowed access to pieces of data. These schemes are called discretionary access control mechanisms because the access control is specified at the discretion of the user. Other schemes do not leave the decision regarding what a user or program can access up to users or programs. These schemes are called mandatory access control mechanisms because you don’t have a choice regarding the users or programs that have access to pieces of data. Bell & LaPadula From the middle of the 1980’s until the turn of the century Mandatory Access Control (MAC) was very closely associated with the Bell & LaPadula security model, a mathematical description of the United States Department of Defense policy for marking paper documents. MAC in this form enjoyed a following within the Capital Beltway and Scandinavian supercomputer centers but was often sited as failing to address general needs. Domain Type Enforcement Around the turn of the century Domain Type Enforcement (DTE) became popular. This scheme organizes users, programs, and data into domains that are protected from each other. This scheme has been widely deployed as a component of popular Linux distributions. The administrative overhead required to maintain this scheme and the detailed understanding of the whole system necessary to provide a secure domain mapping leads to the scheme being disabled or used in limited ways in the majority of cases.
    [Show full text]
  • Controlled Environment to Run Untrusted Applications
    CONTROLLED ENVIRONMENT TO RUN UNTRUSTED APPLICATIONS A thesis submitted To Kent State University in partial Fulfillment of the requirements for the Degree of Master of Science by TAHANI ALBALAWI August, 2013 Thesis written by TAHANI ALBALAWI B.S., Taiba University, KSA 2007 M.S., Kent State University, USA, 2013 Approved by Michael Rothstein, Advisor Javed Khan , Chair, Department of Computer Science Raymond Craig, Dean, College of Arts and Sciences ii Abstract Untrusted applications pose a security threat to systems they run on. At the same time sometimes a user wants to run such applications without risking unauthorized access to certain parts of the system. For this reason we propose a controlled environment to run host untrusted applications based on AppArmor tool. We intend to augment the usefulness of AppArmor by further restricting the permissions of the files accessible to the process using other system mechanisms, such as NFS and Chroot. Based on the principle of least authority, programs can run in a restricted secure environment limiting access to a subset of the files. This way untrusted applications are allowed to run with limits to protect the system. iii Table of Contents LIST OF FIGURES ..................................................................................................... vii LIST OF TABLES ...................................................................................................... vii DEDICATION.............................................................................................................
    [Show full text]
  • Freebsd Advanced Security Features
    FreeBSD Advanced Security Features Robert N. M. Watson Security Research Computer Laboratory University of Cambridge 19 May, 2007 Introduction ● Welcome! – Introduction to some of the advanced security features in the FreeBSD operating system ● Background – Introduce a series of access control and audit security features used to manage local security – Features appeared between FreeBSD 4.0 and FreeBSD 6.2, and build on the UNIX security model – To talk about new security features, we must understand the FreeBSD security architecture 19 May 2007 2 Post-UNIX Security Features ● Securelevels ● IPFW, PF, IPFilter ● Pluggable ● KAME IPSEC, authentication FAST_IPSEC modules (OpenPAM) ● Access control lists ● Crypto library and (ACLs) tools (OpenSSL) ● Security event audit ● Resource limits ● Mandatory access ● Jails, jail securelevels control (MAC) ● GBDE, GELI ● 802.11 security 19 May 2007 3 Brief History of the TrustedBSD Project ● TrustedBSD Project founded in April, 2000 – Goal to provide trusted operating system extensions to FreeBSD – DARPA funding began in July, 2001 – Continuing funding from a variety of government and industry sponsors – Work ranges from immediately practical to research – While many of these features are production- quality, some are still under development – Scope now also includes Apple's Mac OS X 19 May 2007 4 FreeBSD Security Architecture 19 May 2007 5 FreeBSD Security Architecture ● FreeBSD's security architecture is the UNIX security architecture – Entirely trusted monolithic kernel – UNIX process model – Kernel UIDs/GIDs driven by user-space user mode – Privileged root user – Various forms of access control (permissions, ...) ● Security features discussed here extend this security model in a number of ways 19 May 2007 6 Kernel and User Processes Kernel s s Inter-process e l c l communication c a a c m m e e t t s s y y s s e l i F User User User ..
    [Show full text]
  • Differentiating Between Access Control Terms WP
    Differentiating Between Access Control Terms Understanding User and Role Based Access Control, Policy Based Access Control, Content Dependent Access Control, Context Based Access Control, View Based Access Control, Discretionary and Mandatory Access Control Access Control White Paper Table of Contents INTRODUCTION 3 USER BASED ACCESS CONTROL (UBAC) 4 ROLE BASED ACCESS CONTROL (RBAC) 4 POLICY BASED ACCESS CONTROL 5 CONTENT DEPENDENT ACCESS CONTROL (CDAC) 6 CONTEXT BASED ACCESS CONTROL (CBAC 6 VIEW BASED ACCESS CONTROL (VBAC) 7 MANDATORY & DISCRETIONARY ACCESS CONTROL (MAC AND DAC) 8 THE BOTTOM LINE 9 LEGAL NOTICE 12 2 Access Control White Paper 1. INTRODUCTION Access control, by the broadest definition, is the ultimate goal of all network security – granting access when appropriate and denying when inappropriate. Access control tools help accomplish this purpose, as do firewalls, encryption, and intrusion detection. In light of the true mission of network security, however, having the right access control tool is absolutely essential. Almost every network has some form of access control, even if it is merely that of the native operating systems – some networks have several access control tools that protect different resources. The various types of access control tools enforce security policy and/or users’ privileges by protecting mail servers, web applications, database systems, fileservers, applications, or some combination of these resources. In fact, there are so many types of access control tools and so many non-standardized terms to describe them that it is difficult to determine which solution is right for a given network. An understanding of the more common usages of these terms can make it easier to discern between the basic types of solutions available .
    [Show full text]
  • Flexible and Fine-Grained Mandatory Access Control on Android For
    Flexible and Fine-grained Mandatory Access Control on Android for Diverse Security and Privacy Policies Sven Bugiel, Saarland University; Stephan Heuser, Fraunhofer SIT; Ahmad-Reza Sadeghi, Technische Universität Darmstadt and Center for Advanced Security Research Darmstadt This paper is included in the Proceedings of the 22nd USENIX Security Symposium. August 14–16, 2013 • Washington, D.C., USA ISBN 978-1-931971-03-4 Open access to the Proceedings of the 22nd USENIX Security Symposium is sponsored by USENIX Flexible and Fine-Grained Mandatory Access Control on Android for Diverse Security and Privacy Policies Sven Bugiel Stephan Heuser [email protected][email protected] Saarland University, Germany Fraunhofer SIT, Germany Ahmad-Reza Sadeghi [email protected] Technische Universität Darmstadt / CASED, Germany Abstract Android’s vulnerabilities. Android has been shown to be vulnerable to a number of different In this paper we tackle the challenge of providing attacks such as malicious apps and libraries that mis- a generic security architecture for the Android OS use their privileges [57, 40, 25] or even utilize root- that can serve as a flexible and effective ecosystem exploits [55, 40] to extract security and privacy sen- to instantiate different security solutions. In con- sitive information; taking advantage of unprotected trast to prior work our security architecture, termed interfaces [14, 12, 53, 32] and files [49]; confused FlaskDroid, provides mandatory access control si- deputy attacks [16]; and collusion attacks [46, 34]. multaneously on both Android’s middleware and kernel layers. The alignment of policy enforcement Solutions. On the other hand, Android’s open- on these two layers is non-trivial due to their com- source nature has made it very appealing to academic pletely different semantics.
    [Show full text]