GrapheneOS traîne une réputation de système austère, compliqué, réservé aux gens qui regardent trois fois derrière leur épaule avant de déverrouiller leur smartphone. J’en ai donc fait mon système d’exploitation principal pendant quinze jours pour voir ce qu’il en était vraiment.

J'ai testé GrapheneOS, l'Android ultra-sécurisé qui ne ressemble pas à ce que vous imaginez. © Clubic
J'ai testé GrapheneOS, l'Android ultra-sécurisé qui ne ressemble pas à ce que vous imaginez. © Clubic

Cela faisait un moment que GrapheneOS me faisait de l’œil. J’avais même commencé à me dire qu’un tutoriel d’installation serait une bonne idée, avant que Guillaume, pourtant ambassadeur officieux d’Apple à la rédaction, ne mette la main sur un Pixel de test et me coupe l’herbe sous le pied.

Très bien. Puisqu’il avait pris l’installation, je prendrais la suite. J’ai donc récupéré un Pixel à mon tour et passé deux semaines avec GrapheneOS, histoire de voir ce que cet Android ultra-sécurisé donne une fois confronté à la vraie vie, à WhatsApp, Spotify, Netflix, aux applications bancaires et à toutes ces habitudes numériques dont on se débarrasse beaucoup moins facilement que d’un système d’exploitation. Spoiler : c’est beaucoup moins intimidant, et beaucoup moins radical, qu’on ne l’imagine.

Une installation étonnamment simple pour dégoogliser Google

Premier prérequis, donc : on n’installe pas GrapheneOS sur n’importe quel smartphone Android. Il faut impérativement un Google Pixel compatible, donc pas question de recycler un vieux modèle qui traîne au fond d’un tiroir.

Mon premier réflexe a été de récupérer le Pixel 5 de ma sœur. Mauvaise pioche : il faut au minimum un Pixel 6, 6 Pro ou 6a, ou une génération plus récente. Et surtout, un modèle qui autorise le déverrouillage OEM, sans quoi votre projet GrapheneOS risque de virer au retour SAV. Heureusement pour moi, les soldes venaient de commencer, et j’avais (peut-être) besoin d’un nouveau téléphone.

Une fois ce détail réglé, on peut entrer dans le vif du sujet. Un câble USB-C, une connexion Internet, un navigateur compatible, le Web Installer officiel ouvert dans un onglet, et c’est parti pour ce qui ressemble, au moins dans l’imaginaire collectif, à une petite opération de chirurgie Android.

En réalité, tout est bien expliqué, tout est très encadré. Il faut quand même activer le déverrouillage OEM, redémarrer le téléphone dans le bootloader, puis procéder à quelques manipulations qui s’apparentent davantage à un rituel de bidouille qu’à une mise à jour classique, mais c’est finalement assez rapide, sans douleur, presque déconcertant. Cela dit, on ne va pas se mentir : même avec l’habitude, se retrouver en tête-à-tête avec l’écran du bootloader fait toujours son petit effet.

Quand l’écran du bootloader apparaît, on a brièvement l’impression d’être devenu figurant dans Mr. Robot. © Clubic
Quand l’écran du bootloader apparaît, on a brièvement l’impression d’être devenu figurant dans Mr. Robot. © Clubic

Puis le Pixel redémarre et affiche le logo noir et blanc de GrapheneOS à la place du G coloré de Google. C’est le petit moment de suspension propre à toute installation système : les étapes se sont a priori déroulées comme prévu, mais on retient quand même son souffle jusqu’à l’apparition de l’écran d’accueil. Quelques secondes plus tard, il est là. Première surprise : c’est bien Android qui m’accueille. Et en même temps, pas vraiment.

Bienvenue de l’autre côté du miroir

Le premier contact est visuel. Mon fond d’écran habituel est violet, tirant vers le rose, hérité d’un ancien Samsung S10. Alors quand GrapheneOS m’accueille avec un fond noir, des icônes grisées et une sobriété quasi monacale, le contraste est assez saisissant. Je sais bien que ce mode existe déjà sur la version stock de l’OS, mais comme je ne l’utilise pas, j’ai l’impression d’avoir basculé dans l’Upside Down d’Android. C’est le même monde, mais pas tout à fait la même ambiance.

Je sais aussi que GrapheneOS ne me demandera pas mon identifiant Google au premier démarrage. C’est même un peu le principe. Mais entre le savoir et se retrouver face à un Android qui ne cherche pas immédiatement à restaurer ses applications, ses photos, ses réglages et ses vieilles habitudes, il y a quand même une petite différence. Le téléphone démarre presque vide, et ce vide-là fait partie de l’expérience.

Presque vide, mais pas désert non plus. GrapheneOS est livré avec un petit set d’applications de base : Téléphone, SMS, Contacts, Fichiers, Galerie, Horloge, Calculatrice, Appareil photo, Lecteur PDF, ainsi que Vanadium, le navigateur maison configuré avec DuckDuckGo comme moteur de recherche par défaut. On y trouve aussi Auditor, une application qui parle une autre langue, celle de l’attestation, de la vérification d’intégrité, du téléphone que l’on peut contrôler plutôt que simplement utiliser.

GrapheneOS n’a manifestement pas recruté son designer chez Barbie. © Clubic
GrapheneOS n’a manifestement pas recruté son designer chez Barbie. © Clubic

Et puis, il y a l’App Store. Enfin, App Store, c’est un bien grand mot. Au premier lancement, je m’attends naturellement à pouvoir y chercher toutes mes applications habituelles, ou au moins une partie. En réalité, il n’y a même pas de barre de recherche. Tout ce qui est disponible est listé sur la même page : les applications GrapheneOS, mais aussi Android Auto, Markup, le Play Store et les services Google Play, à installer soi-même si l’on décide d’y rester fidèle. Il ne s’agit donc pas d’une boutique généraliste, mais plutôt d’un centre d’applications limité.

Un peu déroutée, je finis par installer Accrescent, autre nom inconnu au bataillon, accessible depuis ce fameux App Store. Son icône violette tranche d’ailleurs avec le reste de l’interface. Cette fois, on tient bien un magasin d’applications, mais là encore, le catalogue est minuscule. J’y ai trouvé moins d’une quarantaine d’applications, avec un mélange assez improbable : des outils très cohérents avec l’univers GrapheneOS, comme une appli 2FA, Cryptomator, IVPN ou Molly, un client compatible Signal, mais aussi une Bible et une application pour consulter la température des lacs et rivières suisses. Bien.

Le catalogue d'applis est petit, mais il connaît la température des rivières suisses. © Clubic

Rappeler Google, sans lui filer les clés

Je pourrais continuer à farfouiller, mais je sais déjà ce qui m’attend : si je veux retrouver un confort proche de celui de mon smartphone habituel, et ne pas réduire ce Pixel à quelques usages très spécifiques, Accrescent ne suffira pas. Je me retrouve alors face à deux choix. Soit je fais comme sur n’importe quel appareil Android, et j’installe le Play Store dans mon profil principal. Soit je profite de GrapheneOS pour faire les choses un peu différemment, en tirant parti d’un profil secondaire.

Le principe n’est pas propre à GrapheneOS, Android permet déjà de créer plusieurs profils utilisateurs. Mais ici, la fonction sert à compartimenter Google. Je crée donc un deuxième profil, séparé de mon espace principal, pour y installer le Play Store, les services Google Play sandboxés et les applications qui en ont besoin. Tout ce que j’y ajoute reste dans cet espace isolé du reste du téléphone, avec ses propres comptes, ses propres données et ses propres autorisations. En contrepartie, il faut que je change manuellement de profil pour accéder à ces applications, ce qui n’est pas toujours très commode. Mais c’est aussi le prix de cette séparation : si l’on veut cloisonner ses usages, il faut bien accepter que tout ne soit pas disponible au même endroit.

Google aura sa chambre, mais pas les clés de la maison. © Clubic

Et les autres stores Android ?

Accrescent n’est pas la seule option pour installer des applications sans passer par le Play Store. Sur GrapheneOS, rien n’empêche d’utiliser d’autres sources, comme F-Droid, Aurora Store, Obtainium ou les APK fournis directement par les développeurs. C’est même l’un des intérêts d’Android : on n’est pas enfermé dans une seule boutique.

Mais toutes ces options ne répondent pas au même besoin. F-Droid privilégie les applications libres, Aurora Store permet d’accéder au catalogue du Play Store sans utiliser directement l’application officielle de Google, Obtainium suit les versions publiées par les développeurs sur leurs propres canaux, et les APK directs impliquent de faire confiance à la source qui les distribue. On peut retrouver de nombreuses applications autrement qu’en faisant appel à Google, mais il faut accepter de choisir ses canaux, de vérifier ses sources et de gérer parfois un peu plus soi-même les mises à jour.

Pour cette prise en main, je ne cherchais pas à monter tout de suite l’Android sans Google parfait. Je voulais avant tout savoir si GrapheneOS pouvait remplacer mon Android habituel, là, maintenant, quitte à affiner ensuite mes habitudes et mes sources d’applications.

Dans les faits, le retour au Play Store suffit à retrouver une bonne partie de mes repères. WhatsApp, Signal, Instagram, Spotify : les applications s’installent, s’ouvrent et fonctionnent comme prévu. Les notifications arrivent aussi, mais leur contenu est masqué par défaut sur l’écran verrouillé. Jusque-là, GrapheneOS ne donne pas vraiment l’impression de transformer Android en parcours d’obstacles. Même Netflix, que je m’attendais presque à voir râler pour une histoire de DRM vidéo et de certification de l’appareil, démarre sans broncher.

Je me heurte en revanche aux limites que j’anticipais, à savoir le paiement et la banque. Google Wallet, chez moi, ne va même pas jusqu’au bout de son lancement : écran blanc. Le problème ne vient pas du NFC, bien pris en charge par GrapheneOS, mais du wallet de Google, qui bloque sur les systèmes non certifiés. Même constat chez BoursoBank, qui refuse la connexion à mon espace client, faute de pouvoir vérifier l’intégrité de l’appareil.

Oui, Spotify fonctionne. Vous vous posiez la question, moi aussi. © Clubic

À noter qu’il existe des alternatives pour le paiement sans contact, comme Curve Pay. Mais cela suppose de faire appel à un nouvel intermédiaire, de vérifier la compatibilité de ses cartes bancaires et d’accepter que le paiement mobile sorte du confort très balisé de Google Wallet. Pour ma part, j’ai lâché l’affaire, et avec du recul, ce renoncement ne me paraît finalement pas si absurde. GrapheneOS pousse déjà à compartimenter ses usages, et parfois, compartimenter, c’est aussi prendre conscience que tout n’a pas besoin de passer par son smartphone. Bref, maintenant, quand je vais au supermarché, je prends ma CB.

Des autorisations distribuées au compte-gouttes

Pour une prise en main classique, j’aurais pu m’arrêter là. Mais avec GrapheneOS, le plus intéressant n’est pas toujours ce qui saute aux yeux. Première singularité : dès l’installation d’une application, le système me demande si elle peut accéder au réseau.

Vous en conviendrez, on n’a pas l’habitude de se voir poser la question aussi franchement. Pour WhatsApp, Signal ou Spotify, aucun suspense. Évidemment qu’elles ont besoin d’Internet. Pour un lecteur PDF ou un jeu censé fonctionner hors ligne, en revanche, on hésite déjà un peu plus.

GrapheneOS ne tranche pas à votre place, mais il fait quelque chose de presque plus intéressant : il force à ralentir deux secondes et à prendre conscience de ce qui est en train de se passer. Mine de rien, cela change le rapport assez passif qu’on entretient généralement avec son téléphone, celui qui nous incite à nous en remettre aveuglément à tout l’écosystème Android (vous lisez vraiment toutes les autorisations accordées par défaut aux applications que vous installez, vous ?).

Chez GrapheneOS, même les accès au réseau et aux capteurs se négocient. © Clubic

En continuant d’éplucher les autorisations, je m’aperçois aussi que GrapheneOS permet de couper l’accès aux capteurs du téléphone (accéléromètre, gyroscope, boussole, baromètre, etc.). Autant de données auxquelles une application peut normalement accéder sans déclencher de demande aussi explicite que pour la caméra ou le micro. Ici, elles sont regroupées derrière une permission « Sensors », que l’on peut révoquer au cas par cas.

Je découvre également qu’il est possible de ne pas ouvrir toutes mes données en bloc aux applications qui les réclament. Android le propose déjà pour les photos, en laissant choisir celles que l’on souhaite partager. GrapheneOS étend cette logique au carnet d’adresses et au stockage.

Avec les « Contact Scopes », je peux ne montrer à WhatsApp que les personnes avec lesquelles je compte réellement échanger, plutôt que de lui confier l’intégralité des numéros de ma famille, de mon médecin et de tous ceux et celles qui ont eu l’honneur de croiser mon répertoire depuis vingt ans. Les « Storage Scopes » appliquent le même principe aux fichiers et aux dossiers : l’application considère que l’autorisation lui a été accordée, mais son accès reste limité aux éléments que j’ai choisi de lui ouvrir.

Tout le stockage ? Non. Juste ce dont WhatsApp a besoin. © Clubic

Sous le capot, bien plus qu’une ROM custom

Avant de poser un point final sur cette prise en main, je tiens quand même à dire deux mots sur ce que l’on ne voit pas, et qui explique pourquoi GrapheneOS n’est pas seulement un Android débarrassé de Google.

Le système renforce notamment la sandbox déjà présente dans Android, cet espace isolé dans lequel chaque application est censée rester enfermée. Si l’une d’elles venait à être compromise, elle se heurterait donc à des protections supplémentaires avant de pouvoir atteindre les données des autres applications ou s’attaquer au reste du système.

Cette séparation est également consolidée dès leur lancement. Android fait habituellement démarrer les applications à partir d’un processus modèle commun, ce qui permet de gagner du temps et d’économiser de la mémoire. GrapheneOS crée au contraire un nouveau processus à partir de zéro pour chacune d’elles. Leur démarrage à froid peut prendre une fraction de seconde supplémentaire, mais elles partagent moins d’informations susceptibles d’aider un attaquant, en particulier sur l’organisation de la mémoire.

La mémoire, justement, fait l’objet de plusieurs renforcements. Lorsqu’une application tourne, elle demande sans cesse de petits espaces pour stocker temporairement ses données. L’allocateur mémoire se charge de trouver ces emplacements, de les lui attribuer, puis de les récupérer lorsqu’elle n’en a plus besoin.

Si une erreur se glisse dans la manière dont l’application utilise ces espaces, elle peut écrire au-delà de la zone qui lui a été réservée ou continuer à utiliser un espace déjà libéré. On parle alors, selon les cas, de buffer overflow, ou dépassement de mémoire tampon, et de use-after-free, ou utilisation après libération. Ces failles peuvent provoquer un plantage, mais aussi être détournées pour accéder à des données ou exécuter du code dans l’application vulnérable.

GrapheneOS utilise son propre allocateur pour mieux repérer ces erreurs et compliquer leur exploitation. Sur les Pixel 8 et les générations suivantes, il y ajoute le marquage matériel de la mémoire : chaque zone reçoit une sorte d’étiquette, que le processeur compare à celle du pointeur utilisé lorsqu’une application tente d’y accéder. Une étiquette incorrecte peut ainsi trahir l’utilisation d’un espace qui ne lui appartient pas ou qui a déjà été libéré, et interrompre l’opération avant qu’elle n’aille plus loin.

Le système encadre enfin le code que les applications cherchent à charger ou à générer pendant leur exécution. Cette possibilité peut parfaitement être légitime, mais elle permet aussi à un attaquant de faire exécuter du code qui ne faisait pas partie de l’application contrôlée à l’origine. GrapheneOS peut donc bloquer ce chargement depuis la mémoire ou le stockage et signale lorsqu’une application se heurte à cette restriction. On peut alors l’autoriser au cas par cas si elle en a réellement besoin.

Pas encore mon OS principal, mais plus vraiment un simple test

Alors, GrapheneOS, l’OS des gens très, très prudents et capables d’avaler des lignes de commande au petit-déjeuner ? Pas vraiment. L’installation peut impressionner les personnes les moins à l’aise en informatique, et j’avoue avoir mis un moment à comprendre ce que l’App Store permettait réellement d’installer. Mais une fois ce cap passé, la compatibilité avec les services Google fait que tout roule beaucoup plus facilement qu’on ne l’imagine. La plupart de mes applications ont fonctionné sans que j’aie à sacrifier mes usages sur l’autel de la confidentialité.

Pour autant, je ne vais pas tout de suite en faire mon OS principal. Mon quotidien numérique dépend encore trop largement de Google, de Microsoft, de WhatsApp et de toute la clique qu’on cherche justement à tenir à distance avec GrapheneOS. Je pourrais bien sûr tout réinstaller et continuer presque comme avant, mais choisir un système pensé pour renforcer la confidentialité et la sécurité puis y reproduire exactement mes vieilles habitudes, me paraît passer un peu à côté du sujet.

Maintenant que j’ai deux téléphones parfaitement fonctionnels (puisque, rappelons-le, j’ai quand même dû en racheter un), autant en profiter pour poursuivre cette transition dans de bonnes conditions. GrapheneOS va donc rester, pour l’instant, sur ce deuxième appareil. Je pourrai y déplacer progressivement mes usages, tester d’autres solutions et ajuster ce qui coince, jusqu’à ce que cet environnement plus respectueux de la vie privée accueille des pratiques plus saines.

À découvrir
Comment installer GrapheneOS en 15 minutes sur votre Pixel
Guide pratique