L’installer chiede prima l’accesso alla rete, poi contatti, accessibilità e l’installazione di un certificato. Solo la prima richiesta appartiene al compito. La decisione vera sta nella seconda schermata.

Valuti ogni richiesta rispetto a una funzione che ha scelto, sulla piattaforma che usa. Nessun elenco universale di autorizzazioni copre ogni prodotto VPN, e un elenco lungo non dimostra nulla di per sé.

L’unica autorizzazione che il compito richiede davvero

Android chiede all’utente di approvare un servizio VPN tramite una finestra di sistema prima che parta qualsiasi tunnel, e il servizio dell’app dichiara BIND_VPN_SERVICE perché il sistema possa collegarvisi. Sul piano operativo l’app fa il lavoro di instradamento. Il consenso arriva dalla persona che tiene il dispositivo, in una finestra che nomina l’app, e revocarlo in seguito è un’azione supportata.

Le piattaforme Apple esprimono la stessa idea con un’estensione di rete e un’approvazione di installazione invece di una schermata di autorizzazioni. Windows usa un driver di adattatore virtuale e un avviso di elevazione. Due forme, un solo significato: questo programma può gestire pacchetti. Nulla di quell’autorizzazione copre la lettura della rubrica o l’emissione di una propria autorità di certificazione.

L’accesso aggiuntivo è una concessione separata con effetti separati. Un client di instradamento che lo vuole ha bisogno di un motivo proprio.

Dove le richieste aggiuntive hanno bisogno della propria spiegazione

Un servizio di accessibilità può leggere il contenuto dello schermo e agire per conto dell’utente, cosa che va molto oltre l’instradamento. L’amministrazione del dispositivo può imporre criteri di blocco e cancellare dati. Un certificato radice installato dall’utente consente a chi possiede la chiave corrispondente di leggere traffico che TLS proteggerebbe altrimenti.

Ognuna di queste può essere legittima. I prodotti per dispositivi gestiti e il controllo genitoriale possono aver bisogno di poteri di criterio, e uno strumento di assistenza può aver bisogno dell’accessibilità per guidare l’utente nelle impostazioni.

Il requisito è la tracciabilità: la richiesta indica una funzione con un nome, e quella funzione è visibile nel prodotto installato. Una richiesta dei contatti senza una schermata dedicata ai contatti non ha spiegazioni da offrire. Nemmeno l’argomento della cifratura si trasferisce, perché proteggere i pacchetti non dice nulla su chi siano gli amici. Un prodotto legittimo può comunque chiedere troppo tramite una libreria inclusa, e questo è un difetto da segnalare, non un reato da denunciare.

Annoti la richiesta e la funzione a cui corrisponde, poi decida. Quella nota è anche ciò che mostra all’assistenza quando una funzione si rompe dopo un rifiuto.

Leggere la richiesta sul dispositivo

La scheda dello store descrive l’intenzione, mentre il pacchetto installato descrive la realtà. Chieda al gestore dei pacchetti cosa è stato dichiarato e cosa concesso prima di approvare qualsiasi altra cosa. La coppia conta soprattutto quando scheda e manifest non concordano.

Due query coprono gran parte:

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

La prima elenca le autorizzazioni dichiarate rispetto a quelle concesse, ed è questo confronto a esporre un manifest troppo ampio. La seconda mostra le operazioni dell’app a runtime, compresi accessi speciali che non compaiono mai come autorizzazioni ordinarie. Dove mancano gli strumenti per sviluppatori, legga gli stessi fatti nelle schermate delle impostazioni della piattaforma.

Quelle schermate richiedono un minuto e non servono programmi. Accessibilità, amministrazione del dispositivo e archivio dei certificati elencano ciascuno le app che detengono la concessione.

Decidere, poi limitare i danni

Conceda l’autorizzazione di rete a un client che ha scelto e tratti ogni richiesta aggiuntiva come una decisione a sé. Nega quelle senza una funzione corrispondente, poi guardi cosa si rompe. Un client di instradamento che fallisce quando l’accesso ai contatti viene negato non stava mai chiedendo i contatti per conto dell’utente.

Revocare un’autorizzazione di solito disattiva una sola funzione senza disinstallare l’app né smontare ogni profilo. Si riconnetta dopo e confermi che il tunnel si stabilisce ancora.

Separi le due domande che una richiesta tende a fondere: cosa questo programma può fare sul dispositivo e cosa fa il suo operatore con il traffico una volta che il tunnel è attivo. Alla prima si risponde qui. La seconda richiede una politica di conservazione, e nessuna finestra la fornisce.

Articoli correlati