2 points par GN⁺ 2024-02-03 | 1 commentaires | Partager sur WhatsApp
  • Un navigateur caché dans Google Play Services s’ouvre via les liens de sites web de l’application Contacts, et permet de contourner les restrictions générales du contrôle parental de Google ainsi que le lock-down mode
  • Ce contournement est possible parce que, même en lock-down mode, Google Play Services et l’application Contacts du téléphone restent disponibles, et parce que les deeplinks ouverts par Contacts ne sont pas soumis au blocage du contrôle parental
  • ` Android “what’s new” mène à l’écran, puis il est possible de passer par l’aide Google et des pages Google pour l’utiliser comme un navigateur
  • Le screen pinning d’Android 11+ peut aussi être contourné depuis l’application Contacts en ouvrant ` pour afficher une fenêtre contextuelle Google Podcast, puis en passant au navigateur par défaut
  • Google a reçu séparément les signalements de contournement du contrôle parental et du screen pinning, mais a répondu que le contournement du screen pinning était un intended behavior, et a aussi renvoyé le traitement en doublon à un problème lié à un autre programme de récompense

Navigateur Google Play Services ouvert via un lien dans Contacts

  • Google Play Services contient un navigateur secret accessible par lien, qui peut être ouvert depuis le champ site web d’un contact dans l’application Contacts
  • Le déroulé consiste à modifier ou créer un contact dans l’application Contacts, puis à saisir https://gds.google.com/gmsdrops dans le champ “Website”, à enregistrer, puis à ouvrir le lien
  • Ce lien est un deeplink menant à l’écran “what’s new” d’Android
    • En passant par “Show me” puis “Learn more”, on peut accéder à un écran de navigateur
    • Ensuite, depuis le menu hamburger, en appuyant sur “Google Help”, puis en sélectionnant à nouveau “Google” dans le menu, il est possible d’aller sur la page Google
  • Ce navigateur peut être connecté à un compte Google, ou non
    • Se déconnecter de Google depuis ce navigateur n’a pas d’effet sur le navigateur Chrome
  • En lock-down mode, Google verrouille des applications, dont le lanceur Android et certaines parties du système, mais laisse disponibles Google Play Services, utilisé pour l’affichage des pop-ups et l’application des restrictions, ainsi que l’application Contacts du téléphone
  • Le contrôle parental n’autorise pas l’ouverture de deeplinks, mais lorsqu’on clique sur le champ site web d’un contact, c’est l’application Contacts qui ouvre le lien, il n’est donc pas bloqué

Contournement du screen pinning Android et réponse de Google

  • Le screen pinning Android est une fonctionnalité d’Android 11+ qui épingle l’écran sur une application donnée afin d’empêcher de passer à une autre application sans autorisation
  • Le même lien gmsdrops ne peut pas être utilisé en mode screen pinning, car il ouvre une nouvelle application
  • En revanche, le deeplink Google Podcast s’ouvre dans une fenêtre contextuelle, et non dans une application complète
    • En saisissant https://podcasts.google.com dans le champ site web de l’application Contacts, puis en ouvrant le lien alors que l’application est épinglée, une fenêtre contextuelle Google Podcast apparaît
    • Depuis l’icône du compte Google, en appuyant sur “Content policies”, on peut passer au navigateur par défaut
    • Il est ensuite possible de passer par Google Help et le menu Google pour accéder à la page Google
  • Deux signalements distincts ont été transmis à Google
    • Le cas de contournement du contrôle parental
    • Le cas de contournement du screen pinning Android
  • Google a fusionné le cas de contournement du contrôle parental avec celui du contournement du screen pinning, puis le traitement des doublons est devenu confus
  • La réponse de Google concernant le contournement du screen pinning a été : “Android screen pinning bypassing is the intended behavior”
  • Concernant le traitement en doublon, le dossier a été fermé comme doublon d’un “potentially another issue”, avec une réponse indiquant en substance qu’il s’agissait d’un programme de récompense distinct et que ce n’était pas de leur ressort

1 commentaires

 
GN⁺ 2024-02-03
Avis de Hacker News
  • Si vous faites partie d’une équipe qui reçoit des signalements de failles de sécurité, vous ne devriez pas répondre : « ça relève d’une autre équipe interne, demandez-leur »
    En réalité, quasiment n’importe qui dans une organisation qui reçoit un signalement de vulnérabilité plausible devrait faire en sorte qu’il soit transmis à la bonne personne ; ce n’est pas quelque chose qu’on peut simplement balayer

    • La réponse « une autre équipe interne » semble très probablement concerner le bug bounty plutôt que la vulnérabilité elle-même
      Mais, à l’inverse, que ce soit avec des clients externes ou des parties prenantes internes, le support ressemble à une patate chaude : le premier qui n’arrive pas à la refiler se brûle
      Ce serait bien que tout le monde prenne en charge la résolution des plaintes client, quels que soient les pouvoirs ou responsabilités réels, mais dans la pratique beaucoup de gens agissent selon une sorte d’interprétation copenhaguoise de l’éthique
      Même transmettre au responsable est risqué, et s’impliquer davantage fait que l’on se retrouve mêlé au problème et tenu pour responsable, indépendamment de son lien réel avec celui-ci
      On peut appeler ça un problème principal-agent, ou « survivre dans un monde où les demandeurs chassent quelqu’un qui acceptera de répondre à leur demande »
      Avant, j’essayais de traiter toutes les demandes internes qui avaient le moindre rapport avec mon travail, mais mon manager direct m’a dit de demander un ID de projet ou un code de facturation pour toute aide prenant plus d’une minute. Sinon, disait-il, je finirais par ne plus pouvoir faire le travail pour lequel on me paie réellement
    • Google est le roi du « ce n’est pas mon service »
      « Je ne connais pas de contact dans une autre division de Google », « je ne connais l’adresse e-mail de personne dans une autre équipe de Google »… on se demande ce qu’ils fabriquent
    • Ça ne ressemble pas à une vulnérabilité au sens où elle mènerait à une compromission du système
      C’est bien un défaut de conception dans une fonctionnalité ajoutée à l’OS, mais c’est autre chose de dire que le sujet mérite forcément une enquête approfondie
    • Leur « demandez à cette équipe » portait sur la raison pour laquelle l’issue avait été fermée, et implique aussi que quelqu’un l’avait déjà examinée
      Ils ne semblent pas avoir dit quelque chose du genre « nous n’avons même pas l’intention de regarder »
    • Je ne saurais même pas comment trouver le bon interlocuteur au départ
      Même dans mon entreprise, je n’aurais pas vraiment d’idée sur la marche à suivre
  • Quand j’étais enfant, dans les halls d’établissements comme les banques, il y avait des terminaux informatiques avec un navigateur spécial qui n’ouvrait que le site web de l’entreprise, et à l’époque les badges Best Viewed In étaient aussi courants
    Quand j’accompagnais mes parents pour des courses, je cherchais ces ordinateurs, je cliquais sur des pages comme Help jusqu’à trouver ce badge, puis je pouvais contourner la restriction du navigateur mono-site et sortir vers des sites comme netscape.com
    De là, je trouvais des liens vers des moteurs de recherche et je pouvais naviguer où je voulais

    • Ça me rappelle les PC exposés dans des magasins comme Sears ou CompUSA, qui affichaient seulement un logiciel de démonstration et empêchaient de faire ce qu’on est censé faire en achetant un PC : l’utiliser réellement
      Du coup, j’ouvrais le gestionnaire des tâches avec CTRL+ALT+DEL et je tuais le logiciel de démonstration
      Les démos les plus tenaces se relançaient aussitôt, alors j’ouvrais msconfig, je les retirais des programmes au démarrage, puis je redémarrais
      Les gens qui regardaient à côté étaient impressionnés et me demandaient de faire pareil sur leur PC, ce qui leur permettait d’essayer le Démineur ou le flipper
      Aujourd’hui, ça sonne amateur, mais au milieu des années 90, CTRL+ALT+DEL était une sorte de power tool connu seulement des utilisateurs expérimentés
    • Je me souviens avoir contourné le filtre web sur les ordinateurs du lycée
      Dans MS Word, il suffisait de choisir d’ouvrir une URL puis de saisir un moteur de recherche ou le site voulu : le navigateur s’ouvrait en contournant le filtre web
    • Autrefois, à la bibliothèque, je me connectais en telnet à divers hôtes edu
      Ces serveurs affichaient généralement le motd avec more avant de passer à un logiciel comme lynx, mais comme ils n’utilisaient pas le restricted mode, on pouvait saisir !sh pour ouvrir un shell
      C’était le bon temps
    • À l’université, les ordinateurs de la salle de sport avaient aussi ce genre de restriction
      Comme on pouvait ouvrir son e-mail via le web, je m’envoyais par mail un lien vers un moteur de recherche, puis depuis l’e-mail je faisais un clic droit pour l’ouvrir dans le même cadre
      Ensuite, je pouvais aller partout où les résultats de recherche me menaient
    • Je ne vois pas très bien à quoi ressemblait un badge « Best Viewed In », ni comment il permettait de contourner la restriction
      J’ai moi-même contourné des restrictions au lycée dans les années 2000, donc j’aimerais bien qu’une personne de passage explique ça en détail
  • Les contrôles parentaux de Google laissent vraiment trop à désirer
    Cela fait longtemps qu’on demande la possibilité de désactiver l’application Play Store, mais ce n’est toujours pas possible sans adb, et adb entraîne d’autres problèmes, donc ce n’est pas une bonne solution
    On a l’impression que de vrais enfants ne testent pas les contrôles parentaux
    Pendant un temps, même avec une limite de temps sur YouTube, il suffisait d’ouvrir le Play Store, d’aller dans la liste des captures d’écran vers une application contenant une vidéo, puis de passer de là à YouTube pour contourner très facilement la restriction
    Mon fils l’a découvert lui-même et me l’a montré

    • Les contrôles parentaux de Google ressemblent en fait à un logiciel laissé à l’abandon : ils fonctionnent maladroitement et s’intègrent mal aux autres produits et services comme Google Home ou Google TV
      J’ai rédigé un document de 5 pages qui résume le problème, mais je n’ai personne à qui l’envoyer
      Ma plus grande frustration vient des cas avec deux enfants plus grands, pas des tout-petits, et plusieurs appareils Google : téléphones, tablettes, Google TV et PC connectés avec un compte Google
      Google semble envisager le contrôle parental comme une situation de supervision du type « le parent remet physiquement le téléphone de Billy, puis le récupère quand c’est fini »
      Fondamentalement, c’est au niveau de l’appareil et non au niveau du compte, ce qui le rend pénible et facile à contourner
      Par exemple, si Jill peut accéder avec son compte à trois Google TV dans la maison, Family Link demande de définir séparément combien d’heures par jour sont autorisées sur chaque TV
      Mais pour Jill, une TV est juste une TV : si elle est seule à la maison, elle épuise le quota de la première TV puis passe simplement à la suivante
      Je n’ai pas de preuve, mais j’ai l’impression que les différentes équipes produit ne collaborent pas vraiment étroitement, voire sont récompensées pour ne pas collaborer, et que ces équipes pourraient être des impasses au sein de Google
      Les responsables produit et ingénierie qui arrivent dans l’équipe Family Link semblent ne pas avoir d’enfants réels, ou alors des enfants trop jeunes, et au mieux un seul jeune enfant
    • Je pense que la phrase « on a l’impression que de vrais enfants ne testent pas les contrôles parentaux » s’applique aussi telle quelle aux services d’accessibilité
      Dès qu’on obtient l’autorisation d’accessibilité, on peut contrôler entièrement l’appareil de l’utilisateur
      Ils auraient pu diviser les autorisations et exposer des API de contrôle plus fines, mais tout semble avoir été conçu autour du cas très extrême où une personne totalement aveugle doit utiliser une application d’accessibilité comme interface pour toutes les interactions
      Résultat : même si l’on ne veut utiliser qu’une seule fonctionnalité de cette API, il faut faire entièrement confiance à l’application et lui donner un chèque en blanc pour faire n’importe quoi sur l’appareil
      Au final, un énorme trou dans la sécurité de la plateforme existe uniquement parce que « notre scénario d’usage prévu est celui-ci et nous ne faisons aucun compromis pour les autres usages »
    • Les contrôles parentaux sont un objet étrange
      À moins d’enfermer son enfant au sous-sol pour l’isoler totalement de ses pairs, il est quasiment impossible de gagner techniquement contre un enfant un tant soit peu intéressé
      Cette fonction marche surtout comme une limite souple : assez pour que son contournement constitue une désobéissance claire et sans ambiguïté
      Après tout, ce sont des contrôles parentaux, pas une sécurité censée arrêter la NSA, et les rendre techniquement parfaits pourrait même être pire pour tout le monde
    • Je ne pense pas que beaucoup de gens utilisent réellement les contrôles parentaux sur Android ou iOS
      C’est une fonctionnalité ajoutée pour donner aux consommateurs un sentiment de sécurité, mais quand on essaie de s’en servir, on abandonne vite
      Petit exemple : dans Screen Time sur iOS, on peut limiter le Web à une liste de sites autorisés, ce qui a l’air utile, mais cela casse plein de choses, comme les écrans de connexion de nombreuses applications
      Et il ne donne aucun indice sur les URL qu’il faudrait autoriser pour corriger le problème
      Avec la technologie moderne, on se dit parfois : « c’est tellement complexe et cassé qu’il ne peut pas y avoir beaucoup de vrais utilisateurs » ; les contrôles parentaux donnent exactement cette impression
    • J’utilisais les contrôles parentaux autrefois, mais j’ai arrêté
      Au final, ce n’est qu’un substitut aux parents
      Soit on s’intéresse à son enfant et on sait ce qu’il fait, soit non
      Si l’on pense que son enfant est vulnérable à quelque chose sur le Web, il vaut probablement mieux ne pas lui donner de téléphone dès le départ
      Si l’enfant est assez âgé pour comprendre, ce dont il a besoin, ce ne sont pas des contrôles parentaux logiciels mais des parents ; et avec de bons parents, les applications de l’enfant n’ont pas besoin de contrôles parentaux
      Les contrôles parentaux empêchent aussi d’installer des applications depuis d’autres sources, alors que je préfère les applications F-Droid aux applications du Play Store
      Enfin, cette fonction enseigne, entraîne et renforce l’illusion que nous sommes contrôlés par une entreprise logicielle et « protégés du danger »
  • C’est le genre de hack qui rappelle le contournement de l’écran de connexion de Windows 98
    https://i.imgur.com/BULPmCI.gif
    Franchement, je ne m’attendais pas à ce que Google tombe au niveau de Microsoft Windows 98 en conception système

    • C’est un excellent exploit parce qu’il ne nécessite pas de connaissances obscures comme les dépassements de tampon
      Un utilisateur ordinaire peut suivre la procédure
      Une grande partie de la sécurité consiste, je crois, à réduire la surface d’attaque pour avoir moins de choses auxquelles penser
      On peut vraiment se demander pourquoi il faudrait pouvoir imprimer une infobulle depuis une boîte de dialogue de connexion
      Dès que l’impression entre en jeu, toute une série d’éléments tiers non sûrs arrive avec elle
      Même si l’on autorise l’impression des infobulles ou de l’aide, il aurait fallu prévoir un contexte de sécurité où ces fonctions sont désactivées
      Les PDF sont similaires : 99 % des fonctionnalités arbitraires comme les modèles 3D ou le scripting ont servi à des exploits de sécurité
      Mieux vaut garder le comportement par défaut simple et éviter ce genre de fonctions
    • Ce n’est pas un contournement de l’écran de verrouillage
  • Ça me rappelle ce mème classique : https://imgur.com/BULPmCI?r

    • C’est exactement ce à quoi j’ai pensé
      J’ai déjà utilisé une technique similaire à celle de l’article original pour un contournement FRP sur un Pixel 2 acheté d’occasion sur Craigslist
      Je me suis aussi dit que le moment où, enfant, je m’étais ennuyé au point de fixer cet écran pendant des heures avant de finir par le franchir et de ressentir mon premier « vrai plaisir » avait probablement orienté toute ma vie
  • Cela me rappelle mon premier « piratage » et mes expériences à bidouiller l’intérieur de systèmes informatiques, qui ont débouché sur une carrière dans l’IT et l’ingénierie
    J’avais piraté Halo PC et détruit l’ordinateur familial avec un cheval de Troie, puis j’ai dû trouver comment le réparer avant que mon père ne rentre à la maison
    J’ai aussi dû contourner les contrôles parentaux de type NetNanny que mes parents avaient soudain installés sur notre ordinateur personnel. Cela faisait déjà plusieurs années que j’utilisais Internet, et il est possible que Comcast leur ait envoyé une lettre à cause du piratage bancal mentionné plus haut
    En remettant le netbook en état de fonctionner sans laisser de traces de mes modifications, j’ai découvert les Linux Live CD et Linux
    Ça fait plaisir de voir que les hackers de demain reçoivent toujours ce genre de formation

    • Dans le même genre, je me souviens avoir fouillé assez longtemps les pages Gopher de National Capital Feenet's](https://www.ncf.ca/en/)'s)
      J’avais trouvé un lien, puis un lien, puis encore un lien permettant d’établir des connexions telnet arbitraires, pour essayer de contourner les restrictions qui voulaient limiter le service d’accès gratuit par modem à leurs propres services
      Par exemple, je voulais jouer à Nethack sur un serveur public de tamu.edu, mais je ne me souviens plus du nom de domaine exact
    • Contourner NetNanny a clairement amélioré mes compétences en informatique
      Un grand classique
  • Il y a aussi un ancien article lié
    Google has a secret browser hidden inside the settings - https://news.ycombinator.com/item?id=36478206 - juin 2023, 312 commentaires

  • J’ai lu que Google Play Services pouvait aussi s’accorder de nouvelles autorisations[1]
    Comment est-ce possible ? Il dispose des droits root ?
    [1]https://developers.google.com/android/guides/permissions

    • Ce n’est pas root, mais c’est une application système privilégiée, donc elle peut faire presque tout un tas de choses qu’une application installée ne peut pas faire sans root
    • Les applications système ou des fournisseurs doivent elles aussi déclarer à l’avance leurs autorisations dans le manifest, donc toutes les applications système ne peuvent pas tout faire
      Mais la liste des autorisations auxquelles ces applications peuvent accéder est si vaste que, si le développeur en déclare suffisamment, cela peut en pratique s’utiliser comme root
    • Exact
      Ce n’est pas réellement l’utilisateur root, mais c’est aveuglément approuvé et cela peut faire des choses comme installer des applications sans confirmation de l’utilisateur
      Comme évoqué dans un autre billet de blog sur GMS, le pont JS peut s’exécuter dans un périmètre privilégié
      En acceptant les règles de confidentialité de Google lors de l’installation d’Android, on a en quelque sorte accepté cela
    • Heureusement, on peut l’installer dans un bac à sable plutôt que comme application privilégiée
      C’est possible par exemple avec GrapheneOS
    • Il est juste d’appeler cela une porte dérobée
      Il peut déjà installer et supprimer des applications sans l’autorisation de l’utilisateur
      Cela a déjà posé problème par le passé, mais il ne s’est pas passé assez de choses
  • GrapheneOS avec des Play Services exécutés en bac à sable ne semble pas affecté
    L’application Phone ne semble pas pouvoir voir ni ouvrir les URL web des contacts, et l’application Contacts échoue aussi à ouvrir les deux URL mentionnées dans l’article en mode verrouillé

  • Si la discussion précédente de 2023 vous intéresse, elle est ici, avec 312 commentaires
    https://news.ycombinator.com/item?id=36478206