Android intègre des fonctionnalités de sécurité de pointe et travaille avec les développeurs et les implémenteurs d'appareils pour assurer la sécurité de la plate-forme et de l'écosystème Android. Un modèle de sécurité robuste est essentiel pour permettre un écosystème vigoureux d'applications et d'appareils construits sur et autour de la plate-forme Android et pris en charge par des services cloud. Par conséquent, tout au long de son cycle de développement, Android a été soumis à un programme de sécurité rigoureux.
Android est conçu pour être ouvert. Les applications Android utilisent du matériel et des logiciels avancés, ainsi que des données locales et servies, exposées via la plate-forme pour apporter innovation et valeur aux consommateurs. Pour réaliser cette valeur, la plate-forme offre un environnement d'application qui protège la confidentialité, l'intégrité et la disponibilité des utilisateurs, des données, des applications, de l'appareil et du réseau.
La sécurisation d'une plate-forme ouverte nécessite une architecture de sécurité solide et des programmes de sécurité rigoureux. Android a été conçu avec une sécurité multicouche suffisamment flexible pour prendre en charge une plate-forme ouverte tout en protégeant tous les utilisateurs de la plate-forme. Pour plus d'informations sur le signalement des problèmes de sécurité et le processus de mise à jour, consultez Mises à jour de sécurité et ressources .
Android est conçu pour les développeurs. Les contrôles de sécurité ont été conçus pour réduire la charge des développeurs. Les développeurs avertis en matière de sécurité peuvent facilement travailler avec et s'appuyer sur des contrôles de sécurité flexibles. Les développeurs moins familiarisés avec la sécurité sont protégés par des valeurs par défaut sûres.
En plus de fournir une plate-forme stable sur laquelle s'appuyer, Android offre une assistance supplémentaire aux développeurs de plusieurs manières. L'équipe de sécurité Android recherche les vulnérabilités potentielles dans les applications et suggère des moyens de résoudre ces problèmes. Pour les appareils avec Google Play, Play Services fournit des mises à jour de sécurité pour les bibliothèques de logiciels critiques, telles que OpenSSL, qui est utilisée pour sécuriser les communications des applications. La sécurité Android a publié un outil de test SSL ( nogotofail ) qui aide les développeurs à trouver des problèmes de sécurité potentiels sur la plate-forme qu'ils développent.
Vous trouverez plus d'informations pour les développeurs d'applications Android sur developer.android.com .
Android est conçu pour les utilisateurs. Les utilisateurs bénéficient d'une visibilité sur les autorisations demandées par chaque application et d'un contrôle sur ces autorisations. Cette conception inclut l'attente que les attaquants tentent d'effectuer des attaques courantes, telles que des attaques d'ingénierie sociale pour convaincre les utilisateurs d'appareils d'installer des logiciels malveillants, et des attaques sur des applications tierces sur Android. Android a été conçu pour à la fois réduire la probabilité de ces attaques et limiter considérablement l'impact de l'attaque en cas de succès. La sécurité Android continue de progresser une fois que l'appareil est entre les mains de l'utilisateur. Android travaille avec des partenaires et le public pour fournir des correctifs pour tout appareil Android qui continue de recevoir des mises à jour de sécurité.
Pour plus d'informations destinées aux utilisateurs finaux, consultez le centre d' aide Nexus , le centre d' aide Pixel ou le centre d'aide du fabricant de votre appareil.
Cette page décrit les objectifs du programme de sécurité Android, décrit les principes fondamentaux de l'architecture de sécurité Android et répond aux questions les plus pertinentes pour les architectes système et les analystes de sécurité. Il se concentre sur les fonctionnalités de sécurité de la plate-forme principale d'Android et ne traite pas des problèmes de sécurité propres à des applications spécifiques, telles que celles liées au navigateur ou à l'application SMS.
Arrière plan
Android fournit une plate-forme open source et un environnement d'application pour les appareils mobiles.
Les sections et pages ci-dessous décrivent les fonctions de sécurité de la plate-forme Android. La figure 1 illustre les composants de sécurité et les considérations des différents niveaux de la pile logicielle Android. Chaque composant suppose que les composants ci-dessous sont correctement sécurisés. À l'exception d'une petite quantité de code du système d'exploitation Android exécuté en tant que root, tout le code au-dessus du noyau Linux est limité par l'Application Sandbox.
Figure 1. Pile logicielle Android
Les principaux blocs de construction de la plate-forme Android sont :
- Matériel de l'appareil : Android fonctionne sur une large gamme de configurations matérielles, notamment les téléphones mobiles, les tablettes, les montres, les automobiles, les téléviseurs intelligents, les boîtiers de jeu OTT et les décodeurs. Android est indépendant du processeur, mais il tire parti de certaines fonctionnalités de sécurité spécifiques au matériel telles que ARM eXecute-Never.
- Système d'exploitation Android : le système d'exploitation principal est construit au-dessus du noyau Linux. Toutes les ressources de l'appareil, telles que les fonctions de l'appareil photo, les données GPS, les fonctions Bluetooth, les fonctions de téléphonie et les connexions réseau sont accessibles via le système d'exploitation.
- Exécution d'applications Android : les applications Android sont le plus souvent écrites dans le langage de programmation Java et exécutées dans l'environnement d'exécution Android (ART). Cependant, de nombreuses applications, y compris les principaux services et applications Android, sont des applications natives ou incluent des bibliothèques natives. Les applications ART et natives s'exécutent dans le même environnement de sécurité, contenu dans l'Application Sandbox. Les applications obtiennent une partie dédiée du système de fichiers dans laquelle elles peuvent écrire des données privées, y compris des bases de données et des fichiers bruts.
Les applications Android étendent le système d'exploitation principal d'Android. Il existe deux sources principales pour les applications :
- Applications préinstallées : Android comprend un ensemble d'applications préinstallées, notamment le téléphone, la messagerie électronique, le calendrier, le navigateur Web et les contacts. Celles-ci fonctionnent comme des applications utilisateur et fournissent des fonctionnalités clés de l'appareil auxquelles d'autres applications peuvent accéder. Les applications préinstallées peuvent faire partie de la plate-forme Android open source ou elles peuvent être développées par un fabricant d'appareils pour un appareil spécifique.
- Applications installées par l'utilisateur : Android fournit un environnement de développement ouvert qui prend en charge toute application tierce. Google Play offre aux utilisateurs des centaines de milliers d'applications.
Services de sécurité Google
Google fournit un ensemble de services basés sur le cloud qui sont disponibles pour les appareils Android compatibles avec Google Mobile Services . Bien que ces services ne fassent pas partie du projet Android Open Source (AOSP), ils sont inclus sur de nombreux appareils Android. Pour plus d'informations sur certains de ces services, consultez le bilan de l' année 2018 d'Android Security .
Les principaux services de sécurité de Google sont :
- Google Play : Google Play est un ensemble de services qui permettent aux utilisateurs de découvrir, d'installer et d'acheter des applications à partir de leur appareil Android ou du Web. Google Play permet aux développeurs d'atteindre facilement les utilisateurs et les clients potentiels d'Android. Google Play propose également un examen communautaire, une vérification de licence d' application , une analyse de la sécurité des applications et d'autres services de sécurité.
- Mises à jour Android : le service de mise à jour Android offre de nouvelles fonctionnalités et des mises à jour de sécurité à certains appareils Android, y compris des mises à jour via le Web ou par liaison radio (OTA).
- Services d'application : cadres qui permettent aux applications Android d'utiliser des fonctionnalités cloud telles que ( sauvegarde ) les données et paramètres d'application et la messagerie cloud-to-device ( C2DM ) pour la messagerie push.
- Vérifier les applications : Avertissez ou bloquez automatiquement l'installation d'applications nuisibles et analysez en permanence les applications sur l'appareil, avertissant ou supprimant les applications nuisibles .
- SafetyNet : un système de détection d'intrusion préservant la confidentialité pour faciliter le suivi de Google, atténuer les menaces de sécurité connues et identifier les nouvelles menaces de sécurité.
- Attestation SafetyNet : API tierce pour déterminer si l'appareil est compatible CTS. L' attestation peut également identifier l'application Android communiquant avec le serveur d'applications.
- Gestionnaire d'appareils Android : une application Web et une application Android pour localiser un appareil perdu ou volé.
Présentation du programme de sécurité
Les composants clés du programme de sécurité Android incluent :
- Examen de la conception : le processus de sécurité Android commence tôt dans le cycle de vie du développement avec la création d'un modèle et d'une conception de sécurité riches et configurables. Chaque fonctionnalité majeure de la plate-forme est examinée par des ressources d'ingénierie et de sécurité, avec des contrôles de sécurité appropriés intégrés dans l'architecture du système.
- Tests d'intrusion et révision du code : pendant le développement de la plate-forme, les composants créés par Android et open source sont soumis à des révisions de sécurité rigoureuses. Ces examens sont effectués par l'équipe de sécurité Android, l'équipe d'ingénierie de la sécurité de l'information de Google et des consultants en sécurité indépendants. L'objectif de ces revues est d'identifier les faiblesses et les éventuelles vulnérabilités bien avant les versions majeures, et de simuler les types d'analyses effectuées par des experts en sécurité externes lors de la publication.
- Examen open source et communautaire : AOSP permet un vaste examen de la sécurité par toute partie intéressée. Android utilise également des technologies open source qui ont fait l'objet d'un examen de sécurité externe important, comme le noyau Linux. Google Play fournit un forum permettant aux utilisateurs et aux entreprises de fournir directement aux utilisateurs des informations sur des applications spécifiques.
- Réponse aux incidents : même avec ces précautions, des problèmes de sécurité peuvent survenir après l'expédition, c'est pourquoi le projet Android a créé un processus de réponse de sécurité complet. Les membres de l'équipe de sécurité Android à plein temps surveillent la communauté de sécurité spécifique à Android et générale pour discuter des vulnérabilités potentielles et examinent les bogues de sécurité enregistrés dans la base de données de bogues Android. Lors de la découverte de problèmes légitimes, l'équipe Android dispose d'un processus de réponse qui permet d'atténuer rapidement les vulnérabilités afin de garantir que le risque potentiel pour tous les utilisateurs d'Android est minimisé. Ces réponses prises en charge par le cloud peuvent inclure la mise à jour de la plate-forme Android (mises à jour AOSP), la suppression d'applications de Google Play et la suppression d'applications d'appareils sur le terrain.
- Mises à jour de sécurité mensuelles : l'équipe de sécurité Android fournit des mises à jour mensuelles aux appareils Google Android et à tous nos partenaires fabricants d'appareils.
Architecture de sécurité de la plateforme
Android cherche à être le système d'exploitation le plus sûr et le plus utilisable pour les plates-formes mobiles en réaffectant les contrôles de sécurité traditionnels du système d'exploitation pour :
- Protéger l'application et les données utilisateur
- Protéger les ressources système (y compris le réseau)
- Isoler l'application du système, des autres applications et de l'utilisateur
Pour atteindre ces objectifs, Android fournit ces fonctionnalités de sécurité clés :
- Sécurité robuste au niveau du système d'exploitation via le noyau Linux
- Bac à sable d'application obligatoire pour toutes les applications
- Communication interprocessus sécurisée
- Signature d'application
- Autorisations définies par l'application et accordées par l'utilisateur