Beyond Takedown: Measuring Malicious Go Module Persistence in the Wild
यह शोध पत्र एक बड़े पैमाने के गो (Go) सप्लाई चेन हमले का खुलासा करता है जहाँ हमलावर वैध मॉड्यूल्स को अस्पष्ट मालवेयर (obfuscated malware) के साथ पुनर्गठित करते हैं, जो यह प्रदर्शित करता है कि केवल गिटहब (GitHub) खोजों पर निर्भर रहना समझौते के पूर्ण दायरे का पता लगाने में विफल रहता है क्योंकि हटाए गए 99% से अधिक दुर्भावनापूर्ण आर्टिफैक्ट्स गो प्रॉक्सीज़ (Go proxies) के माध्यम से प्राप्त करने योग्य बने रहते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
सॉफ्टवेयर डेवलपमेंट की दुनिया की कल्पना एक विशाल, हलचल भरी लाइब्रेरी के रूप में करें जहाँ प्रोग्रामर अपने स्वयं के एप्लिकेशन बनाने के लिए "मॉड्यूल्स" (पहले से लिखे गए कोड ब्लॉक्स) उधार लेते हैं। Go प्रोग्रामिंग भाषा में, इस लाइब्रेरी का एक बहुत ही सख्त लाइब्रेरियन है: Go Proxy।
यहाँ इस लाइब्रेरी में हुई एक हालिया चोरी की कहानी है, जिसे सरल शब्दों में बताया गया है।
डकैती: "द फेक बुक क्लब"
हमलावरों ने लाइब्रेरी से चोरी करने का फैसला किया, लेकिन उन्होंने दरवाजे नहीं तोड़े। इसके बजाय, उन्होंने भेष बदलने (इम्पर्सनेशनेशन) का खेल खेला।
- तैयारी: उन्होंने उन लोकप्रिय, वैध किताबों (वैध कोड मॉड्यूल्स) को ढूँढा जिन्हें हर कोई भरोसेमंद मानता था।
- जालसाजी: उन्होंने अपने नामों से उन असली किताबों की नकली प्रतियां बनाईं। इन नकली किताबों के अंदर, उन्होंने एक छोटा सा, अदृश्य जाल छिपा दिया।
- जाल: Go की दुनिया में, जब आप एक किताब "इंपोर्ट" (उधार) करते हैं, तो लाइब्रेरी स्वचालित रूप से कुछ सेटअप कार्य चलाती है। हमलावरों ने इन सेटअप कार्यों के भीतर एक दुर्भावनापूर्ण निर्देश छिपा दिया था। यह एक ऐसी किताब की तरह था जो, जैसे ही आप उसे खोलते हैं, आपके कंप्यूटर को वायरस डाउनलोड और चलाने का गुप्त आदेश देती है।
- हाइप (चर्चा): अपनी नकली किताबों को असली दिखाने के लिए, हमलावरों ने GitHub पर उन्हें हजारों "स्टार्स" (लाइक्स) देने के लिए एक "बॉट आर्मी" का उपयोग किया, जिससे डेवलपर्स को यह विश्वास दिलाने में मदद मिली कि, "ओह, यह तो बहुत लोकप्रिय और सुरक्षित है।"
जांच: देखने के दो तरीके
शोधकर्ताओं (मिन्जे बे और कार्टर यागेमन) ने यह देखना चाहा कि यह समस्या वास्तव में कितनी बड़ी है। उन्होंने चोरों को खोजने के लिए दो अलग-अलग टॉर्चों का उपयोग किया।
टॉर्च 1: GitHub सर्च (द "शेल्फ" व्यू - शेल्फ का दृश्य)
उन्होंने मुख्य होस्टिंग साइट (GitHub) पर मैन्युअल रूप से खोज की, संदिग्ध पैटर्न को देखा और खातों के बीच "स्टार" कनेक्शन का पीछा किया।
- उन्होंने क्या पाया: उन्हें 2,113 नकली रिपॉजिटरी मिलीं।
- समस्या: यह टॉर्च तभी काम करती है जब नकली किताब अभी भी शेल्फ पर रखी हो। यदि लाइब्रेरी का स्टाफ उस किताब को हटा देता है, या यदि चोर ने उसे मुख्य शेल्फ पर रखा ही नहीं था, तो यह टॉर्च कुछ भी नहीं देख पाती।
टॉर्च 2: द प्रॉक्सी स्कैन (द "सर्कुलेशन" व्यू - सर्कुलेशन का दृश्य)
उन्होंने GOAST नामक एक विशेष स्कैनर बनाया (एक रोबोट जो कोड को चलाए बिना पढ़ सकता है) ताकि Go Proxy को स्कैन किया जा सके। यह लाइब्रेरी का बैकअप सिस्टम है। यह हर उस किताब की एक सटीक, अपरिवर्तनीय प्रति रखता है जिसे कभी भी उधार लिया गया है, भले ही मूल किताब शेल्फ से हटा दी गई हो।
- उन्होंने क्या पाया: उन्हें 2,289 दुर्भावनापूर्ण संस्करण मिले।
- आश्चर्य: प्रॉक्सी टॉर्च ने GitHub टॉर्च की तुलना में 83% अधिक दुर्भावनापूर्ण किताबें पाईं। कई ये नकली किताबें मुख्य शेल्फ पर भी नहीं थीं, या उन्हें पहले ही हटा दिया गया था, लेकिन प्रॉक्सी के पास अभी भी वे मौजूद थीं।
बड़ी खोज: "टेकडाउन" का मतलब "ठीक करना" नहीं है
यह इस कहानी का सबसे महत्वपूर्ण हिस्सा है।
आमतौर पर, जब सुरक्षा टीमें एक खराब किताब पाती हैं, तो वे लाइब्रेरी से उसे टेक डाउन (हटाने) के लिए कहती हैं। वे GitHub पर रिपॉजिटरी को हटा देती हैं। वे सोचती हैं, "बहुत बढ़िया, खतरा टल गया।"
शोधकर्ताओं ने साबित कर दिया कि यह गलत है।
क्योंकि Go Proxy हर मॉड्यूल की एक स्थायी, अपरिवर्तनीय प्रति रखता है, GitHub पर स्रोत (source) को डिलीट करने से इकोसिस्टम से वायरस डिलीट नहीं होता है।
- शोधकर्ताओं ने पाया कि हमलावरों की रिपॉजिटरीज़ को डिलीट या सस्पेंड (जिससे वे GitHub पर "अदृश्य" हो गईं) करने के बाद भी, उन दुर्भावनापूर्ण मॉड्यूल्स में से 99.4% अभी भी Go Proxy के माध्यम से उपलब्ध और डाउनलोड करने योग्य थे।
- यह लाइब्रेरी के स्टाफ द्वारा एक नकली किताब को कचरे में फेंकने जैसा है, लेकिन लाइब्रेरी का स्वचालित डिलीवरी ड्रोन (प्रॉक्सी) अभी भी अपने गोदाम में उसकी एक सटीक प्रति रखता है और ग्राहकों द्वारा मांगे जाने पर उसे डिलीवर करता रहता है।
परिणाम
शोधकर्ताओं ने लाइब्रेरी स्टाफ (GitHub और Google) को समस्या के बारे में बताया।
- GitHub ने 684 दुर्भावनापूर्ण रिपॉजिटरीज़ को हटाया।
- Google (प्रॉक्सी टीम) ने अपने स्थायी स्टोरेज से 1,377 दुर्भावनापूर्ण मॉड्यूल वर्ज़न को साफ किया।
सबक
आप केवल "होस्टिंग" लेयर (GitHub) को साफ करके सॉफ्टवेयर सप्लाई चेन की समस्या को ठीक नहीं कर सकते। यदि "डिस्ट्रीब्यूशन" लेयर (प्रॉक्सी) खराब कोड को रखता है, तो खतरा बना रहता है। समस्या को वास्तव में ठीक करने के लिए, आपको शेल्फ और गोदाम दोनों को साफ करना होगा।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।