सेफ्टीनेट का हार्डवेयर सत्यापन मैजिक में जड़ों को छिपाना वास्तव में कठिन बना देगा

सेफ्टीनेट में हार्डवेयर सत्यापन लाने वाले हालिया बदलाव के कारण मैजिक में रूट एक्सेस को छिपाना काफी कठिन हो गया है।

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

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

"सेफ्टीनेट एपीआई क्लाइंट्स" के लिए Google समूह पर, Google ने सत्यापन एपीआई के लिए एक नई सुविधा का विवरण दिया: मूल्यांकन प्रकार। कुछ उपकरणों से JSON वेब सिग्नेचर (JWS) प्रतिक्रिया में "मूल्यांकन प्रकार" नामक एक फ़ील्ड होगा जो "डेवलपर्स को अंतर्दृष्टि प्रदान करेगा उन संकेतों/मापों के प्रकारों में, जिन्होंने प्रत्येक व्यक्तिगत सेफ्टीनेट सत्यापन एपीआई प्रतिक्रिया में योगदान दिया है।" समर्थित टोकन में से एक इस क्षेत्र में "HARDWARE_BACKED" है जो इंगित करता है कि एपीआई "दूरस्थ डिवाइस की उपलब्ध हार्डवेयर-समर्थित सुरक्षा सुविधाओं का उपयोग करता है (उदा. हार्डवेयर-समर्थित कुंजी सत्यापन) [इसके] मूल्यांकन को प्रभावित करने के लिए।" Google का कहना है कि वे "वर्तमान में उन उपकरणों के लिए पात्रता मानदंड का मूल्यांकन और समायोजन कर रहे हैं जहां हम हार्डवेयर-समर्थित पर भरोसा करेंगे सुरक्षा सुविधाएँ।" इसका मतलब यह है कि, कुछ डिवाइसों पर, Google Play Services अब यह पता लगाने के लिए हार्डवेयर-समर्थित सत्यापन का उपयोग कर रही है कि डिवाइस का सॉफ़्टवेयर ठीक से काम नहीं कर रहा है। के साथ छेड़्छाड़। Google ने Google समूह में घोषणा के बाहर इस परिवर्तन को आधिकारिक तौर पर प्रलेखित नहीं किया है, इसलिए SafetyNet का उपयोग करने वाले कुछ डेवलपर ऐसा कर सकते हैं इस परिवर्तन के बारे में पता नहीं है (और इसलिए अभी तक JWS प्रतिक्रियाओं में "HARDWARE_BACKED" फ़ील्ड की जाँच नहीं कर रहे हैं।) हालाँकि, उन ऐप्स के लिए जो इस फ़ील्ड की जाँच कर रहे हैं, अब उनसे रूट एक्सेस को छिपाने का कोई तरीका नहीं है, बशर्ते आपका डिवाइस Google द्वारा किए जा रहे परीक्षण का हिस्सा हो दौड़ना।

टॉपजॉनवु के अनुसार, हार्डवेयर-समर्थित सत्यापन का अर्थ है कि Google Play Services अब SafetyNet सर्वरों को एक असंशोधित कीस्टोर प्रमाणपत्र भेजती है, इसकी वैधता सत्यापित करती है, और यह जानने के लिए प्रमाणपत्र एक्सटेंशन डेटा की जांच करता है कि क्या आपके डिवाइस में सत्यापित बूट सक्षम (बूटलोडर स्थिति) है। चूँकि जिन निजी कुंजियों से कीस्टोर प्रमाणपत्र प्राप्त होते हैं फ़ोन के पृथक सुरक्षित वातावरण द्वारा समर्थित हैं, उन्हें पुनः प्राप्त करने में फ़ोन के विश्वसनीय निष्पादन वातावरण (टीईई) या समर्पित हार्डवेयर सुरक्षा की सुरक्षा को पराजित करना शामिल होगा मॉड्यूल (एचएसएम)। यदि कोई किसी तरह से निजी कुंजी लीक करने में सक्षम था, तो कुंजियाँ शीघ्र ही निरस्त कर दी जाएंगी एक बार Google को पता चला। Google, Pixel फ़ोन में TEE को प्रभावित करने वाली किसी भी गंभीर सुरक्षा कमज़ोरी के लिए हज़ारों डॉलर का पुरस्कार प्रदान करता है, जो यह दर्शाता है कि बूटलोडर अनलॉकिंग डिटेक्शन को बायपास करने का संभावित तरीका होना अविश्वसनीय रूप से असंभव है वैसे भी।

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

Android 7 Nougat के बाद से, Google के लिए आवश्यक है कि सभी डिवाइसों में एक पृथक सुरक्षित वातावरण हो, इसका मतलब यह है कि सेफ्टीनेट बूटलोडर अनलॉकिंग को कैसे सत्यापित करता है, यह बदलाव उन अधिकांश डिवाइसों को प्रभावित करेगा जो बाहर हैं वहाँ। चूँकि बिना पृथक सुरक्षित वातावरण के पुराने उपकरण स्पष्ट रूप से हार्डवेयर-समर्थित सत्यापन नहीं कर सकते हैं, मैजिक अभी भी उन उपकरणों पर रूट एक्सेस को छिपाने में सक्षम होगा। लेकिन अगर यह बदलाव व्यापक रूप से लागू होता है, तो बाकी सभी को रूट एक्सेस और बैंकिंग ऐप्स के बीच एक कठिन विकल्प चुनना होगा।

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

नया सेफ्टीनेट परिवर्तन मैजिक को कैसे प्रभावित करता है, इस बारे में अधिक जानकारी के लिए टॉपजॉनवु देखें ट्विटर पर उत्कृष्ट FAQ. यदि आप केवल यह जांचना चाहते हैं कि आपका डिवाइस Google के नए SafetyNet परीक्षण का हिस्सा है या नहीं, तो आप इसका अनुसरण कर सकते हैं यह मार्गदर्शिका XDA के वरिष्ठ सदस्य डिस्प्लेक्स द्वारा या नवीनतम मैजिक मैनेजर रिलीज़ डाउनलोड करें।


यह लेख 30 जून, 2020 को सुबह 10:46 बजे ईएसटी पर अपडेट किया गया था, ताकि यह सही किया जा सके कि Google केवल पिक्सेल फोन में पाई गई टीईई कमजोरियों के लिए पुरस्कार देता है। इसके अलावा, नवीनतम मैजिक मैनेजर रिलीज़ के संबंध में विवरण जोड़ा गया है जो अब अंतर्निहित सेफ्टीनेट चेकर में मूल्यांकन प्रकार फ़ील्ड दिखाता है।