VPN aplikacija traži kontakte i pristupačnost: što dopustiti
VPN treba jedno mrežno ovlaštenje. Pristupačnost, kontakti i instalacija certifikata trebaju vlastiti razlog koji funkcija usmjeravanja ne može pružiti.
Instalater najprije traži pristup mreži, zatim kontakte, pristupačnost i instalaciju certifikata. Samo prvi zahtjev pripada ovom poslu. Prava odluka leži na drugom zaslonu.
Procijenite svaki zahtjev prema funkciji koju ste odabrali, na platformi koju koristite. Nijedan univerzalni popis dopuštenja ne pokriva svaki VPN proizvod, a dug popis sam po sebi ništa ne dokazuje.
Jedino dopuštenje koje posao doista treba
Android traži da korisnik odobri VPN uslugu putem sistemskog dijaloga prije nego što se pokrene bilo koji tunel, a usluga aplikacije deklarira BIND_VPN_SERVICE kako bi se sustav mogao vezati na nju. Operativno aplikacija obavlja usmjeravanje. Privola dolazi od osobe koja drži uređaj, u dijalogu koji imenuje aplikaciju, a kasnije povlačenje podržana je radnja.
Appleove platforme izražavaju istu ideju mrežnim proširenjem i odobrenjem instalacije umjesto zaslona dopuštenja. Windows rabi upravljački program virtualnog adaptera i upit za povišenje ovlasti. Dva oblika, jedno značenje: ovaj program smije obrađivati pakete. Ništa u tom ovlaštenju ne pokriva čitanje vašeg adresara ni izdavanje vlastitog certifikacijskog tijela.
Dodatni pristup zasebno je ovlaštenje sa zasebnim učincima. Klijent za usmjeravanje koji ga želi treba vlastiti razlog.
Gdje dodatni zahtjevi trebaju vlastito objašnjenje
Usluga pristupačnosti može čitati sadržaj zaslona i djelovati u vaše ime, što je daleko iznad usmjeravanja. Upravljanje uređajem može provoditi pravila zaključavanja i brisati podatke. Korijenski certifikat koji instalira korisnik omogućuje onome s odgovarajućim ključem čitanje prometa koji bi TLS inače štitio.
Bilo što od toga može biti legitimno. Proizvodi za upravljane uređaje i roditeljski nadzor mogu trebati ovlasti za pravila, a alat za podršku može trebati pristupačnost da vas provede kroz postavke.
Zahtjev je sljedivost: zahtjev upućuje na imenovanu funkciju, a ta je funkcija vidljiva u proizvodu koji ste instalirali. Zahtjev za kontaktima bez zaslona okrenutog kontaktima nema što objasniti. Ni argument šifriranja ne prenosi se, jer zaštita paketa ne govori ništa o tome tko su vaši prijatelji. Legitiman proizvod ipak može tražiti previše kroz uključenu biblioteku, a to je nedostatak koji treba prijaviti, a ne zločin koji treba otkriti.
Zapišite zahtjev i funkciju kojoj odgovara, pa odlučite. Ta je bilješka i ono što pokazujete podršci kad se funkcija pokvari nakon odbijanja.
Čitanje zahtjeva na uređaju
Trgovinski zapis opisuje namjeru, dok instalirani paket opisuje stvarnost. Pitajte upravitelja paketa što je deklarirano i što odobreno prije nego što odobrite bilo što drugo. Taj par najviše vrijedi kad se zapis i manifest razilaze.
Dva upita pokrivaju većinu toga:
adb shell dumpsys package com.example.vpn | grep -E "requested permissions|install permissions" -A 30 adb shell cmd appops get com.example.vpn
Prvi nabraja deklarirana nasuprot odobrenim dopuštenjima, i upravo to uspoređivanje otkriva preširok manifest. Drugi prikazuje radnje aplikacije u izvršavanju, uključujući posebne pristupe koji se nikad ne pojavljuju kao obična dopuštenja. Gdje nema razvojnih alata, pročitajte iste činjenice na zaslonima postavki platforme.
Ti zasloni traju minutu i ne trebaju softver. Pristupačnost, upravljanje uređajem i pohrana certifikata svaki nabraja aplikacije koje imaju ovlaštenje.
Odlučiti, a zatim ograničiti štetu
Dajte mrežno ovlaštenje klijentu koji ste odabrali i tretirajte svaki dodatni zahtjev kao vlastitu odluku. Odbijte one bez odgovarajuće funkcije, pa pogledajte što se kvari. Klijent za usmjeravanje koji zakaže kad se pristup kontaktima odbije nikada nije tražio kontakte u vaše ime.
Povlačenje jednog dopuštenja obično isključuje jednu funkciju bez deinstaliranja aplikacije ili razgradnje svakog profila. Ponovno se povežite nakon toga i potvrdite da se tunel još uspostavlja.
Razdvojite dva pitanja koja zahtjev obično spaja: što ovaj program smije raditi na uređaju i što njegov operater radi s prometom kad je tunel podignut. Na prvo se odgovara ovdje. Drugo treba pravilo zadržavanja, a nijedan dijalog ga ne nudi.