Dve pogovorni okni v Androidu se nenehno mešata: zahteva za soglasje VPN in zahteve za dovoljenja, ki jih aplikacija naslovi na vaše podatke. Prvo preda omrežni položaj, mesto, kjer je mogoče pakete brati in prepisovati. Drugo preda shranjeno vsebino, ki jo Android varuje aplikacijo za aplikacijo. Če ju obravnavamo kot eno stvar, bodisi pretiravamo o tem, kaj lahko predor vidi, bodisi močno podcenjujemo, kaj bo odločna aplikacija zahtevala naslednjič.

Kaj pogovorno okno za soglasje v resnici preda

Aplikacija, ki izvaja VpnService in deklarira BIND_VPN_SERVICE, od sistema zahteva, da postane VPN naprave. Po odobritvi ogrodje ustvari vmesnik tun in aplikaciji dodeli opisnik datoteke zanj. Vse, kar aplikacija počne pozneje, teče skozi ta opisnik: bere IP pakete navzven, odloča, kaj storiti z njimi, in pakete zapiše nazaj noter.

Obseg tega vmesnika je izrecen. Poti odločajo, kateri cilji so zajeti, addAllowedApplication ali addDisallowedApplication pa odloča, katere aplikacije ga napajajo. VPN za posamezne aplikacije, ki navaja dve aplikaciji, ne vidi preostanka naprave.

To je podelitev na ravni paketov, ne na ravni podatkov. Storitev vidi bajte, ki jih aplikacija preda omrežnemu skladu, naslovljene na cilj. Ne dobi dostopa do zasebnega shrambe pošiljajoče aplikacije, do njenih datotek podatkovne baze ali do njenega dešifriranega pomnilnika. Datoteke, ki jih aplikacija shrani v svojem peskovniku, ostanejo natanko tako težko berljive kot prej.

Kje se pogled na pakete ustavi

TLS še vedno opravlja svoje delo znotraj predora, ker rokovanje poteka med aplikacijo in strežnikom, ne med aplikacijo in VPN. VPN posreduje šifrirano besedilo, ki ga brez sejnih ključev ne more dešifrirati. Zato predor sam po sebi ne razkrije vsebine strani HTTPS ali zaščitene poštne seje.

Metapodatki okoli šifriranega besedila so druga zgodba in prav tu se sesuje večina samozavestnih trditev. Ciljni IP, vrata, velikosti paketov in čas so vidni, poleg tega ime strežnika v TLS ClientHello, ki se običajno pošlje odkrito tudi pod TLS 1.3. Encrypted Client Hello to spremeni, a ni univerzalen. Navaden DNS enako zlahka izda imena, ko poizvedbe odhajajo nešifrirane.

Starejši ali napačno nastavljeni protokoli predajo več. Navaden HTTP, IMAP brez TLS in vrsta igralnih ter IoT protokolov izpostavi svoj tovor vsemu, kar ima opisnik tun.

Dovoljenja, ki nikoli ne pridejo zraven

Odobritev VPN ne odobri stikov, SMS, fotografij ali medijske knjižnice. To so ločene podelitve med izvajanjem, vsaka s svojim pogovornim oknom in svojo potjo preklica na strani z nastavitvami aplikacije. Odjemalec VPN, ki želi vaš dnevnik klicev, mora zanj zaprositi kot vsaka druga aplikacija, vi pa lahko zavrnete in obdržite predor.

Namestitev potrdila je tista, na katero morate paziti, ker je videti kot del nastavitve VPN, pa ni. Namestitev uporabniškega CA v shrambo poverilnic spremeni, katera potrdila bo Android sprejel, in od Androida 7.0 aplikacija, usmerjena na API 24 ali novejši, prezre uporabnikom dodane CA, razen če se njena omrežna varnostna konfiguracija zanje odloči z uporabniškim sidrom zaupanja. Odjemalec, ki vztraja pri CA, morda izvaja zakonito podjetniško prestrezanje, ali pa zahteva nekaj, česar pogovorno okno VPN ni nikoli omenilo.

Dostop prek dostopnosti je še dlje. Storitev z omogočeno dostopnostjo lahko bere vsebino zaslona drugih aplikacij, česar ne ponuja noben položaj na ravni paketov.

Lokalni filter ali oddaljena prehodna točka

Isti API pokriva dva izdelka, ki si zaslužita različni ravni zaupanja. Požarni zid ali blokator oglasov v napravi prevzame opisnik tun in odgovori na promet lokalno, ne da bi ga kdaj poslal strežniku, ki ga upravlja sam. Pravi predor te pakete posreduje prehodni točki drugje, ta upravljavec pa vidi iste metapodatke z drugega konca in hkrati odloča, kaj se vrne.

Praktičen način, kako ju ločiti, je preveriti svoj javni naslov z vklopljenim in izklopljenim VPN in pogledati, ali obvestilo navaja oddaljeno končno točko. Če se naslov nikoli ne spremeni, promet najverjetneje kroži na sami napravi.

Oba primera sta še vedno položaj na ravni paketov. Razlika je, kdo drug stoji na izhodu.

Preverite, kaj ste odobrili

Odprite Nastavitve, nato Omrežje in internet, nato VPN, in berite vnos, ne ikone v vrstici stanja. VPN vedno vklopljen in Blokiraj povezave brez VPN sta nastavitvi naprave, ki držita vmesnik živ in odrežeta uhajanja; ničesar ne razširita. Z istega zaslona lahko profil pozabite in podelitev prekličete.

Nato preglejte druga dovoljenja. Podatki o aplikaciji pokažejo, katere podelitve med izvajanjem ima odjemalec, varnostne nastavitve pa pokažejo, ali je bil hkrati nameščen uporabniški certifikat. Katero koli od tega je mogoče odstraniti neodvisno.

Vprašanje, na katero je vredno odgovoriti, je ozko: kateri paketi vstopajo v to storitev, kam gredo in kaj izvedba obdrži. Vse drugo v pogovornem oknu je šum. Referenca VpnService je verodostojni seznam tega, kar vmesnik izpostavlja.

Sorodni članki