पांच डेवलपर्स से पूछें कि डिपेंडेंसी फ़ायरवॉल क्या है, तो आपको संभवतः पांच अलग-अलग आधे-अधूरे जवाब मिलेंगे, आमतौर पर कुछ अस्पष्ट जैसे कि "खराब पैकेजों को ब्लॉक करना"।cisई संस्करण: यह एक सुरक्षा नियंत्रण है जो डेवलपर (या बिल्ड सिस्टम) और सार्वजनिक पैकेज रजिस्ट्री के बीच स्थित होता है। प्रत्येक निर्भरता का निरीक्षण करना डाउनलोड या इंस्टॉल करने की अनुमति देने से पहले ही इसे ब्लॉक कर देना, और यदि यह दुर्भावनापूर्ण, असुरक्षित या नीति का उल्लंघन करने वाला हो तो इसे स्वचालित रूप से रोक देना। यही डिपेंडेंसी फ़ायरवॉल का व्यावहारिक अर्थ है: यह कोई स्कैनर नहीं है जो समस्या होने के बाद उसकी रिपोर्ट करता है, बल्कि यह एक ऐसा द्वार है जो किसी भी खराब पैकेज को डिस्क तक पहुँचने से रोकता है।
डिपेंडेंसी फ़ायरवॉल शब्द का अर्थ समझना #
नाम जितना पहली बार में लगता है उससे कहीं अधिक शाब्दिक है, और इसे विस्तार से समझने पर डिपेंडेंसी फ़ायरवॉल क्या है, इस बारे में अधिकांश भ्रम दूर हो जाता है:
निर्भरता: कोई भी बाहरी पैकेज, लाइब्रेरी या मॉड्यूल जिसे आपका कोड npm से प्राप्त करता है, PyPI, Maven, NuGet, रूबीजम्सऔर इसी तरह के रजिस्टर।
फ़ायरवॉल: यह नेटवर्क सुरक्षा से लिया गया है, जहां फ़ायरवॉल ट्रैफ़िक की जांच करता है और जो ट्रैफ़िक पास नहीं होना चाहिए उसे ब्लॉक कर देता है। यह नेटवर्क पैकेट के बजाय पैकेज इंस्टॉलेशन पर भी उसी जांच-और-ब्लॉक करने की प्रक्रिया को लागू करता है।
संक्षेप में कहें तो, डिपेंडेंसी फ़ायरवॉल का अर्थ सीधा है: यह कोड डिपेंडेंसी के लिए एक चेकपॉइंट है, ठीक उसी तरह जैसे नेटवर्क फ़ायरवॉल नेटवर्क ट्रैफ़िक के लिए एक चेकपॉइंट होता है।
डिपेंडेंसी फ़ायरवॉल वास्तव में कैसे काम करता है #
अधिकांश कार्यान्वयन जो डिपेंडेंसी फ़ायरवॉल की आवश्यकताओं को पूरा करते हैं, एक समान क्रम का पालन करते हैं:
- अवरोधन: औज़ार hooks इसे इंस्टॉलेशन चरण (npm install, pip install, और समकक्ष) या रजिस्ट्री प्रॉक्सी लेयर में शामिल किया जा सकता है, ताकि पैकेज इंस्टॉल होने से पहले ही अनुरोध दिखाई दे।
- मूल्यांकन: अनुरोधित पैकेज और संस्करण की जांच ज्ञात दुर्भावनापूर्ण संकेतकों, भेद्यता डेटाबेस, लाइसेंस नीति और व्यवहार संबंधी संकेतों (संदिग्ध इंस्टॉलेशन स्क्रिप्ट, असामान्य मेंटेनर गतिविधि, बिना किसी इतिहास के नए प्रकाशित पैकेज) के आधार पर की जाती है।
- Decisआयन: समस्या की गंभीरता और संगठन की नीति के आधार पर, इंस्टॉलेशन या तो सामान्य रूप से आगे बढ़ता है, समीक्षा के लिए चिह्नित किया जाता है, या पूरी तरह से अवरुद्ध कर दिया जाता है।
- लॉगिंग: हर एकcisगतिविधि को रिकॉर्ड किया जाता है, जिससे सुरक्षा टीमों को इस बात का ऑडिट ट्रेल मिलता है कि क्या प्रयास किया गया और क्या रोका गया।
फ़ायरवॉल बनाम स्कैनर: असली अंतर कहाँ है? #
प्रॉम्प्ट इंजेक्शन क्या है, इस विषय पर अक्सर पूछा जाने वाला एक सवाल यह है कि यह जेलब्रेकिंग से कैसे अलग है। दोनों में कुछ समानताएं हैं, लेकिन वे एक जैसे नहीं हैं। जेलब्रेकिंग विशेष रूप से किसी मॉडल के सिस्टम को बायपास करने से संबंधित है। डिपेंडेंसी फ़ायरवॉल क्या है, यह जानने के दौरान अक्सर लोग इस बात को लेकर भ्रमित हो जाते हैं कि यह जेलब्रेकिंग से कैसे अलग है। standard सॉफ्टवेयर संरचना विश्लेषण (SCA) स्कैनर. अंतर समय का है, क्षमता का नहीं। SCA स्कैनर आमतौर पर निर्भरताओं के पहले से ही स्थापित होने के बाद चलता है या commitटेड, आपको बताता है कि आपके कोडबेस में पहले से क्या मौजूद है। एक डिपेंडेंसी फ़ायरवॉल इंस्टॉल के समय चलता है, पैकेज के डिस्क को छूने से पहले ही। एक आग लगने के बाद धुआँ डिटेक्टर की तरह है; दूसरा वह दरवाज़ा है जो आग को अंदर नहीं आने देता। कई परिपक्व सुरक्षा प्रोग्राम दोनों चलाते हैं: रोकथाम के लिए एक डिपेंडेंसी फ़ायरवॉल, और SCA जो पहले से मौजूद है, उस पर निरंतर नज़र रखने के लिए
जहां टीमें वास्तव में इसे तैनात करती हैं #
सैद्धांतिक रूप से डिपेंडेंसी फ़ायरवॉल का अर्थ समझना एक बात है; लेकिन यह देखना कि यह वास्तविक रूप से कहाँ जुड़ता है, दूसरी बात है। pipeline एक और उदाहरण है। सामान्य तैनाती बिंदु निम्नलिखित हैं:
- डेवलपर वर्कस्टेशन: किसी डेवलपर द्वारा स्थानीय रूप से इंस्टॉल कमांड चलाने के तुरंत बाद, साझा रिपॉजिटरी तक पहुंचने से पहले ही, दुर्भावनापूर्ण पैकेज को ब्लॉक कर दिया जाता है।
- CI/CD pipelines: प्रत्येक बिल्ड पर स्वचालित रूप से एक ही नीति लागू करना, ताकि कोई अवरुद्ध पैकेज किसी ऐसे स्वचालित कार्य के माध्यम से चुपके से प्रवेश न कर सके जिसे कोई इंसान कभी नहीं देखता।
- निजी रजिस्ट्री प्रॉक्सी: कंपनी के आंतरिक पैकेज मिरर के सामने बैठे होने से, हर अनुरोध, चाहे वह मानवीय हो या स्वचालित, एक ही चेकपॉइंट से होकर गुजरता है।
- एआई कोडिंग एजेंट: जैसे-जैसे स्वायत्त एजेंट स्वयं ही निर्भरताएँ स्थापित करते हैं, निर्भरता फ़ायरवॉल का महत्व बढ़ता जा रहा है; एक निर्भरता फ़ायरवॉल उन कुछ नियंत्रणों में से एक है जो तब भी लागू होता है जब कोई डेवलपर संदिग्ध पैकेज नाम को नोटिस करने के लिए मौजूद नहीं होता है।
यह नियंत्रण पहले की तुलना में अधिक महत्वपूर्ण क्यों है? #
कुछ साल पहले तक, यह ज्यादातर सैद्धांतिक था: दुर्भावनापूर्ण पैकेज मौजूद थे, लेकिन वे इतने दुर्लभ थे कि मैन्युअल समीक्षा से उनमें से अधिकांश का पता चल जाता था। अब ऐसा नहीं है। सार्वजनिक रजिस्ट्रियों में अब बड़ी मात्रा में दुर्भावनापूर्ण पैकेज आते हैं, स्वचालित प्रकाशन अभियान, कुछ फ़ायरवॉल मिनटों के भीतर दर्जनों दुर्भावनापूर्ण पैकेज संस्करणों को पुश कर देते हैं, जिन्हें विशेष रूप से मैन्युअल समीक्षा से बचने और परिचित नाम पर भरोसा करने वाले डेवलपर्स से बच निकलने के लिए डिज़ाइन किया गया है। ऐसे माहौल में, यह पूछना कि डिपेंडेंसी फ़ायरवॉल क्या है, एक परिभाषात्मक अभ्यास नहीं रह जाता है।cisऔर यह एक व्यावहारिक प्रश्न बन जाता है कि क्या किसी संगठन के पास स्क्रिप्ट और जीवनचक्र स्थापित करने के बाद कोई नियंत्रण शेष रह जाता है। hooks ये पहले से ही ज्ञात आक्रमण के तरीके हैं। एक डिपेंडेंसी फ़ायरवॉल उन कुछ तंत्रों में से एक है जो किसी ज़ीरो-डे दुर्भावनापूर्ण पैकेज को उसके सिग्नेचर के अस्तित्व में आने से पहले ही रोक सकता है, जो महत्वपूर्ण है क्योंकि अधिकांश अन्य सुरक्षा उपाय खतरे की पहचान और सूचीकरण के बाद ही काम करते हैं।
ज़ाइगेनी का हमारी अपनी शोध टीम इन अभियानों पर साप्ताहिक रूप से नज़र रखती है। मैलवेयर की प्रारंभिक चेतावनी सिस्टम में, पैटर्न सुसंगत है: हमलावर गति और मात्रा के लिए अनुकूलन कर रहे हैं, न कि गोपनीयता के लिए, जो कि ठीक वही प्रोफ़ाइल है जिसे एक निर्भरता फ़ायरवॉल स्थापना के समय ही पकड़ने के लिए बनाया गया है, न कि बाद में।

सामान्य प्रश्न #
डिपेंडेंसी फ़ायरवॉल एक सुरक्षा नियंत्रण है जो इंस्टॉलेशन के समय प्रत्येक सॉफ़्टवेयर डिपेंडेंसी की जाँच करता है और यदि वह दुर्भावनापूर्ण, असुरक्षित या नीति के विरुद्ध हो तो उसे स्वचालित रूप से ब्लॉक कर देता है।
ऐसा बिल्कुल नहीं है। एंटीवायरस टूल आमतौर पर डिस्क पर पहले से मौजूद फाइलों को ज्ञात संकेतों के लिए स्कैन करते हैं। एक डिपेंडेंसी फ़ायरवॉल पहले ही, यानी इंस्टॉलेशन अनुरोध के समय ही हस्तक्षेप करता है, और न केवल ज्ञात खतरों बल्कि उन पैकेजों में भी व्यवहार संबंधी गड़बड़ियों का पता लगा सकता है जिन्हें पहले कभी नहीं देखा गया हो।
नहीं, वे एक दूसरे के पूरक हैं। एक डिपेंडेंसी फ़ायरवॉल खराब पैकेज को शुरू से ही इंस्टॉल होने से रोकता है; SCA ये उपकरण समय-समय पर आपके कोडबेस में मौजूद नई कमजोरियों की निगरानी करते रहते हैं।
जी हां, यही इसका एक मुख्य लाभ है। चूंकि यह व्यवहार और मेटाडेटा का मूल्यांकन करता है (केवल पहले से ज्ञात खराब पैकेजों की सूची से मिलान करने के बजाय), एक अच्छी तरह से निर्मित डिपेंडेंसी फ़ायरवॉल किसी भी रजिस्ट्री, एंटीवायरस विक्रेता या CVE डेटाबेस द्वारा सूचीबद्ध किए जाने से पहले ही एक बिल्कुल नए दुर्भावनापूर्ण पैकेज को चिह्नित कर सकता है।