La sécurité des navigateurs web sur Android : abandon de l'excellent Bromite

Tout ce qui concerne nos ordinateurs de poche qui servent accessoirement de téléphone
Avatar du membre
maxoxo
Messages : 245
Enregistré le : 12 févr. 2021 22:37

La sécurité des navigateurs web sur Android : abandon de l'excellent Bromite

Message non lu par maxoxo »

Hello,

Je copie-colle ici mon post sur le MM de Re-Boot pour partager l'info.


Il semble que l'excellent navigateur pour Android, Bromite soit à l'abandon...Il n'a pas été mis à jour depuis décembre 2022.
https://github.com/bromite/bromite

Pour ceux qui n'ont pas la possibilité de profiter de GrapheneOS et de Vanadium c'était le meilleur choix tant pour la sécurité que la vie privée. Cela veut dire qu'à ce stade, en dehors de Vanadium qui n'est disponible que pour GrapheneOS il ne reste plus tellement de bons choix sur Android.

- Pour ceux qui cherchent la sécurité avant tout, Mulch du projet DivestOS qui reprend une partie de Vanadium est un bon choix https://divestos.org/pages/our_apps#mulch (toutefois, le fait de ne pas pouvoir avoir la WebView qui doit être compilée avec l'OS diminue la sécurité sur les OS autres que DivestOS). Ce navigateur est dispo dans F-Droid en activant le dépôt de DivestOS
- Pour ceux qui veulent avant tout un aspect "vie privée" avec un bon niveau de sécurité, il faudra se tourner vers Brave Browser : https://play.google.com/store/apps/deta ... ve.browser

À l'heure actuelle, Firefox n'est toujours pas conseillé sur Android dans une perspective sécurité. Même si les dernières versions se sont considérablement améliorées, il y a toujours des soucis avec la sandbox (même chose avec Tor Browser qui est basé dessus).
https://madaidans-insecurities.github.i ... id-sandbox

https://grapheneos.org/usage#web-browsing
Avoid Gecko-based browsers like Firefox as they're currently much more vulnerable to exploitation and inherently add a huge amount of attack surface. Gecko doesn't have a WebView implementation (GeckoView is not a WebView implementation), so it has to be used alongside the Chromium-based WebView rather than instead of Chromium, which means having the remote attack surface of two separate browser engines instead of only one. Firefox / Gecko also bypass or cripple a fair bit of the upstream and GrapheneOS hardening work for apps. Worst of all, Firefox does not have internal sandboxing on Android. This is despite the fact that Chromium semantic sandbox layer on Android is implemented via the OS isolatedProcess feature, which is a very easy to use boolean property for app service processes to provide strong isolation with only the ability to communicate with the app running them via the standard service API. Even in the desktop version, Firefox's sandbox is still substantially weaker (especially on Linux) and lacks full support for isolating sites from each other rather than only containing content as a whole. The sandbox has been gradually improving on the desktop but it isn't happening for their Android browser yet.
Glenic1
Messages : 307
Enregistré le : 28 déc. 2020 11:40

Re: La sécurité des navigateurs web sur Android : abandon de l'excellent Bromite

Message non lu par Glenic1 »

Merci Maxoxo pour ce panorama des navigateurs sous Android.
Je vais tester Brave pour voir s'il est commode à utiliser.
ça compte aussi, à coté de la sécurité.

Pour les non-anglophones, voici la traduction du post cité par Maxoxo
Il s'agit apparemment d'un texte posté sur le forum (?) de GrapheneOS
Évitez les navigateurs basés sur Gecko, comme Firefox, car ils sont actuellement beaucoup plus vulnérables à l'usage et ajoutent intrinsèquement une énorme surface d'attaque. Gecko n'a pas d'implémentation WebView (GeckoView n'est pas une implémentation WebView), il doit donc être utilisé avec le WebView basé sur Chromium plutôt qu'à la place de Chromium, ce qui signifie avoir la surface d'attaque à distance de deux moteurs de navigateur distincts au lieu d'un seul.
Firefox / Gecko contourne ou paralyse également une bonne partie du travail de renforcement des applications effectué en amont par GrapheneOS. Pire encore, Firefox n'a pas de sandboxing ("bac à sable") interne sur Android. Ceci malgré le fait que la couche de sandbox sémantique (?) de Chromium sur Android est implémentée via la fonctionnalité OS isolatedProcess, qui est une propriété booléenne très facile à utiliser pour les logiciels des applications afin de fournir une isolation forte avec seulement la capacité de communiquer entre l'application qui les exécute et l'API de service standard.
Même dans la version "ordinateur", le bac à sable de Firefox est encore beaucoup plus faible (en particulier sous Linux) et ne permet pas d'isoler véritablement les sites les uns des autres. Le bac à sable s'est progressivement amélioré pour la version "ordinateur", mais ce n'est pas encore le cas pour le navigateur sous Android.


Pour notre culture personnelle, pourrais-tu nous dire en quelques mots ce qu'est le WebView ?
Également, la "couche de sandbox sémantique" est bien mystérieuse...
Et pourquoi finalement ne pas utiliser Chromium uniquement ? ça réduirait la surface d'attaque à un seul navigateur ?
Avatar du membre
maxoxo
Messages : 245
Enregistré le : 12 févr. 2021 22:37

Re: La sécurité des navigateurs web sur Android : abandon de l'excellent Bromite

Message non lu par maxoxo »

Salut
Glenic1 a écrit : 01 avr. 2023 23:46 Pour notre culture personnelle, pourrais-tu nous dire en quelques mots ce qu'est le WebView ?
Avec plaisir. Android System WebView (ASW) est un moteur de rendu web directement intégré dans Android. C'est un composant essentiel du système et donc on ne peut pas le désinstaller. L'objectif est de fournir un navigateur web minimal qui pourra être appelé de façon intégrée dans une application. Cela permet d'éviter aux développeurs d'applications d'avoir à redévelopper un navigateur spécifique ou une interface web au sein de leur application, ce qui l'alourdirait considérablement et poserait des problèmes de compatibilité/ sécurité. Apple propose un mécanisme similaire dans iOS.

Exemple concret : lorsque j'utilise Mastodon, si le toot d'une personne que je suis contient un lien et que je clique dessus, par défaut il s'ouvrira de façon intégrée dans l'application grâce à ASW. Je n'ai pas besoin de quitter l'application pour basculer vers mon navigateur web. Ce qui est plus ergonomique et plus performant, une fois que j'ai fini de consulter le contenu du lien je retombe dans l'application que j'étais entrain d'utiliser exactement où j'étais.
Certaines applications font faire appel à ASW pour afficher les pages de login. Par exemple, DAVx5 ou Nextcloud le font quand tu configures ton compte, elles ouvrent une page web via ASW.

Toutes les applications conçues pour Android peuvent facilement utiliser ASW puique tout est fourni dans le kit de développement. ASW est volontairement maintenu minimal : c'est une simple implémentation du moteur de rendu de page web Webkit/Blink qui est aussi celui utilisé par Chromium et donc tous les navigateurs qui s'appuient sur ce projet libre (Google Chrome, Brave Browser, Microsoft Edge etc.). ASW est bien un composant totalement open source ! Autrefois, (sur les versions < Android 9) Webview pouvait être motorisé par Google Chrome ce n'est plus le cas aujourd'hui donc pas de débat philosophique là-dessus.

En principe, les applications Android n'ont que deux possibilités : recourir à ASW ou passer par le navigateur par défaut défini par l'utilisateur. Cela permet d'éviter qu'un navigateur maison intégré à l'application puisse dérober des données importantes comme c'est arrivé avec ceux de TikTok ou Facebook : https://www.numerama.com/cyberguerre/10 ... serve.html

GeckoView est un projet concurrent par Firefox. En gros les développeurs d'applications Android, peuvent télécharger la librairie fournie par Mozilla et faire en sorte que leur application n'utilise pas ASW comme navigateur intégré mais GeckoView. Le cas échéant, au lieu d'un navigateur minimal, ça fournit un navigateur intégré complet alimenté par Firefox et dans lequel on peut même avoir les extensions. Là où ASW est le plus minimal possible et sert seulement à afficher les pages web dans l'application. Sur un Android normal, GeckoView ne peut pas remplacer ASW (il faut modifier le système pour ça). Du coup les deux tournent à côté ce qui augmente donc la surface d'attaque puisque tu as deux moteurs de rendu concurrent qui fonctionnent sur ton téléphone pour une même tâche. C'est pas vraiment KISS dans l'approche (Keep It Simple and Stupid !).

Quand on est root ou que l'on a un système alternatif bien conçu, ASW peut être remplacé par un autre navigateur. C'est ce que fait GrapheneOS ou ASW repose sur Vanadium sa version hyper sécurisée de Chromium. On peut donc avoir le même logiciel pour la WebView et comme appli de navigation principale.
Glenic1 a écrit : 01 avr. 2023 23:46 Et pourquoi finalement ne pas utiliser Chromium uniquement ? ça réduirait la surface d'attaque à un seul navigateur ?
C'est un peu l'objet du débat, même si ASW n'est pas Chromium mais une simple API qui utilise son moteur de rendu. En fait, c'est vraiment séparé du navigateur qui est une application comme une autre. L'autre choix pourrait donc de toujours externaliser l'affichage ds liens vers le navigateur mais ce n'est pas pratique ni performant. De plus, le développeur d'une application ne peut pas savoir à l'avance quel navigateur l'utilisateur a choisi et donc rien ne lui garanti que ça va se comporter comme il faut. Le fait d'avoir un composant centralisé identique comme ASW pour tout l'OS évite ce problème.
Glenic1 a écrit : 01 avr. 2023 23:46 Également, la "couche de sandbox sémantique" est bien mystérieuse...
C'est un peu compliqué là. Mais c'est une technique particulière des méthodes de sandboxing utilisé par Chromium sous Linux et donc sous Android. Il y a plusieurs niveaux de sandbox dans Chromium (donc dans les navigateurs qui l'utilisent comme Brave) : https://chromium.googlesource.com/chrom ... boxing.md/

Cela permet d'isoler les sites consultés entre eux, mais également tous les process appelés par le navigateur. On a donc une isolation au sein du navigateur, puis une isolation globale entre le système et l'application de navigation en elle-même. La couche "sémantique" repose sur des mécanismes bien connus de Linux et même d'UNIX : setuid et setgid. Concrètement, cela permet d'autoriser ou plutôt de forcer l'exécution d'un processus avec les droits d'un autre utilisateur. Tu connais un exemple courant avec la commande sudo qui quand tu l'utilises avec ton utilisateur normal est toujours exécutée avec les droits root. Là c'est la même chose mais pour avoir des privilèges à la baisse. En gros ça permet de faire en sorte que les processus au sein du navigateur sont exécutés avec des droits très restreints et limités strictement à leur besoins.

Ces mécanismes existent depuis toujours sous Chromium/Chrome et ont été renforcés au fil du temps. Il y a toujours eu du sandboxing interne et de l'isolation. Firefox le fait depuis pas si longtemps avec Fission (isolation de sites) et RLBox (sandboxing interne) dont nous avons parlé dans ce sujet : viewtopic.php?t=114

Le problème, c'est que pour l'instant ça n'est opérationnel que sur ordinateur et pas encore sur la version Android. Concrètement sur Android, Firefox bénéficie uniquement de la sandbox globale du système, celle que l'on a pour toutes les applications (qui te permet de donner des autorisations entre autres). Il n'y a donc pas de défense en profondeur et ça en fait un navigateur bien moins sécurisé que les navigateurs Chromium. C'est ce que critique le développeur de GrapheneOS.
Glenic1
Messages : 307
Enregistré le : 28 déc. 2020 11:40

Re: La sécurité des navigateurs web sur Android : abandon de l'excellent Bromite

Message non lu par Glenic1 »

Ah !
Merci beaucoup...
Je ne sais pas si je vais conserver mon Firefox "bêta" sur mon smartphone qu'il soit sous /e/ comme maintenant ou plus tard sous Android.
Pourtant c'est quelqu'un de bien qui me l'avait conseillé il y a un certain temps (largement plus d'un an). Mais tout évolue !
Donc au niveau sécurité, sur Android, il faudrait plutôt s'orienter vers Chromium ou Brave ?
Avatar du membre
maxoxo
Messages : 245
Enregistré le : 12 févr. 2021 22:37

Re: La sécurité des navigateurs web sur Android : abandon de l'excellent Bromite

Message non lu par maxoxo »

Firefox va nécessairement s'améliorer sur Android comme ils l'ont fait sur PC avec Fission et RLBox. C'est mon navigateur préféré, moi aussi ça m'embête de ne pas pouvoir l'utiliser sur Android. Après, tout est aussi une question de contextualisation des menaces. Tu es un utilisateur averti, tu ne fais pas n'importe quoi. La sandbox système d'Android sécurise un minimum. J'utilise d'ailleurs parfois Tor Browser qui est basé sur Firefox..

Dans mon cas, j'ai un usage intensif du smartphone (pro comme perso). Je ne prends donc aucun risque avec la sécurité.
Glenic1 a écrit : 03 avr. 2023 19:36 Donc au niveau sécurité, sur Android, il faudrait plutôt s'orienter vers Chromium ou Brave ?
Je ne sais pas si on trouve facilement Chromium pour Android. Tu peux en effet partir sur Brave qui s'appuie dessus. C'est un navigateur grand public qu'on trouve facilement dans Aurora Store / Play Store. Il propose un bon niveau sur la vie privée / sécurité.

Sinon, il y a Mulch du projet DivestOS basé sur Chromium et qui reprend à son compte beaucoup d'améliorations de sécurité issues de Vanadium de GrapheneOS. Pour l'avoir il faut que tu ajoutes ce dépôt dans F-Droid : https://divestos.org/fdroid/official/

La procédure pour ajouter un dépôt est ici : https://f-droid.org/fr/tutorials/add-repo/

Tu pourras ensuite l'installer depuis F-Droid.
Glenic1
Messages : 307
Enregistré le : 28 déc. 2020 11:40

navigateur Brave : on y va !

Message non lu par Glenic1 »

Bonjour Maxoxo,
J'ai téléchargé le navigateur Brave sur mon "nouveau" tph Samsung S 7 sous Android 8.
Je suis un peu surpris de voir que ce navigateur est classé comme "contenant des publicités" sur Aurora Store.
A l'usage je n'ai pas vu de publicités. Qu'en est-il exactement ?
Je n'ai pas trouvé d'extensions comme sur Firefox. Apparemment, tout est intégré, même le bloqueur de publicités (de certaines publicités ?)
Le moteur de recherche est également intégré. Je vais voir à l'usage s'il est performant, disons comme Duckduckgo, auquel j'étais habitué.

ça y est, j'ai la plupart des réponses grâce à cet article https://www.clubic.com/telecharger-fich ... brave.html
Je vais continuer à tester ce navigateur sans trop me mouiller pour l'instant dans les "rewards" (récompenses)
Cet article relativement récent (novembre 2022) est également intéressant sur les philosophies respectives des 2 navigateurs Brave et Firefox
https://www.clubic.com/navigateur-inter ... oisir.html
Modifié en dernier par Glenic1 le 17 avr. 2023 22:35, modifié 1 fois.
Avatar du membre
maxoxo
Messages : 245
Enregistré le : 12 févr. 2021 22:37

Re: La sécurité des navigateurs web sur Android : abandon de l'excellent Bromite

Message non lu par maxoxo »

Salut,

Essaie en cliquant sur ce lien et en demandant à l'ouvrir avec Aurora Store
https://play.google.com/store/apps/deta ... ve.browser

Sinon, prends l'APK directement sur leur Github :
https://github.com/brave/brave-browser/ ... oarm64.apk
Glenic1
Messages : 307
Enregistré le : 28 déc. 2020 11:40

Re: La sécurité des navigateurs web sur Android : abandon de l'excellent Bromite

Message non lu par Glenic1 »

maxoxo a écrit : 17 avr. 2023 22:20 ...Essaie en cliquant sur ce lien et en demandant à l'ouvrir avec Aurora Store
https://play.google.com/store/apps/deta ... ve.browser

Sinon, prends l'APK directement sur leur Github :
https://github.com/brave/brave-browser/ ... oarm64.apk
Hum, hum, j'ai en fait trouvé la solution pendant que tu rédigeais la réponse à mon post d'origine !
Tu as été très rapide.
J'ai édité et modifié mon post de 15 h 42 pour tenir compte de l'installation réussie et aussi de mes petites recherches sur le sujet.
Avatar du membre
maxoxo
Messages : 245
Enregistré le : 12 févr. 2021 22:37

Re: La sécurité des navigateurs web sur Android : abandon de l'excellent Bromite

Message non lu par maxoxo »

Glenic1 a écrit : 17 avr. 2023 22:37 Hum, hum, j'ai en fait trouvé la solution pendant que tu rédigeais la réponse à mon post d'origine !
Tu as été très rapide.
Ah ah oups ! :mrgreen:
Glenic1 a écrit : 17 avr. 2023 15:42 Je n'ai pas trouvé d'extensions comme sur Firefox. Apparemment, tout est intégré, même le bloqueur de publicités (de certaines publicités ?)
Le moteur de recherche est également intégré. Je vais voir à l'usage s'il est performant, disons comme Duckduckgo, auquel j'étais habitué.

ça y est, j'ai la plupart des réponses grâce à cet article https://www.clubic.com/telecharger-fich ... brave.html
Je vais continuer à tester ce navigateur sans trop me mouiller pour l'instant dans les "rewards" (récompenses)
Cet article relativement récent (novembre 2022) est également intéressant sur les philosophies respectives des 2 navigateurs Brave et Firefox
https://www.clubic.com/navigateur-inter ... oisir.html
Pas d'extensions sur Android, c'est une règle pour tous les navigateurs à base Chromium. Effectivement, Brave a son propre bloqueur de publicités intégré.

Tu peux remplacer le moteur de recherche facilement si tu veux remettre DuckDuckGo : https://www.moyens.net/comment/comment- ... eur-brave/

Pour ce qu'ils appellent, les Rewards, c'est un truc que j'avais trouvé très gênant au début. Ils tentaient d'imposer leur nouveau modèle économique du web. Certes plus vertueux, mais la démarche était quand même assez délirante pour navigateur orienté vie privée. Depuis, ils ont peaufiné la chose et ils n'imposent rien : on reste totalement libre et même quand on accepte le concept c'est très peu intrusif. Pour en savoir plus voir ici : https://brave.com/fr/brave-rewards/

Après personnellement, j'utilise très peu Brave. Sur PC, je suis Firefox de façon inconditionnelle (sauf au boulot où c'est MS Edge) et sur Android, j'ai Vanadium le navigateur Chromium ultra sécurisé de GrapheneOS.

Cependant, Brave reste un excellent choix en termes de performances, sécurité et vie privée.
Répondre