Developpez.com

Le Club des Développeurs et IT Pro

Les développeurs Android peuvent désormais empêcher leur application de prendre un appareil rooté en charge

Par le biais de l'API SafetyNet

Le 2017-05-20 21:35:01, par Patrick Ruiz, Chroniqueur Actualités
En marge du récent Google I/O, la firme de Mountain View a annoncé des changements qui affectent la console Google Play. Le catalogue d’applications (Device catalog, cf. image ci-dessous) permet désormais à un développeur de définir, sous des critères précis, quels appareils seront pris en charge par une application disponible sur le PlayStore.


Les développeurs peuvent désormais décider d’empêcher la prise en charge d’un appareil par rapport à des critères de performance. Les critères de performance retenus sont ceux relatifs à la taille de la mémoire vive ou au système sur puce disponibles sur l’appareil cible. Par exemple, si l’application à publier par le développeur requiert une quantité de mémoire vive importante, le développeur pourrait décider d’empêcher le téléchargement de l’application par tous les appareils ayant un espace de mémoire vive inférieur à celui qu’il aura fixé par le biais du catalogue d’applications.

Les développeurs peuvent également empêcher la prise en charge d’un appareil en fonction du test de compatibilité Android de ce dernier. Pour ce faire, les développeurs sont invités à configurer des exclusions en fonction de l’API d’attestation SafetyNet. La mise en place de l’exclusion par le biais de cette API leur permet d’exclure les appareils non certifiés conformes par Google et ceux qui ne répondent pas aux critères d’intégrité de base. Pour dire les choses simplement en ce qui concerne les critères d’intégrité de base, si votre appareil utilise une ROM personnalisée ou s’il est rooté alors il ne sera pas pris en charge dans le PlayStore.

Ceci peut se manifester de plusieurs façons. L’application peut ne pas apparaître à cet appareil dans le PlayStore ou son téléchargement direct peut être bloqué. C’est la rude expérience à laquelle les fans de l’application NetFlix ont dû faire face il y a quelques jours. Wired rapporte en effet que de nombreux possesseurs d’appareil rootés ont eu droit au message « appareil incompatible » lorsqu’ils ont essayé de télécharger l’application sur le PlayStore. NetFlix a confirmé l’information et a dit avoir fait usage de la nouvelle API d’exclusion pour protéger le copyright sur les œuvres cinématographiques diffusées par le biais de son application.

Mais comme le souligne Google, les restrictions imposées par le biais du PlayStore n’empêchent pas que le possesseur d’un appareil exclu installe l’application par le biais d’un APK obtenu d’une tierce personne. Google propose aux développeurs d’implémenter l’API SafetyNet directement dans leurs applications pour pouvoir contourner cette faille. Si rooter un appareil permet d’obtenir son contrôle total, il va sans dire qu’avec ces nouvelles dispositions de Google, cela se fera désormais à un prix élevé, c’est-à-dire celui de voir de plus en plus d’applications favorites rejeter des appareils.

Sources : Support Google, Wired

Et vous ?

Qu'en pensez-vous ?

Voir aussi :

Il est possible de rooter des téléphones Android en se basant sur la faille Dirty Cow, qui a affecté Linux pendant 9 ans
  Discussion forum
25 commentaires
  • Lcf.vs
    Membre éclairé
    Envoyé par nirgal76
    Quel est l’Intérêt principal pour lequel les gens root leur tel ?
    En tant que développeur, t'as jamais été tenté de faire tourner un truc que t'as fait pour ton pc ou ton serveur, sur ton smartphone ?

    Perso, je trouve que la possibilité de le rooter devrait même être fournie par Android, de base, plutôt que de devoir prendre des risques de le briquer.

    J'irais même plus loin, je trouve totalement anormal que l'on ne puisse changer d'OS, à volonté, comme sur un PC... tout comme le fait que la garantie matérielle saute lorsqu'on root son phone... z'imaginez si c'était le cas sur PC ?
  • Gecko
    Membre éprouvé
    Du coup ceux qui comme moi ont pour critère principal d'avoir un tel rooté son niqués...

    Bah c'est cool, ça va favoriser l'émergence de stores concurrents...
  • gagaches
    Membre confirmé
    "Si rooter un appareil permet d’obtenir son contrôle total"

    Donc complètement au hasard :
    - bloquer les permissions et accès d'une application trop exigeante/indiscrète
    - bloquer les publicités d'une application gratuite
    - contrôler précisément ce que font les applications (et pas l'inverse, être dépendant de leurs bon vouloir)

    La monétisation des applications sur le gstore est très compliquée, donc ... on a énormément de business modèle autours du free+publicités+droits élargis (exploitation des données genre extract du carnet d'adresse, ...).

    L'exemple de Netflix est éloquent : risque de casser les DRM -> plus de téléphone rooté.
    Là, c'est clairement pour éviter le tipiakage mais pour d'autres dont vos données sont le fond de commerce ...

    https://play.google.com/store/apps/d...sapp&hl=fr
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    "Cette application dispose des autorisations suivantes :
    Historique de l'appareil et des applications
    
        Récupérer les applications en cours d'exécution
    
    Identité
    
        rechercher des comptes sur l'appareil
        ajouter ou supprimer des comptes
        voir votre fiche de contact
    
    Contacts
    
        rechercher des comptes sur l'appareil
        voir les contacts
        modifier les contacts
    
    Données de localisation
    
        position approximative (réseau)
        position précise (GPS et réseau)
    
    SMS
    
        recevoir des messages texte (SMS)
        envoyer des SMS
    
    Téléphone
    
        voir l'état et l'identité du téléphone
    
    Photos/multimédia/fichiers
    
        Lire le contenu de la mémoire de stockage USB
        Modifier ou supprimer le contenu de la mémoire de stockage USB
    
    Espace de stockage
    
        Lire le contenu de la mémoire de stockage USB
        Modifier ou supprimer le contenu de la mémoire de stockage USB
    
    Caméra
    
        prendre des photos et filmer des vidéos
    
    Micro
    
        enregistrer un fichier audio
    
    Informations relatives à la connexion Wi-Fi
    
        afficher les connexions Wi-Fi
    
    Identifiant de l'appareil et informations relatives aux appels
    
        voir l'état et l'identité du téléphone
    
    Autre
    
        lire les statistiques sur la synchronisation
        recevoir des données depuis Internet
        afficher les connexions réseau
        créer des comptes et définir des mots de passe
        associer à des appareils Bluetooth
        envoyer une diffusion persistante
        activer/désactiver la connexion Wi-Fi
        bénéficier d'un accès complet au réseau
        modifier vos paramètres audio
        contrôler la communication en champ proche
        lire les paramètres de synchronisation
        s'exécuter au démarrage
        utiliser des comptes sur l'appareil
        contrôler le vibreur
        empêcher la mise en veille de l'appareil
        modifier les paramètres du système
        activer/désactiver la synchronisation
        Installer des raccourcis
        Désinstaller les raccourcis
        lire la configuration des services Google"
  • hotcryx
    Membre extrêmement actif
    Sauf, qu'ils vont probablement tous suivre.
  • vanquish
    Membre chevronné
    Envoyé par Gecko
    Du coup ceux qui comme moi ont pour critère principal d'avoir un tel rooté son niqués...
    Bah c'est cool, ça va favoriser l'émergence de stores concurrents...
    En même temps, presque à chaque fois qu'il y a une news sur un malwares Android, on s'aperçoit qu'il a besoin d'un appareil rooté et qu'il est est distribué par des voie alternatives (en gros pas par le Play Store).
    Si le Play Store est loin d'être parfait, les autres sont souvent pire (je parle de ceux qui offre du choix).

    J'ai souvent été tenté de rooter mes téléphones histoire de virer les applications inutiles.
    Mais j'ai privilégié la sécurité en ne le faisant pas.

    Envoyé par akoho
    C'est mon téléphone, si ton android os ne veut pas installer l'application que je veux utiliser, tant pis pour toi, je trouverais un autre OS à utiliser.
    Tu n'auras toujours pas NetFlix, car l'API permet de tester s'il s'agit d'un Andoid alternatif - un android alternatif rooté, j'en parle même pas.
    Quand aux autres OS commerciaux, ils sont généralement encore moins permissif et personnalisable qu'Android.

    Comme par ailleurs en téléphonie, les OS libres n'ont pas percés, sur les sites d'applications dédiées, tu as 400 calculatrices plus ou moins bien finies ... mais pour les vraies applications (Navigations GPS, Streaming légal et autres appli SNCF) c'est le vide inter-sidéral et aucune chance d'y trouver Netflix.

    Envoyé par Lcf.vs
    Perso, je trouve que la possibilité de le rooter devrait même être fournie par Android, de base, plutôt que de devoir prendre des risques de le briquer.

    Ce qui serait génial, c'est qu'une application puisse temporairement demander des droits root, un peu comme l'UAC Windows : ça allierait sécurité et souplesse.
    Mais cela ne se fera pas, car les supports des fabriquant crouleraient sous les problèmes liés à des fichiers systèmes supprimés par erreurs.
    Quand je vois les soucis qu'on les gens autour de moi avec leur PC (on a tous une tata Simone qui nous appelle paniquée et qui a 50 malwares installés sur sa bécane), je comprend que les fabricants de téléphones freinent des 4 fers sur ce genre de libertés. Ce que les gens comprennent et acceptent sur un PC, ils ne l'accepteraient pas sur leurs téléphones (leur Nokia à clapet, n'a jamais eu de malware et ne plantait jamais).

    Même si un téléphone moderne est techniquement un PC, dans la pratique les deux univers sont très différents.

    Les développeurs qui fréquentent ce forum, ne sont pas des utilisateurs représentatifs.
  • JPLAROCHE
    Membre expérimenté
    j'ai rooté mon téléphone pendant dix ans , jusqu' a ce que je rencontre "huawei 9 lite" pas que je veux faire de la pub mais il n'y a que la base dans ce téléphone du coup je n'ai pas eu a faire comme pour samsung note 2 et 3 le rooté pour foutre tout ce bordel a la poubelle , d'autre part cela m'a aussi été profitable pour comprendre comment le tel focntionne . on roote moins les téléphones si on avait un téléphone de base avec les applications minimum de base après on vas sur store
    peros c'est mon seul coup de geule . MARE d'avoir un bordel qui ne fait que de bouffer la batterie .... etc.... et passer son temps a mettre les appli en mode dormir qui boufffffe de la place.
    rien de plus a ajouter.

    @bientôt
  • ghostsaga
    Candidat au Club
    Comme dit précédemment, le root-age permet aux personnes expérimenté d'avoir le plein contrôle de leur appareil. De savoir que fait telle et telle application et pourquoi.. de pouvoir désactiver un fonction qui ne sert pas mais qui à été installé par défaut et bouf la batterie.. enfin bref pour les expérimentés c'est un plus. Autre chose, cela permet de changer .. et oui un peu comme passer de Windows à linux; ou encore de Windows xp à Windows 7 ou 10... Maintenant ce qu'il ne faut pas oublier ceci n'est pas obligatoire, certains aiment rester dans la logique du constructeur (être l'esclave du constructeur), ou encore n'utilises que très basique-ment leur mobile pour avoir besoin d'un total contrôle. Moi perso le root-age me permet de développer des application pour des actions précise qui me sont importante et de les installer dans mon téléphone et les utiliser sans avoir besoin d’appeler qui que ce soit!!!

    En ce qui concerne la limite qui sera imposée par le playstore, je dirais juste: Merci de donner encore du taf aux hackers, ils s'affaiblissaient déjà. La XDA team va se mettre au boulot.
  • deathman8683
    Membre averti
    Aller hop, on grignote encore un peu plus les libertés utilisateurs...

    Envoyé par nirgal76
    Ben ne l'installe pas si ce qu'elle fait te dérange.
    Et que faire des applications pré-installées (ex: Gplay) que l'on ne peut pas désinstaller ? Ne pas acheter de smartphone sous Android ? De nos jours ça devient difficile si n'étant pas un Hermite, on veut avoir accès à un peu plus qu'un téléphone (il peut être important d'avoir accès à internet dans la poche pour sa banque ou ses mails par exemple). Je n'aime pas le système bancaire mais pour autant je ne peux m'en passer légalement, à moins d'aller vivre sous un pont, c'est un peu pareil.

    Envoyé par nirgal76
    Je demande ça en pure candide, c'est pour parfaire ma culture[...]
    Envoyé par nirgal76
    bah le smartphone + son OS c'est un tout [...] ça ne te choque pas de ne pas pouvoir changer l'OS sur tous ces appareils mais sur le smartphone si ?
    [...] Par contre, niveau sécurité, ça ne pose pas un problème d'avoir une téléphone rooté ? (je connais pas trop mais est-ce que c'est comme utiliser son linux avec le compte root du coup ? (ce qui n'est absolument pas à faire)
    Techniquement ce n'est pas un tout, il y a le matériel et ses pilotes puis les logiciels (OS et applications).
    J'ai mis le pilote du côté matériel car peu de constructeurs libèrent le code du pilote associés ou le fonctionnement du matériel ils sont donc généralement indissociables. A titre d'exemple il me semble que de nos jours il n'existe aucun modem embarqué libre de droit. Les logiciels quant à eux (en soustrayant les blobs de l'OS) sont utiles pour l'interactivité avec l'utilisateur mais ne dépendent pas directement du matériel, on peut très bien concevoir un OS from scratch pour n'importe quel matériel et ça fonctionnera dans la mesure où on y ajoute les exécutables des pilotes et que L'OS saura les appeler.
    Concrètement les constructeurs s'assurent des partenariats avec les éditeurs pour conserver le secret de leur matériel et limiter l'usage du consommateur, il serai problématique que le matos nous appartienne car le contrôle leur échapperai
    On achète le téléphone (et donc les logiciels présents) et on offre notre vie privée n'est-ce pas un prix excessif pour bénéficier d'un téléphone qui ne nous appartient pas ?

    Pour les machines à laver et autres, tant que ce n'est pas connecté au réseau il n'y a aucun moyen pour le constructeur de tirer profit d'informations personnelles qui sont si faciles à récupérer depuis un appareil domestique il y a donc peu de risque de se faire espionner ; reste tout de même le problème d'un code mal fait et inaccessible qui pourrait rendre l'appareil dangereux sans que personne ne puisse rien y faire (si ce n'est un technicien du constructeur) mais c'est un autre problème...

    Pour l'histoire de la sécurité, je rappelle que la majorité des serveurs à travers le monde font tourner des OS open source pour ne parler que de cela. D'un côté la sécurité dépends aussi de celui qui s'en occupe et le consommateur lambda n'est pas en mesure de maintenir une bonne sécurité en ayant les pleins pouvoirs mais empêcher les autres de faire ce qu'ils veulent en connaissance de cause c'est de la tyrannie.
  • nirgal76
    Membre chevronné
    Envoyé par Gecko
    Du coup ceux qui comme moi ont pour critère principal d'avoir un tel rooté son niqués...

    Bah c'est cool, ça va favoriser l'émergence de stores concurrents...
    Quel est l’Intérêt principal pour lequel les gens root leur tel ?
    Je demande ça en pure candide, c'est pour parfaire ma culture, car j'ai une utilisation assez basique de mon smartphone et du coup, je n'ai pas la vision du pourquoi on à besoin de le rooter.
  • nirgal76
    Membre chevronné
    Envoyé par gagaches
    "Si rooter un appareil permet d’obtenir son contrôle total"

    Donc complètement au hasard :
    - bloquer les permissions et accès d'une application trop exigeante/indiscrète
    - bloquer les publicités d'une application gratuite
    - contrôler précisément ce que font les applications (et pas l'inverse, être dépendant de leurs bon vouloir)
    Pour ces 3 points, je dirais :
    Ben ne l'installe pas si ce qu'elle fait te dérange.
    Pour les appli gratuite avec publicité. C'est un modèle, il t'offre la gratuité si tu accepte la pub. Si les conditions de ce modèle ne te plaise pas, faut pas l'installer. Ou alors tu achète l'appli dans sa version sans pub quand c'est possible.