6.9 KiB

Android Task Hijacking

{{#include ../../banners/hacktricks-training.md}}

कार्य, बैक स्टैक और अग्रभूमि गतिविधियाँ

Android में, एक कार्य मूल रूप से गतिविधियों का एक सेट है जिससे उपयोगकर्ता एक विशिष्ट कार्य पूरा करने के लिए इंटरैक्ट करते हैं, जो एक बैक स्टैक के भीतर व्यवस्थित होता है। यह स्टैक गतिविधियों को इस आधार पर क्रमबद्ध करता है कि उन्हें कब खोला गया था, सबसे हाल की गतिविधि को शीर्ष पर अग्रभूमि गतिविधि के रूप में प्रदर्शित करता है। किसी भी समय, केवल यह गतिविधि स्क्रीन पर दिखाई देती है, जिससे यह अग्रभूमि कार्य का हिस्सा बनती है।

गतिविधि संक्रमण का त्वरित विश्लेषण यहाँ है:

  • गतिविधि 1 अग्रभूमि में एकमात्र गतिविधि के रूप में शुरू होती है।
  • गतिविधि 2 को लॉन्च करने से गतिविधि 1 को बैक स्टैक में धकेल दिया जाता है, गतिविधि 2 को अग्रभूमि में लाते हुए।
  • गतिविधि 3 शुरू करने से गतिविधि 1 और गतिविधि 2 को स्टैक में और पीछे ले जाया जाता है, गतिविधि 3 अब सामने होती है।
  • गतिविधि 3 को बंद करने से गतिविधि 2 को फिर से अग्रभूमि में लाया जाता है, जो Android के सुव्यवस्थित कार्य नेविगेशन तंत्र को प्रदर्शित करता है।

https://developer.android.com/images/fundamentals/diagram_backstack.png

कार्य संबंधी हमले

कार्य संबंध और लॉन्च मोड का अवलोकन

Android अनुप्रयोगों में, कार्य संबंध एक गतिविधि के पसंदीदा कार्य को निर्दिष्ट करता है, जो आमतौर पर ऐप के पैकेज नाम के साथ मेल खाता है। यह सेटअप हमले को प्रदर्शित करने के लिए एक प्रमाण-ऑफ-ध-concept (PoC) ऐप बनाने में सहायक है।

लॉन्च मोड

launchMode विशेषता कार्यों के भीतर गतिविधि उदाहरणों के प्रबंधन को निर्देशित करती है। singleTask मोड इस हमले के लिए महत्वपूर्ण है, जो मौजूदा गतिविधि उदाहरणों और कार्य संबंध मेल के आधार पर तीन परिदृश्यों को निर्धारित करता है। यह शोषण हमलावर के ऐप की क्षमता पर निर्भर करता है कि वह लक्षित ऐप के कार्य संबंध की नकल कर सके, जिससे Android सिस्टम को हमलावर के ऐप को लक्षित ऐप के बजाय लॉन्च करने के लिए गुमराह किया जा सके।

विस्तृत हमले के चरण

  1. दुष्ट ऐप इंस्टॉलेशन: पीड़ित अपने डिवाइस पर हमलावर का ऐप इंस्टॉल करता है।
  2. प्रारंभिक सक्रियण: पीड़ित पहले दुष्ट ऐप को खोलता है, जिससे हमले के लिए डिवाइस सेटअप होता है।
  3. लक्षित ऐप लॉन्च प्रयास: पीड़ित लक्षित ऐप को खोलने का प्रयास करता है।
  4. हाइजैक निष्पादन: मेल खाते कार्य संबंध के कारण, दुष्ट ऐप लक्षित ऐप के स्थान पर लॉन्च होता है।
  5. धोखा: दुष्ट ऐप लक्षित ऐप के समान एक नकली लॉगिन स्क्रीन प्रस्तुत करता है, उपयोगकर्ता को संवेदनशील जानकारी दर्ज करने के लिए धोखा देता है।

इस हमले के व्यावहारिक कार्यान्वयन के लिए, GitHub पर Task Hijacking Strandhogg रिपॉजिटरी देखें: Task Hijacking Strandhogg.

रोकथाम के उपाय

ऐसे हमलों को रोकने के लिए, डेवलपर्स taskAffinity को एक खाली स्ट्रिंग पर सेट कर सकते हैं और singleInstance लॉन्च मोड का विकल्प चुन सकते हैं, जिससे उनके ऐप का अन्य ऐप्स से अलगाव सुनिश्चित होता है। onBackPressed() फ़ंक्शन को अनुकूलित करना कार्य हाइजैकिंग के खिलाफ अतिरिक्त सुरक्षा प्रदान करता है।

संदर्भ

{{#include ../../banners/hacktricks-training.md}}