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 حوالہ اس بات کی مستند فہرست ہے کہ انٹرفیس کیا ظاہر کرتا ہے۔

متعلقہ مضامین