With Selinux NO ACCESS!

Total Page:16

File Type:pdf, Size:1020Kb

With Selinux NO ACCESS! CovEr Story SE Linux Mandatory Access Control (MAC) with SELinux NO ACCESS! SELinux provides a safer system through the powerful concept of mandatory access controls. BY THORSTEN SCHERF inux is an extremely safe operat- platform that supports SELinux. The im- (DACs). This means that the owner of a ing system, but legacy access portant thing is that the required kernel file has absolute control over the object Lprivileges provide no protection support (CONFIG_SECURITY_SELINUX) they have created. If a user inadvertently against misconfiguration or badly pro- and the libselinux, policycoreutils, and grants global write access to the file, a grammed software. If a program runs selinux-policy-targeted packages are separate process that validates this step haywire because the administrator has installed. SELinux also requires a few does not exist. forgotten to install the latest patch, or if standard packages (SysV-Init, pam, Or, if an attacker manages to execute a user escalates privileges due to an in- util-linux, coreutils, and others). arbitrary program code on the web correct setting, the native safety of the The legacy Linux security system is server by exploiting a vulnerability in system is no protection. SELinux miti- based on Discretionary Access Controls the web server software, the program gates the potential danger by code – a shell for example – adding an extra level of access will run with the privileges control called the Mandatory J<C`eloB\ie\c of a user account the server Access Control (MAC) level. GifZ\jjGX J: J: =`c\=X is running on. If that account About seven years ago, the is the apache user, the at- National Security Agency (NSA) GifZ\jjGY J: J: =`c\=Y tacker has access to all files J\Zli`kp [1] launched the first version of Gfc`Zp that the apache user account SELinux. Intended as an exten- Lj\iLX J: J: ;\m`Z\;X can access. sion for kernel 2.4 at the time, In most cases, no process the kernel patches have since Lj\iLY J: J: Lj\iLY checks whether the web found their way into the official J\Zli`kp server really needs to access 2.6 kernel. For many distribu- <e]fiZ\d\ek the files that it is accessing to tions, SELinux is part of the Df[lc\ be able to do its chores. An standard configuration. The ex- attacker who gains access to amples introduced in this arti- >iXekjfi the system then may be able cle are based on the Red Hat I\hl\jkjXZZ\jj [\e`\jXZZ\jj to escalate their privileges community distribution Fedora on the machine. Just re- Core 8, although they are Figure 1: The kernel-based security server decides on the level of cently, many Linux systems generically valid on any other access. were compromised because 36 ISSUE 91 JUNE 2008 SE Linux CovEr Story of a bug in the kernel that allowed at- tackers to exploit the vmsplice() system call. As a consequence, attackers gained complete control over the whole system. On systems with SELinux, every file, or every object, is given a separate secu- rity label by MAC for an extra level of control. In the case of file objects, Linux stores this label in the extended attri- butes. At the same time, each process, or each subject, is also given the corre- sponding label. This label, which is known as the security context, typically comprises three components: User:Role:Type/ Domain. Two examples Figure 2: The sedaudit tool displays all the log entries for SELinux in a sorted list. of this for the Apache server process file /usr/bin/httpd file are as follows: access is not explicitly permitted, it is Demo initially logged and finally prohibited – As a short demonstration of the way # ls -lZ /usr/sbin/http at least in enforcing mode. type enforcement works, consider the -rwxr-xr-x root U The kernel’s security server makes following: The administrator creates a root system_u:object_r:U sure that no infringement against the file called index.html in the /tmp folder. httpd_exec_t /usr/sbin/httpd policy occurs. The security server is an After doing so, the administrator moves entity that references the policy, and the (doesn’t copy) the file into the web serv- and: security label defines whether access is er’s document root, which, on Fedora, is permitted. To avoid performance over- /var/www/html/. Finally, the administra- # ps -AZ|grep httpd heads, the kernel-based server uses the tor launches the web server (/etc/init.d/ user_u:system_r:httpd_t 2571 ? U Access Vector Cache (AVC). httpd start) and accesses the page just 00:00:01 httpd SELinux Functions Just like security labels, the Posix ACLs SELinux distinguishes three different im- users can give the newrole command extend attributes of a file. In this exam- plementations: (which is similar to su) to change roles, ple, they look like this: • Type Enforcement (TE) assuming the policy allows this. A typi- • Role-Based Access Control (RBAC) cal role name is user_r (roles always end U with _r). # getfattr -d -m • Multi-Level Security (MLS) security /usr/sbin/httpd TE specifies which subject is permitted Russell Coker offers a couple of SELinux ... to access which objects – for example, play machines on the network [2] to security.selinux=U which process is allowed to access allow people to experiment; these ma- "system_u:object_r:httpd_U which files. However, a wide variety of chines demonstrate RBAC functionality. exec_t\000" different objects exists, including net- Coker has published the root account for work ports or memory areas. SELinux these machines, allowing anybody who assigns a domain to each subject and is interested to log in as the administra- SE Policy a type to each object. To explain this tor. Testers will soon find out that the command set available to them is ex- The policy is another important compo- generically, type enforcement controls which domain is allowed to access tremely restricted, in that the root user is nent. An SE policy defines access be- which types. Both types and domains not the administrative user on these play tween individual objects and subjects. are identified in a similar way; they machines. The policy specifies which objects the always end with _t (e.g., httpd_t). Finally, MLS defines different security process (such as an httpd process with RBAC uses an abstract user model and levels and is primarily used in high-secu- a specific role) is allowed to access. If assigns each user exactly one role. Users rity environments, such as military appli- then inherit the privileges assigned to cations. Objects are assigned to security File System Security Label the role. It is thus possible to assign a levels (confidential, strictly confidential, secret, and so on), and subjects are Although SELinux will work on file role to the root user that does not pos- given permissions for these different lev- systems that do not support extended sess any administrative privileges. To els of confidentiality. Wherever MLS is attributes, such as NFS or ISO9660, change to another role with extended deployed, the security label is extended administrators have to resort to various privileges, the user would first need to by adding a fourth and fifth component workarounds to get this to happen. The authenticate with a password. This is an until it looks like this: mount command has an option to interesting feature if you want to set up handle this: context=<security-label>. the machine without the omnipotent This lets you specify a security label for root user. The user can only assume a User:Role:Type/ the complete filesystem. single role at any given time; however, Domain:Sensitivity:Category JUNE 2008 ISSUE 91 37 CovEr Story SE Linux created in a web browser (http://local- host/index.html). If SELinux enforcing mode is enabled (default), the web browser displays an error message be- cause index.html was created in /tmp and inherited its security label: # ls -lZ /tmp/index.html -rw-r--r-- root root U root:object_r:tmp_t U /tmp/index.html In contrast, the web server process runs in the domain titled httpd_t: # ps -AZ|grep httpd user_u:system_r:httpd_tU 2571 ?U 00:00:02 httpd Figure 3: seaudit-report can generate statistics in HTML. The policy needs a rule that gives the {getattr } for pid=6608 U files (Figure 2); the tool displays individ- httpd_t domain access to tmp_t type comm="httpd" name=U ual log entries graphically. files, but it does not exist. The web "index.html" dev=dm-0 ino=179881 By calling seaudit-report --html logfile, server needs to access its own configura- scontext=user_u:system_r:U you can even generate an HTML page tion files, CGI scripts, and other content httpd_t tcontext=U that displays both the logs and various in its directory. Specific types exist for root:object_r:tmp_t tclass=file statistics on the SELinux system (see all of these files; for example, httpd_ Figure 3). config_t, httpd_log_t, httpd_sys_script_ This log entry reveals that the process exec_t, and httpd_sys_content_t. with PID 6608 and name httpd has just Spotting trouble Files in the /tmp folder are not typi- attempted to issue the getattr system call If setroubleshootd is running, the follow- cally the kinds of objects the web server (i.e., it attempted to call the attributes) ing additional entry is displayed in the accesses; thus, no allow instruction is in for a file with inode number 179881 and logfile /var/log/messages: the policy file for the tmp_t type. name index.html. scontext and tcontext If you check the /var/log/audit/audit. refer to the security label for the source setroubleshoot: #012 U log file, you will find a message to the process (apache) and the target file SELinux is U effect that an unauthorized attempt to (index.html).
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]