सप्लाई चेन हमले: दुर्भावनापूर्ण पैकेज और समझौता किए गए वॉलेट लाइब्रेरी
क्रिप्टो सप्लाई चेन हमला दुर्भावनापूर्ण कोड को उस सॉफ़्टवेयर में छिपा देता है जिस पर आप भरोसा करते हैं। जानें कि समझौता किए गए पैकेज और वॉलेट लाइब्रेरी कैसे काम करते हैं और खुद को कैसे बचाएँ।
क्रिप्टो सप्लाई चेन हमला तब होता है जब अपराधी उस सॉफ़्टवेयर को अपने कब्ज़े में ले लेते हैं जिस पर वॉलेट, ऐप या वेबसाइटें निर्भर हैं, जैसे कोई ओपन-सोर्स पैकेज, ब्राउज़र एक्सटेंशन या अपडेट सर्वर, ताकि दुर्भावनापूर्ण कोड एक भरोसेमंद रास्ते से उपयोगकर्ताओं तक पहुँचे। यह कोड आमतौर पर गंतव्य पते बदल देता है, किसी वेबसाइट में वॉलेट ड्रेनर डाल देता है या सीड फ़्रेज़ चुरा लेता है, और पीड़ित अक्सर कोई गलती नहीं करते, सिवाय उस प्रोडक्ट का इस्तेमाल करने के जिस पर वे पहले से भरोसा करते हैं।
ये हमले सिर्फ़ डेवलपर्स के लिए नहीं, बल्कि क्रिप्टो से जुड़े हर व्यक्ति के लिए मायने रखते हैं। आधुनिक वॉलेट और विकेंद्रीकृत ऐप सैकड़ों थर्ड-पार्टी कंपोनेंट से बनते हैं, और एक ही समझौता किया गया कंपोनेंट एक साथ कई प्रोडक्ट को प्रभावित कर सकता है। यह गाइड बताती है कि ये हमले कैसे काम करते हैं, किन बातों पर नज़र रखनी है और उपयोगकर्ता या बिल्डर के रूप में आप अपना जोखिम कैसे कम कर सकते हैं।
सप्लाई चेन हमला कैसे काम करता है
किसी क्रिप्टो ऐप की “सप्लाई चेन” वह सब कुछ है जो उसमें लगता है: कोड लाइब्रेरी, बिल्ड टूल, होस्टिंग प्रदाता, कंटेंट डिलीवरी नेटवर्क और अपडेट सर्वर। हमला आमतौर पर इन चरणों में होता है:
- 1पहुँच हासिल करना। हमलावर किसी लोकप्रिय लाइब्रेरी के मेंटेनर पर फ़िशिंग करता है, कोई छोड़ा हुआ पैकेज खरीदता है, कमज़ोर पासवर्ड का अनुमान लगाता है या किसी बिल्ड सर्वर की कमज़ोरी का फ़ायदा उठाता है।
- 2दुर्भावनापूर्ण कोड डालना। वह छिपे कोड वाला नया वर्ज़न प्रकाशित करता है, जो अक्सर उलझाया हुआ होता है और केवल कुछ खास स्थितियों में सक्रिय होने के लिए बनाया जाता है, जैसे जब कोई क्रिप्टो वॉलेट मौजूद हो।
- 3अपडेट के ज़रिए फैलना। जो ऐप लाइब्रेरी का नवीनतम वर्ज़न अपने-आप खींच लेते हैं, वे अपने अगले बिल्ड में दुर्भावनापूर्ण कोड शामिल कर लेते हैं, और वेबसाइटों के मामले में, स्क्रिप्ट लोड होते ही।
- 4चोरी करना। कोड क्लिपबोर्ड में कॉपी किए गए पते बदल सकता है, नकली ट्रांज़ैक्शन प्रॉम्प्ट दिखा सकता है, सीड फ़्रेज़ माँग सकता है या किसी विकेंद्रीकृत ऐप के फ़्रंट एंड में ड्रेनर डाल सकता है।
- 5छिपना। हमलावर अक्सर इस्तेमाल के बाद कोड को जल्दी हटा देते हैं, जिससे जाँच मुश्किल हो जाती है।
इस पैटर्न की दर्ज की गई असली घटनाएँ हैं। 2018 में, एक लोकप्रिय JavaScript पैकेज में जोड़ी गई एक दुर्भावनापूर्ण डिपेंडेंसी को एक खास bitcoin वॉलेट ऐप के उपयोगकर्ताओं से चोरी करने के लिए बनाया गया था। दिसंबर 2023 में, Ledger की Connect Kit लाइब्रेरी के एक समझौता किए गए वर्ज़न की वजह से कई विकेंद्रीकृत ऐप ने थोड़े समय के लिए अपने उपयोगकर्ताओं को वॉलेट ड्रेनर दिखाया। दोनों मामलों से पता चलता है कि कमज़ोर कड़ी साझा कोड था, उपयोगकर्ता नहीं। गहराई से जानने के लिए देखें वैनिटी एड्रेस के जोखिम और मिलते-जुलते पते।
आम प्रवेश बिंदु
| प्रवेश बिंदु | इसका दुरुपयोग कैसे होता है | कौन प्रभावित होता है |
|---|---|---|
| ओपन-सोर्स पैकेज (npm, PyPI और इसी तरह के) | दुर्भावनापूर्ण वर्ज़न प्रकाशित किया जाता है या मिलते-जुलते नाम वाला पैकेज अपलोड किया जाता है | पैकेज इस्तेमाल करने वाले ऐप और डेवलपर |
| थर्ड पार्टी से लोड होने वाली फ़्रंट-एंड स्क्रिप्ट | ड्रेनर डालने के लिए स्क्रिप्ट बदली जाती है | साइट का हर विज़िटर |
| ब्राउज़र एक्सटेंशन | एक्सटेंशन बेचा या हाईजैक किया जाता है, फिर दुर्भावनापूर्ण कोड के साथ अपडेट किया जाता है | जिन उपयोगकर्ताओं ने एक्सटेंशन इंस्टॉल किया है |
| ऐप अपडेट | अपडेट सर्वर या साइनिंग कुंजियाँ समझौता की जाती हैं | अपडेट इंस्टॉल करने वाले उपयोगकर्ता |
| डेवलपर टूल और AI द्वारा सुझाए गए पैकेज | विश्वसनीय दिखने वाले नकली पैकेज नाम | बिना जाँचे इंस्टॉल करने वाले डेवलपर |
टाइपोस्क्वैटिंग, यानी किसी लोकप्रिय पैकेज के नाम से बहुत मिलते-जुलते नाम वाला पैकेज अपलोड करना, खास तौर पर आम है। जो डेवलपर पैकेज का नाम गलत टाइप कर देता है, वह बिना जाने मैलवेयर इंस्टॉल कर सकता है।
एक काल्पनिक उदाहरण
यह एक उदाहरण के तौर पर बनाया गया मिश्रित परिदृश्य है, कोई असली मामला नहीं। कल्पना करें कि एक छोटा विकेंद्रीकृत एक्सचेंज किसी सार्वजनिक पैकेज रजिस्ट्री से एक लोकप्रिय वॉलेट-कनेक्शन लाइब्रेरी लोड करता है। एक सुबह, लाइब्रेरी का मेंटेनर फ़िशिंग का शिकार हो जाता है और हमलावर एक नया वर्ज़न प्रकाशित कर देता है। एक्सचेंज की वेबसाइट अपने-आप नवीनतम वर्ज़न लोड कर लेती है।
कुछ घंटों तक, वॉलेट कनेक्ट करने वाले हर उपयोगकर्ता को एक सामान्य स्वैप प्रॉम्प्ट जैसा कुछ दिखाई देता है। असल में, यह उनके टोकन को हमलावर के कॉन्ट्रैक्ट के लिए मंज़ूर करने का अनुरोध है। जो उपयोगकर्ता अपने वॉलेट की अनुमति स्क्रीन ध्यान से पढ़ते हैं, उन्हें एक अनजान कॉन्ट्रैक्ट दिखता है और वे रुक जाते हैं। जो बिना पढ़े क्लिक कर देते हैं, वे अपने टोकन खो देते हैं। एक्सचेंज की टीम को समस्या तब पता चलती है जब उपयोगकर्ता नुकसान की शिकायत करते हैं, और वह चेतावनी जारी करती है, लेकिन तब तक कोड हटाया जा चुका होता है।
उपयोगकर्ताओं के लिए चेतावनी के संकेत
- कोई जाना-पहचाना ऐप अचानक सीड फ़्रेज़ या ऐसा “वॉलेट वैलिडेशन” चरण माँगता है जो उसने पहले कभी नहीं माँगा।
- कोई रोज़मर्रा का काम असामान्य वॉलेट प्रॉम्प्ट दिखाता है, जैसे असीमित अनुमति या किसी अनजान कॉन्ट्रैक्ट के लिए सिग्नेचर।
- आपके हार्डवेयर वॉलेट की स्क्रीन पर दिखाया गया पता उस पते से मेल नहीं खाता जो आप चाहते थे।
- कोई ब्राउज़र एक्सटेंशन अपडेट होता है और नई अनुमतियाँ माँगता है, खासकर सभी वेबसाइटों पर डेटा पढ़ने और बदलने की।
- कोई प्रोजेक्ट या सुरक्षा शोधकर्ता किसी साइट या ऐप का इस्तेमाल न करने की तत्काल चेतावनी पोस्ट करते हैं।
इनमें से कई संकेत क्लिपबोर्ड मैलवेयर और नकली वॉलेट ऐप से मिलते हैं, जो इसी तरह की तकनीकें इस्तेमाल करते हैं। यह भी देखें: क्रिप्टो उपयोगकर्ताओं को निशाना बनाने वाले नकली ब्राउज़र अपडेट और कैप्चा मैलवेयर।
खुद को कैसे बचाएँ
उपयोगकर्ता के रूप में
- 1हार्डवेयर वॉलेट इस्तेमाल करें और पुष्टि करने से पहले उसकी स्क्रीन पर पता, राशि और कॉन्ट्रैक्ट पढ़ें।
- 2एक्सटेंशन कम से कम रखें। जो इस्तेमाल नहीं करते उन्हें हटा दें, और जब कोई एक्सटेंशन मालिक बदले या नई अनुमतियाँ माँगे तो सावधान रहें।
- 3फ़ंड अलग रखें। लंबी अवधि की होल्डिंग ऐसे वॉलेट में रखें जो वेबसाइटों से शायद ही कभी कनेक्ट होता हो, और रोज़मर्रा के DeFi के लिए दूसरा वॉलेट इस्तेमाल करें।
- 4सुरक्षा चेतावनी के बाद रुकें। जब तक ऐप पुष्टि न करे कि समस्या ठीक हो गई है, तब तक उसका इस्तेमाल न करें।
- 5गैर-ज़रूरी अनुमतियाँ समय-समय पर रद्द करें।
डेवलपर या प्रोजेक्ट के रूप में
- डिपेंडेंसी वर्ज़न पिन करें और लॉकफ़ाइल इस्तेमाल करें; अपग्रेड करने से पहले बदलावों की समीक्षा करें।
- पैकेज के नाम ध्यान से जाँचें और अच्छी तरह मेंटेन की जाने वाली लाइब्रेरी को प्राथमिकता दें।
- पैकेज रजिस्ट्री और कोड होस्टिंग खातों के लिए मल्टी-फ़ैक्टर ऑथेंटिकेशन अनिवार्य करें।
- साइन किए गए रिलीज़ और जहाँ संभव हो रिप्रोड्यूसिबल बिल्ड इस्तेमाल करें, ताकि उपयोगकर्ता बाइनरी की पुष्टि कर सकें।
- थर्ड-पार्टी स्क्रिप्ट के लिए content security policy और subresource integrity इस्तेमाल करें।
अगर आप प्रभावित हुए हैं तो क्या करें
- 1प्रभावित ऐप या एक्सटेंशन का इस्तेमाल बंद करें और सभी वॉलेट डिस्कनेक्ट करें।
- 2प्रभावित अवधि के दौरान हुई अनुमतियों या ट्रांसफ़र के लिए अपना ट्रांज़ैक्शन इतिहास जाँचें।
- 3किसी भी संदिग्ध अनुमति को रद्द करें, और अगर आपका सीड फ़्रेज़ उजागर हो सकता है तो बचे हुए फ़ंड नए सीड फ़्रेज़ वाले नए वॉलेट में ले जाएँ।
- 4ट्रांज़ैक्शन हैश और पते इकट्ठा करें, फिर प्रोजेक्ट के आधिकारिक चैनलों और हमारे स्कैम रिपोर्ट फ़ॉर्म के ज़रिए घटना की रिपोर्ट करें।
अगर आपका वॉलेट समझौता हो जाए तो तुरंत क्या करें में दी गई पूरी चेकलिस्ट का पालन करें।
निष्कर्ष
सप्लाई चेन हमले भरोसेमंद सॉफ़्टवेयर को चोरी का ज़रिया बना देते हैं, इसलिए आप केवल संदिग्ध लिंक से बचने पर निर्भर नहीं रह सकते। अपने हार्डवेयर वॉलेट की स्क्रीन और वॉलेट प्रॉम्प्ट को अंतिम जाँच मानें, अपने सॉफ़्टवेयर का दायरा छोटा रखें और आधिकारिक सुरक्षा चेतावनियों पर तुरंत प्रतिक्रिया दें। सबसे ज़्यादा ज़िम्मेदारी बिल्डरों की है: जो कुछ भी आप जारी करें, उसे पिन करें, उसकी समीक्षा करें और उस पर साइन करें।
अक्सर पूछे जाने वाले सवाल
क्रिप्टो में सप्लाई चेन हमला क्या है?
यह ऐसा हमला है जिसमें अपराधी सीधे उपयोगकर्ताओं पर हमला करने के बजाय किसी ऐसे सॉफ़्टवेयर को अपने कब्ज़े में ले लेते हैं जिस पर दूसरे प्रोडक्ट निर्भर हैं, जैसे कोड लाइब्रेरी, ब्राउज़र एक्सटेंशन या ऐप अपडेट। जब भरोसेमंद सॉफ़्टवेयर अपडेट होता है, तो दुर्भावनापूर्ण कोड उस पर निर्भर हर ऐप और उपयोगकर्ता तक पहुँच जाता है, अक्सर क्रिप्टो चुराने या पते बदलने के लिए।
क्या सप्लाई चेन हमला हार्डवेयर वॉलेट को प्रभावित कर सकता है?
हार्डवेयर वॉलेट की स्क्रीन इस तरह बनाई गई है कि आपका कंप्यूटर या कोई वेबसाइट समझौता होने पर भी आपकी रक्षा करे, क्योंकि आप असली पता और राशि डिवाइस पर ही पुष्टि करते हैं। फिर भी अगर आप स्क्रीन नहीं पढ़ते, तो हमले आपको किसी दुर्भावनापूर्ण ट्रांज़ैक्शन को मंज़ूरी देने के लिए बहका सकते हैं, इसलिए हमेशा डिवाइस पर ही विवरण जाँचें।
मुझे कैसे पता चलेगा कि मैंने जिस वेबसाइट का इस्तेमाल किया वह प्रभावित हुई थी?
आमतौर पर आपको प्रभावित प्रोजेक्ट की आधिकारिक घोषणाओं या सुरक्षा शोधकर्ताओं से पता चलता है। अगर आपके इस्तेमाल किए गए किसी प्रोजेक्ट ने समझौता की गई लाइब्रेरी या फ़्रंट एंड की सूचना दी है, तो जाँचें कि क्या आपने प्रभावित अवधि में कुछ साइन किया था, अनुमतियाँ रद्द करें और ज़रूरत हो तो फ़ंड नए वॉलेट में ले जाएँ।
क्या ओपन-सोर्स वॉलेट सप्लाई चेन हमलों से सुरक्षित हैं?
ओपन सोर्स मदद करता है क्योंकि ज़्यादा लोग कोड की जाँच कर सकते हैं, लेकिन इससे सॉफ़्टवेयर अभेद्य नहीं हो जाता। दुर्भावनापूर्ण कोड डिपेंडेंसी, समझौता किए गए मेंटेनर खातों या बिल्ड सिस्टम के ज़रिए घुस सकता है। रिप्रोड्यूसिबल बिल्ड, साइन किए गए रिलीज़ और डिपेंडेंसी का सावधानीपूर्ण प्रबंधन जोखिम कम करते हैं।
