Secure an Android device (original) (raw)

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 apps 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 apps 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 app environment that protects the confidentiality, integrity, and availability of users, data, apps, the device, and the network.

Securing an open platform requires a strong security architecture and rigorous security programs. Android was designed with multilayered security that's 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 are 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 app communications. Android security released a tool for testing SSL (nogotofail) that helps developers find potential security issues on whichever platform they are developing.

Android also leverages underlying hardware support for security. For example, ARM TrustZone technology is used to provide secure storage for cryptographic keys as well as attestations of boot integrity.DICEis used to measure firmware that is loaded prior to booting Android. This enables remote verification that the firmware isn't affected by known, critical vulnerabilities which could be exploited to harm both developers and users.

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

Android is designed for users. Users are provided visibility into the permissions requested by each app 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 apps on Android. Android was designed to both reduce the probability of these attacks and greatly limit the impact of the attack in the event that it was successful. Android security continues to progress after the device is in the user's hands. Android works withpartners 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 page 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 doesn't discuss security issues that are unique to specific apps, such as those related to the browser or SMS app.

Background

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

The sections and pages below describe the security features of the Android platform. Figure 1 illustrates 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 apps extend the core Android operating system. There are two primary sources for apps:

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 aren't part of the Android Open Source Project (AOSP), they are included on many Android devices. For more information on some of these services, see Android Security’s2018 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 repurposing traditional operating system security controls to:

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