एप्लिकेशन सुरक्षा को सॉफ्टवेयर इंजीनियरिंग में एकीकृत करने के लिए एक फ्रेमवर्क (FIASSE) जो सिक्योरेबल सॉफ्टवेयर इंजीनियरिंग मॉडल (SSEM) का उपयोग करता है
नोट: यह रिपॉजिटरी एक चालू कार्य है। योगदान का स्वागत है!
TL;DR: कृपया DOC पढ़ें। FIASSE वेबसाइट देखें। योगदान के लिए GitHub Discussions पर जाएँ।
इस रिपॉजिटरी में OWASP फ्रेमवर्क फॉर इंटीग्रेटिंग एप्लिकेशन सिक्योरिटी इनटू सॉफ्टवेयर इंजीनियरिंग (FIASSE) के लिए संसाधन और सामग्री शामिल हैं। FIASSE (उच्चारण /feiz/ जैसे 'फेज़') डेवलपर-केंद्रित, सिद्धांत-आधारित दृष्टिकोण को बढ़ावा देता है ताकि सुरक्षित सॉफ्टवेयर का निर्माण किया जा सके — यह मानते हुए कि सुरक्षा विकास की तरह ही एक गतिशील, निरंतर प्रक्रिया है। यह सिक्योरेबल सॉफ्टवेयर इंजीनियरिंग मॉडल (SSEM) को एक सामान्य डिज़ाइन भाषा के रूप में प्रस्तुत करता है जो स्थापित सॉफ्टवेयर इंजीनियरिंग शब्दों का उपयोग करके सुरक्षा को सॉफ्टवेयर आर्किटेक्चर, डिज़ाइन और इंजीनियरिंग में एकीकृत करता है। सुरक्षा को उन सिद्धांतों में एकीकृत करना जो कोड को स्वयं आकार देते हैं। फ्रेमवर्क का उद्देश्य लचीले अनुप्रयोगों का निर्माण करना है जो समय के साथ खतरों का सामना कर सकें।
व्यावहारिक दिशानिर्देश प्रदान करना जो बनाते हैं ताकि वे गहन सुरक्षा विशेषज्ञता की आवश्यकता के बिना सुरक्षित सॉफ्टवेयर बना सकें, और सुरक्षा पेशेवरों को उनके सुरक्षा अनुभव को सॉफ्टवेयर इंजीनियरिंग में प्रभावी ढंग से एकीकृत करने में मार्गदर्शन कर सकें। FIASSE इसे के माध्यम से प्राप्त करता है, जिससे संज्ञानात्मक भार कम होता है और विकास तथा सुरक्षा टीमों के बीच सहयोग को बढ़ावा मिलता है।
जबकि OWASP टॉप 10 जैसी आश्वासन-केंद्रित परियोजनाएँ इस बात पर प्रकाश डालती हैं कि क्या टालना चाहिए (एक ब्लॉक सूची), OWASP FIASSE पालन करने के लिए सकारात्मक गुणों और प्रथाओं का एक सेट प्रदान करता है (एक अनुमति सूची)। यह दृष्टिकोण सुरक्षित सॉफ्टवेयर बनाने के लिए मौजूदा सॉफ्टवेयर इंजीनियरिंग कौशल का लाभ उठाता है, बजाय इसके कि डेवलपर्स को शोषण तकनीक सीखने या भेद्यता-केंद्रित मानसिकता अपनाने की आवश्यकता हो। जोर परिचित इंजीनियरिंग सिद्धांतों के माध्यम से व्यावहारिक, सुरक्षित कोडिंग को सक्षम करने पर है।
विकास प्रक्रिया के भीतर सुरक्षा की व्यावहारिक भूमिका को स्पष्ट रूप से परिभाषित करके, यह फ्रेमवर्क सुनिश्चित करता है कि व्यावसायिक मूल्य प्रभावी ढंग से प्राप्त हो। इस तरह से अपेक्षाएँ स्थापित करके, यह संभावना को काफी हद तक कम कर देता है कि सुरक्षा दोष बाद में खोजे जाएँ और उन्हें सुधारने की आवश्यकता हो।
/docs निर्देशिका में दस्तावेज़ीकरण की समीक्षा करेंयह रिपॉजिटरी सुरक्षित सॉफ्टवेयर को विश्वसनीय, लचीली और अनुकूलनीय प्रणालियों के रूप में परिभाषित करता है। यह इस बात पर जोर देता है कि वास्तविक सुरक्षा एक निरंतर प्रक्रिया है, न कि एक स्थिर उपलब्धि। यह सिक्योरेबल सॉफ्टवेयर इंजीनियरिंग मॉडल (SSEM) का परिचय देता है, जो सुरक्षा को अच्छी तरह से इंजीनियर किए गए सॉफ्टवेयर के अंतर्निहित गुणों के एक सेट के रूप में प्रस्तुत करता है। ऐसा करने के लिए, यह रखरखाव, विश्वसनीयता और भरोसेमंदता (जिसमें लचीलापन शामिल है) की विशेषता श्रेणियाँ प्रस्तुत करता है। FIASSE सुरक्षा प्रथाओं को विकास कार्यप्रवाह में एकीकृत करने की वकालत करता है जहाँ उनका सबसे अधिक प्रभाव होता है। यह "सुरक्षा एक पश्चात-विचार के रूप में" या "शिफ्ट लेफ्ट" दृष्टिकोण से एक सक्रिय, सहयोगी मॉडल की ओर बढ़ता है। विचार यह है कि उत्पाद स्वामी, डेवलपर्स और सुरक्षा पेशेवर डिज़ाइन के शुरुआती चरणों से एक साथ काम करते हैं, विशेष रूप से सुरक्षा आवश्यकताओं की परिभाषा, सहयोगी खतरा मॉडलिंग और स्वीकृति मानदंड जैसी गतिविधियों के माध्यम से। यह कोड गतिविधियों और परीक्षण के लिए स्पष्ट अपेक्षाएँ निर्धारित करता है। सॉफ्टवेयर इंजीनियरों को लचीलेपन और नियंत्रण को संतुलित करने पर मार्गदर्शन दिया जाता है। उन्हें सुरक्षा निर्णय लेने के लिए एक निश्चित मॉडल भी दिया जाता है। अंततः, यह सभी हितधारकों को अधिक मजबूत, विश्वसनीय और स्वाभाविक रूप से सुरक्षित प्रणालियों के निर्माण में योगदान करने के लिए सशक्त बनाता है।
FIASSE मौजूदा दृष्टिकोणों से भिन्न है क्योंकि यह डेवलपर्स को सुरक्षा विशेषज्ञ बनने या प्रतिकूल मानसिकता अपनाने की आवश्यकता नहीं रखता है। इस दृष्टिकोण का उद्देश्य डेवलपर्स पर संज्ञानात्मक भार को कम करना है, साथ ही यह सुनिश्चित करना है कि सुरक्षा टीम आश्वस्त हो सके कि उनकी चिंताओं को कोड और सॉफ्टवेयर इंजीनियरिंग प्रक्रियाओं के विशिष्ट गुणों के माध्यम से संबोधित किया जाता है।
FIASSE खुला, सुलभ और सहयोगी होने का इरादा रखता है।
FIASSE परियोजना के प्रारंभिक मील के पत्थर:
आगे के मील के पत्थर परियोजना टीम के साथ विकसित किए जाएँगे। GitHub Discussions के माध्यम से समुदाय का इनपुट स्वागत योग्य है।
यह रिपॉजिटरी FIASSE वेबसाइट का पूरक है।
OWASP FIASSE परियोजना OWASP फाउंडेशन का हिस्सा है, जो असुरक्षित सॉफ्टवेयर को समाप्त करने के मिशन पर केंद्रित एक गैर-लाभकारी संगठन है। OWASP फाउंडेशन संसाधनों और फ्रेमवर्क का एक समृद्ध भंडार प्रदान करता है जो FIASSE के सिद्धांतों के अनुरूप हैं।
यह फ्रेमवर्क सिक्योरेबल सॉफ्टवेयर इंजीनियरिंग पर केंद्रित है और अन्य OWASP परियोजनाओं द्वारा पूरक है:
OWASP कई अन्य परियोजनाओं की मेजबानी भी करता है जो सुरक्षा आवश्यकताओं और सुविधाओं का दस्तावेजीकरण करती हैं, जैसे OWASP मोबाइल एप्लिकेशन सिक्योरिटी। OWASP डेवलपर गाइड, जो विभिन्न अन्य OWASP संसाधनों के लिए एक व्यापक संसाधन है।
संदर्भ आवश्यकताओं और आश्वासन प्रथाओं के लिए एक और बेहतरीन संसाधन OpenCRE है, जो विभिन्न सुरक्षा फ्रेमवर्क को एकत्र और मैप करता है।
NIST सिक्योर सॉफ्टवेयर डेवलपमेंट फ्रेमवर्क (SSDF) चार चरणों को परिभाषित करता है जो सुरक्षित सॉफ्टवेयर विकास प्रथाओं को लागू करने के विभिन्न पहलुओं का प्रतिनिधित्व करते हैं। यह सॉफ्टवेयर विकास जीवनचक्र में सुरक्षा के एकीकरण पर जोर देकर FIASSE के सिद्धांतों के साथ संरेखित होता है।
NCSC का सॉफ्टवेयर सिक्योरिटी कोड ऑफ प्रैक्टिस वांछित परिणामों और कुछ प्रमुख रणनीतियों को परिभाषित करता है। जबकि FIASSE फ्रेमवर्क सुरक्षित परिणाम प्राप्त करने के लिए प्रथम-स्तरीय अनुवर्ती सिद्धांतों और रणनीतियों पर केंद्रित है, जो विकास और आश्वासन टीमों के लिए व्यावसायिक रणनीतियों के साथ संरेखित करने के लिए है। SSEM उन विशेषताओं को निर्दिष्ट करता है जिनका उपयोग वांछित परिणाम उत्पन्न करने के लिए किया जाता है, और FIASSE पद्धति सॉफ्टवेयर इंजीनियरिंग प्रथाओं में इन विशेषताओं को लागू करने के लिए व्यावहारिक मार्गदर्शन प्रदान करती है।
कार्नेगी मेलन विश्वविद्यालय का CERT भाषा-स्तरीय नियमों का एक सेट है जो "क्या नहीं करना चाहिए" के उदाहरण प्रदान करता है जो कमजोर कोड पैटर्न दिखाते हैं और "क्या करना चाहिए" के उदाहरण प्रदान करते हैं। FIASSE इन नियमों का पूरक है, एक सिद्धांत-आधारित दृष्टिकोण प्रदान करके जो प्रोग्रामरों को सुरक्षित कोड के पीछे के "क्यों?" को समझने में मदद करता है।
सॉफ्टवेयर फैक्ट्री सिक्योरिटी फ्रेमवर्क (SF2) "सुरक्षा नेताओं को व्यावसायिक परिणामों में सुधार करते हुए सुरक्षा क्षमताओं को स्केल करने के लिए एक रणनीतिक दृष्टिकोण प्रदान करता है।" यह एक संगठनात्मक स्तर का फ्रेमवर्क है जो सॉफ्टवेयर इंजीनियरिंग प्रथाओं पर FIASSE के फोकस का पूरक है।
दस्तावेज़ीकरण और उदाहरणों को बेहतर बनाने के लिए योगदान का स्वागत है। कृपया विवरण के लिए हमारे योगदान दिशानिर्देश देखें।
एट्रिब्यूशन-शेयरअलाइक 4.0 इंटरनेशनल (CC BY-SA 4.0) - विवरण के लिए LICENSE फ़ाइल देखें।
यह परियोजना OWASP समुदाय का एक सहयोगात्मक प्रयास है। हम सभी योगदानकर्ताओं को उनके मूल्यवान इनपुट और सॉफ्टवेयर सुरक्षा में सुधार के प्रति समर्पण के लिए धन्यवाद देते हैं।
इस परियोजना में भाग लेने वाले योगदानकर्ताओं की सूची है। कुछ प्रारंभिक योगदानकर्ता हैं जिन्होंने प्रारंभिक अवधारणाओं को आकार देने और विचारों की समीक्षा करने में मदद की।