भेद्यता से विजय तक: अपनी सीआई/सीडी पाइपलाइन का बचाव

सभी पद

विकास को गति देने के लिए स्वचालित सीआई/सीडी (सतत एकीकरण/निरंतर वितरण) पाइपलाइनों का उपयोग किया जाता है। ऐसे ट्रिगर या शेड्यूलिंग का होना अद्भुत है जो आपका कोड लेते हैं, उसे मर्ज करते हैं, उसका निर्माण करते हैं, उसका परीक्षण करते हैं और उसे स्वचालित रूप से शिप करते हैं। हालाँकि, गति और उपयोग में आसानी के लिए बनाए जाने का मतलब है कि अधिकांश पाइपलाइन स्वाभाविक रूप से सुरक्षा को ध्यान में रखकर नहीं बनाई गई हैं। चूंकि पाइपलाइनों को आम तौर पर निर्भरता डाउनलोड करने के लिए इंटरनेट तक पहुंच की आवश्यकता होती है, और आपके विभिन्न रहस्यों को आपके उत्पादन वातावरण में अपलोड करने के लिए, इसका मतलब है कि एक बार ऐसी पाइपलाइन से समझौता हो जाने पर, हमलावर के पास आपके ऑपरेशन को बाधित करने के लिए विकल्पों की एक विस्तृत श्रृंखला होती है या जानकारी या रहस्यों को बाहर निकालना।

इस आलेख में प्रस्तुत सभी कहानियाँ प्रमुख सीआई/सीडी टूल में उल्लंघनों का वर्णन करती हैं। तथ्य यह है कि अधिकांश कंपनियां ऐसे उपकरणों पर भरोसा करती हैं, इसका मतलब यह है कि, कई अन्य की तरह सॉफ़्टवेयर आपूर्ति श्रृंखला पर हमले, सभी बुरे अभिनेताओं को एक विशाल विस्फोट त्रिज्या प्राप्त करने के लिए एक ही लक्ष्य को भेदने की आवश्यकता होती है।
आइए पिछले कुछ वर्षों की कुछ प्रमुख कहानियों पर एक नज़र डालें जो इस हमले के वेक्टर में निहित कमजोरियों को प्रदर्शित करती हैं। लेख के अंत में, मैं आपकी पाइपलाइनों को सख्त और सुरक्षित करने के लिए अपनी सिफारिशें देना सुनिश्चित करूंगा, चाहे आप किसी भी उपकरण का उपयोग कर रहे हों।

सर्कलसीआई उल्लंघन

जनवरी 2023 में, एक सतत एकीकरण और वितरण मंच, सर्किलसीआई ने एक खुलासा किया सुरक्षा भंग इससे एक हमलावर को कंपनी के बुनियादी ढांचे तक अनधिकृत पहुंच प्राप्त करने की अनुमति मिल गई। यह हमला एक फ़िशिंग ईमेल द्वारा शुरू किया गया था जिसने एक कर्मचारी को अपनी साख साझा करने के लिए धोखा दिया था, जिसका उपयोग हमलावर ने कंपनी के सिस्टम तक पहुंचने के लिए किया था। कर्मचारी 2FA का उपयोग कर रहा था, लेकिन एक बार कर्मचारी द्वारा सिस्टम में लॉग इन कर लेने के बाद हमलावर एक सत्र कुकी को हथियाने में सक्षम था, जिससे उन्हें कर्मचारी का प्रतिरूपण करने और अंततः सर्किलसीआई के उत्पादन प्रणालियों के सबसेट तक पहुंच बढ़ाने की अनुमति मिली।

हमलावर ने नाम, ईमेल पते और बिलिंग जानकारी सहित कुछ ग्राहक डेटा तक पहुंच प्राप्त की। कंपनी ने बताया कि किसी कोड या बौद्धिक संपदा तक पहुंच नहीं बनाई गई और किसी भी ग्राहक ने अपने खातों या डेटा तक किसी अनधिकृत पहुंच की सूचना नहीं दी।

सर्कलसीआई ने उल्लंघन पर तुरंत प्रतिक्रिया दी, जांच की और हमले के दायरे की पहचान करने और उन कमजोरियों को दूर करने के लिए कानून प्रवर्तन और साइबर सुरक्षा विशेषज्ञों के साथ काम किया, जिनके कारण ऐसा हुआ। कंपनी ने सभी कर्मचारियों और ग्राहकों के क्रेडेंशियल्स को भी रीसेट कर दिया और अपने सिस्टम की निगरानी बढ़ाने जैसे अतिरिक्त सुरक्षा उपाय लागू किए।

DevOps बाधित: आर्गो सीडी सुरक्षा उल्लंघन

कुबेरनेट्स क्लस्टर में अनुप्रयोगों की निरंतर तैनाती के लिए अर्गो सीडी एक लोकप्रिय ओपन-सोर्स टूल है। फरवरी 2022 में, ए अर्गो सीडी में नई भेद्यता की खोज की गई इसने अप्रामाणिक उपयोगकर्ताओं को टूल द्वारा प्रबंधित कुबेरनेट्स अनुप्रयोगों के बारे में संवेदनशील जानकारी तक पहुंचने की अनुमति दी। यह भेद्यता अर्गो सीडी के एपीआई सर्वर में गलत कॉन्फ़िगरेशन के कारण हुई थी, जिसने अनधिकृत उपयोगकर्ताओं को एपीआई के लिए अनुरोध निष्पादित करने और रहस्य, कॉन्फ़िगरेशन और एप्लिकेशन मेटाडेटा जैसी जानकारी पुनर्प्राप्त करने की अनुमति दी थी। जब तक हमलावर के पास एप्लिकेशन बनाने या अपडेट करने की अनुमति थी और वह वैध YAML वाली फ़ाइल का पूरा पथ जानता था या अनुमान लगा सकता था, तब तक वे एक दुर्भावनापूर्ण हेल्म चार्ट बना सकते थे और YAML फ़ाइलों को मान के रूप में उपभोग करते रह सकते थे जब तक कि उन्हें डेटा का एक रसदार टुकड़ा नहीं मिल जाता। सामान्यतः पहुंच योग्य नहीं होगा.

भेद्यता को 7.5 (उच्च गंभीरता) का सीवीएसएस स्कोर सौंपा गया था और संस्करण 2.1.4 सहित अर्गो सीडी के सभी संस्करणों को प्रभावित किया था। अर्गो सीडी ने संस्करण 2.1.5 में भेद्यता के लिए एक पैच जारी किया, और उपयोगकर्ताओं को जल्द से जल्द इस संस्करण में अपग्रेड करने की सलाह दी गई।

भेद्यता को विशेष रूप से चिंताजनक माना गया क्योंकि अर्गो सीडी का उपयोग अक्सर उत्पादन वातावरण में महत्वपूर्ण अनुप्रयोगों और बुनियादी ढांचे के प्रबंधन के लिए किया जाता है। संवेदनशील जानकारी के लीक होने से हमलावर को संवेदनशील डेटा तक पहुंच प्राप्त करने या अन्य दुर्भावनापूर्ण कार्रवाई करने की अनुमति मिल सकती है जो अनुप्रयोगों की उपलब्धता या सुरक्षा को प्रभावित कर सकती है।

कोडकोव उल्लंघन को उजागर करना: सीखे गए सबक

कोडकोव एक कोड कवरेज ट्रैकिंग और विश्लेषण उपकरण है जिसका उपयोग सीआई/सीडी पाइपलाइनों के अंदर किया जाता है जो डेवलपर्स को अपने परीक्षणों की प्रभावशीलता को मापने और विश्लेषण करने की अनुमति देता है। जैसा कि कोडकोव में प्रकाशित हुआ है सुरक्षा अद्यतन

“गुरुवार, 1 अप्रैल, 2021 को, हमें पता चला कि किसी ने हमारे पास अनधिकृत पहुंच प्राप्त कर ली है बैश अपलोडर स्क्रिप्ट और हमारी अनुमति के बिना इसे संशोधित किया। कोडकोव की डॉकर छवि निर्माण प्रक्रिया में एक त्रुटि के कारण अभिनेता को पहुंच प्राप्त हुई, जिसने अभिनेता को हमारी बैश अपलोडर स्क्रिप्ट को संशोधित करने के लिए आवश्यक क्रेडेंशियल निकालने की अनुमति दी।

बैश अपलोडर का उपयोग ग्राहकों द्वारा कोडकोव प्लेटफॉर्म पर अपनी कोड कवरेज रिपोर्ट अपलोड करने के लिए किया जाता है। इस पहुंच के साथ, हमलावर ने अपलोड प्रक्रिया के दौरान उपयोगकर्ता के सिस्टम से पर्यावरण चर, प्रमाणीकरण टोकन और अन्य संवेदनशील डेटा एकत्र करने वाले दुर्भावनापूर्ण कोड को जोड़कर बैश अपलोडर स्क्रिप्ट को संशोधित किया। फिर यह डेटा हमलावर द्वारा नियंत्रित रिमोट सर्वर पर भेजा गया था।

कोडकोव के अनुसार, उल्लंघन ने उसके ग्राहक आधार के लगभग 1% को प्रभावित किया, जिसमें प्रौद्योगिकी, वित्त और स्वास्थ्य सेवा उद्योगों की प्रमुख कंपनियां शामिल थीं। कंपनी ने पुष्टि की कि उल्लंघन के दौरान कोई ग्राहक कोड या कोड कवरेज रिपोर्ट नहीं बदली गई, लेकिन उपयोगकर्ता प्रमाणीकरण टोकन और अन्य संवेदनशील जानकारी से समझौता किया गया हो सकता है।

कोडकोव ने दुर्भावनापूर्ण कोड को हटाने के लिए तत्काल कार्रवाई की और प्रभावित ग्राहकों को अपने प्रमाणीकरण टोकन रीसेट करने और अन्य सुरक्षा उपाय करने के लिए सचेत किया। कंपनी ने घटना की जांच भी शुरू की और हमले के स्रोत की पहचान करने के लिए कानून प्रवर्तन और साइबर सुरक्षा विशेषज्ञों के साथ काम किया।

आप अपनी पाइपलाइन का बचाव कैसे कर सकते हैं?

पाइपलाइन को दर्शाती एक छवि

डेटा सेंटर भवन में कूलिंग टावरों के सेट।

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

  • मॉडलिंग की धमकी - खतरा मॉडलिंग किसी सिस्टम या एप्लिकेशन के लिए संभावित सुरक्षा खतरों की पहचान करने और उन खतरों को कम करने के लिए उचित जवाबी उपाय तैयार करने का एक संरचित दृष्टिकोण है। एक अभ्यास के रूप में, कल्पना करें कि किसी ने आपकी पाइपलाइन तक पहुंच प्राप्त कर ली है। अब वे किस परिवेश तक पहुंच सकते हैं? वे कौन से रहस्य और कुंजियाँ देख और उपयोग कर सकते हैं? क्या वे आपका कोड संशोधित कर सकते हैं? प्रभाव परीक्षण? वेब से फ़ाइलें खींचें या रिवर्स शेल चलाएँ? यहां तक ​​कि अगर आपको लगता है कि आपने अपनी पाइपलाइन को साफ कर लिया है और नेटवर्क पहुंच को उचित रूप से विभाजित कर दिया है, तो कल्पना करने और फिर जांच करने में कोई हर्ज नहीं है, ताकि आप सबसे खराब स्थिति से अवगत हो सकें। आप आश्चर्यचकित हो सकते हैं कि आपके पाइपलाइन प्लेटफ़ॉर्म या टूलींग के अंदर कौन से रहस्य और पहुंच विकल्प स्पष्ट रूप से छिपे हुए हैं।
  • नेटवर्क विभाजन - नेटवर्क विभाजन एक बड़े नेटवर्क को छोटे, अधिक सुरक्षित उपनेटवर्क या खंडों में विभाजित करने की प्रथा है, जिनमें से प्रत्येक का अपना सुरक्षा नियंत्रण और नीतियां होती हैं। नेटवर्क विभाजन का उद्देश्य संभावित सुरक्षा उल्लंघन के दायरे को सीमित करके और किसी हमले के संभावित प्रभाव को कम करके समग्र नेटवर्क की सुरक्षा बढ़ाना है। किसी नेटवर्क को छोटे खंडों में तोड़ने से हमलावरों की पार्श्व गति सीमित हो जाती है, और अनधिकृत पहुंच या डेटा रिसाव का जोखिम कम हो जाता है।
    फ़िशिंग हमलों की बढ़ती लोकप्रियता के साथ, आपका कोई भी डेवलपर या अन्य कर्मचारी इस तरह के घोटाले का शिकार हो सकता है - हम सभी इंसान हैं। यह मानते हुए कि आपके डेवलपर्स के क्रेडेंशियल्स का उपयोग दुर्भावनापूर्ण अभिनेताओं द्वारा किया जा सकता है, इसका मतलब है कि आपको यह सुनिश्चित करने की ज़रूरत है कि अधिकांश डेवलपर्स के पास उस तरह की पहुंच नहीं होनी चाहिए जो उन्हें अकेले ही रहस्यों को बाहर निकालने, उत्पादन छवि में दुर्भावनापूर्ण कोड को प्रत्यारोपित करने की अनुमति दे। या बस निर्विरोध उत्पादन कोड के अपने स्वयं के संस्करण को आगे बढ़ाएं। यह सुनिश्चित करना कि प्रत्येक व्यक्ति के पास अपने काम के लिए आवश्यक कम से कम पहुंच हो, समय लेने वाला है, और हर किसी को केवल व्यवस्थापक पहुंच देने और इसके साथ काम करने का प्रलोभन प्रबल है। अंधेरे पक्ष के प्रलोभन में न पड़ें - शून्य विश्वास और न्यूनतम विशेषाधिकार के नियमों का पालन करें।
  • निगरानी एवं सचेत करना - अंतिम बिंदु के बाद, भले ही आपने अपने डेवलपर्स को फ़िशिंग और अन्य सोशल इंजीनियरिंग घोटालों से थकने के लिए पूरी तरह से तैयार कर लिया हो, फिर भी उल्लंघन हो सकता है। आप नहीं जानते कि कब या कैसे लेकिन आपको कम से कम इसके बारे में पता लगाने के लिए तैयार रहना चाहिए। चूँकि अधिकांश पाइपलाइन वातावरण अल्पकालिक होते हैं, इसका मतलब है कि एक बार काम पूरा हो जाने के बाद, क्या हुआ इसका कोई सबूत नहीं मिलता जब तक कि आप स्वयं ऐसे निशान नहीं बनाते।
    प्रत्येक पीआर, मर्ज, निर्माण और परीक्षण पर अपनी पाइपलाइनों में होने वाली हर चीज को लॉग करना सुनिश्चित करें। सुनिश्चित करें कि उपयोगकर्ताओं की जानकारी भी लॉग की गई है, ताकि यदि किसी समस्या के लिए ऐसी जांच की आवश्यकता हो तो उसकी समीक्षा की जा सके। कॉन्फ़िगरेशन फ़ाइलों या परिवेश में कोई भी परिवर्तन भी लॉग किया जाना चाहिए। यहां लक्ष्य उल्लंघन का स्पष्ट पोस्टमार्टम करने में सक्षम होना है ताकि यह बताया जा सके कि क्या हुआ और कैसे हुआ। पहले से निर्धारित करें कि किन घटनाओं के लिए अलर्ट की आवश्यकता होनी चाहिए और सुनिश्चित करें कि सही लोगों को वह अलर्ट मिले। सावधान रहें कि लोगों को बेकार या झूठी चेतावनियाँ न दें - इससे सतर्क थकान पैदा होगी जिसके कारण वे चेतावनियों को अनदेखा कर देंगे या सलाह से बहुत देर से प्रतिक्रिया देंगे। जाहिर है, इनमें से किसी भी लॉग में कोई खुला रहस्य या कुंजी नहीं होनी चाहिए - जो अगले बुलेट बिंदु की ओर ले जाती है:
  • रहस्य प्रबंधन – सुनिश्चित करें कि आप किसी प्रकार के रहस्य प्रबंधन उपकरण का उपयोग कर रहे हैं। यदि कोई उल्लंघन होता है तो कम से कम इससे आपके रहस्यों और पासवर्डों को घुमाना आसान हो जाएगा। इसे सिस्टम पर की गई किसी भी लॉगिंग से पाइपलाइन में पाए जाने वाले खुले रहस्यों और एक्सेस कुंजियों को संशोधित करने का काम भी करना चाहिए। किसी भी बिंदु पर किसी भी अनधिकृत व्यक्ति की ऐसी जानकारी तक पहुंच नहीं होनी चाहिए और वे निश्चित रूप से इसे बदलने में सक्षम नहीं होने चाहिए।
    रहस्य प्रबंधन तेजी से महत्वपूर्ण होता जा रहा है क्योंकि संगठन तेजी से क्लाउड-आधारित सेवाओं, कंटेनरीकृत अनुप्रयोगों और अन्य वितरित वातावरणों पर भरोसा कर रहे हैं जिनके लिए विभिन्न प्रणालियों और अनुप्रयोगों में रहस्यों के सुरक्षित साझाकरण और प्रबंधन की आवश्यकता होती है।
  • न्यूनतम विशेषाधिकार के साथ संयुक्त रूप से आरबीएसी सिद्धांत का उपयोग करें - भूमिका-आधारित पहुंच नियंत्रण (आरबीएसी) का सिद्धांत किसी संगठन के भीतर उपयोगकर्ता की निर्दिष्ट भूमिका या कार्य फ़ंक्शन के आधार पर सिस्टम संसाधनों तक पहुंच प्रदान करना है। आरबीएसी में, उपयोगकर्ताओं को ऐसी भूमिकाएँ सौंपी जाती हैं जो विभिन्न सिस्टम संसाधनों, जैसे फ़ाइलों, फ़ोल्डरों या एप्लिकेशन तक उनके पास मौजूद अनुमतियों और पहुंच अधिकारों को परिभाषित करती हैं। दूसरी ओर, न्यूनतम विशेषाधिकार का सिद्धांत, उपयोगकर्ताओं को उनके कार्य करने के लिए आवश्यक न्यूनतम स्तर की पहुंच और विशेषाधिकार प्रदान करने की प्रथा है। इसका मतलब यह है कि उपयोगकर्ताओं के पास केवल उन संसाधनों तक पहुंच है जिनकी उन्हें अपने विशिष्ट कार्यों को करने के लिए आवश्यकता है, और नहीं। आरबीएसी और लीस्ट प्रिविलेज को अक्सर पूरक सुरक्षा सिद्धांतों के रूप में एक साथ उपयोग किया जाता है। आरबीएसी में, उपयोगकर्ताओं को ऐसी भूमिकाएँ सौंपी जाती हैं जिनके पास अपने कार्य कार्यों को करने के लिए आवश्यक संसाधनों तक उचित स्तर की पहुँच होती है, और न्यूनतम विशेषाधिकार का सिद्धांत यह सुनिश्चित करता है कि उपयोगकर्ताओं के पास अपने विशिष्ट कार्यों को करने के लिए आवश्यक न्यूनतम स्तर के संसाधनों तक ही पहुँच हो। साथ में, ये सिद्धांत अनधिकृत पहुंच या डेटा उल्लंघनों के न्यूनतम जोखिम के साथ एक सुरक्षित और अच्छी तरह से प्रबंधित प्रणाली बनाए रखने में मदद करते हैं। सुरक्षा के एक अतिरिक्त हिस्से के रूप में, आप इसे सेट कर सकते हैं ताकि सिस्टम में महत्वपूर्ण कार्यों के लिए कई उपयोगकर्ता प्राधिकरणों की आवश्यकता हो। इस दृष्टिकोण को सावधानी से लिया जाना चाहिए क्योंकि इसमें विकास कार्य को काफी धीमा करने की क्षमता है। हालाँकि, महत्वपूर्ण अपडेट के लिए, जैसे कि मुख्य शाखा को हटाना या निर्भरता सूची को संशोधित करना, आपको इसे ऐसा बनाना चाहिए ताकि उचित पहुंच वाले कम से कम दो लोगों को इसे अनुमोदित करने की आवश्यकता हो।

आशा करना

कोई भी अपने काम में तेजी लाने के लिए सीआई/सीडी और अन्य स्वचालन उपकरणों का उपयोग बंद नहीं करेगा। हम एक ऐसी दुनिया में रहते हैं जहां हम लगातार तेज़ और तेज़ कोड अपडेट के लिए प्रयास करते हैं। हमें बस यह सुनिश्चित करने की ज़रूरत है कि हम इसे सुरक्षा-जागरूक तरीके से करें और रास्ते में अपने कोड और उत्पादन वातावरण से समझौता न करें।

सबसे महत्वपूर्ण चीजों में से एक जो आप कर सकते हैं वह यह है कि अगर अनधिकृत लोग पहुंच प्राप्त कर लें तो क्या हो सकता है, इस पर थोड़ा विचार करें। एक बार जब आप खतरे और अपनी पाइपलाइनों और नेटवर्क में असुरक्षित स्थानों के बारे में जागरूक हो जाते हैं, तो मुझे विश्वास है कि आप संभावित रिसाव को रोकने के लिए सही कदम उठा पाएंगे।

स्क्रिब एक सॉफ्टवेयर आपूर्ति श्रृंखला सुरक्षा कंपनी है जिसका प्लेटफ़ॉर्म आपकी विकास प्रक्रिया और पाइपलाइन में होने वाली पारदर्शिता की पेशकश करने के लिए डिज़ाइन किया गया है। इस बारे में अधिक जानने के लिए कि स्क्राइब आपकी पाइपलाइनों को सुरक्षित करने में कैसे मदद कर सकता है हमसे संपर्क करें.

यह सामग्री आपके लिए स्क्राइब सिक्योरिटी द्वारा लाई गई है, जो एक अग्रणी एंड-टू-एंड सॉफ्टवेयर आपूर्ति श्रृंखला सुरक्षा समाधान प्रदाता है - जो संपूर्ण सॉफ्टवेयर आपूर्ति श्रृंखलाओं में कोड कलाकृतियों और कोड विकास और वितरण प्रक्रियाओं के लिए अत्याधुनिक सुरक्षा प्रदान करता है। और अधिक जानें.