Android incorporates industry-leading security features and works with developers and device implementers to keep the Android platform and ecosystem safe. A robust security model is essential to enable a vigorous ecosystem of applications and devices built on and around the Android platform and supported by cloud services. As a result, through its entire development lifecycle, Android has been subject to a rigorous security program.

Android is designed to be open. Android applications use advanced hardware and software, as well as local and served data, exposed through the platform to bring innovation and value to consumers. To realize that value, the platform offers an application environment that protects the confidentiality, integrity, and availability of users, data, applications, the device, and the network.

Securing an open platform requires a strong security architecture and rigorous security programs. Android was designed with multi-layered security that is flexible enough to support an open platform while still protecting all users of the platform. For information about reporting security issues and the update process, see Security Updates and Resources.

Android is designed for developers. Security controls were designed to reduce the burden on developers. Security-savvy developers can easily work with and rely on flexible security controls. Developers less familiar with security will be protected by safe defaults.

In addition to providing a stable platform to build upon, Android gives additional support to developers in a number of ways. The Android security team looks for potential vulnerabilities in apps and suggests ways to fix those issues. For devices with Google Play, Play Services delivers security updates for critical software libraries, such as OpenSSL, which is used to secure application communications. Android security released a tool for testing SSL (nogotofail) that helps developers find potential security issues on whichever platform they are developing.

More information for Android app developers can be found on developer.android.com.

Android is designed for users. Users are provided visibility into permissions requested by each application and control over those permissions. This design includes the expectation that attackers would attempt to perform common attacks, such as social engineering attacks to convince device users to install malware, and attacks on third-party applications on Android. Android was designed to both reduce the probability of these attacks and greatly limit the impact of the attack in the event it was successful. Android security continues to progress once the device is in the user's hands: Android works with partners and the public to provide patches for any Android device that is continuing to receive security updates.

More information for end users can be found in the Nexus help center, Pixel help center, or your device manufacturer’s help center.

This documentation outlines the goals of the Android security program, describes the fundamentals of the Android security architecture, and answers the most pertinent questions for system architects and security analysts. It focuses on the security features of Android's core platform and does not discuss security issues that are unique to specific applications, such as those related to the browser or SMS application.

Background

Android provides an open source platform and application environment for mobile devices.

The sections and pages below describe the security features of the Android platform. Figure 1 summarizes the security components and considerations of the various levels of the Android software stack. Each component assumes that the components below are properly secured. With the exception of a small amount of Android OS code running as root, all code above the Linux Kernel is restricted by the Application Sandbox.

Figure 1: Android software stack

Figure 1. Android software stack.

The main Android platform building blocks are:

Android applications extend the core Android operating system. There are two primary sources for applications:

Google security services

Google provides a set of cloud-based services that are available to compatible Android devices with Google Mobile Services. While these services are not part of the Android Open Source Project, they are included on many Android devices. For more information on some of these services, see Android Security’s 2017 Year in Review.

The primary Google security services are:

Security program overview

The key components of the Android Security Program include:

Platform security architecture

Android seeks to be the most secure and usable operating system for mobile platforms by re-purposing traditional operating system security controls to:

To achieve these objectives, Android provides these key security features: