Du Android dialogai nuolat painiojami: VPN sutikimo užklausa ir leidimų prašymai, kuriuos programa pateikia dėl jūsų duomenų. Pirmasis perduoda tinklo poziciją, vietą, kurioje paketus galima skaityti ir perrašyti. Antrasis perduoda saugomą turinį, kurį Android saugo programą po programos. Jei juos laikome vienu dalyku, arba perdėojame, ką gali matyti tunelis, arba smarkiai nuvertiname, ko ryžtinga programa paprašys toliau.

Ką sutikimo dialogas iš tiesų perduoda

Programa, kuri įgyvendina VpnService ir deklaruoja BIND_VPN_SERVICE, prašo sistemos tapti įrenginio VPN. Po patvirtinimo sistema sukuria tun sąsają ir duoda programai jos failo deskriptorių. Viskas, ką programa daro vėliau, teka per tą deskriptorių: ji nuskaito IP paketus, nusprendžia, ką su jais daryti, ir įrašo paketus atgal.

To sąsajos apimtis yra aiškiai apibrėžta. Maršrutai nusprendžia, kurie tikslai pagaunami, o addAllowedApplication arba addDisallowedApplication nusprendžia, kurios programos ją maitina. Atskiros programos VPN, kuriame nurodytos dvi programos, nemato likusio įrenginio.

Tai paketų lygio suteikimas, o ne duomenų lygio. Paslauga mato baitus, kuriuos programa perduoda tinklo dėmiui, adresuotus konkrečiam tikslui. Ji negauna prieigos prie siunčiančios programos privačios saugyklos, jos duomenų bazės failų ar iššifruotos atminties. Failai, kuriuos programa išsaugojo savo smėlio dėžėje, išlieka lygiai taip pat sunkiai perskaitomi kaip ir anksčiau.

Kur sustoja paketų vaizdas

TLS ir toliau atlieka savo darbą tunelio viduje, nes rankos paspaudimas vyksta tarp programos ir serverio, o ne tarp programos ir VPN. VPN perduoda šifruotą tekstą, kurio negali iššifruoti be sesijos raktų. Todėl vien tunelis neatskleidžia HTTPS puslapio ar apsaugotos pašto sesijos turinio.

Metaduomenys aplink šifruotą tekstą yra kita istorija, ir būtent čia subyra dauguma užtikrintų teiginių. Paskirties IP, prievadas, paketų dydžiai ir laikas yra matomi, taip pat serverio pavadinimas TLS ClientHello, kuris paprastai siunčiamas atviru tekstu net ir naudojant TLS 1.3. Encrypted Client Hello tai keičia, bet jis nėra universalus. Paprastas DNS taip pat lengvai nutekina pavadinimus, kai užklausos išeina nešifruotos.

Senesni ar netinkamai sukonfigūruoti protokolai perduoda daugiau. Paprastas HTTP, IMAP be TLS ir nemažai žaidimų bei IoT protokolų atskleidžia savo turinį viskam, kas turi tun deskriptorių.

Leidimai, kurie niekada neateina kartu

VPN patvirtinimas nepatvirtina kontaktų, SMS, nuotraukų ar medijos saugyklos. Tai atskiri vykdymo laiko suteikimai, kiekvienas su savo dialogu ir savo atšaukimo keliu programos nustatymų puslapyje. VPN klientas, norintis jūsų skambučių žurnalo, turi jo paprašyti kaip ir bet kuri kita programa, o jūs galite atsisakyti ir išlaikyti tunelį.

Būtent sertifikato diegimas yra tai, į ką reikėtų atkreipti dėmesį, nes jis atrodo kaip VPN sąrankos dalis, bet ja nėra. Vartotojo CA įdiegimas į prisitaikymo duomenų saugyklą pakeičia, kuriuos sertifikatus Android priims, o nuo Android 7.0 programos, skirtos API 24 ar naujesniam, nepaiso vartotojo pridėtų CA, nebent jos tinklo saugumo konfigūracija tai pasirenka su vartotojo pasitikėjimo inkaro nuoroda. Klientas, kuris reikalauja CA, galbūt atlieka teisėtą įmonės perėmimą, o gal prašo kažko, ko VPN dialogas niekada nepaminėjo.

Prieinamumo prieiga yra dar toliau. Paslauga, kurioje įjungtas prieinamumas, gali skaityti kitų programų ekrano turinį, ko nesuteikia jokia paketų lygio pozicija.

Vietinis filtras arba nuotolinis tarpinis mazgas

Ta pati API apima du produktus, kurie nusipelno skirtingo pasitikėjimo lygio. Įrenginyje esantis ugniasienė ar reklamos blokavimo įrankis paima tun deskriptorių ir atsako į srautą vietoje, niekada nesiųsdamas jo serveriui, kurį pats valdo. Tikras tunelis persiunčia tuos paketus į tarpinį mazgą kitur, o tas operatorius mato tuos pačius metaduomenis iš kito galo ir taip pat sprendžia, kas grįš.

Praktinis būdas juos atskirti – patikrinti savo viešąjį adresą su įjungtu ir išjungtu VPN ir pažiūrėti, ar pranešime nurodomas nuotolinis galinis taškas. Jei adresas niekada nesikeičia, srautas greičiausiai sukasi pačiame įrenginyje.

Abiem atvejais tai vis dar paketų pozicija. Skirtumas tas, kas dar stovi prie išėjimo.

Patikrinkite, ką patvirtinote

Atidarykite Nustatymus, tada Tinklas ir internetas, tada VPN, ir skaitykite įrašą, o ne piktogramą būsenos juostoje. Nuolat įjungtas VPN ir Blokuoti ryšius be VPN yra įrenginio nustatymai, kurie palaiko sąsają gyvą ir nutraukia nutekėjimus; jie nieko nepadidina. Iš to paties ekrano galite pamiršti profilį ir atšaukti suteikimą.

Tada peržiūrėkite kitus leidimus. Programos informacija rodo, kokius vykdymo laiko suteikimus klientas turi, o saugumo nustatymai rodo, ar tuo pačiu metu buvo įdiegtas vartotojo sertifikatas. Bet kurį iš jų galima pašalinti atskirai.

Klausimas, į kurį verta atsakyti, yra siauras: kurie paketai patenka į šią paslaugą, kur jie eina ir ką įgyvendinimas išsaugo. Visa kita dialoge yra triukšmas. VpnService nuoroda yra autoritetinis sąrašas to, ką sąsaja atskleidžia.

Susiję straipsniai