मैजिक अब ऐप्स से बूटलोडर अनलॉकिंग को छिपाने में सक्षम नहीं हो सकता है

click fraud protection

मैजिक के डेवलपर ने पता लगाया है कि Google ने यह निर्धारित करने के लिए हार्डवेयर जांच का उपयोग करना शुरू कर दिया है कि क्या कोई डिवाइस बूटलोडर अनलॉक किया गया है।

XDA मान्यता प्राप्त डेवलपर टॉपजॉनवुका "मैजिस्क" प्रोजेक्ट अनिवार्य रूप से एंड्रॉइड समुदाय में "रूट" का पर्याय बन गया है। इसके इतना लोकप्रिय होने का एक मुख्य कारण यह है कि यह इस तथ्य को छिपा सकता है कि उपयोगकर्ता ने अपने डिवाइस को संशोधित किया है। हालाँकि, Google अनुप्रयोगों से बूटलोडर अनलॉक स्थिति को छिपाने के लिए मैजिक की क्षमता पर नकेल कस रहा है।

अपने फोन को रूट करने के लिए, आपको आमतौर पर बूटलोडर को अनलॉक करने की आवश्यकता होती है, जो आपको संशोधित बूट छवियों को फ्लैश करने की अनुमति देता है। इसकी आवश्यकता है क्योंकि मैजिक बूट लोडर स्थिति और/या सत्यापित बूट स्थिति जांच को खराब करने के लिए बूट छवि को संशोधित करता है। Google की SafetyNet Attestation API, जो Google Play Services का हिस्सा है, का उपयोग किसी ऐप को यह बताने के लिए किया जाता है कि क्या वह किसी छेड़छाड़ वाले डिवाइस पर चल रहा है; यदि सेफ्टीनेट एपीआई पता लगाता है कि बूटलोडर अनलॉक हो गया है, तो यह "बेसिक इंटीग्रिटी" जांच के लिए विफलता स्थिति लौटाएगा। जो डिवाइस इस जांच में विफल हो जाते हैं, उन्हें उन ऐप्स से लॉक किया जा सकता है जो डिवाइस की अखंडता निर्धारित करने के लिए सेफ्टीनेट एपीआई का उपयोग करते हैं; ऐसे ऐप्स में आम तौर पर बैंकिंग ऐप्स, भुगतान ऐप्स (जैसे Google Pay), और कई ऑनलाइन गेम (जैसे पोकेमॉन गो) शामिल होते हैं। हालाँकि, चूँकि SafetyNet API ने अब तक केवल यह निर्धारित करने के लिए सॉफ़्टवेयर जाँच का उपयोग किया है कि डिवाइस के साथ छेड़छाड़ की गई है या नहीं, Magisk आसानी से धोखा दे सकता है बूटलोडर और/या सत्यापित बूट स्थिति क्योंकि यह Google Play सेवाओं और अन्य उपयोगकर्ता स्थान की तुलना में निचले स्तर पर और उच्च विशेषाधिकारों के साथ स्थापित है अनुप्रयोग। जैसा कि टॉपजॉन्वू बताते हैं, मैजिकहाइड "पता लगाने की प्रक्रिया के लिए एक अलग 'सुरक्षित वातावरण' बनाता है, और यह Google के एपीआई के माध्यम से जाता है

वैध सेफ्टीनेट परिणाम जो डिवाइस की वास्तविक स्थिति को प्रतिबिंबित नहीं करता है।"

हाल ही में, हालांकि, उपयोगकर्ताओं ने देखा है कि उनके बूटलोडर-अनलॉक किए गए डिवाइस सेफ्टीनेट की बेसिक इंटीग्रिटी जांच में विफल हो रहे हैं, भले ही उन्होंने बूट छवि को पैच करने के लिए मैजिक का उपयोग किया हो। टॉपजॉनवु के अनुसार, ऐसा इसलिए है क्योंकि Google ने यह सत्यापित करने के लिए हार्डवेयर-स्तरीय कुंजी सत्यापन लागू किया होगा कि बूट छवि के साथ छेड़छाड़ नहीं की गई है। विशेष रूप से, इसका अर्थ यह है कि Google Play Services SafetyNet सर्वर पर एक असंशोधित कीस्टोर प्रमाणपत्र भेजता है, इसकी वैधता सत्यापित करता है और जाँचता है प्रमाणपत्र एक्सटेंशन डेटा यह जानने के लिए कि क्या आपका डिवाइस सत्यापित बूट सक्षम (बूटलोडर स्थिति) है।" इसका मतलब यह है कि यह अब नहीं हो सकता है इस तथ्य को छिपाना संभव है कि बूटलोडर अनलॉक कर दिया गया है, जिसके परिणामस्वरूप Google Pay और Pokémon Go जैसे एप्लिकेशन काम करने में विफल हो जाएंगे। सामान्य रूप से।

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

हमने टॉपजॉनवु को बार-बार तकनीकी बाधाओं पर काबू पाते देखा है। Google अक्सर SafetyNet में नए चेक पेश करता है, जिसे टॉपजॉन्वू फिर Magisk में खोजता है और बायपास कर देता है। एंड्रॉइड का प्रत्येक नया संस्करण विभाजन संरचना या बूट छवि में परिवर्तन लाता है, जिसके लिए टॉपजॉनवु को परिवर्तनों का अध्ययन करने और फिर एक नई पैचिंग विधि लागू करने की आवश्यकता होती है। हालाँकि, टॉपजॉनवु को भी इस बार बाईपास खोजने में कठिनाई हो सकती है।

ऐसा इसलिए है क्योंकि इस बार के समाधान में निजी कुंजी को पुनः प्राप्त करने के लिए उपकरणों के विश्वसनीय निष्पादन पर्यावरण (टीईई) फर्मवेयर को हैक करना शामिल होगा। हालाँकि, ऐसा करना अविश्वसनीय रूप से कठिन है क्योंकि इसके लिए फ़र्मवेयर में एक भेद्यता खोजने की आवश्यकता होती है जिसे अविश्वसनीय रूप से सुरक्षित बनाने के लिए डिज़ाइन किया गया है। वास्तव में, यदि ऐसी कोई भेद्यता पाई जाती है तो कई कंपनियां सैकड़ों हजारों डॉलर में भुगतान की पेशकश करती हैं। उदाहरण के लिए, Google, Pixel के विश्वसनीय निष्पादन परिवेश में दूरस्थ कोड निष्पादन कमजोरियों के लिए $250,000 का भुगतान करता है, और $1,000,000 तक में कमजोरियों के लिए टाइटन एम सुरक्षा चिप. यहां तक ​​कि अगर कोई निजी कुंजी किसी तरह लीक भी हो जाए, तो इसकी बहुत कम संभावना है कि वह बहुत उपयोगी होगी Google कुंजी को दूरस्थ रूप से रद्द कर सकता है इसलिए इसका उपयोग उपकरणों की अखंडता को सत्यापित करने के लिए नहीं किया जा सकता है।

एक बार जब सेफ्टीनेट के लिए हार्डवेयर-स्तरीय कुंजी सत्यापन व्यापक रूप से लागू हो जाता है, तो एंड्रॉइड 8.0 ओरियो या उच्चतर पर चलने वाले अनलॉक बूटलोडर वाले अधिकांश डिवाइस सेफ्टीनेट की बेसिक इंटीग्रिटी जांच को पास करने में विफल हो जाएंगे। ऐसा इसलिए है क्योंकि Android 8.0 Oreo या उच्चतर के साथ लॉन्च होने वाले सभी उपकरणों के लिए TEE में हार्डवेयर कीस्टोर लागू होना आवश्यक है। आजकल कुछ उपकरणों में समर्पित हार्डवेयर सुरक्षा मॉड्यूल (एचएसएम) भी होते हैं जो टीईई को मुख्य प्रोसेसर से दूर ले जाकर शोषण को और भी कठिन बना देते हैं; Pixel 4 में टाइटन एम और सैमसंग की नई सुरक्षा चिप गैलेक्सी S20 में इसके उदाहरण हैं।

टॉपजॉनवु भी समझाता है अन्य संभावित समाधान या तो असंभव हैं या अत्यधिक चुनौतीपूर्ण हैं। Google Play सेवाओं में सेफ्टीनेट अटेस्टेशन एपीआई को संशोधित करने के लिए एक्सपोज़ड फ्रेमवर्क का उपयोग करना संभवतः काम नहीं करेगा क्योंकि "उचित सेफ्टीनेट जांच रिमोट सर्वर पर परिणामों को सत्यापित करेगी, न कि [द] पर।" डिवाइस जिसे कोड इंजेक्शन फ्रेमवर्क द्वारा हेरफेर किया जा सकता है।" इसके अलावा, Google Play Services अत्यधिक अस्पष्ट है, जिससे ऐसे एक्सपोज़ड मॉड्यूल का निर्माण पहली बार में अविश्वसनीय रूप से चुनौतीपूर्ण हो गया है। जगह। SafetyNet परीक्षण परिणाम को धोखा देना भी संभव नहीं होगा क्योंकि SafetyNet प्रतिक्रियाएं "Google सर्वर से आती हैं और Google की निजी कुंजी के साथ हस्ताक्षरित होती हैं।"

Google के पास कई वर्षों से हार्डवेयर-समर्थित कुंजी सत्यापन का उपयोग करके SafetyNet चेक को सख्त करने की क्षमता है। तथ्य यह है कि उन्होंने 3 साल तक ऐसा करने से परहेज किया, जिससे उपयोगकर्ताओं को बैंकिंग ऐप्स का उपयोग करने की क्षमता का त्याग किए बिना रूट और मैजिक मॉड्यूल का आनंद लेने की अनुमति मिली। हालाँकि, ऐसा लगता है कि बूटलोडर अनलॉक स्थिति को प्रभावी ढंग से छिपाने की मैजिक की क्षमता जल्द ही समाप्त होने वाली है। यह एक ऐसा बदलाव है जिसकी हम वर्षों से अपेक्षा कर रहे थे, लेकिन अंततः इसे प्रभावी होते देख हमें दुख हो रहा है। हम आशा करते हैं कि Google SafetyNet Attestation API को अपडेट करेगा ताकि यह पता चल सके कि स्टेटस चेक में हार्डवेयर-आधारित का उपयोग किया गया है या नहीं सत्यापन क्योंकि यह ऐप डेवलपर्स को यह निर्णय लेने की अनुमति देगा कि क्या वे उन सभी उपयोगकर्ताओं को ब्लॉक करना चाहते हैं जिन्होंने अनलॉक किया है बूटलोडर.


डैनियल मिके को धन्यवाद (@डेनियलमिके) इस मामले के संबंध में उनके इनपुट के लिए!