Android VPN наспроти дозволи на апликации: што значи предупредувањето
Дијалогот за согласност за VPN во Android дава позиција на пакети, а не пристап до вашата е-пошта, фотографии или контакти. Еве каде всушност лежи таа граница.
Два дијалога во Android постојано се мешаат: барањето за согласност за VPN и барањата за дозволи што апликацијата ги упатува за вашите податоци. Првото предава мрежна позиција, местото каде пакетите можат да се читаат и препишуваат. Второто предава зачувана содржина што Android ја чува апликација по апликација. Ако се третираат како една работа, или се преувеличува она што тунелот може да го види, или силно се потценува она што една решена апликација ќе го побара следно.
Што всушност предава дијалогот за согласност
Апликација што имплементира VpnService и декларира BIND_VPN_SERVICE бара од системот да стане VPN на уредот. По одобрување, рамката создава tun интерфејс и ѝ дава на апликацијата датотечен дескриптор за него. Сè што апликацијата прави потоа тече низ тој дескриптор: чита IP пакети надвор, одлучува што да прави со нив и запишува пакети назад внатре.
Опсегот на тој интерфејс е јасен. Рутите одлучуваат кои одредишта се фаќаат, а addAllowedApplication или addDisallowedApplication одлучува кои апликации го хранат. VPN по апликација што наведува две апликации не го гледа остатокот од уредот.
Тоа е дозвола на ниво на пакет, не на ниво на податоци. Услугата ги гледа бајтите што апликацијата ги предава на мрежниот стек, адресирани до одредиште. Таа не добива пристап до приватното складиште на апликацијата што испраќа, до нејзините датотеки на базата на податоци или до нејзината дешифрирана меморија. Датотеките што апликацијата ги зачувала во сопствениот песочник остануваат исто толку тешки за читање како и порано.
Каде запира погледот на пакетите
TLS сè уште ја врши својата работа внатре во тунелот, бидејќи ракувањето се одвива меѓу апликацијата и серверот, а не меѓу апликацијата и VPN-от. VPN-от препраќа шифриран текст што не може да го дешифрира без сесиските клучеви. Затоа тунелот сам по себе не ја открива содржината на HTTPS страница или заштитена поштенска сесија.
Метаподатоците околу шифрираниот текст се друга приказна и токму тука се распаѓаат повеќето самоуверени тврдења. Дестинациската IP, портата, големините на пакетите и времето се видливи, плус името на серверот во TLS ClientHello, кое обично се испраќа отворено дури и под TLS 1.3. Encrypted Client Hello го менува тоа, но не е универзално. Обичниот DNS исто толку лесно ги изложува имињата кога барањата излегуваат нешифрирани.
Понестари или лошо конфигурирани протоколи предаваат повеќе. Обичниот HTTP, IMAP без TLS и низа игри и IoT протоколи го изложуваат својот товар на сè што го држи tun дескрипторот.
Дозволите што никогаш не доаѓаат со него
Одобрувањето на VPN не ги одобрува контактите, SMS-от, фотографиите или медиумското складиште. Тоа се одделни дозволи при извршување, секоја со свој дијалог и свој пат за отповикување на страницата со поставки на апликацијата. VPN клиент што сака вашиот дневник на повици мора да го побара како секоја друга апликација, а вие можете да одбиете додека го задржувате тунелот.
Инсталирањето сертификат е она на што треба да се внимава, бидејќи изгледа како дел од поставувањето на VPN, а не е. Инсталирањето кориснички CA во складиштето за акредитиви менува кои сертификати Android ќе ги прифати, а од Android 7.0 апликација што цели на API 24 или поново ги игнорира CA додадени од корисникот, освен ако нејзината мрежна безбедносна конфигурација тоа не го избере со кориснички сидро на доверба. Клиент што инсистира на CA може да врши легитимно корпоративно пресретнување, или пак бара нешто што дијалогот за VPN никогаш не го спомнал.
Пристапот за пристапност стои уште подалеку. Услуга со овозможена пристапност може да ја чита содржината на екранот на други апликации, што не го дава ниту една позиција на ниво на пакет.
Локален филтер или оддалечен портал
Истиот API покрива два производи што заслужуваат различни нивоа на доверба. Огнено ѕид или блокирач на реклами на уредот го зема tun дескрипторот и одговара на сообраќајот локално, без никогаш да го испрати до сервер што самиот го управува. Вистинскиот тунел ги препраќа тие пакети до портал некаде на друго место, а тој оператор ги гледа истите метаподатоци од другиот крај и истовремено одлучува што се враќа.
Практичен начин да ги разликувате е да ја проверите вашата јавна адреса со вклучен и исклучен VPN и да погледнете дали известувањето именува оддалечена крајна точка. Ако адресата никогаш не се менува, сообраќајот веројатно кружи внатре во самиот уред.
Двата случаи сè уште се позиција на пакети. Разликата е кој друг стои на излезот.
Проверете што сте одобриле
Отворете Поставки, потоа Мрежа и интернет, потоа VPN и читајте го записот, а не иконата во статусната лента. Секогаш вклучен VPN и Блокирај врски без VPN се поставки на уредот што го држат интерфејсот жив и ги сечат истекувањата; тие ништо не прошируваат. Од истиот екран можете да го заборавите профилот и да ја отповикате дозволата.
Потоа поминете низ другите дозволи. Информациите за апликацијата покажуваат кои дозволи при извршување ги има клиентот, а безбедносните поставки покажуваат дали во исто време бил инсталиран кориснички сертификат. Секое од нив може да се отстрани независно.
Прашањето што вреди да се одговори е тесно: кои пакети влегуваат во оваа услуга, каде одат и што задржува имплементацијата. Сè друго во дијалогот е шум. Референцата за VpnService е авторитативниот список на она што интерфејсот го изложува.