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 सुरू आणि बंद ठेवून तुमचा सार्वजनिक पत्ता तपासणे, आणि अधिसूचना दूरस्थ एंडपॉइंटचे नाव घेते का हे पाहणे. पत्ता कधीच बदलत नसेल, तर रहदारी बहुधा डिव्हाइसवरच फिरत असते.

दोन्ही प्रकरणे अजूनही पॅकेट स्थान आहेत. फरक एवढाच की बाहेर पडण्याच्या ठिकाणी दुसरा कोण उभा आहे.

तुम्ही काय मंजूर केले याचे ऑडिट करा

Settings उघडा, नंतर Network and internet, नंतर VPN, आणि स्टेटस बारमधील चिन्हाऐवजी नोंद वाचा. Always-on VPN आणि Block connections without VPN ही इंटरफेस जिवंत ठेवणारी आणि गळती कापणारी डिव्हाइस सेटिंग्ज आहेत; ती काहीही रुंदावत नाहीत. त्याच स्क्रीनवरून तुम्ही प्रोफाइल विसरू शकता आणि अनुदान रद्द करू शकता.

नंतर उर्वरित परवानग्या पाहा. App info क्लायंटकडे असलेली रनटाइम अनुदाने दाखवते, आणि Security सेटिंग्ज त्याच वेळी वापरकर्ता सर्टिफिकेट इन्स्टॉल झाले होते का ते दाखवतात. यापैकी कोणतेही स्वतंत्रपणे काढता येते.

उत्तर देण्यासारखा प्रश्न संकुचित आहे: कोणती पॅकेट या सेवेत प्रवेश करतात, ती कुठे जातात, आणि अंमलबजावणी काय ठेवते. संवादातील बाकी सर्व गोंगाट आहे. VpnService संदर्भ ही इंटरफेस काय उघड करतो याची अधिकृत यादी आहे.

संबंधित लेख