Dans un monde idéal, une application Android sans autorisations signifierait que l'application ne peut pas sérieusement endommager votre appareil.
Malheureusement, nous ne vivons pas dans un monde idéal, en particulier sur Android où le fabricant de l'appareil ne fournit souvent pas les dernières mises à jour de sécurité à chaque appareil.
Par conséquent, l'exécution d'une application malveillante sans aucune autorisation sur un appareil Android peut aboutir à une infection permanente de l'appareil si celui-ci est vulnérable à une exploit qui permet à l'application d'obtenir des autorisations root. Ces exploits peuvent fonctionner indépendamment que votre appareil soit rooté ou non, puis fonctionner même sur les appareils avec ROM stock.
Par conséquent, le risque d'exécuter une application sans aucune autorisation dépend largement du fait que votre appareil ait la toute dernière mise à jour de sécurité (voir la date de niveau du correctif dans Paramètres -> Système -> À propos -> Niveau de correctif de sécurité).
Si votre appareil a le niveau de correctif le plus récent et que l'application n'est pas toute récente, le risque est faible que l'application puisse endommager votre appareil. Cependant, si votre appareil a un niveau de correctif de sécurité de plusieurs mois voire années, même une application sans autorisations peut causer des dommages sérieux à votre appareil.
Qu'est-il possible de faire sur différentes versions d'Android
Il existe un ancien article (2012) sur AndroidPolicy: Sécurité de la semaine: Que peut faire une application sans autorisations? qui liste quelques faits sur ce que les applications peuvent faire sans aucune autorisation. Voyons essayer de vérifier quelques faits et les vérifier par rapport aux appareils Android modernes:
Lire des données sur votre carte SD
Par défaut sur les appareils antérieurs à Android 4.4, les applications avaient par défaut un accès en lecture à la section de la carte SD:
Cette autorisation est appliquée à partir du niveau API 19 (Android 4.4). Avant le niveau API 19, cette autorisation n'est pas appliquée et toutes les applications ont toujours accès en lecture au stockage externe. Vous pouvez tester votre application avec l'autorisation appliquée en activant Protéger le stockage USB dans les options pour les développeurs dans l'application Paramètres sur un appareil exécutant Android 4.1 ou supérieur. [source]
Mais même sur les versions plus récentes, il est toujours possible d'obtenir l'accès à la carte SD "gratuitement" au cas où l'application définirait qu'elle a été développée pour une version très ancienne d'Android. Dans ce cas, Android accorde implicitement l'autorisation de lecture de la carte SD (non testé : est-ce toujours vrai par exemple pour un appareil Android 10?)
Remarque: Si vos valeurs minSdkVersion et targetSdkVersion sont définies à 3 (Android 1.5) ou inférieur, le système accorde implicitement à votre application cette autorisation.
Pour éviter l'abus de ces "autorisations implicites", Google impose un certain targetSdkVersion
lors du téléchargement d'une application sur le Google PlayStore [source]. Par conséquent, si vous avez une application provenant du Google PlayStore qui a été publiée en 2018 ou plus tard (dernière mise à jour), ces autorisations implicites sur la carte SD sont impossibles.
Lire les applications installées via /data/system/packages.list
-> À déterminer
Données diverses de /proc
ID Android, version du noyau et version de la ROM
-> À déterminer