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-ի տեղեկագիրքը ինտերֆեյսի բացահայտածի հեղինակավոր ցանկն է։

Առնչվող հոդվածներ