O instalador pede acesso à rede, depois contactos, acessibilidade e a instalação de um certificado. Só o primeiro pedido pertence à tarefa. O segundo ecrã é onde está a decisão real.

Avalie cada pedido face a uma funcionalidade que escolheu, na plataforma que utiliza. Nenhuma lista universal de permissões cobre todos os produtos VPN, e uma lista longa não prova nada por si só.

A única permissão de que a tarefa realmente precisa

O Android pede ao utilizador que aprove um serviço VPN através de uma caixa de diálogo do sistema antes de qualquer túnel arrancar, e o serviço da aplicação declara BIND_VPN_SERVICE para que o sistema se possa ligar a ele. Operacionalmente, a aplicação faz o trabalho de encaminhamento. O consentimento vem da pessoa que segura o dispositivo, numa caixa de diálogo que nomeia a aplicação, e revogá-lo mais tarde é uma ação suportada.

As plataformas Apple exprimem a mesma ideia através de uma extensão de rede mais uma aprovação de instalação, em vez de um ecrã de permissões. O Windows usa um controlador de adaptador virtual e um pedido de elevação. Duas formas, um significado: este programa pode tratar pacotes. Nada nessa autorização cobre a leitura da sua lista de contactos ou a emissão de uma autoridade de certificação própria.

O acesso extra é uma autorização separada com efeitos separados. Um cliente de encaminhamento que o queira precisa de um motivo próprio.

Onde os pedidos extra precisam da sua própria história

Um serviço de acessibilidade pode ler o conteúdo do ecrã e agir em seu nome, o que vai muito além do encaminhamento. A administração do dispositivo pode impor políticas de bloqueio e apagar dados. Um certificado raiz instalado pelo utilizador permite a quem tiver a chave correspondente ler tráfego que o TLS protegeria de outra forma.

Qualquer uma delas pode ser legítima. Produtos para dispositivos geridos e controlo parental podem precisar de poderes de política, e uma ferramenta de suporte pode precisar de acessibilidade para o guiar pelas definições.

O requisito é a rastreabilidade: o pedido aponta para uma funcionalidade nomeada, e essa funcionalidade é visível no produto que instalou. Um pedido de contactos sem um ecrã virado para contactos não tem nada a explicar. O argumento da encriptação também não se transfere, porque proteger pacotes não diz nada sobre quem são os seus amigos. Um produto legítimo pode ainda pedir demasiado através de uma biblioteca incluída, e isso é um defeito a assinalar, não um crime a denunciar.

Registe o pedido e a funcionalidade a que corresponde, depois decida. Essa nota é também o que mostra ao suporte quando uma funcionalidade falha após uma recusa.

Ler o pedido no dispositivo

A ficha da loja descreve a intenção, enquanto o pacote instalado descreve a realidade. Pergunte ao gestor de pacotes o que foi declarado e o que foi concedido antes de aprovar qualquer outra coisa. O par é mais importante quando uma ficha e um manifesto discordam.

Dois comandos cobrem a maior parte:

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

O primeiro lista as permissões declaradas contra as concedidas, e é essa comparação que expõe um manifesto demasiado amplo. O segundo mostra app-ops em tempo de execução, incluindo acessos especiais que nunca aparecem como permissões comuns. Onde as ferramentas de programador não estão disponíveis, leia os mesmos factos nos ecrãs de definições da plataforma.

Esses ecrãs levam um minuto e não precisam de software. Acessibilidade, administração do dispositivo e armazenamento de certificados listam cada um as aplicações que detêm a autorização.

Decidir e depois limitar os danos

Conceda a autorização de rede a um cliente que escolheu, e trate cada pedido adicional como uma decisão própria. Recuse os que não têm uma funcionalidade correspondente, depois veja o que falha. Um cliente de encaminhamento que falha quando o acesso aos contactos é recusado nunca estava a pedir contactos em seu nome.

Revogar uma permissão normalmente desativa uma única funcionalidade sem desinstalar a aplicação ou desmontar cada perfil. Volte a ligar-se depois e confirme que o túnel ainda se estabelece.

Separe as duas perguntas que uma caixa de diálogo tende a juntar: o que este programa pode fazer no dispositivo e o que o seu operador faz com o tráfego depois de o túnel estar ativo. A primeira é respondida aqui. A segunda precisa de uma política de retenção, e nenhuma caixa de diálogo a fornece.

Artigos relacionados