
Améliorations de sécurité significatives des versions majeures récentes d'Android.
Améliorations de sécurité notables des principales versions récentes d'Android, à commencer par Android 5.0 Lollipop (API 21).
Améliorations de la sécurité - Android 5
WebView est un package séparé, voir Améliorations de la sécurité dans Android 5.0 et Le WebView actualisable sur Android 5.0 Lollipop : qu'est-ce que c'est et pourquoi devriez-vous vous en soucier ?Améliorations de la sécurité dans Android 6
isInsideSecureHardware) pour vérifier si une clé KeyStore est stockée dans du matériel sécurisé (par ex., Environnement d'exécution de confiance (TEE) ou élément sécurisé (SE)), voir méthode isInsideSecureHardware de KeyInfoAméliorations de la sécurité - Android 7
Améliorations de la sécurité - Android 8
WebView, de sorte que le code JavaScript ne peut pas accéder aussi facilement à la mémoire de l'application, voir Quoi de neuf dans la sécurité WebView et section Sécurité des Changements de comportement d'Android 8.0 pour toutes les applicationsWebView respecte la Configuration de sécurité réseau et l'indicateur cleartextTrafficPermitted (sur les anciennes versions d'Android, il charge les sites HTTP même si le trafic en clair ne devrait pas être autorisé par la configuration), voir section Sécurité des Changements de comportement d'Android 8.0 pour les applications ciblant Android 8.0WebView afin que les utilisateurs soient avertis lorsqu'ils tentent de naviguer vers un site potentiellement dangereux (vérifié par Google Safe Browsing) si elle est activée, voir section API WebView des Fonctionnalités et API d'Android 8.0FLAG_SECURE de la Window est mieux pris en charge et interdit la capture d'écran de l'écran où il est définiNotes de version d'Android 9 - Fonctionnalités de sécurité
cleartextTrafficPermitted sur true dans leur Configuration de sécurité réseau si elles souhaitent continuer à l'utiliser (non recommandé), voir Réseau TLS activé par défaut, section Changements de comportement : applications ciblant le niveau d'API 28+ et Android : trafic HTTP en clair non autorisé sous Android 9Améliorations de la sécurité - Android 10
Notes de version d'Android 10 - Fonctionnalités de sécurité
WebView, voir méthode setAllowFileAccess de WebSettingsNotes de version d'Android 11 - Sécurité
taskAffinity sur la même valeur que l'application cible pour tromper l'utilisateur et lui faire lancer cette application même s'il avait l'intention de lancer l'application cible et d'utiliser son icône légitime) n'est plus possible, voir Attaque StrandHogg / vulnérabilité d'affinité de tâche et Vulnérabilité StrandhoggrequestLegacyExternalStorage, voir Mises à jour du stockage dans Android 11 et section Désengagement dans votre application de production des Cas d'utilisation et bonnes pratiques du stockage Androidandroid:exported doit être défini explicitement dans les Manifestes pour les composants (Activities, Content Providers, etc.) qui déclarent des Intent Filters, voir section Exportation de composants plus sûre des Changements de comportement : applications ciblant Android 12Améliorations de sécurité - Android 13
Notes de version d'Android 13 - Sécurité
POST_NOTIFICATIONS a été ajoutée pour envoyer des notifications non exemptées (y compris les Foreground Services (FGS)) depuis une application, voir Autorisation d'exécution des notifications et android.permission.POST_NOTIFICATIONSAméliorations de sécurité - Android 14
Notes de version sur la sécurité d'Android 14
targetSdk minimal : les applications ciblant des versions d'Android antérieures à Android 6 (API 23) ne peuvent plus être installées. Cela signifie que vous pouvez supposer que les restrictions de sécurité (notamment la gestion des autorisations d'exécution dans ce cas) introduites avec Android 6 (API 23) s'appliquent désormais à toutes les applications installées sur l'appareil (ce minimum devrait augmenter avec chaque future version d'Android), voir section Niveau d'API cible minimal installable des Changements de comportement : toutes les applicationsQUERY_ALL_PACKAGES - ce qui nécessite un examen manuel spécial du Google Play pour l'obtenir), voir section Les noms de packages propriétaires de médias peuvent être masqués des Changements de comportement : toutes les applicationsNotes de version sur la sécurité d'Android 15
PendingIntent bloquent désormais par défaut les lancements d'activités en arrière-plan si votre application cible Android 15 (API 35), voir section Autres changements des Changements de comportement : applications ciblant Android 15 ou version ultérieurePendingIntent autorise les privilèges de lancement d'activités en arrière-plan ou si l'expéditeur dispose de ces privilèges, si votre application cible Android 15 (API 35), voir Notes de version sur la sécurité d'Android 16* Added default security against general Intent redirection attacks, blocking launching Intents received from other apps, e.g. wrapped as an extra to the Intent that launches the current app, see Improved security against Intent redirection attacks section of Behavior changes: all apps
RESULT_DISCOVERY_TIMEOUT. Instead, the user is notified of timeout events with a visual dialog. When the user dismisses the dialog, the app is alerted of the association failure with RESULT_USER_REJECTED, see Companion apps no longer notified of discovery timeouts section of Behavior changes: all appsMediaStore#getVersion() will now be unique to each app. This eliminates identifying properties from the version string to prevent abuse and usage for fingerprinting techniques, see MediaStore version lockdown section of Behavior changes: Apps targeting Android 16 or higher and getVersion method of MediaStoreAndroid 17 Security Release Notes
READ_CONTATCS permission, see Android contacts picker section of Features and APIsKeyStoreException, see Per-app keystore limits section of Behavior changes: all appssetView) ne peuvent plus être lancées en arrière-plan. Cela vise à atténuer certaines attaques de Tapjacking qui reposaient sur l'obscurcissement de l'interface d'une application victime. À noter : l'ensemble de la méthode setView est obsolète dans Android 11 (API 30). Voir documentation de la méthode setView de ToastrequestLegacyExternalStorageBiometricPrompt pour l'authentification.FLAG_SECURE est ajouté pour les invites d'identifiants biométriques ou d'appareil (PIN, schéma ou mot de passe), y compris à la fois pour déverrouiller l'appareil et pour le BiometricPrompt dans les applications - cela signifie que vous ne pouvez pas prendre de capture d'écran de ces écrans et qu'ils apparaissent également masqués lors des partages d'écran, voir source de com.android.systemui.biometrics.AuthContainerView sur Android Code Searchapksigner utiliseront par défaut le schéma de signature v3.1 pour cibler la rotation pour Android 13 et versions ultérieures.Exception, voir section Chargement dynamique de code plus sûr des Changements de comportement : applications ciblant Android 14 ou version ultérieurenull) ne correspondront plus à aucun filtre d'intent. Cela signifie que les intents utilisés pour démarrer des activités ou des services doivent avoir une action clairement définie, voir section Intents plus sûrs des Changements de comportement : applications ciblant Android 15 ou version ultérieurePendingIntent est traité comme l'expéditeur de l'intent englobant, et non comme l'expéditeur de l'intent en attente, voir section Intents plus sûrs des Changements de comportement : applications ciblant Android 15 ou version ultérieureBiometricPrompt : il ne peut plus « revenir » aux identifiants d'appareil après un échec biométrique pour terminer l'authentification de l'utilisateur. Notez que l'utilisateur peut toujours utiliser les identifiants d'appareil par choix via un bouton sur l'invite si cet authentificateur est autorisé (et s'il n'a pas déjà échoué trop de fois à l'invite). Lorsque l'appareil se verrouille, l'invite est annulée et une nouvelle invite doit être déclenchée après le déverrouillage de l'appareil pour réussir l'authentification. Voir Android 15 s'assure que les voleurs ne peuvent pas vider votre compte bancaire s'ils volent votre téléphone déverrouillémoduleHash field in the KeyDescription structure, which can be used to verify the integrity of loaded APEX modules, see Device integrity section of Android 16 release notes and Key and ID attestation