Instalater traži pristup mreži, zatim kontakte, pristupačnost i instalaciju certifikata. Samo prvi zahtjev pripada poslu. Na drugom ekranu leži stvarna odluka.

Procijenite svaki zahtjev prema funkciji koju ste odabrali, na platformi koju koristite. Nijedna univerzalna lista dozvola ne pokriva svaki VPN proizvod, a duga lista sama po sebi ništa ne dokazuje.

Jedna dozvola koja poslu zaista treba

Android traži od korisnika da odobri VPN uslugu kroz sistemski dijalog prije nego što se tunel pokrene, a usluga aplikacije deklariše BIND_VPN_SERVICE kako bi se sistem mogao vezati za nju. Operativno, aplikacija obavlja rutiranje. Saglasnost daje osoba koja drži uređaj, u dijalogu koji imenuje aplikaciju, a kasnije opozivanje je podržana radnja.

Apple platforme izražavaju istu ideju kroz mrežno proširenje plus odobrenje instalacije, a ne kroz ekran dozvola. Windows koristi upravljački program virtuelnog adaptera i upit za podizanje privilegija. Dva oblika, jedno značenje: ovaj program smije rukovati paketima. Ništa u tom ovlaštenju ne pokriva čitanje vašeg adresara ni izdavanje vlastitog certifikacijskog tijela.

Dodatni pristup je odvojeno odobrenje s odvojenim posljedicama. Klijent za rutiranje koji ga želi treba vlastiti razlog.

Gdje dodatni zahtjevi trebaju vlastitu priču

Usluga pristupačnosti može čitati sadržaj ekrana i djelovati u vaše ime, što je daleko iznad rutiranja. Administracija uređaja može provoditi politike zaključavanja i brisati podatke. Korisnički instaliran korijenski certifikat omogućava onome ko drži odgovarajući ključ da čita promet koji bi TLS inače štitio.

Bilo šta od toga može biti legitimno. Proizvodi za upravljane uređaje i roditeljsku kontrolu mogu trebati policijske ovlasti, 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 funkcija je vidljiva u proizvodu koji ste instalirali. Upit za kontakte bez ekrana okrenutog kontaktima nema šta objasniti. Argument šifrovanja se takođe ne prenosi, jer zaštita paketa ne govori ništa o tome ko su vaši prijatelji. Legitiman proizvod ipak može pretjerati sa zahtjevima kroz uključenu biblioteku, a to je nedostatak koji treba istaći, a ne zločin koji treba prijaviti.

Zabilježite zahtjev i funkciju na koju se odnosi, pa odlučite. Ta bilješka je i ono što pokazujete podršci kada funkcija prestane raditi nakon odbijanja.

Čitanje zahtjeva na uređaju

Oglas u trgovini opisuje namjeru, dok instalirani paket opisuje stvarnost. Pitajte upravitelja paketa šta je deklarisano i šta je odobreno prije nego što odobrite bilo šta drugo. Taj par je najvažniji kada se oglas i manifest ne slažu.

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 navodi deklarisane naspram odobrenih dozvola, a to je poređenje koje otkriva preširok manifest. Drugi prikazuje runtime app-ops, uključujući posebne pristupe koji se nikada ne pojavljuju kao obične dozvole. Kada razvojni alati nisu dostupni, iste činjenice pročitajte na ekranima postavki platforme.

Ti ekrani traju minutu i ne trebaju softver. Pristupačnost, administracija uređaja i pohrana certifikata svaki navode aplikacije koje drže odobrenje.

Odlučivanje, pa ograničavanje štete

Dodijelite mrežno ovlaštenje klijentu koji ste odabrali, a svaki dodatni zahtjev tretirajte kao vlastitu odluku. Odbijte one bez odgovarajuće funkcije, pa vidite šta se kvari. Klijent za rutiranje koji padne kada se pristup kontaktima odbije nikada nije tražio kontakte u vaše ime.

Opozivanje jedne dozvole obično onemogući jednu funkciju bez deinstaliranja aplikacije ili rušenja svakog profila. Zatim se ponovo povežite i potvrdite da se tunel još uspostavlja.

Razdvojite dva pitanja koja upit obično spaja: šta ovaj program smije raditi na uređaju i šta njegov operater radi s prometom kada je tunel uspostavljen. Prvo se odgovara ovdje. Drugo traži politiku čuvanja, a nijedan dijalog je ne pruža.

Povezani članci