VPN-App verlangt Kontakte und Bedienungshilfen: Was Sie zulassen sollten
Ein VPN braucht eine einzige Netzwerkberechtigung. Bedienungshilfen, Kontakte und Zertifikatsinstallationen brauchen eine eigene Begründung, die eine Routing-Funktion nicht liefern kann.
Der Installer fragt zuerst nach Netzwerkzugriff, dann nach Kontakten, Bedienungshilfen und einer Zertifikatsinstallation. Nur die erste Anfrage gehört zur Aufgabe. Die eigentliche Entscheidung fällt auf dem zweiten Bildschirm.
Beurteilen Sie jede Anfrage anhand einer Funktion, die Sie gewählt haben, auf der Plattform, die Sie nutzen. Keine allgemeine Berechtigungsliste deckt jedes VPN-Produkt ab, und eine lange Liste beweist für sich genommen nichts.
Die eine Berechtigung, die die Aufgabe wirklich braucht
Android bittet den Nutzer, einen VPN-Dienst über einen Systemdialog zu genehmigen, bevor ein Tunnel startet, und der Dienst der App deklariert BIND_VPN_SERVICE, damit das System sich daran binden kann. Operativ leistet die App die Routing-Arbeit. Die Zustimmung kommt von der Person, die das Gerät hält, in einem Dialog, der die App nennt, und das spätere Widerrufen ist eine unterstützte Aktion.
Apple-Plattformen drücken dieselbe Idee über eine Netzwerkerweiterung plus eine Installationsfreigabe aus statt über einen Berechtigungsbildschirm. Windows nutzt einen virtuellen Adaptertreiber und eine Rechteerhöhungsabfrage. Zwei Formen, eine Bedeutung: Dieses Programm darf Pakete verarbeiten. Nichts an dieser Berechtigung deckt das Lesen Ihres Adressbuchs oder das Ausstellen einer eigenen Zertifizierungsstelle ab.
Zusätzlicher Zugriff ist eine separate Genehmigung mit separaten Folgen. Ein Routing-Client, der ihn will, braucht eine eigene Begründung.
Wo die zusätzlichen Anfragen ihre eigene Geschichte brauchen
Ein Bedienungshilfe-Dienst kann Bildschirminhalte lesen und in Ihrem Namen handeln, was weit über das Routing hinausgeht. Geräteverwaltung kann Sperrrichtlinien durchsetzen und Daten löschen. Ein vom Nutzer installiertes Wurzelzertifikat erlaubt jedem mit dem passenden Schlüssel, Datenverkehr zu lesen, den TLS sonst schützen würde.
Jedes davon kann legitim sein. Produkte für verwaltete Geräte und Kindersicherung brauchen vielleicht Richtlinienbefugnisse, und ein Support-Werkzeug braucht vielleicht Bedienungshilfen, um Sie durch die Einstellungen zu führen.
Die Anforderung ist Nachvollziehbarkeit: Die Anfrage verweist auf eine benannte Funktion, und diese Funktion ist im installierten Produkt sichtbar. Eine Kontaktanfrage ohne kontaktbezogenen Bildschirm hat keine Erklärung zu bieten. Auch das Verschlüsselungsargument lässt sich nicht übertragen, denn der Schutz von Paketen sagt nichts darüber, wer Ihre Freunde sind. Ein legitimes Produkt kann über eine mitgelieferte Bibliothek trotzdem zu viel verlangen, und das ist ein Mangel, den man meldet, kein Verbrechen, das man anzeigt.
Notieren Sie die Anfrage und die Funktion, der sie entspricht, und entscheiden Sie dann. Diese Notiz zeigen Sie auch dem Support, wenn eine Funktion nach einer Ablehnung ausfällt.
Die Anfrage auf dem Gerät lesen
Der Store-Eintrag beschreibt die Absicht, während das installierte Paket die Realität beschreibt. Fragen Sie den Paketmanager, was deklariert und was erteilt wurde, bevor Sie irgendetwas anderes genehmigen. Das Paar zählt am meisten, wenn Eintrag und Manifest nicht übereinstimmen.
Zwei Abfragen decken das meiste ab:
adb shell dumpsys package com.example.vpn | grep -E "requested permissions|install permissions" -A 30 adb shell cmd appops get com.example.vpn
Die erste listet deklarierte gegen erteilte Berechtigungen auf, und genau dieser Vergleich legt ein zu breites Manifest offen. Die zweite zeigt App-Ops zur Laufzeit, einschließlich besonderer Zugriffe, die nie als gewöhnliche Berechtigungen erscheinen. Wo Entwicklerwerkzeuge fehlen, lesen Sie dieselben Fakten auf den Einstellungsbildschirmen der Plattform.
Diese Bildschirme dauern eine Minute und brauchen keine Software. Bedienungshilfen, Geräteverwaltung und Zertifikatsspeicher listen jeweils die Apps mit der Genehmigung auf.
Entscheiden und dann den Schaden begrenzen
Erteilen Sie die Netzwerkberechtigung einem Client Ihrer Wahl und behandeln Sie jede zusätzliche Anfrage als eigene Entscheidung. Lehnen Sie die ohne passende Funktion ab und sehen Sie dann, was ausfällt. Ein Routing-Client, der scheitert, wenn Kontaktzugriff verweigert wird, hat nie in Ihrem Namen nach Kontakten gefragt.
Der Widerruf einer Berechtigung deaktiviert meist eine einzelne Funktion, ohne die App zu deinstallieren oder jedes Profil abzubauen. Verbinden Sie sich danach erneut und bestätigen Sie, dass der Tunnel weiterhin aufgebaut wird.
Trennen Sie die zwei Fragen, die eine Anfrage gern verschmilzt: was dieses Programm auf dem Gerät darf und was sein Betreiber mit dem Datenverkehr tut, sobald der Tunnel steht. Die erste wird hier beantwortet. Die zweite braucht eine Aufbewahrungsrichtlinie, und kein Dialog liefert eine.