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, TLS'сиз IMAP жана бир катар оюн жана IoT протоколдору өз жүктөрүн tun дескриптору бар нерсенин баарына ачат.

Эч качан аны менен келбеген уруксаттар

VPN'ди бекитүү байланыштарды, SMS'ти, сүрөттөрдү же медиа сактагычын бекитүүнү билдирбейт. Алар өзүнчө аткаруу убагындагы уруксаттар, ар биринин өз диалогу жана колдонмо жөндөөлөрүнүн барагында өз жокко чыгаруу жолу бар. Чалуу журналын каалаган VPN клиенти аны каалаган башка колдонмо сыяктуу эле сурашы керек, ал эми сиз туннелди сактап калып баш тарта аласыз.

Сертификат орнотуу — көңүл бурууга татыктуу нерсе, анткени ал VPN жөндөөсүнүн бөлүгү болуп көрүнөт, бирок андай эмес. Колдонуучунун CA'сын күбөлүктөр сактагычына орнотуу Android кайсы сертификаттарды кабыл аларын өзгөртөт, ал эми Android 7.0'дон баштап API 24 же андан жаңыраакты көздөгөн колдонмо колдонуучу кошкон CA'ларды этибарга албайт, эгер анын тармактык коопсуздук конфигурациясы колдонуучунун ишеним тиреги менен аны тандабаса. CA'га карманган клиент мыйзамдуу корпоративдик кийлигишүү жасап жаткан болушу мүмкүн, же VPN диалогу эч качан айтпаган нерсени сурап жаткан болушу мүмкүн.

Жеткиликтүүлүк мүмкүнчүлүктөрүнө кирүү андан да алыс турат. Жеткиликтүүлүк күйгүзүлгөн кызмат башка колдонмолордун экран мазмунун окуй алат, муну пакет деңгээлиндеги эч бир орун бере албайт.

Жергиликтүү фильтр же алыскы шлюз

Ошол эле API ар кандай ишеним деңгээлине татыктуу эки продуктуну камтыйт. Түзмөктөгү брандмауэр же жарнама бөгөттөгүч tun дескрипторун алып, трафикке жергиликтүү жооп берет, аны эч качан өзү башкарган серверге жибербейт. Чыныгы туннел бул пакеттерди башка жердеги шлюзга жиберет, ал эми ошол оператор экинчи жагынан ушундай эле метаберилиштерди көрөт жана эмне кайтарыларын да чечет.

Аларды ажыратуунун практикалык жолу — VPN күйүк жана өчүк абалда коомдук дарегиңизди текшерүү жана билдирүү алыскы акыркы чекитти атайбы, ошону кароо. Эгер дарек эч качан өзгөрбөсө, трафик балким түзмөктүн өзүндө айланып жүргөн болушу мүмкүн.

Эки учур тең дагы эле пакет орду. Айырма — чыгууда дагы ким турат.

Эмнени бекиткениңизди текшериңиз

Жөндөөлөрдү, андан кийин Тармак жана интернет, андан кийин VPN ачып, статус тилкесиндеги белгини эмес, жазууну окуңуз. Дайым күйүк VPN жана VPN'сиз туташууларды блоктоо — интерфейсти тирүү кармап, агыштарды кескен түзмөк жөндөөлөрү; алар эч нерсени кенейтпейт. Ошол эле экрандан профилди унутуп, уруксатты кайтарып алса болот.

Андан кийин калган уруксаттарды карап чыгыңыз. Колдонмо маалыматы клиенттин кайсы аткаруу убагындагы уруксаттары бар экенин көрсөтөт, ал эми Коопсуздук жөндөөлөрү ошол эле учурда колдонуучу сертификаты орнотулганын көрсөтөт. Экөөнү тең өзүнчө алып салса болот.

Жооп берүүгө татыктуу суроо тар: бул кызматка кайсы пакеттер кирет, алар кайда барышат жана ишке ашыруу эмнени сактайт. Диалогдогу калгандын баары ызы-чуу. VpnService боюнча маалымдама интерфейс эмнени ачканынын ыйгарым укуктуу тизмеси.

Тектеш макалалар