इस साल के ब्लैक हैट यूरोप सुरक्षा सम्मेलन में, चीनी हांगकांग विश्वविद्यालय के दो शोधकर्ताओं ने शोध प्रस्तुत किया, जिसमें एंड्रॉइड ऐप्स को प्रभावित करने वाले एक शोषण को दिखाया गया जो संभावित रूप से एक अरब से अधिक इंस्टॉल किए गए एप्लिकेशन को हमले के लिए असुरक्षित छोड़ सकता है।
शोषण OAuth 2.0 प्राधिकरण मानक के मोबाइल कार्यान्वयन के बीच-बीच में किए गए हमले पर निर्भर करता है। यह बहुत तकनीकी लगता है, लेकिन इसका वास्तव में क्या अर्थ है, और क्या आपका डेटा सुरक्षित है?
OAuth क्या है?
OAuth एक खुला मानक है जिसका उपयोग कई वेबसाइटों और ऐप्स द्वारा किया जाता है ताकि आप कई OAuth प्रदाताओं में से किसी एक खाते का उपयोग करके किसी तृतीय-पक्ष ऐप या वेबसाइट में लॉग इन कर सकें। कुछ सबसे सामान्य और प्रसिद्ध उदाहरण Google, Facebook और Twitter हैं।
सिंगल साइन ऑन (एसएसओ) बटन आपको अपने खाते की जानकारी तक पहुंच प्रदान करने की अनुमति देता है। जब आप Facebook बटन पर क्लिक करते हैं, तो तृतीय-पक्ष ऐप या वेबसाइट एक एक्सेस टोकन की तलाश करती है, जो उसे आपकी Facebook जानकारी तक पहुँच प्रदान करती है।
यदि यह टोकन नहीं मिलता है, तो आपको तृतीय-पक्ष को अपने Facebook खाते तक पहुंच की अनुमति देने के लिए कहा जाएगा। एक बार जब आप इसे अधिकृत कर लेते हैं, तो फेसबुक को तीसरे पक्ष से एक संदेश प्राप्त होता है जिसमें एक्सेस टोकन मांगा जाता है।
Facebook एक टोकन के साथ प्रतिसाद देता है, जो आपके द्वारा निर्दिष्ट जानकारी तक तृतीय-पक्ष को एक्सेस प्रदान करता है। उदाहरण के लिए, आप अपनी मूल प्रोफ़ाइल जानकारी और दोस्तों की सूची तक पहुंच प्रदान करते हैं, लेकिन अपनी तस्वीरों को नहीं। तृतीय-पक्ष टोकन प्राप्त करता है और आपको अपने Facebook क्रेडेंशियल के साथ लॉगिन करने की अनुमति देता है। फिर, जब तक टोकन की समय सीमा समाप्त नहीं हो जाती, तब तक उसके पास आपके द्वारा अधिकृत जानकारी तक पहुंच होगी।
यह एक महान प्रणाली की तरह लगता है। आपको कम पासवर्ड याद रखने होंगे, और आपके पास पहले से मौजूद खाते से आसानी से लॉगिन और अपनी जानकारी सत्यापित करनी होगी। SSO बटन मोबाइल पर और भी अधिक उपयोगी होते हैं जहाँ नए पासवर्ड बनाते हैं, जहाँ एक नए खाते को अधिकृत करने में समय लग सकता है।
समस्या क्या है?
नवीनतम OAuth फ्रेमवर्क -- OAuth 2.0 -- अक्टूबर 2012 में जारी किया गया था, और इसे मोबाइल ऐप्स के लिए डिज़ाइन नहीं किया गया था। इसके कारण कई ऐप डेवलपर्स को OAuth को अपने दम पर लागू करना पड़ा है, बिना किसी मार्गदर्शन के कि इसे सुरक्षित रूप से कैसे किया जाना चाहिए।
जबकि वेबसाइटों पर OAuth तृतीय-पक्ष और SSO प्रदाता के सर्वर के बीच सीधे संचार का उपयोग करता है, मोबाइल एप्लिकेशन इस प्रत्यक्ष संचार पद्धति का उपयोग नहीं करते हैं। इसके बजाय, मोबाइल ऐप्स आपके डिवाइस के माध्यम से एक दूसरे से संचार करते हैं।
किसी वेबसाइट पर OAuth का उपयोग करते समय, Facebook एक्सेस टोकन और प्रमाणीकरण जानकारी को सीधे तृतीय-पक्ष सर्वर को डिलीवर करता है। उपयोगकर्ता को लॉग इन करने या किसी भी व्यक्तिगत डेटा तक पहुंचने से पहले इस जानकारी को मान्य किया जा सकता है।
शोधकर्ताओं ने पाया कि एंड्रॉइड एप्लिकेशन का एक बड़ा प्रतिशत इस सत्यापन को याद कर रहा था। इसके बजाय फेसबुक के सर्वर फेसबुक ऐप को एक्सेस टोकन भेजते हैं। फिर एक्सेस टोकन को थर्ड-पार्टी ऐप पर डिलीवर किया जाएगा। तब तृतीय-पक्ष ऐप आपको Facebook के सर्वर से यह सत्यापित किए बिना लॉगिन करने की अनुमति देगा कि उपयोगकर्ता की जानकारी वैध थी।
OAuth टोकन अनुरोध को ट्रिगर करते हुए, हमलावर स्वयं के रूप में लॉगिन कर सकता है। एक बार जब फेसबुक ने टोकन को अधिकृत कर दिया, तो वे खुद को फेसबुक के सर्वर और फेसबुक ऐप के बीच सम्मिलित कर सकते थे। फिर हमलावर पीड़ित के टोकन पर यूजर आईडी बदल सकता है। उपयोगकर्ता नाम आमतौर पर सार्वजनिक रूप से उपलब्ध जानकारी भी होती है, इसलिए हमलावर के लिए बहुत कम बाधाएं होती हैं। एक बार उपयोगकर्ता आईडी बदल जाने के बाद -- लेकिन प्राधिकरण अभी भी दिया गया है -- तृतीय-पक्ष ऐप पीड़ित के खाते के अंतर्गत लॉगिन करेगा।
इस प्रकार के शोषण को मैन-इन-द-मिडिल (मिटम) हमले के रूप में जाना जाता है। यह वह जगह है जहां हमलावर डेटा को इंटरसेप्ट और बदल सकता है, जबकि दोनों पक्षों का मानना है कि वे एक दूसरे के साथ सीधे संवाद कर रहे हैं।
यह आपको कैसे प्रभावित करता है?
यदि कोई हमलावर किसी ऐप को यह विश्वास दिलाने में सक्षम है कि वह आप ही हैं, तो हैकर उस सेवा में आपके द्वारा संग्रहीत सभी जानकारी तक पहुंच प्राप्त कर लेता है। शोधकर्ताओं ने नीचे दिखाई गई तालिका बनाई जिसमें कुछ ऐसी जानकारी सूचीबद्ध है जिसे आप विभिन्न प्रकार के ऐप्स पर प्रदर्शित कर सकते हैं।
कुछ प्रकार की जानकारी दूसरों की तुलना में कम हानिकारक होती हैं। आपको अपनी सभी यात्रा योजनाओं, या आपके नाम पर निजी संदेश भेजने और प्राप्त करने की क्षमता की तुलना में अपने समाचार पढ़ने के इतिहास को उजागर करने के बारे में चिंतित होने की संभावना कम है। यह उन सूचनाओं के प्रकारों की याद दिलाता है जिन्हें हम नियमित रूप से तृतीय-पक्षों को सौंपते हैं -- और इसके दुरूपयोग के परिणाम।
क्या आपको चिंता करनी चाहिए?
शोधकर्ताओं ने पाया कि Google Play Store पर SSO का समर्थन करने वाले 600 सबसे लोकप्रिय ऐप्स में से 41.21% मिटम हमले की चपेट में थे। यह संभावित रूप से दुनिया भर के अरबों उपयोगकर्ताओं को इस प्रकार के हमले के संपर्क में छोड़ सकता है। टीम ने Android पर अपना शोध किया लेकिन उनका मानना है कि इसे iOS पर दोहराया जा सकता है। यह संभावित रूप से दो सबसे बड़े मोबाइल ऑपरेटिंग सिस्टम पर लाखों ऐप्स को इस हमले के लिए असुरक्षित छोड़ देगा।
लेखन के समय, इंटरनेट इंजीनियरिंग टास्क फोर्स (आईईटीएफ) से कोई आधिकारिक बयान नहीं आया है जिन्होंने ओएथ 2.0 विनिर्देशों को विकसित किया है। शोधकर्ताओं ने प्रभावित ऐप्स के नाम बताने से इनकार कर दिया है, इसलिए मोबाइल ऐप्स पर SSO का उपयोग करते समय आपको सावधानी बरतनी चाहिए।
चांदी की परत है। शोधकर्ताओं ने पहले ही Google और Facebook, और अन्य SSO प्रदाताओं को शोषण के प्रति सचेत कर दिया है। इसके अलावा, वे समस्या को ठीक करने के लिए प्रभावित तृतीय-पक्ष डेवलपर के साथ काम कर रहे हैं।
अब आप क्या कर सकते हैं?
हालांकि सुधार हो सकता है, बहुत कुछ . हैं प्रभावित ऐप्स को अपडेट किया जाना है। इसमें कुछ समय लगने की संभावना है, इसलिए इस दौरान SSO का उपयोग न करना उचित होगा। इसके बजाय, जब आप एक नए खाते के लिए पंजीकरण करते हैं, तो सुनिश्चित करें कि आपने एक मजबूत पासवर्ड बनाया है जिसे आप भूल नहीं पाएंगे। या तो वह या आपके लिए हैवी लिफ्टिंग करने के लिए पासवर्ड मैनेजर का उपयोग करें।
समय-समय पर अपनी खुद की सुरक्षा जांच करना एक अच्छा अभ्यास है। Google आपको उनका चेकअप करने के लिए क्लाउड स्टोरेज में पुरस्कृत भी करेगा। यह देखने का एक आदर्श समय है कि आपने अपने SSO खातों में किन ऐप्स को अनुमति दी है। यह फेसबुक जैसी साइट पर विशेष रूप से महत्वपूर्ण है, जो बहुत ही व्यक्तिगत जानकारी की जबरदस्त मात्रा को संग्रहीत करता है।
क्या आपको लगता है कि यह सिंगल साइन ऑन से दूर जाने का समय है? आपको क्या लगता है कि लॉगिन करने का सबसे अच्छा तरीका क्या है? क्या आप इस शोषण से प्रभावित हुए हैं? हमें नीचे कमेंट्स में बताएं!