एंड्रयूटी के लिए धन्यवाद जिन्होंने चैट पर एक लिंक पोस्ट किया , इस शोध पत्र के जवाब में एक संदर्भ के रूप में । यह उत्तर पूरी तरह से इस पेपर (मई 2015) पर आधारित है और आम उपयोगकर्ता के समझने योग्य पहलुओं पर प्रकाश डालता है (इसमें उन लोगों के लिए सुरक्षा से संबंधित सामग्री है)
ऊपर से अलग पेशेवरों और विपक्ष क्या हैं?
यदि किसी उपकरण में डेवलपर्स द्वारा विधियों के आधार पर ऐप आधारित रूटिंग और रूटिंग दोनों हैं, तो मुझे किसके लिए विकल्प चुनना चाहिए?
उत्तर: यह सभी मैलवेयर भेद्यता के बारे में है। रूट कारनामों का उपयोग करना एक बड़ा सुरक्षा जोखिम है और यह किसी भी अन्य फायदे से अधिक वजन का है
सॉफ्ट रूट और हार्ड रूट क्या है?
सॉफ्ट रूट: रूट सीधे सॉफ्टवेयर का एक टुकड़ा चलाकर प्राप्त किया जाता है (यानी, रूट कारनामे) - या तो सीधे डिवाइस पर इंस्टॉल करके या adb
पीसी कनेक्शन के माध्यम से शेल की आवश्यकता होती है
हार्ड रूट: रूट को अपडेट पैकेज या रॉम के माध्यम से सु बाइनरी को फ्लैश करके प्राप्त किया जाता है
मैलवेयर खतरा - सामान्य तौर पर
भले ही वैध, कई सुविधाजनक एक-क्लिक रूट विधियां Android प्रणाली में कमजोरियों का फायदा उठाकर संचालित होती हैं। यदि सावधानीपूर्वक नियंत्रित नहीं किया गया है, तो अनधिकृत रूट विशेषाधिकार प्राप्त करने के लिए मालवेयर लेखक द्वारा इस तरह के कारनामों का दुरुपयोग किया जा सकता है।
जैसा कि एंड्रॉइड मालवेयर जीनोम प्रोजेक्ट में वर्णित है , 36.7% (1260 में) मैलवेयर के नमूनों में कम से कम एक रूट शोषण था।
ये अच्छी तरह से इंजीनियर शोषण अच्छी तरह से संरक्षित नहीं हैं, अगर वे गलत हाथों में आते हैं तो यह बहुत खतरनाक है।
प्रमुख रूट प्रदाता और मोटे तौर पर, यह कैसे काम करता है?
रूट एक्सोलिट के प्रकार क्या हैं?
पेपर में अध्ययन किए गए 78 कारनामों को शामिल किया गया है। सामान्य तौर पर, प्रभाव का क्रम ( उच्चतम से निम्नतम तक ):
कर्नेल एक्सप्लॉइट्स: अपनी विशेषाधिकार प्राप्त स्थिति के कारण, लिनक्स कर्नेल को लक्षित करना एक एंड्रॉइड डिवाइस पर पूर्ण नियंत्रण प्राप्त करना स्वाभाविक है- उदाहरण के लिए, टोवरटूट
लाइब्रेरी एक्सप्लॉइट्स : उन पुस्तकालयों को लक्षित करने वाले कारनामे जो एंड्रॉइड सिस्टम प्रक्रियाओं, या बाहरी पुस्तकालयों द्वारा विभिन्न अनुप्रयोगों का समर्थन करने के लिए उपयोग किए जाते हैं, उदाहरण के लिए ZergRush शोषण, वॉल्यूम प्रबंधक डेमॉन द्वारा उपयोग किए जाने वाले लिबास्युटिल्स
अनुप्रयोग और अनुप्रयोग फ़्रेमवर्क अनुप्रयोग लेयर रूट शोषण: सिस्टम अनुप्रयोगों या सेवाओं को लक्षित करने के लिए शोषण करता है, जिसमें प्रायः setuid
उपयोगिताओं, सिस्टम अनुप्रयोगों, या सेवाओं द्वारा शुरू किए गए संवेदनशील लॉजिक शामिल होते हैं । उदाहरण एक कमजोर setuid
उपयोगिता है जो केवल XoomFE उपकरणों पर मौजूद है जिसमें कमांड इंजेक्शन भेद्यता है
विक्रेता-विशिष्ट कर्नेल या ड्राइवर: विक्रेता या तो कर्नेल को कस्टमाइज़ करते हैं (जैसे, क्वालकॉम की कस्टम लिनक्स कर्नेल शाखा) या विभिन्न बाह्य उपकरणों (जैसे, कैमरा, ध्वनि) के लिए विक्रेता-विशिष्ट डिवाइस ड्राइवर प्रदान करते हैं। ऐसा कोड कर्नेल स्पेस के अंदर चलता है और समझौता जिससे डिवाइस पर पूर्ण नियंत्रण हो सकता है।
नंबरवार , कारनामे नीचे दिए गए आंकड़ों के अनुसार हैं
एक्सप्लॉइट (स्रोत या बाइनरी) पर अपने हाथ रखना कितना मुश्किल है?
बहुत आसान। Google खोज से आसानी से उपलब्ध है, यह मैलवेयर लेखकों के लिए इस तरह के कारनामों का लाभ उठाने के लिए एक केक वॉक है। 73 कारनामों के लिए Googling उनमें से 68 उपलब्ध हैं - 46 स्रोत कोड के साथ और 22 बायनेरिज़ के साथ
ये कारनामे कैसे काम करते हैं?
काम करने के लिए शोषण की प्रमुख आवश्यकताएं ( सबसे मुश्किल से कम से कम ) ( मैलवेयर टैग में इन उदाहरणों की एक बहुत कुछ है)
आवश्यक उपयोगकर्ता सहभागिता: (78 में से 6 का अध्ययन)
- उपयोगकर्ता को एप्लिकेशन डाउनलोड करने और मैन्युअल रूप से इंस्टॉलेशन को बाधित करने के लिए कहना
- उपयोगकर्ता को कम से कम एक बार पुनर्प्राप्ति में बूट करने के लिए कहना।
- उपयोगकर्ता को मैन्युअल रूप से डिवाइस को "बैटरी सेविंग" मोड में डालने के लिए कहना।
- उपयोगकर्ता को एक विक्रेता विशिष्ट एप्लिकेशन खोलने और एक बटन हिट करने के लिए कह रहा है
adb
एक पीसी कनेक्शन के माध्यम से आवश्यक शेल: (78 में से 17 का अध्ययन किया गया)। कुछ कारनामों के लिए, adb
शेल कनेक्शन की आवश्यकता सबसे सामान्य कारणों से होती है:
शोषण सफलतापूर्वक एक सेटिंग को संशोधित कर सकता है local.prop
जिसमें adb
केवल शेल के लिए रूट सक्षम होता है।
शोषण के लिए समूह शेल और समूह-योग्य (विश्व-योग्य नहीं) के स्वामित्व वाली फ़ाइल को लिखना होगा
शोषण adb डेमन प्रक्रिया को लक्षित करता है जिसे शेल उपयोगकर्ता के साथ चलाने के लिए हमले की प्रक्रिया की आवश्यकता होती है। मिसाल के तौर पर, रेज अगेंस्ट द केज शोषण के लक्ष्य पर अदब डेमन के लापता चेक की भेद्यता को लक्षित करता हैsetuid()
रिबूट: (78 में से 6 का अध्ययन किया गया) आम तौर पर, कई मूल कारनामों में कम से कम एक रिबूट की आवश्यकता होती है। उदाहरण के लिए, एक प्रतीकात्मक लिंक हमला एक हमलावर को अनुमति दे सकता है कि वह कमजोर अनुमति के साथ सिस्टम के स्वामित्व वाली फ़ाइल को हटाए, उसी स्थान पर लिंक को एक संरक्षित फ़ाइल में सेटअप करे। रिबूट के बाद, संबंधित इनइट स्क्रिप्ट मूल फ़ाइल की अनुमति को विश्व-लेखन के लिए बदलने का प्रयास करेगी, जो वास्तव में लिंक की गई फ़ाइल की अनुमति को बदल देती है
कोई भी या अनुमति नहीं: (78 में से 44 अध्ययन किए गए) इस श्रेणी के कारनामों की कोई कठिन आवश्यकता नहीं है, हालांकि, उनमें से कुछ को कुछ Android अनुमतियों की आवश्यकता हो सकती है जैसे READ LOGS
कि प्रक्रिया के स्वामी को कुछ उपयोगकर्ता समूह में रखा जाना चाहिए।
क्या एंटी-वायरस द्वारा इन कारनामों का पता लगाया जा सकता है?
चूँकि मूल कारनामे अत्यधिक संवेदनशील होते हैं और विभिन्न एंड्रॉइड मालवेयर द्वारा इसका लाभ उठाया जा सकता है, इसलिए यह उम्मीद की जाती है कि एंड्रॉइड प्लेटफॉर्म पर एंटी-वायरस सॉफ़्टवेयर उनमें से अधिकांश की पहचान कर सकता है, जिसमें रूट प्रदाता द्वारा लागू किए गए भी शामिल हैं। कुल मिलाकर, परिणाम बताता है कि एंड्रॉइड प्लेटफॉर्म पर अत्याधुनिक सुरक्षा उत्पाद अभी भी प्रभावी रूप से रूट कारनामों को संबोधित नहीं कर सकते हैं
4 प्रतिनिधि एंड्रॉइड एंटी-वायरस उत्पादों का उपयोग 167 कारनामों वाले सबसे बड़े प्रदाता (नाम का खुलासा नहीं) का परीक्षण करने के लिए किया गया था । क्योंकि प्रदाता डेटाबेस से मूल रूप से डाउनलोड किए गए कारनामों ने वास्तविक शोषण कोड को पैक किया है और एक छेड़छाड़ का पता लगाने वाले तंत्र को नियोजित किया है, प्रत्येक शोषण के लिए 3 अलग-अलग संस्करणों का अध्ययन किया है:
पैकिंग और छेड़छाड़ का पता लगाने के साथ प्रदाताओं के सर्वर से सीधे मूल शोषण हुआ।
अनपैक्ड शोषण, जो एंटी-वायरस उत्पादों के सभी वास्तविक शोषण तर्क को उजागर करेगा।
छेड़छाड़ का पता लगाने वाले विकलांगों के साथ फिर से पैक किया गया शोषण।
बड़े रूट प्रदाताओं द्वारा संचालित एक्सप्लॉइट बायनेरिज़ आश्चर्यजनक रूप से "स्वच्छ" होते हैं क्योंकि सभी प्रमुख एंटी-वायरस सॉफ़्टवेयरों को शो के दौरान उन्हें पता लगाने में कठिनाई होती है
निष्कर्ष
सरल। जब तक आप परिणामों से निपटने में सक्षम न हों, सॉफ्ट रूट विधियों से दूर रहें