प्रौद्योगिकी

एक ज़हरीले VS Code एक्सटेंशन ने GitHub के 3,800 आंतरिक रिपॉज़िटरी चुरा लिए

Susan Hill

GitHub अपनी आंतरिक रिपॉज़िटरी तक अनधिकृत पहुँच की जाँच कर रहा है और उसने पुष्टि की है कि एक हमलावर लगभग 3,800 रिपॉज़िटरी से डेटा बाहर निकालने में सफल रहा। यह घुसपैठ Visual Studio Code के एक ज़हरीले एक्सटेंशन के ज़रिए हुई, जिसे एक कर्मचारी ने इंस्टॉल किया था, और जिसने हमलावर को उस मशीन तक और वहाँ से उस आंतरिक कोड तक पहुँच दे दी जो कंपनी की अपनी दीवारों के पीछे रहना चाहिए।

GitHub जिस सीमा की ओर इशारा कर रहा है, वह आंतरिक रिपॉज़िटरी और ग्राहक-मुखी प्लेटफ़ॉर्म के बीच की रेखा है। यही एकमात्र चीज़ है जो इस मामले को नियंत्रित घटना और वैश्विक सप्लाई-चेन आपात स्थिति के बीच में खड़ी है। GitHub पर लगभग 10 करोड़ डेवलपर्स बैठते हैं और आधुनिक इंटरनेट जिस ओपन-सोर्स कोड पर टिका है, उसका एक बड़ा हिस्सा यहीं रहता है। जब कंपनी “आंतरिक” कहती है, तो उसका मतलब अपनी ही प्लेटफ़ॉर्म-कोड, अपने उपकरण, अपनी ऑपरेशनल कॉन्फ़िगरेशन, यानी वह सामग्री जिससे GitHub ख़ुद बनता और चलता है। ग्राहक संगठन, उद्यम और ग्राहक GitHub पर जो सार्वजनिक तथा निजी रिपॉज़िटरी रखते हैं, वे कंपनी के अनुसार इस घुसपैठ के असर के दायरे से बाहर हैं।

यह अंतर कंपनी द्वारा अपने आधिकारिक X खाते पर पोस्ट किए गए वक्तव्य में काफ़ी काम कर रहा है। “हालाँकि अभी तक हमें GitHub की आंतरिक रिपॉज़िटरी के बाहर संग्रहीत ग्राहक जानकारी पर असर का कोई सबूत नहीं मिला है”, वक्तव्य कहता है, “हम किसी आगामी गतिविधि के लिए अपने इन्फ़्रास्ट्रक्चर पर बारीकी से नज़र रख रहे हैं”। यह शब्द-विन्यास सटीक है, और किसी सेंध की सूचना में सटीकता का आम तौर पर मतलब होता है कि जाँच अभी आगे बढ़ रही है। “असर का कोई सबूत नहीं” कहना “कोई असर नहीं” कहने जैसा नहीं है। बड़े प्लेटफ़ॉर्म पर हुई घटनाओं की आदत है कि जैसे-जैसे फ़ोरेंसिक हमलावर की गतिविधि तक पहुँचती है, मामले का आकार बढ़ता जाता है। आंतरिक और ग्राहक-मुखी सिस्टम के बीच की रेखा शायद ही कभी एक साफ़ भौतिक दीवार होती है। यह तो एक्सेस कंट्रोल, क्रेडेंशियल और सर्विस अकाउंट का एक पूरा सेट है, जिसे एक-एक करके सोचना पड़ता है।

इस कहानी का जो हिस्सा हर डेवलपर को परेशान करना चाहिए, वह है तरीक़ा। Visual Studio Code इस ग्रह का सबसे लोकप्रिय कोड एडिटर है, जो लगभग हर बड़े इंजीनियरिंग संगठन में इस्तेमाल हो रहा है। इसका एक्सटेंशन मार्केटप्लेस सामुदायिक भरोसे पर चलता है: कोई भी प्रकाशित कर सकता है, और अधिकांश इंजीनियर प्लग-इन उतनी ही लापरवाही से लगाते हैं जितनी लापरवाही से ब्राउज़र में बुकमार्क जोड़ते हैं। उस चैनल से आया ज़हरीला एक्सटेंशन एक डेवलपर की मशीन पर चलता है, तो हमलावर को उस डेवलपर के सेशन की पहुँच में आने वाली हर चीज़ मिल जाती है: रिपॉज़िटरी, टोकन, पैकेज रजिस्ट्री, आंतरिक सेवाएँ। इस मामले में जिस एक्सटेंशन का इस्तेमाल हुआ, उसका विशिष्ट नाम अब तक सार्वजनिक नहीं किया गया, लेकिन यह पैटर्न नया नहीं है। डेवलपर टूलिंग के लोकप्रिय एक्सटेंशन Nx Console में भी ऐसी ही समझौतेबाज़ी हुई थी।

ख़ुद को TeamPCP कहने वाले समूह ने इस घुसपैठ की ज़िम्मेदारी ली है और भूमिगत फ़ोरमों पर डेटासेट को कम-से-कम पचास हज़ार डॉलर के दाम पर बेचने के लिए डाला है। समूह का यह कहना कि “यह कोई फिरौती नहीं है” अपने आप में एक संकेत है। वे सीधे-सीधे GitHub से जबरन वसूली नहीं कर रहे। वे चुराए गए आंतरिक स्रोत-कोड को उसी तरह बरत रहे हैं जैसे दूसरे अपराधी क्रेडिट-कार्ड डंप बरतते हैं: ख़रीदारों वाली एक वस्तु। जिसके पास भी आख़िर में 3,800 रिपॉज़िटरी का वह संग्रह पहुँचेगा, वह उसमें घुसे हुए क्रेडेंशियल, कोड में पक्की लिखी हुई कुंजियाँ, GitHub के अपने इन्फ़्रास्ट्रक्चर पर हमले के काम आने वाले विवरण और किसी भी अनुगामी लक्ष्य को निशाना बनाने में काम आने वाली हर चीज़ खंगालेगा। इसी समूह को PyPI पर durabletask पैकेज को मारने वाले Mini Shai-Hulud वर्म से भी जोड़ा जा रहा है, जो इस कहानी की असली पृष्ठभूमि को रेखांकित करता है: सॉफ़्टवेयर डेवलपमेंट की सप्लाई-चेन पर होने वाले हमले अब सिद्धांत के परिदृश्य से निकलकर रोज़मर्रा का धंधा बन चुके हैं।

GitHub का खुद का बयान कहता है कि उसकी कन्टेन्मेंट प्रतिक्रिया तेज़ थी। समझौताग्रस्त डिवाइस को अलग कर दिया गया। दुर्भावनापूर्ण एक्सटेंशन हटा दिया गया। कंपनी का कहना है कि उसने महत्त्वपूर्ण रहस्यों को घुमाया है और जिन क्रेडेंशियल का असर सबसे ज़्यादा हो सकता है उन्हें प्राथमिकता दी है; अगर जाँच का दायरा बढ़ता है तो प्रभावित ग्राहकों को अपने स्थापित घटना-प्रतिक्रिया चैनलों के ज़रिए सूचित करेगी। Microsoft की इस सहायक कंपनी ने न तो उस GitHub कर्मचारी का नाम बताया जिसकी मशीन से समझौता हुआ, न उस एक्सटेंशन का नाम बताया, और न ही यह बताया कि पकड़े जाने से पहले हमलावर के पास कितनी देर तक पहुँच रही। ये विवरण आम तौर पर पहली सूचना के हफ़्तों बाद आने वाली लंबी पोस्ट-इन्सिडेंट रिपोर्ट में सामने आते हैं।

बाक़ी उद्योग के लिए व्यावहारिक सीख ख़तरा-ख़ुफ़िया के पैकेजिंग से कहीं ज़्यादा सरल है। हर इंजीनियरिंग संगठन एक लापरवाह एक्सटेंशन इंस्टॉल भर की दूरी पर है इसी घटना से। जिसने भी कभी किसी फ़ोरम-थ्रेड में सुझाया गया कोई VS Code एक्सटेंशन लगाया है, उसने वही जोखिम उठाया है जो GitHub के एक कर्मचारी पर गिरा। जो बचाव काम करते हैं वे जाने-पहचाने हैं और असमान रूप से लागू होते हैं: एक्सटेंशन इंस्टॉलेशन को एक जाँची गई अनुमति-सूची तक सीमित करना, डेवलपर वर्कस्टेशन को प्रोडक्शन क्रेडेंशियल से अलग रखना, रहस्यों को तेज़ ताल में बदलते रहना। यह सेंध उन कंपनियों की प्राथमिकता-सूची में इन उपायों को ऊपर धकेलने जा रही है, जो अब तक टालती आ रही थीं।

GitHub ने पूरी सार्वजनिक पोस्ट-मॉर्टम रिपोर्ट के लिए कोई समय-सीमा नहीं दी है। इस आकार की जाँच इस पैमाने के प्लेटफ़ॉर्म पर अमूमन अपना पूरा दायरा सामने लाने में कई हफ़्ते लेती है, और अद्यतन कंपनी के आधिकारिक चैनलों से धीरे-धीरे आते रहेंगे। अगला देखने वाला बिंदु यह है कि क्या 3,800 रिपॉज़िटरी का वह आर्काइव सचमुच बिक्री पर दिखाई देता है, और भूमिगत बाज़ार को इंडेक्स देखने के कुछ दिन मिलने के बाद उसकी न्यूनतम क़ीमत किस दिशा में खिसकती है।

चर्चा

0 टिप्पणियाँ हैं।