Sécuriser un appareil Android

Android intègre des fonctionnalités de sécurité de pointe et collabore avec les développeurs et les fabricants 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 dynamique d'applications et d'appareils basés sur la plate-forme Android et les 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 diffusées, exposées via la plate-forme pour apporter innovation et valeur aux consommateurs. Pour atteindre cet objectif, la plate-forme propose 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.

Pour sécuriser une plate-forme ouverte, il faut 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 ses utilisateurs. Pour en savoir plus sur le signalement des problèmes de sécurité et sur la procédure de mise à jour, consultez Mises à jour et ressources de sécurité.

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 soucieux de la sécurité peuvent facilement travailler avec des contrôles de sécurité flexibles et s'y fier. Les développeurs moins familiers avec la sécurité sont protégés par des paramètres par défaut sécurisés.

En plus de fournir une plate-forme stable sur laquelle s'appuyer, Android offre aux développeurs une assistance supplémentaire de plusieurs façons. L'équipe de sécurité Android recherche les failles potentielles dans les applications et suggère des moyens de résoudre ces problèmes. Pour les appareils équipés de Google Play, les services Play fournissent des mises à jour de sécurité pour les bibliothèques logicielles critiques, telles qu'OpenSSL, qui est utilisé pour sécuriser les communications des applications. La sécurité Android a publié un outil de test SSL (nogotofail) qui aide les développeurs à identifier les problèmes de sécurité potentiels sur la plate-forme sur laquelle ils développent.

Android s'appuie également sur la prise en charge matérielle sous-jacente pour la sécurité. Par exemple, la technologie ARM TrustZone est utilisée pour fournir un stockage sécurisé des clés cryptographiques ainsi que des attestations d'intégrité du démarrage. DICE est utilisé pour mesurer le micrologiciel chargé avant le démarrage d'Android. Cela permet de vérifier à distance que le micrologiciel n'est pas affecté par des failles critiques connues qui pourraient être exploitées pour nuire aux développeurs et aux utilisateurs.

Pour en savoir plus sur les applications Android, consultez developer.android.com.

Android est conçu pour les utilisateurs. Les utilisateurs peuvent voir les autorisations demandées par chaque application et les contrôler. Cette conception inclut l'hypothèse que les pirates informatiques tenteraient 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 réduire la probabilité de ces attaques et limiter considérablement leur impact en cas de réussite. La sécurité d'Android continue de progresser une fois l'appareil 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 en savoir plus, les utilisateurs finaux peuvent consulter le Centre d'aide Nexus, le Centre d'aide Pixel ou le centre d'aide du fabricant de leur appareil.

Cette page décrit les objectifs du programme de sécurité Android, 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 Android de base et n'aborde pas les problèmes de sécurité propres à des applications spécifiques, comme ceux liés au navigateur ou à l'application de 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 fonctionnalités de sécurité de la plate-forme Android. La figure 1 illustre les composants et les considérations de sécurité 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 Android OS exécuté en tant que root, tout le code au-dessus du noyau Linux est limité par le bac à sable de l'application.

Figure 1 : Pile logicielle Android

Figure 1 : Pile logicielle Android

Voici les principaux blocs de construction de la plate-forme Android :

  • Matériel de l'appareil : Android fonctionne sur un large éventail de configurations matérielles, y compris les téléphones mobiles, les tablettes, les montres, les automobiles, les smart TV, les boîtiers de jeu OTT et les boîtiers 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 basé sur le noyau Linux. Toutes les ressources de l'appareil, comme 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.
  • Environnement d'exécution des applications Android : les applications Android sont le plus souvent écrites dans le langage de programmation Java et s'exécutent dans l'environnement d'exécution Android (ART). Toutefois, de nombreuses applications, y compris les applications et services Android principaux, sont des applications natives ou incluent des bibliothèques natives. ART et les applications natives s'exécutent dans le même environnement de sécurité, contenu dans le bac à sable de l'application. Les applications disposent d'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 Android de base. Il existe deux sources principales pour les applications :

  • Applications préinstallées : Android inclut un ensemble d'applications préinstallées, y compris Téléphone, E-mail, Agenda, Navigateur Web et Contacts. Elles 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 ê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 compatible avec n'importe quelle application tierce. Google Play propose aux utilisateurs des centaines de milliers d'applications.

Services de sécurité Google

Google propose un ensemble de services cloud disponibles sur les appareils Android compatibles avec les Services mobiles Google. Bien que ces services ne fassent pas partie du projet Android Open Source (AOSP), ils sont inclus sur de nombreux appareils Android. Pour en savoir plus sur certains de ces services, consultez le bilan 2018 d'Android Security.

Voici les principaux services de sécurité Google :

  • Google Play : ensemble de services qui permettent aux utilisateurs de découvrir, d'installer et d'acheter des applications depuis leur appareil Android ou le Web. Google Play permet aux développeurs de toucher facilement les utilisateurs d'Android et les clients potentiels. Google Play propose également des avis de la communauté, la validation de la licence des applications, l'analyse de la sécurité des applications et d'autres services de sécurité.
  • Mises à jour Android : le service de mise à jour Android fournit de nouvelles fonctionnalités et des mises à jour de sécurité à certains appareils Android, y compris des mises à jour via le Web ou OTA (Over-The-Air).
  • Services d'application : frameworks qui permettent aux applications Android d'utiliser des fonctionnalités cloud telles que la sauvegarde des données et des paramètres des applications, et la messagerie cloud-to-device (C2DM) pour les messages push.
  • Vérifier les applications : avertit l'utilisateur ou bloque automatiquement l'installation d'applications dangereuses, et analyse en continu les applications sur l'appareil, en émettant un avertissement ou en supprimant les applications dangereuses.
  • SafetyNet : système de détection d'intrusion respectueux de la confidentialité qui aide Google à effectuer le suivi, à atténuer les menaces de sécurité connues et à identifier les nouvelles.
  • SafetyNet Attestation : API tierce permettant de déterminer si l'appareil est compatible avec CTS. L'attestation peut également identifier l'application Android qui communique avec le serveur d'applications.
  • Gestionnaire d'appareils Android : application Web et application Android permettant de localiser un appareil perdu ou volé.

Présentation du programme de sécurité

Voici les principaux composants du programme de sécurité Android :

  • Examen de la conception : le processus de sécurité Android commence dès le début du 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 à l'architecture du système.
  • Tests d'intrusion et examen du code : lors du développement de la plate-forme, les composants créés par Android et les composants Open Source sont soumis à des examens de sécurité rigoureux. Ces examens sont effectués par l'équipe Android Security, l'équipe Google Information Security Engineering et des consultants indépendants en sécurité. L'objectif de ces examens est d'identifier les faiblesses et les failles potentielles 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 par la communauté : AOSP permet à toute partie intéressée d'effectuer un examen de sécurité étendu. Android utilise également des technologies Open Source qui ont fait l'objet d'un examen de sécurité externe approfondi, comme le noyau Linux. Google Play fournit un forum permettant aux utilisateurs et aux entreprises de fournir des informations sur des applications spécifiques directement aux utilisateurs.
  • 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 complet de réponse aux problèmes de sécurité. Les membres de l'équipe de sécurité Android à temps plein surveillent la communauté de sécurité Android et la communauté de sécurité générale pour détecter les discussions sur les failles potentielles et examiner les bugs de sécurité signalés dans la base de données des bugs Android. Lorsque l'équipe Android découvre des problèmes légitimes, elle suit une procédure de réponse qui permet d'atténuer rapidement les failles afin de minimiser les risques potentiels pour tous les utilisateurs Android. Ces réponses compatibles avec 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 des 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 plate-forme

Android vise à être le système d'exploitation le plus sécurisé et le plus utilisable pour les plates-formes mobiles en réutilisant les commandes de sécurité classiques du système d'exploitation pour :

  • Protéger les données des applications et des utilisateurs
  • 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 propose les principales fonctionnalités de sécurité suivantes :

  • Sécurité robuste au niveau de l'OS grâce au noyau Linux
  • Bac à sable d'application obligatoire pour toutes les applications
  • Communication inter-processus sécurisée
  • Signature d'application
  • Autorisations définies par l'application et accordées par l'utilisateur