Android VPN kontraŭ aplikaĵaj permesoj: kion signifas la averto
La konsenta dialogo pri VPN en Android donas paketan pozicion, ne aliron al via retpoŝto, fotoj aŭ kontaktoj. Jen kie tiu limo vere staras.
Du dialogoj en Android konstante konfuziĝas: la konsenta peto pri VPN kaj la permesaj petoj, kiujn aplikaĵo faras por viaj datumoj. La unua transdonas retan pozicion, la lokon kie pakaĵoj povas esti legitaj kaj reskribitaj. La dua transdonas konservitan enhavon, kiun Android gardas aplikaĵon post aplikaĵo. Trakti ilin kiel unu aferon aŭ troigas tion, kion tunelo povas vidi, aŭ grave subtaksas tion, kion decida aplikaĵo petos poste.
Kion la konsenta dialogo efektive transdonas
Aplikaĵo, kiu implementas VpnService kaj deklaras BIND_VPN_SERVICE, petas la sistemon fariĝi la VPN de la aparato. Post aprobo la kadro kreas tun-interfacon kaj donas al la aplikaĵo dosierpriskribilon por ĝi. Ĉio, kion la aplikaĵo faras poste, fluas tra tiu priskribilo: ĝi legas IP-pakaĵojn eksteren, decidas kion fari kun ili kaj skribas pakaĵojn reen.
La amplekso de tiu interfaco estas eksplicita. Itinereroj decidas, kiuj celoj estas kaptataj, kaj addAllowedApplication aŭ addDisallowedApplication decidas, kiuj aplikaĵoj nutras ĝin. VPN por unuopa aplikaĵo, kiu listigas du aplikaĵojn, ne vidas la reston de la aparato.
Tio estas permeso je pakaĵa nivelo, ne je data nivelo. La servo vidas la bajtojn, kiujn aplikaĵo transdonas al la reta stako, adresitaj al celo. Ĝi ne ricevas aliron al la privata konservejo de la senda aplikaĵo, al ĝiaj datumbazaj dosieroj aŭ al ĝia malĉifrita memoro. Dosieroj, kiujn aplikaĵo konservis en sia propra sablujo, restas same malfacile legeblaj kiel antaŭe.
Kie la pakaĵa vido ĉesas
TLS plu faras sian taskon ene de la tunelo, ĉar la manpremo okazas inter la aplikaĵo kaj la servilo, ne inter la aplikaĵo kaj la VPN. La VPN plusendas ĉifritan tekston, kiun ĝi ne povas malĉifri sen la sesiaj ŝlosiloj. Tial tunelo sola ne malkaŝas la enhavon de HTTPS-paĝo aŭ de protektita retpoŝta sesio.
La metadatumoj ĉirkaŭ la ĉifrita teksto estas alia historio, kaj ĝuste ĉi tie disfalas la plej multaj memfidaj asertoj. La cela IP, haveno, pakaĵgrandoj kaj tempigo ĉiuj estas videblaj, plus la servila nomo en TLS ClientHello, kiu kutime estas sendata malkaŝe eĉ sub TLS 1.3. Encrypted Client Hello ŝanĝas tion, sed ĝi ne estas universala. Simpla DNS same facile likas nomojn, kiam la demandoj eliras neĉifritaj.
Pli malnovaj aŭ misagorditaj protokoloj transdonas pli. Simpla HTTP, IMAP sen TLS kaj kelkaj ludaj kaj IoT-protokoloj elmetas siajn ŝarĝojn al ĉio, kio tenas la tun-priskribilon.
La permesoj, kiuj neniam venas kun ĝi
Aprobi VPN ne aprobas kontaktojn, SMS, fotojn aŭ la aŭdvidaĵan konservejon. Tiuj estas apartaj plenumtempaj permesoj, ĉiu kun propra dialogo kaj propra revoka vojo en la agorda paĝo de la aplikaĵo. VPN-kliento, kiu volas vian vokhistorion, devas peti ĝin kiel iu ajn alia aplikaĵo, kaj vi povas rifuzi tenante la tunnelon.
Instalo de atestilo estas la afero, kiun oni atentu, ĉar ĝi aspektas kiel parto de VPN-agordo kaj ne estas. Instali uzantan CA en la legitimila konservejo ŝanĝas, kiujn atestilojn Android akceptos, kaj ekde Android 7.0 aplikaĵo celanta API 24 aŭ pli novan ignoras uzant-aldonitajn CA-ojn, krom se ĝia retsekureca agordo elektas tion per uzanta fida ankro. Kliento, kiu insistas pri CA, eble faras laŭleĝan entreprenan interkaptadon, aŭ eble petas ion, kion la VPN-dialogo neniam menciis.
Alirebleca aliro staras eĉ pli malproksime. Servo kun alirebleco ŝaltita povas legi la ekranan enhavon de aliaj aplikaĵoj, kion neniu pozicio je pakaĵa nivelo donas.
Loka filtrilo aŭ fora pordego
La sama API kovras du produktojn, kiuj meritaj malsamajn nivelojn da fido. Fajroŝirmilo aŭ reklamoblokilo sur la aparato prenas la tun-priskribilon kaj respondas al la trafiko loke, neniam sendante ĝin al servilo, kiun ĝi mem funkciigas. Vera tunelo plusendas tiujn pakaĵojn al pordego aliloke, kaj tiu operatoro vidas la samajn metadatumojn de la alia fino kaj ankaŭ decidas, kio revenos.
Praktika maniero distingi ilin estas kontroli vian publikan adreson kun la VPN ŝaltita kaj malŝaltita, kaj rigardi ĉu la sciigo nomas foran finpunkton. Se la adreso neniam ŝanĝiĝas, la trafiko probable rondiras sur la aparato mem.
Ambaŭ kazoj ankoraŭ estas pakaĵa pozicio. La diferenco estas, kiu alia staras ĉe la eliro.
Revizuu tion, kion vi aprobis
Malfermu Agordojn, poste Reto kaj interreto, poste VPN, kaj legu la eron anstataŭ la ikonon en la statobreto. Ĉiama VPN kaj Bloki konektojn sen VPN estas aparataj agordoj, kiuj tenas la interfacon viva kaj fortranĉas likojn; ili larĝigas nenion. El la sama ekrano vi povas forgesi la profilon kaj revoki la permeson.
Poste trairu la aliajn permesojn. Aplikaĵaj informoj montras, kiujn plenumtempajn permesojn la kliento havas, kaj la sekurecaj agordoj montras, ĉu uzanta atestilo estis instalita samtempe. Ĉiu el ili povas esti forigita sendepende.
La demando inda je respondo estas mallarĝa: kiuj pakaĵoj eniras ĉi tiun servon, kien ili iras, kaj kion la implemento konservas. Ĉio alia en la dialogo estas bruo. La VpnService-referenco estas la aŭtoritata listo de tio, kion la interfaco malkaŝas.