Assessing the Forensic Viability of Android Memory Analysis Across Production Builds: A Cross-Version Study of Security Hardening and Structure Preservation
यह अध्ययन एंड्रॉइड 8 से 15 तक के प्रोडक्शन बिल्ड्स में एंड्रॉइड मेमोरी विश्लेषण की फॉरेंसिक व्यवहार्यता का मूल्यांकन करता है, जो यह प्रकट करता है कि जबकि गूगल के सुरक्षा सुदृढ़ीकरण ने libart.so से अधिकांश स्टैटिक सिम्बल्स और सोर्स संदर्भों को हटा दिया है, अंतर्निहित मेमोरी आर्किटेक्चर संरचनात्मक रूप से अक्षुण्ण बना हुआ है, जिससे फॉरेंसिक टूल्स को संस्करण-मैच वाले डेवलपमेंट बिल्ड्स का उपयोग करके रनटाइम एंट्री पॉइंट्स खोजने और डेटा स्ट्रक्चर्स को हल करने की अनुमति मिलती है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपका स्मार्टफोन एक हलचल भरा, उच्च-सुरक्षा वाला शहर है। इस शहर के भीतर, आपके ऐप्स व्यस्त दुकानों की तरह हैं, और RAM (मेमोरी) वह अस्थायी कार्यक्षेत्र है जहाँ वर्तमान में सभी लेनदेन होते हैं। जब आप एक गुप्त संदेश भेजते हैं या किसी खाते में लॉग इन करते हैं, तो डेटा मिटने या हार्ड ड्राइव में जाने से पहले एक क्षण के लिए इस कार्यक्षेत्र में मौजूद रहता है। डिजिटल फोरेंसिक इस कार्यक्षेत्र में घुसपैstäकर सबूतों को गायब होने से पहले पकड़ने की एक कला है। लेकिन यहाँ एक पेंच है: शहर के वास्तुकारों (Google) ने ऊँची दीवारें बनाना और स्ट्रीट साइन (सड़क के संकेत) हटाना शुरू कर दिया है। अतीत में, जांचकर्ता एक मानचित्र (डिबग सिंबल) के साथ अंदर जा सकते थे जो उन्हें बताता था कि "गुप्त संदेश" की दुकान कहाँ स्थित है। अब, शहर को उन संकेतों से वंचित कर दिया गया है ताकि हैकर्स के घुसपैठ करना कठिन हो जाए, जिससे जांचकर्ता एक खाली दीवार को देखते हुए रह जाते हैं, यह सोचते हुए कि क्या वे दुकानें अभी भी वहाँ हैं भी या नहीं।
यह शोध पत्र एक जासूसी कहानी है कि क्या वे दुकानें अभी भी खड़ी हैं, भले ही उनके संकेत हट गए हों। शोधकर्ताओं ने पूछा: "Google ने उन फोनों से मानचित्र हटा दिए हैं जिन्हें हम वास्तव में खरीदते हैं, लेकिन क्या उन्होंने इमारतों को भी स्थानांतरित कर दिया है?" उन्होंने एंड्रॉइड सिस्टम के "ब्लूप्रिंट" संस्करणों (जिन्हें डेवलपर्स उपयोग करते हैं और जिनके पास पूर्ण मानचित्र होते हैं) की तुलना "प्रोडक्शन" संस्करणों (जो आम लोग प्राप्त करते हैं, जहाँ सभी संकेत हटा दिए गए हैं) से की। उन्होंने पाया कि हालांकि स्ट्रीट साइन वास्तव में गायब हो गए हैं, लेकिन इमारतें खुद नहीं बदली हैं। मेमोरी का लेआउट अभी भी वही है; बस अब उस पर कोई नाम का टैग नहीं है। इसका मतलब है कि थोड़े अतिरिक्त जासूसी काम के साथ—एक मिलान करने वाले शहर के ब्लूप्रिंट का उपयोग करके—जांचकर्ता आज के सबसे आधुनिक, सुदृढ़ फोनों पर भी सबूत पा सकते हैं।
द ग्रेट मैप हाइस्ट (महान मानचित्र चोरी)
वर्षों तक, डिजिटल फोरेंसिक विशेषज्ञों ने एंड्रॉइड फोन की अराजक मेमोरी में नेविगेट करने के लिए libart.so नामक एक लाइब्रेरी फ़ाइल पर भरोसा किया। इस फ़ाइल को एक विशाल पुस्तकालय के मास्टर डायरेक्टरी के रूप में समझें। इसके अंदर, इसमें हर किताब, हर शेल्फ की पूरी सूची और ठीक से कहाँ प्रत्येक पैराग्राफ स्थित था, इसकी जानकारी थी। इन सूचियों को "सिम्बल्स" (प्रतीक) कहा जाता था। यदि कोई जांचकर्ता किसी विशिष्ट साक्ष्य, जैसे कि डिक्रिप्ट किया गया चैट संदेश, खोजना चाहता था, तो वे बस डायरेक्टरी में "चैट" सिंबल को खोजते थे, और पफ, टूल को पता चल जाता था कि मेमोरी में कहाँ देखना है।
लेकिन Google ने, फोन को हैकर्स के खिलाफ अधिक सुरक्षित बनाने के उद्देश्य से, एक "हार्डनिंग" अभियान शुरू किया। उन्होंने महसूस किया कि यदि किसी हैकर के पास पूर्ण डायरेक्टरी है, तो वे सिस्टम में घुसने के लिए कमजोरियों को आसानी से ढूंढ सकते हैं। इसलिए, उन्होंने उन फोनों से इन डायरेक्टरीज को हटाना शुरू कर दिया जो वास्तव में स्टोर में भेजे जाते हैं। उन्होंने स्टैटिक सिम्बल्स (मुख्य सूची), सोर्स फ़ाइल संदर्भ (लेखक के नोट्स), और अधिकांश डायनेमिक सिम्बल्स को हटा दिया। यह एक पुस्तकालय को लेने और उससे कार्ड कैटलॉग हटाने जैसा था, जिससे केवल दरवाजों पर कुछ आवश्यक लेबल बचे रहे ताकि लाइब्रेरियन उन्हें खोल सकें, लेकिन बाकी सब कुछ छिपा दिया गया।
बड़ा सवाल यह था: क्या उन्होंने केवल लेबल हटाए हैं, या उन्होंने शेल्फ (अलमारियों) को भी पुनर्व्यवस्थित कर दिया है? यदि शेल्फ बदल गए, तो भले ही किसी जांचकर्ता के पास पुराने संस्करण के पुस्तकालय का ब्लूप्रिंट हो, वह काम नहीं आएगा।
जासूसी कार्य (द डिटेक्टिव वर्क)
इसे हल करने के लिए, शोधकर्ताओं ने समय यात्री लाइब्रेरियन की तरह काम किया। उन्होंने एंड्रॉइड सिस्टम के दो संस्करण लिए:
- "डेवलपर" बिल्ड: एक ऐसा संस्करण जिसमें पूर्ण, अनस्ट्रिप्ड डायरेक्टरी (ब्लूप्रिंट) है।
- "प्रोडक्शन" बिल्ड: वह संस्करण जो वास्तव में एक Google Pixel 7 फोन पर चल रहा है (स्ट्रिप किया हुआ वास्तविकता)।
उन्होंने पहले नंबरों को देखा। पुराने Android 8 संस्करण में, लाइब्रेरी में 20,495 स्टैटिक सिम्बल्स थे। नए Android 15 संस्करण में, यह संख्या घटकर शून्य हो गई। सोर्स फ़ाइल संदर्भ, जो बताते थे कि कोई फंक्शन किस कोड फ़ाइल से आया है, वे भी पूरी तरह से गायब हो गए। डायनेमिक सिम्बल्स (कुछ लेबल जिन्हें फोन को काम करने के लिए रहना ही था) लगभग 60 प्रतिशत गिर गए, 6,577 से घटकर 2,614 रह गए।
यह फोरेंसिक के लिए एक आपदा जैसा लग रहा था। लेकिन फिर, उन्होंने और गहराई से देखा। उन्होंने मेमोरी की वास्तविक संरचना—"शेल्फ" और "किताबों"—की जाँच की। उन्होंने Android 8 और Android 15 फोन के मेमोरी मैप की तुलना की। उन्होंने पाया कि मुख्य संरचनाएं, जैसे कि "हीप" (जहाँ ऐप्स अपना डेटा स्टोर करते हैं) और "गारबेज कलेक्टर" (जो पुराने डेटा को साफ करता है), अभी भी वहीं थीं। उन्होंने बस अपना नाम थोड़ा बदल लिया था। उदाहरण के लिए, एक मेमोरी स्पेस जिसे Android 8 में dalik-allocspace main rosalloc कहा जाता था, वह Android 15 में dalik-allocspace non moving बन गया। इमारत हिल गई थी, लेकिन उसका पता नहीं बदला।
"मैजिक ब्लूप्रिंट" ट्रिक (जादुई ब्लूप्रिंट का कमाल)
इस पेपर का सबसे रोमांचक हिस्सा वह "जादुई ट्रिक" है जो उन्होंने निकाली। चूंकि फोन के पास अपना कोई नक्शा नहीं है, इसलिए शोधकर्ताओं ने एक मिलान करने वाले संस्करण से नक्शा उधार लेने का निर्णय लिया।
उन्होंने Android 15 के "डेवलपर" बिल्ड को लिया (जिसमें अभी भी पूर्ण मानचित्र है) और विशिष्ट संरचनाओं तक सटीक ऑफसेट (बाइट्स में दूरी) खोजने के लिए इसका उपयोग किया। फिर, वे असली "प्रोडक्शन" Pixel 7 पर गए (जिसमें कोई मानचित्र नहीं था) और उन्हीं दूरियों को लागू किया।
यहाँ क्या हुआ:
- उन्होंने "रनटाइम" ऑब्जेक्ट (फोन की मेमोरी का मुख्य प्रबंधक) को एक एकल सिंबल का उपयोग करके खोजा जिसे फोन के काम करने के लिए रहना ही था।
- उन्होंने "रनटाइम" ऑब्जेक्ट के भीतर "हीप" (डेटा स्टोरेज) कहाँ स्थित है, यह खोजने के लिए "डेवलपर" मैप का उपयोग किया।
- उन्होंने उस दूरी को "प्रोडक्शन" फोन पर लागू किया।
- परिणाम: यह पूरी तरह से काम कर गया। उनके द्वारा गणना किए गए पॉइंटर ने वास्तविक फोन पर बिल्कुल सही वैध मेमोरी एड्रेस की ओर इशारा किया।
उन्होंने इसे "थ्रेड लिस्ट" और "बम्प पॉइंटर स्पेस" के लिए भी दोहराया, और हर बार, डेवलपर संस्करण के ब्लूप्रिंट ने उन्हें स्ट्रिप किए गए प्रोडक्शन फोन पर सही स्थान तक पहुँचा दिया।
भविष्य के लिए इसका क्या अर्थ है
यह पेपर सुझाव देता है कि भले ही फोरेंसिक का "इजी मोड" समाप्त हो गया है, लेकिन खेल अभी खत्म नहीं हुआ है। सुरक्षा हार्डनिंग ने मेमोरी आर्किटेक्चर को तोड़ा नहीं है; इसने केवल लेबल छिपा दिए हैं।
- अच्छी खबर: मेमोरी का आंतरिक लेआउट सुरक्षित है। यदि आपके पास एक मिलान करने वाला "डेवलपर" बिल्ड है जो ठीक उसी संस्करण का है जिसका आप जांच कर रहे हैं, तो आप उसके मानचित्र का उपयोग करके स्ट्रिप किए गए फोन में नेविगेट कर सकते हैं।
- बुरी खबर: आप केवल एक पुराना नक्शा उपयोग नहीं कर सकते। पेपर नोट करता है कि अलग-अलग एंड्रॉइड संस्करणों (जैसे Android 14 बनाम 15) के बीच स्ट्रक्चर ऑफसेट्स बदल जाते हैं। इसलिए, आप Android 15 के मामले को सुलझाने के लिए Android 8 के मैप का उपयोग नहीं कर सकते। आपको एक वर्ज़न-मैच्ड ब्लूप्रिंट की आवश्यकता है।
- चुनौती: यह प्रक्रिया अब बहुत अधिक मैनुअल (हाथ से करने वाली) हो गई है। जांचकर्ता केवल एक ऐसा टूल नहीं चला सकते जो कहता है "साक्ष्य खोजें।" उन्हें फोन का सटीक संस्करण ढूंढना होगा, मिलान करने वाला डेवलपर बिल्ड निकालना होगा, विशिष्ट दूरियों को निकालना होगा, और फिर उन्हें मैन्युअल रूप से लागू करना होगा।
शोधकर्ताओं ने यह भी नोट किया कि उन्होंने केवल Google Pixel डिवाइसों पर इसका परीक्षण किया है। उन्हें यकीन नहीं है कि अन्य फोन निर्माता (जैसे Samsung या Xiaomi) ने भी ऐसा ही किया है या क्या उन्होंने शेल्फ को पूरी तरह से पुनर्व्यवस्थित कर दिया है। लेकिन जिन उपकरणों का उन्होंने परीक्षण किया, उनके लिए निष्कर्ष स्पष्ट है: शहर अभी भी वहीं है, इमारतें नहीं बदली हैं, लेकिन रास्ता खोजने के लिए आपको अपना खुद का नक्शा साथ लाना होगा।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।