L’installateur demande d’abord l’accès au réseau, puis les contacts, l’accessibilité et l’installation d’un certificat. Seule la première demande relève de la tâche. La vraie décision se trouve sur le deuxième écran.

Jugez chaque demande par rapport à une fonction que vous avez choisie, sur la plateforme que vous utilisez. Aucune liste universelle de permissions ne couvre tous les produits VPN, et une longue liste ne prouve rien en soi.

La seule permission dont la tâche a réellement besoin

Android demande à l’utilisateur d’approuver un service VPN via une boîte de dialogue système avant qu’un tunnel ne démarre, et le service de l’application déclare BIND_VPN_SERVICE pour que le système puisse s’y lier. Sur le plan opérationnel, l’application fait le travail de routage. Le consentement vient de la personne qui tient l’appareil, dans une boîte de dialogue qui nomme l’application, et le révoquer plus tard est une action prise en charge.

Les plateformes Apple expriment la même idée par une extension réseau et une approbation d’installation plutôt que par un écran de permissions. Windows utilise un pilote d’adaptateur virtuel et une invite d’élévation. Deux formes, un sens : ce programme peut traiter des paquets. Rien dans cette autorisation ne couvre la lecture de votre carnet d’adresses ni la délivrance de sa propre autorité de certification.

L’accès supplémentaire est une autorisation distincte aux effets distincts. Un client de routage qui le veut a besoin de sa propre raison.

Là où les demandes supplémentaires ont besoin de leur propre explication

Un service d’accessibilité peut lire le contenu de l’écran et agir en votre nom, ce qui dépasse de loin le routage. L’administration de l’appareil peut appliquer des politiques de verrouillage et effacer des données. Un certificat racine installé par l’utilisateur permet à quiconque détient la clé correspondante de lire un trafic que TLS protégerait autrement.

Chacune de ces choses peut être légitime. Les produits pour appareils gérés et le contrôle parental peuvent avoir besoin de pouvoirs de politique, et un outil d’assistance peut avoir besoin d’accessibilité pour vous guider dans les réglages.

L’exigence est la traçabilité : la demande pointe vers une fonction nommée, et cette fonction est visible dans le produit que vous avez installé. Une demande de contacts sans écran tourné vers les contacts n’a aucune explication à offrir. L’argument du chiffrement ne se transpose pas non plus, car protéger les paquets ne dit rien sur l’identité de vos amis. Un produit légitime peut malgré tout trop demander via une bibliothèque intégrée, et c’est un défaut à signaler, non un délit à dénoncer.

Notez la demande et la fonction à laquelle elle correspond, puis décidez. Cette note est aussi ce que vous montrez au support quand une fonction casse après un refus.

Lire la demande sur l’appareil

La fiche du magasin décrit l’intention, tandis que le paquet installé décrit la réalité. Demandez au gestionnaire de paquets ce qui a été déclaré et ce qui a été accordé avant d’approuver quoi que ce soit d’autre. Le couple compte le plus quand la fiche et le manifeste se contredisent.

Deux requêtes couvrent l’essentiel :

adb shell dumpsys package com.example.vpn | grep -E "requested permissions|install permissions" -A 30
adb shell cmd appops get com.example.vpn

La première liste les permissions déclarées face aux permissions accordées, et c’est cette comparaison qui révèle un manifeste trop large. La seconde montre les opérations de l’application à l’exécution, y compris des accès spéciaux qui n’apparaissent jamais comme des permissions ordinaires. Là où les outils de développement manquent, lisez les mêmes faits dans les écrans de réglages de la plateforme.

Ces écrans prennent une minute et ne demandent aucun logiciel. Accessibilité, administration de l’appareil et stockage des certificats listent chacun les applications qui détiennent l’autorisation.

Décider, puis limiter les dégâts

Accordez l’autorisation réseau à un client que vous avez choisi, et traitez chaque demande supplémentaire comme une décision propre. Refusez celles qui n’ont pas de fonction correspondante, puis voyez ce qui casse. Un client de routage qui échoue quand l’accès aux contacts est refusé ne demandait jamais les contacts en votre nom.

Révoquer une permission désactive généralement une seule fonction sans désinstaller l’application ni démolir chaque profil. Reconnectez-vous ensuite et vérifiez que le tunnel s’établit toujours.

Séparez les deux questions qu’une demande a tendance à fusionner : ce que ce programme peut faire sur l’appareil, et ce que son opérateur fait du trafic une fois le tunnel monté. La première se règle ici. La seconde exige une politique de conservation, et aucune boîte de dialogue n’en fournit.

Articles similaires