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