रूट आधारित फ़ायरवॉल (AFWall +) और गैर-रूट आधारित लोगों (नेटगार्ड) के बीच कोई सुरक्षा अंतर?


18

रूट आधारित फायरवॉल (जैसे AFWall +) और गैर-रूट आधारित फायरवॉल (जैसे नेटग्वेल) के बीच तकनीकी अंतर क्या हैं?

क्या इस तरह के सॉफ़्टवेयर द्वारा प्रदान की जाने वाली सुरक्षा पर कोई प्रभाव पड़ता है?

मैंने पहले से ही खुद को एक विचार बनाने के लिए नेटगार्ड के स्रोत कोड में थोड़ा सा जाँच लिया है, लेकिन मुझे लगता है कि यह अभी भी एक अच्छा सवाल हो सकता है और मुझे इस विषय पर अन्य लोगों के विश्लेषण प्राप्त करने में दिलचस्पी है।

मैं इस तरह के सॉफ़्टवेयर द्वारा प्रदान की जाने वाली कोर तकनीकी सुविधा के लिए इस तरह के प्रश्न को प्रतिबंधित करना चाहूंगा (जैसे कि फ़ायरवॉल की तरह: स्टेटलेस या स्टेटफुल, क्या कोई हार्डकोड अपवाद हैं, बिना कोड के पैकेट को हैंडल करने की मजबूती) आदि और माध्यमिक सुविधाओं के लिए नहीं। या विरोधी विशेषताएं उनके पास हो सकती हैं (विज्ञापन, ट्रैकिंग, कॉस्मेटिक, ...) जब तक वे सॉफ्टवेयर के मुख्य उद्देश्य को प्रभावित नहीं करते हैं।

दूसरे शब्दों में: कोई किराए कृपया;)

यदि सीमाएँ हैं, तो यह ध्यान देने योग्य हो सकता है यदि वे विशिष्ट कार्यान्वयन कर रहे हैं (विकास टीम द्वारा किए गए कुछ विकल्प का परिणाम) या उपयोग की जाने वाली तकनीक का परिणाम (बहुत अलग प्रणालियों पर निर्भर करते हुए, यह संभव है कि किसी को सामना करना पड़े सीमाओं के साथ जो दूसरे के पास नहीं है)।

जवाबों:


14

नेटगार्ड के लेखक के रूप में मुझे इस क्षेत्र में पहली बार अनुभव हुआ है।

स्थानीय वीपीएन पर आधारित फ़ायरवॉल का एक नुकसान यह है कि सभी ट्रैफ़िक प्रकारों को नियंत्रित नहीं किया जा सकता है, क्योंकि (एंड्रॉइड) लिनक्स कर्नेल सॉकेट आधारित कनेक्शन पर सभी ट्रैफ़िक प्रकारों को अग्रेषित करने की अनुमति नहीं देता है। एक उदाहरण IPsec है, जिसका उपयोग कुछ निर्माताओं द्वारा IP कॉलिंग के लिए किया जा रहा है। इसका एक आंशिक (IPsec के लिए नहीं) समाधान आगे के ट्रैफ़िक के लिए एक दूरस्थ वीपीएन सर्वर का उपयोग करना होगा, लेकिन यह गोपनीयता बुद्धिमान है जो बहुत से लोगों के लिए स्वीकार्य नहीं है और अतिरिक्त जटिलता के साथ आएगा और शायद अतिरिक्त बैटरी उपयोग के साथ भी होगा। व्यवहार में टीसीपी और यूडीपी यातायात नेटगार्ड उपयोगकर्ताओं के 99,9% के लिए पर्याप्त प्रतीत होता है। Android 5 के बाद से अनुप्रयोगों को वीपीएन में रूट किया जाना संभव है (यदि यह अनिवार्य या वैकल्पिक है, तो वीपीएन लागू करने वाला आवेदन यह तय करता है) जिसका उपयोग सभी ट्रैफ़िक को अग्रेषित न करने से उत्पन्न समस्याओं को दूर करने के लिए किया जा सकता है। एक अन्य विकल्प एड्रेस (रेंज) को बाहर करना है, जिसका उपयोग नेटगार्ड कुछ निर्माताओं के लिए आईपी कॉलिंग को ठीक करने के लिए करता है।

एक और नुकसान यह है कि अग्रेषित ट्रैफ़िक मोबाइल उपकरणों पर बैटरी के उपयोग को बढ़ाएगा, क्योंकि इसमें कुछ प्रसंस्करण शामिल है, क्योंकि पैकेट का निरीक्षण करने और अग्रेषित करने की आवश्यकता है। IPtables का उपयोग करना, जो कि लिनक्स कर्नेल में एकीकृत है, इस प्रकार अधिक बैटरी के अनुकूल है।

सामान्य तौर पर यह सामने आया है कि एंड्रॉइड वीपीएन में सभी ट्रैफ़िक को ट्रैफ़िक करता है, यहां तक ​​कि सिस्टम एप्लिकेशन और घटकों का ट्रैफ़िक भी, लेकिन एक निर्माता कुछ ट्रैफ़िक प्रकारों को बाहर करने का निर्णय ले सकता है, जो वीपीएन आधारित फ़ायरवॉल द्वारा प्राप्त की जा सकने वाली सुरक्षा को कम कर सकता है।

NetGuard स्वयं डेटा का विश्लेषण नहीं करता है, विज्ञापन अवरोधन प्रदान करने के लिए DNS अनुरोधों को छोड़कर, लेकिन अगर यह गोपनीयता की चिंता को बढ़ा सकता है। फिर भी, तकनीकी रूप से देखा जाए तो यह वीपीएन आधारित फ़ायरवॉल का एक लाभ है (यदि आप अभी भी इसे उसी तरह से कॉल करना चाहते हैं), क्योंकि यह आईपीटीवी के साथ जो संभव है उससे परे डेटा धाराओं के राज्य-पूर्ण निरीक्षण की अनुमति देगा। यह संभवतः बैटरी के उपयोग की लागत पर होगा, क्योंकि इसमें प्रसंस्करण शामिल है। ध्यान दें कि एसएसएल धाराओं का निरीक्षण करने के लिए स्थानीय एमआईटी हमले की आवश्यकता होगी।

फिर भी एक और नुकसान यह है कि एंड्रॉइड वीपीएन का पीछा करने की अनुमति नहीं देता है, इसलिए फ़ायरवॉल को लागू करने के लिए स्थानीय वीपीएन का उपयोग करने से वास्तविक वीपीएन सेवा का उपयोग करना बंद हो जाएगा, जब तक कि फ़ायरवॉल ऐसी सेवा स्वयं या वैकल्पिक रूप से किसी अन्य वीपीएन को अग्रेषित या प्रॉक्सी तंत्र प्रदान नहीं करता है। आवेदन।

अंत में, वीपीएन आधारित फ़ायरवॉल आवेदन पर निर्भर करता है जो फ़ायरवॉल वीपीएन सेवा प्रदान करता है। यह तुच्छ प्रतीत होता है, लेकिन ऐसा नहीं है, क्योंकि कुछ निर्माता एंड्रॉइड वर्जन / वेरिएंट बहुत कम मेमोरी की स्थिति में आक्रामक तरीके से मार रहे हैं (आईएमएचओ यह एक बग है अगर एंड्रॉइड वीपीएन सेवा प्रदान करने वाले एप्लिकेशन को मारता है)।

अंत में, एंड्रॉइड डिवाइसेस को रूट करना बहुत मुश्किल होता जा रहा है, जिससे वीपीएन आधारित फ़ायरवॉल कई लोगों के लिए एकमात्र विकल्प बन जाता है। मुझे उम्मीद नहीं है कि Google जल्द ही सिस्टम आधारित फ़ायरवॉल को जोड़ देगा, क्योंकि यह उनके विज्ञापन राजस्व को काफी प्रभावित कर सकता है। iOS में सिस्टम आधारित फ़ायरवॉल है।

यदि कोई प्रश्न हैं तो मुझे बताएं और मैं उनका उत्तर देने का प्रयास करूंगा।


1
आपको जवाब के लिए धन्यवाद। "यह iptables के साथ संभव डेटा धाराओं के राज्य-पूर्ण निरीक्षण की अनुमति देगा" , iptables मॉड्यूलर है और AFAIK कुछ भी इस तरह के डीप पैकेट निरीक्षण (DPI) तकनीक प्रदान करने से रोकता है। यहां तक ​​कि इसे लागू करने वाली कई परियोजनाएं हैं ( ndpi-netfilter , https://github.com/thomasbhatia/OpenDPI , l7-filter ), लेकिन मुझे लगता है कि आवश्यक काम की तुलना में ऐसी चीज़ की वास्तविक मांग बहुत कम है, इसलिए वे सभी लगते हैं अब छोड़ दिया।
व्हाइटवूडवुल्फ

हां, यह लिनक्स कर्नेल मॉड्यूल का उपयोग करके भी किया जा सकता है, लेकिन आवेदन स्तर पर करना बहुत सरल है। लिनक्स कर्नेल मॉड्यूल को एक कर्नेल संस्करण के साथ संगत करने की आवश्यकता होती है, जो जंगली में इतने सारे कर्नेल संस्करणों के साथ Android पर एक व्यवहार्य विकल्प नहीं होगा। इसके लिए रूट अनुमतियों और ज्ञान की भी आवश्यकता होगी कि कैसे एक कर्नेल मॉड्यूल डालें, जिसे आप औसत उपयोगकर्ता से उम्मीद नहीं कर सकते हैं, हालांकि यह किसी भी तरह से स्वचालित हो सकता है।
M66B

10

मेरे ज्ञान के लिए, यह दृष्टिकोण है:

रूट आधारित फायरवॉल प्रवाह को नियंत्रित करने के लिए IPFilter / iptables का उपयोग करते हैं। यह स्वचालित रूप से सभी ऐप्स पर लागू होता है, चाहे नेटवर्क कनेक्शन सभी पर उपलब्ध हो या न हो, राउटिंग पूरी तरह से काम कर रही है या नहीं, या क्या आप "बंद वातावरण" (इंट्रानेट) में "बाहरी दुनिया में पहुंच के बिना" हैं या नहीं " (इंटरनेट)। आपके द्वारा अवरोधित किए गए एप्लिकेशन अवरुद्ध हैं। काफी निचले स्तर पर।

गैर-रूट फायरवॉल की उस निम्न स्तर तक पहुंच नहीं है, इसलिए उन्हें काम के आसपास का उपयोग करना चाहिए। ज्यादातर मामलों में यह एंड्रॉइड के वीपीएन सुविधाओं का उपयोग करके किया जाता है । कार्यान्वयन के आधार पर, यह या तो पूरी तरह से ऑन-डिवाइस (यानी फिर से चाहे नेटवर्क कनेक्शन उपलब्ध हो) काम करता है, या "बाहरी सेवाओं" के माध्यम से (आपको ऐप प्रदाता के वीपीएन से जोड़ता है)। बाद के मामले में, जैसे ही वह सेवा उपलब्ध हो जाती है, चीजें टूट जाती हैं - एक तथ्य जिसे आप नोटिस कर सकते हैं या नहीं। किसी भी स्थिति में, मुझे यकीन नहीं है कि वास्तव में सभी ऐप वीपीएन का सम्मान करते हैं या यदि आसपास कोई रास्ता है। 1 वीपीएन के साथ एक और बुरा तथ्य जिसके बारे में मैंने पढ़ा है कि कष्टप्रद स्थायी अधिसूचना आ रही है, यह कहते हुए कि "आपके नेटवर्क की निगरानी की जा सकती है"- लेकिन AFAIK को केवल तभी चालू करना चाहिए जब प्रश्न में ऐप को अपने स्वयं के प्रमाणपत्र स्थापित करने की आवश्यकता हो। 2

निर्णय: मैं व्यक्तिगत रूप से एक मूल-आधारित समाधान पर अधिक भरोसा करूंगा। लेकिन जहां एक विकल्प नहीं है, गैर-रूट समाधान लगभग उतना ही अच्छा होना चाहिए। उस स्थिति में, मेरी सिफारिश नेटगार्ड जैसे ओपन-सोर्स समाधानों की ओर जाएगी (इसके डेवलपर ने एक्सपीसिटी भी बनाई है और अच्छी तरह से विश्वसनीय है)। जिसमें से बोलते हुए: आगे के विवरण के लिए, नेटगार्ड के XDA परिचय पर एक नज़र डालें , जो कुछ और विवरणों के साथ पृष्ठभूमि की व्याख्या करता है।


1 मैं एंड्रॉइड के वीपीएन कार्यान्वयन के पीछे के तकनीकी विवरणों से परिचित नहीं हूं, लेकिन व्हाइटवूडवुल्फ़ (टिप्पणी नीचे देखें) के हवाले से, इसे लागू करने के लिए एंड्रॉइड बेस सिस्टम पर निर्भर है , यह सोचने का कोई कारण नहीं है कि यह ठीक से नहीं किया गया है।

2 फिर हवाले से WhiteWinterWolf: वीपीएन एपीआई NetGuard द्वारा इस्तेमाल किया सभी डेटा एक आम आवेदन द्वारा रोका जा करने की अनुमति देता है, यह क्या एंड्रॉयड प्रभावी रूप से "निगरानी" के रूप में विचार करना है, यह किसी भी प्रमाण पत्र के साथ कोई संबंध नहीं है और इस चेतावनी का एक अपरिहार्य और उम्मीद परिणाम है इस एपीआई का उपयोग कर।


2
आपके उत्तर के लिए धन्यवाद। "मुझे यकीन नहीं है कि वास्तव में सभी ऐप वीपीएन का सम्मान करते हैं" : इसे लागू करने के लिए एंड्रॉइड बेस सिस्टम पर निर्भर है, यह सोचने का कोई कारण नहीं है कि यह ठीक से नहीं किया गया है। "कष्टप्रद स्थायी अधिसूचना" : नेटगार्ड द्वारा उपयोग किए गए वीपीएन एपीआई सभी डेटा को एक अनपेक्षित अनुप्रयोग द्वारा अवरोधन करने की अनुमति देता है, यह वही है जो एंड्रॉइड प्रभावी रूप से "निगरानी" के रूप में मानता है, इसका किसी भी प्रमाण पत्र के साथ कोई संबंध नहीं है और यह चेतावनी एक अपरिहार्य और अपेक्षित है इस एपीआई का उपयोग करने का परिणाम।
व्हाइटविंटरवॉल्फ

विवरण के लिए धन्यवाद! मैंने उन्हें अपने उत्तर के साथ एकीकृत कर दिया है (क्रेडिट दिया गया) जिससे उन्हें स्पॉट करना आसान हो। "मॉनिटरिंग नोटिफिकेशन" के लिए: जहां भी मैंने पाया कि उल्लेख किया है, यह एक उपयोगकर्ता प्रमाणपत्र स्थापित होने के संदर्भ में था। लेकिन स्पष्टीकरण के लिए धन्यवाद!
इज़्ज़

1
हां, एंड्रॉइड के लिए कई असंबंधित उद्देश्यों के लिए एक ही अधिसूचना का पुन: उपयोग करना दुखद है। वर्तमान संदर्भ में, इस अधिसूचना को पहले से लिंक किए गए वीपीएन एपीआई प्रलेखन से निम्नलिखित कथन से जोड़ा जाना है : "एक वीपीएन कनेक्शन के जीवनकाल के दौरान एक सिस्टम-प्रबंधित अधिसूचना दिखाई जाती है।"
व्हाइटवॉन्डवॉल्फ

1
वीपीएन के आस-पास के रास्ते हैं या नहीं, इसके बारे में कुछ ध्यान रखें कि एंड्रॉइड 4.4 में एन्हांसमेंट के संबंध में मुझे कुछ और जानकारी मिली : " प्रति उपयोगकर्ता वीपीएन । बहु-उपयोगकर्ता उपकरणों पर, वीपीएन अब प्रति उपयोगकर्ता लागू होते हैं। यह एक उपयोगकर्ता को अनुमति दे सकता है। डिवाइस पर अन्य उपयोगकर्ताओं को प्रभावित किए बिना एक वीपीएन के माध्यम से सभी नेटवर्क ट्रैफ़िक को रूट करने के लिए। "
व्हाइटविंडवुल्फ

2
  1. सामान्य सर्वसम्मति के अलावा कि वास्तविक सुरक्षा निहित उपकरणों के लिए खिड़की से बाहर है और निश्चित रूप से उपयोगकर्ता पर निर्भर करता है, AFWall + नेटवर्ग को एन्क्रिप्शन का उपयोग करते समय ट्रैफ़िक को फ़िल्टर करने के लिए एक कर्नेल स्तर दृष्टिकोण प्रदान करता है। मुझे लगता है कि अग्रभूमि में रहने की आवश्यकता के बिना Android व्यवस्थापक के रूप में चलाने की क्षमता महत्वपूर्ण है ...
  2. AFWall + वैकल्पिक रूप से बूट समय के दौरान डेटा रिसाव को रोकने के लिए सिस्टम स्तर स्टार्टअप स्क्रिप्ट का उपयोग करता है (और शटडाउन भी, मुझे विश्वास है)
  3. यदि उपयोग किया जाता है, तो इसमें एक अंतर्निहित टास्क प्लग-इन भी है जो कनेक्टिविटी परिवर्तन का पता चलने पर ऑटो-स्विच प्रोफाइल की क्षमता प्रदान करता है (मुझे वास्तव में यह पसंद है)
  4. नेटगार्ड द्वारा उपयोग किए गए वीपीएन विधि के विपरीत लिनक्स आधारित आईपीटेबल्स
  5. मुझे नेटगार्ड में ऐप की सेटिंग को सुरक्षित रखने के लिए कोई विकल्प नहीं दिखता, लेकिन मैंने AFWall + में भी इस सुविधा का कभी उपयोग नहीं किया है, इसलिए ...

मुझे लगता है कि नेटगार्ड के बारे में ध्यान देने के लिए एक महत्वपूर्ण विशेषता प्रति ऐप के आधार पर विशिष्ट पते को फ़िल्टर करने की क्षमता होगी। यह एक पेड ऑप्शन है।

मैं प्रमाण पत्र आधारित वीपीएन बनाम आईपीटेबल्स नहीं कह सकता। यह निश्चित रूप से iptables के लिए और नेटगार्ड के लिए आपके कर्नेल और एंड्रॉइड वर्जन पर निर्भर करेगा, डेटा को एन्क्रिप्ट करने के लिए उपयोग किए जाने वाले एल्गोरिदम, चाहे वह लॉग किया जा रहा हो और जहां यह संग्रहीत है। मेरा उत्तर उतना तकनीकी नहीं हो सकता है जितना आप के लिए देख रहे थे और जब तक AFWall + (दान संस्करण) के लंबे समय के उपयोगकर्ता हैं, मैं निश्चित रूप से इसके प्रति पक्षपाती हूं। हालाँकि, मुझे पता है कि NetGuard के डेवलपर भी बहुत अच्छी तरह से ज्ञात / विश्वसनीय और मजबूत एंड्रॉइड गोपनीयता प्रबंधक XP गोपनीयता को सक्रिय रूप से बनाए रखते हैं । AFWall + को बिल्कुल भी नहीं छोड़ा गया है लेकिन निश्चित रूप से हाल ही में नेटगार्ड के पास अपडेट नहीं मिला है। वे दोनों यातायात के नियंत्रण को बनाए रखने के विभिन्न तरीकों को नियुक्त करते हैं लेकिन अंततः, मुझे लगता है कि यह ज्यादातर उपयोगकर्ता पर निर्भर करता है कि उनके डिवाइस का कोई भी हिस्सा कितना सुरक्षित है।


आपके उत्तर के लिए धन्यवाद, विशेष रूप से गोली बहुत जानकारीपूर्ण थी। जहां तक ​​पता है कि नेटगार्ड किसी भी एन्क्रिप्शन को लागू नहीं करता है, तो यह सिर्फ एंड्रॉइड के वीपीएन एपीआई का लाभ उठाता है क्योंकि यह एपीआई पूरे डेटा-नेटवर्क संचार को एक अप्रकाशित उपयोगकर्ता प्रक्रिया पर पुनर्निर्देशित करने की अनुमति देता है। इस एपीआई की प्रारंभिक मंशा ऐसी प्रक्रिया को एक दूरस्थ मेजबान के लिए वीपीएन कनेक्शन (वास्तव में एन्क्रिप्शन आदि) को संभालने की अनुमति देना है, लेकिन नेटगार्ड इसके बजाय केवल स्थानीय स्तर पर इस स्थिति का उपयोग केवल विश्लेषण और फ़िल्टर करने में सक्षम होने के लिए करते हैं। जहां तक ​​मुझे पता है कि नेटगार्ड में कोई वास्तविक वीपीएन विकल्प नहीं है (जैसा कि AFWall + के विपरीत है)।
व्हाइटवॉन्डवॉल्फ

एक बात मेरी जिज्ञासा ने मुझे एक निश्चित उत्तर को ट्रैक करने के लिए मजबूर नहीं किया है, अगर यह है कि एप्लिकेशन के लिए उनके अपलोडिंग शनीगन्स को सुरंग में लाना आम है और यह वीपीएन तंत्र के माध्यम से सुरंगनुमा होने वाले डेटा के विश्लेषण और फ़िल्टरिंग पर कितना प्रभावी होगा।
cb.tx

वीपीएन टनलिंग अन्य ऐप्स के लिए पारदर्शी है, उन्हें लगता है कि वे इंटरनेट तक सीधी पहुंच रखते हैं जबकि हुड एंड्रॉइड के तहत वास्तव में वीपीएन इंटरफ़ेस के संचार को पुनर्निर्देशित करता है। जहाँ तक मुझे पता है, नेटगार्ड स्वयं डेटा का विश्लेषण नहीं करता है, केवल लेयर -3 प्रोटोकॉल की जानकारी (आईपी पते और झंडे) और एक एंड्रॉइड अनिर्धारित चाल को पैकेट को मूल ऐप से लिंक करने के लिए, यह तय करने के लिए पर्याप्त है कि क्या पैकेट होना चाहिए अनुमति है या नहीं।
व्हाइटवूडवुल्फ

पैकेटों को एप्लिकेशन से लिंक करने के लिए कोई अनिर्धारित एंड्रॉइड ट्रिक नहीं है, लेकिन एक दस्तावेज लिनक्स कर्नेल सुविधा है।
M66B

@ M66B: सटीक के लिए धन्यवाद, इस एक के लिए मैं इज़ी के जवाब में जुड़े एक्सडीए के लेख पर भरोसा करता हूं : "हमने पाया कि विभिन्न ऐप से ट्रैफ़िक के बीच अंतर करने के लिए, कर्नेल की फ़ाइलों पर अनजाने पहुंच का उपयोग करना आवश्यक था "खरीद" फाइलसिस्टम, अनुप्रयोग यूआईडी में प्रक्रियाओं का अनुवाद करने के लिए। यह पहुंच एंड्रॉइड के भविष्य के संस्करणों में SELinux द्वारा आसानी से अवरुद्ध की जा सकती है, और कुछ और सुरक्षा-उन्मुख उपकरणों में भी अवरुद्ध हो सकती है "
श्वेतवर्ण भेड़िया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.