पीएसए: SELinux को अनुमेय पर सेट करके कुछ भी इंस्टॉल करने से सावधान रहें

एक गैर-दस्तावेजी एंड्रॉइड सुविधा किसी भी मनमाने ऐप को अनुमेय SELinux वातावरण पर रूट एक्सेस प्राप्त करने की अनुमति देती है। अधिक जानने के लिए पढ़े!

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

SELinux क्या है

SELinux, या सुरक्षा-उन्नत लिनक्स, एक लिनक्स कर्नेल सुरक्षा मॉड्यूल है जिसे विशेष रूप से सुरक्षा नीतियों तक पहुंच और प्रबंधन के लिए डिज़ाइन किया गया है। मूल रूप से एंड्रॉइड 4.3 जेली बीन में पेश किया गया और एंड्रॉइड के बाद से इसके एनफोर्सिंग मोड को डिफ़ॉल्ट के रूप में सेट किया गया 4.4 किटकैट, SELinux अभिगम नियंत्रण अधिकारों को लागू करने में मदद करता है और विशेषाधिकार वृद्धि को रोकने का प्रयास करता है आक्रमण. संक्षेप में, SELinux आपके डिवाइस पर अनधिकृत नियंत्रण के लिए एक बाधा के रूप में कार्य करता है, जैसे कि कोई ऐप या भेद्यता जिसका उद्देश्य दुर्भावनापूर्ण रूप से रूट एक्सेस प्राप्त करना है। SELinux को डिफ़ॉल्ट रूप से "एनफोर्सिंग" पर सेट करना उन प्रमुख तरीकों में से एक है जिससे सामान्य उपयोगकर्ताओं को ऐसे हमलों से बचाया जाता है।

परमिसिव SELinux की अनुशंसा क्यों नहीं की जाती है?

दोहराने के लिए, एंड्रॉइड डिवाइस पर रूट एक्सेस प्राप्त करने के सामान्य तरीके के लिए SELinux स्थिति को बदलने की आवश्यकता नहीं है। SELinux मोड को "एनफोर्सिंग" से "अनुमेय" में स्थानांतरित करना जानबूझकर डिवाइस पर प्रमुख सुरक्षा सुविधाओं में से एक को अक्षम कर रहा है, यही कारण है उपयोगकर्ता को एक विशेष कस्टम कर्नेल स्थापित करके या मौजूदा बूट छवि के मापदंडों को संशोधित करके इसे स्पष्ट रूप से होने देना होगा। एक खराब कोडित मॉड जिसमें उचित SELinux नीति का अभाव होता है, आमतौर पर अंतिम उपयोगकर्ताओं को अनुमेय SELinux पर स्थानांतरित करने के लिए मजबूर करता है और अनिवार्य रूप से हमले की सतह का विस्तार करता है। बिल्कुल यही डेवलपर है vvb2060 जब उन्होंने प्रदर्शन किया अवधारणा विशेषाधिकार वृद्धि विधि का प्रमाण प्रकाशित किया जहां नियंत्रण पाने के लिए एकमात्र आवश्यकता अनुमेय SELinux है।

मैजिका दर्ज करें

किसी उपयोगकर्ता के लिए SELinux को Permissive पर सेट करके Android 10 (या उच्चतर) चलाने वाले अपने डिवाइस पर पूर्ण रूट एक्सेस प्राप्त करना आश्चर्यजनक रूप से आसान है करें: आपको बस इंस्टॉल दबाना है, और "मैजिका" स्वचालित रूप से एक सेवा में रूट एक्सेस प्राप्त कर लेगा और मैजिक को बूट पर इंस्टॉल कर देगा। छवि। यह आपके डिवाइस में बदलाव करने की तुलना में कहीं अधिक व्यापक दायरा है। XDA के वरिष्ठ मान्यता प्राप्त डेवलपर और मैजिक अनुरक्षक के अनुसार टॉपजॉनवु, मैलवेयर सहित कोई भी मनमाना ऐप, आपकी सहमति और अनुमति के बिना आपके डिवाइस को स्थायी रूप से रूट कर सकता है पीओसी का उपयोग करके।

यदि आप तकनीकी स्तर पर सोच रहे हैं कि मैजिका किसका शोषण कर रही है, तो टॉपजॉनवु ने निम्नलिखित को समझाया एक रेडिट पोस्ट:

"जब बूट के दौरान SELinux अनुमेय होता है, तो ज़ीगोट को इसका पता चल जाएगा और seccomp syscall फ़िल्टर अक्षम कर देगा। यह मूल रूप से तीसरे पक्ष की प्रक्रियाओं में किन सिस्टम कॉलों की अनुमति है, इसे अप्रतिबंधित करता है।

एंड्रॉइड 10+ पर, "ऐप ज़ायगोट" नामक एक नया "अनडॉक्यूमेंटेड" फीचर है, जहां तीसरे पक्ष के ऐप्स को "पृथक सेवाओं" (लगभग गैर-दस्तावेजीकृत) के लिए अपने स्वयं के ज़ायगोट को उत्पन्न करने की अनुमति है। "ऐप ज़ायगोट" और "आइसोलेटेड सर्विसेज़" दोनों क्रोम/वेबव्यू* के लिए डिज़ाइन की गई विशेष सुविधाएं हैं। ऐप Zygote प्रक्रियाएं विशेष अनुमतियों के साथ चलती हैं, और seccomp अक्षम होने पर, यह setuid 0 पर कॉल कर सकता है और इसके विशेषाधिकार को बढ़ा सकता है और रूट एक्सेस प्राप्त कर सकता है।

सामान्य रूट समाधान (उदाहरण के लिए मैजिक) जो प्रदान करते हैं, उसकी तुलना में यह अभी भी किसी तरह प्रतिबंधात्मक है, हालांकि यूआईडी=0 होने पर एंड्रॉइड में कई सुरक्षा उपाय पूरी तरह से विफल हो जाएंगे। उदाहरण के लिए, इसका उपयोग बूट छवियों को पैच करने के लिए पर्याप्त है, जिसका अर्थ है कि इसका उपयोग "वास्तविक" रूट अनुमतियाँ प्राप्त करने में मदद करने के लिए संशोधित मैजिक जैसे मैलवेयर को इंजेक्ट करने के लिए किया जा सकता है।

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

*डेवलपर के अनुसार aviraxp, इन दो सुविधाओं को आम तौर पर "कई अलग-अलग प्रक्रियाओं के बीच संसाधनों और मेमोरी को साझा करने के लिए" डिज़ाइन किया गया है।

निष्कर्ष

अनुमेय SELinux वातावरण पर मैलवेयर द्वारा लक्षित उपयोगकर्ताओं को होने वाली अपूरणीय क्षति को ध्यान में रखते हुए, हम दृढ़ता से सुझाव देते हैं कि जब तक बिल्कुल आवश्यक न हो, इसे लागू करते रहें। हालाँकि हम भाग्यशाली हैं कि हमारे पास कॉन्सेप्ट एक्सप्लॉइट का सबूत है, हमें नहीं पता कि कितने मैलवेयर लेखक पहले से ही हमले के इस रास्ते के बारे में जानते हैं। आख़िरकार, यदि पीड़ित ने ऐसा नहीं किया तो वह अपने डिवाइस की क्षतिग्रस्त स्थिति से बेखबर रहेगा शोषण को सक्रिय रूप से उपयोग किए जाने का गवाह बनें, जिसे लगातार रूट रखने वाले दुष्ट ऐप के लिए हासिल करना मुश्किल नहीं है पहुँच।