सॉफ्टवेयर विकास सुरक्षा: Difference between revisions

From Vigyanwiki
(Created page with "{{Information security}} सुरक्षा सॉफ़्टवेयर, सॉफ़्टवेयर विकास प्रक्रिया के भाग क...")
 
No edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Information security}}
{{Information security}}
सुरक्षा सॉफ़्टवेयर, सॉफ़्टवेयर विकास प्रक्रिया के भाग के रूप में, लोगों और प्रथाओं को शामिल करने वाली एक सतत प्रक्रिया है, और एप्लिकेशन की गोपनीयता, अखंडता और उपलब्धता सुनिश्चित करती है। सुरक्षित सॉफ़्टवेयर सुरक्षा जागरूक सॉफ़्टवेयर विकास प्रक्रियाओं का परिणाम है जहाँ सुरक्षा अंतर्निहित है और इस प्रकार सॉफ़्टवेयर को सुरक्षा को ध्यान में रखकर विकसित किया गया है।<ref>[https://www.owasp.org/images/8/83/Securing_Enterprise_Web_Applications_at_the_Source.pdf Securing Enterprise Web Applications at the Source: An Application Security Perspective, OWASP]</ref>
'''सॉफ्टवेयर विकास सुरक्षा''' प्रक्रिया लोगों और प्रथाओं को सम्मलित करने वाली एक सतत प्रक्रिया होती है, और आवेदन की गोपनीयता, अखंडता और उपलब्धता सुनिश्चित करती है। सुरक्षित सॉफ्टवेयर सुरक्षा जागरूक सॉफ्टवेयर विकास प्रक्रियाओं का परिणाम है जहाँ सुरक्षा अंतर्निहित होती है और इस प्रकार सॉफ्टवेयर को सुरक्षा को ध्यान में रखकर विकसित किया गया है।<ref>[https://www.owasp.org/images/8/83/Securing_Enterprise_Web_Applications_at_the_Source.pdf Securing Enterprise Web Applications at the Source: An Application Security Perspective, OWASP]</ref>
[[सिस्टम विकास जीवन चक्र]] (एसडीएलसी) के हर चरण में नियोजित और प्रबंधित होने पर सुरक्षा सबसे प्रभावी होती है, विशेष रूप से महत्वपूर्ण अनुप्रयोगों में या जो संवेदनशील जानकारी को संसाधित करते हैं।


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


== सॉफ्टवेयर विकास की चुनौतियाँ ==
== सॉफ्टवेयर विकास की चुनौतियाँ ==
जैसे-जैसे सूचना प्रौद्योगिकी उन्नत होती है, एकीकृत विकास वातावरण अधिक जटिल होता जाता है और अनुप्रयोग विकास सुरक्षा अधिक चुनौतीपूर्ण होती जाती है। एप्लिकेशन, सिस्टम और नेटवर्क लगातार विभिन्न सुरक्षा हमलों जैसे पॉलीमॉर्फिक कोड # दुर्भावनापूर्ण कोड या [[सर्विस अटैक से इनकार]] के अधीन हैं। वेब एप्लिकेशन सुरक्षा के दृष्टिकोण से कुछ चुनौतियों में वायरस, ट्रोजन हॉर्स, लॉजिक बम, वर्म्स, एजेंट और एप्लेट शामिल हैं।<ref>{{Cite book|title=सीआईएसएसपी प्रमाणित सूचना प्रणाली सुरक्षा पेशेवर अध्ययन गाइड छठा संस्करण|last=Stewart|first=James|publisher=John Wiley & Sons, Inc.|year=2012|isbn=978-1-118-31417-3|location=Canada|pages=275–319}}</ref>
जैसे-जैसे प्रौद्योगिकी उन्नत होती है, अनुप्रयोग वातावरण अधिक जटिल हो जाता है और अनुप्रयोग विकास सुरक्षा अधिक चुनौतीपूर्ण होती जाती है। एप्लिकेशन, प्रणाली और नेटवर्क लगातार विभिन्न सुरक्षा हमलों जैसे कि दुर्भावनापूर्ण कोड या सेवा से वंचित होते है। अनुप्रयोग विकास सुरक्षा के दृष्टिकोण से कुछ चुनौतियों में वायरस, ट्रोजन हॉर्स, लॉजिक बम, वर्म्स, एजेंट और एप्लेट्स सम्मलित होते है।<ref>{{Cite book|title=सीआईएसएसपी प्रमाणित सूचना प्रणाली सुरक्षा पेशेवर अध्ययन गाइड छठा संस्करण|last=Stewart|first=James|publisher=John Wiley & Sons, Inc.|year=2012|isbn=978-1-118-31417-3|location=Canada|pages=275–319}}</ref>
अनुप्रयोगों में भेद्यता (कंप्यूटिंग) # सूचना सुरक्षा प्रबंधन प्रणाली हो सकती है जिसे [[सॉफ्टवेयर इंजीनियर]]ों द्वारा जानबूझकर या लापरवाही से पेश किया जा सकता है।
 
एप्लिकेशन में सुरक्षा भेद्यताएं हो सकती है जो [[सॉफ्टवेयर इंजीनियर|सॉफ्टवेयर अभियांत्रिको]] द्वारा जानबूझकर या लापरवाही से उत्पन्न की जा सकती है।


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


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


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


== मूल सिद्धांत ==
== मूल सिद्धांत ==
कई बुनियादी [[सूचना सुरक्षा]] हैं। इनके बारे में हितधारकों का ज्ञान और उन्हें सॉफ्टवेयर में कैसे लागू किया जा सकता है, यह सॉफ्टवेयर सुरक्षा के लिए महत्वपूर्ण है। इसमे शामिल है:
सॉफ्टवेयर [[सूचना सुरक्षा|सुरक्षा]] के लिए कई बुनियादी मार्गदर्शक सिद्धांत होते है। इनके बारे में हितधारकों का ज्ञान और उन्हें सॉफ्टवेयर में कैसे लागू किया जाता है, यह सॉफ्टवेयर सुरक्षा के लिए महत्वपूर्ण होता है। इसमे सम्मलित है:
* प्रकटीकरण से सुरक्षा
* प्रकटीकरण से सुरक्षा
* परिवर्तन से सुरक्षा
* परिवर्तन से सुरक्षा
* विनाश से रक्षा
* विनाश से रक्षा
*निवेदन कौन कर रहा है
*निवेदन कौन कर रहा है
* अनुरोधकर्ता के पास क्या अधिकार और विशेषाधिकार हैं
* अनुरोधकर्ता के पास क्या अधिकार और विशेषाधिकार है
* ऐतिहासिक साक्ष्य बनाने की क्षमता
* ऐतिहासिक साक्ष्य बनाने की क्षमता
* कॉन्फ़िगरेशन, सत्र और त्रुटियों/अपवादों का प्रबंधन
* विन्यास, सत्र और त्रुटियों/अपवादों का प्रबंधन


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


== [[सुरक्षा परीक्षण]] ==
== [[सुरक्षा परीक्षण]] ==
सुरक्षा परीक्षण की सामान्य विशेषताओं में प्रमाणीकरण, प्राधिकरण, गोपनीयता, उपलब्धता, अखंडता, गैर-अस्वीकृति और लचीलापन शामिल हैं। सुरक्षा परीक्षण यह सुनिश्चित करने के लिए आवश्यक है कि सिस्टम अनधिकृत उपयोगकर्ताओं को अपने संसाधनों और डेटा तक पहुंचने से रोकता है। कुछ एप्लिकेशन डेटा इंटरनेट पर भेजे जाते हैं जो सर्वर और नेटवर्क उपकरणों की एक श्रृंखला के माध्यम से यात्रा करते हैं। यह बेईमान हैकर्स को पर्याप्त अवसर देता है।
सुरक्षा परीक्षण की सामान्य विशेषताओं में प्रमाणीकरण, प्राधिकरण, गोपनीयता, उपलब्धता, अखंडता, गैर-अस्वीकृति और लचीलापन सम्मलित होते है। सुरक्षा परीक्षण यह सुनिश्चित करने के लिए आवश्यक होता है कि प्रणाली अनधिकृत उपयोगकर्ताओं को अपने संसाधनों और डेटा तक पहुंचने से रोकता है। कुछ एप्लिकेशन डेटा इंटरनेट पर भेजे जाते है जो सर्वर और नेटवर्क उपकरणों की एक श्रृंखला के माध्यम से यात्रा करते है। यह हैकर्स को पर्याप्त अवसर देता है।


== सारांश ==
== सारांश ==
सभी सुरक्षित प्रणालियाँ [[सॉफ़्टवेयर]], [[कंप्यूटर हार्डवेयर]], [[सूचना प्रणाली]] और [[नेटवर्क सुरक्षा]] के भीतर [[सुरक्षा नियंत्रण]] लागू करती हैं - प्रत्येक घटक या प्रक्रिया में संगठन के सबसे मूल्यवान संसाधन जो कि इसका डेटा है, की सुरक्षा के लिए अलगाव की एक परत होती है। विभिन्न सुरक्षा नियंत्रण हैं जिन्हें सुरक्षा सुनिश्चित करने और अनधिकृत पहुंच को रोकने के लिए एप्लिकेशन की विकास प्रक्रिया में शामिल किया जा सकता है।
सभी सुरक्षित प्रणालियाँ [[सॉफ़्टवेयर|सॉफ्टवेयर]], [[कंप्यूटर हार्डवेयर]], [[सूचना प्रणाली]] और [[नेटवर्क सुरक्षा]] के भीतर [[सुरक्षा नियंत्रण]] लागू करती है - प्रत्येक घटक या प्रक्रिया में संगठन के सबसे मूल्यवान संसाधन जो कि इसका डेटा होता है, सुरक्षा के लिए अलगाव की एक परत होती है। विभिन्न सुरक्षा नियंत्रण होती है जिन्हें सुरक्षा सुनिश्चित करने और अनधिकृत पहुंच को रोकने के लिए एप्लिकेशन की विकास प्रक्रिया में सम्मलित किया जाता है।


== संदर्भ ==
== संदर्भ ==
Line 56: Line 58:
* Web Application Security Consortium, The 80/20 Rule for Web Application Security by Jeremiah Grossman 2005, http://www.webappsec.org/projects/articles/013105.shtml
* Web Application Security Consortium, The 80/20 Rule for Web Application Security by Jeremiah Grossman 2005, http://www.webappsec.org/projects/articles/013105.shtml
* Wikipedia Web Application Security page, [[Web application security]]
* Wikipedia Web Application Security page, [[Web application security]]
* Web Security Wiki page, https://www.w3.org/Security/wiki/Main_Page
* Web Security Wiki page, [https://www.w3.org/Security/wiki/Main_Page एचटीटीपी://www.w3.org/Security/wiki/Main_Page]
* Wikipedia Web Security Exploits page, [[:Category:Web security exploits]]
* Wikipedia Web Security Exploits page, [[:Category:Web security exploits]]
* Open Web Application Security Project (OWASP), https://www.owasp.org/index.php/Main_Page
* Open Web Application Security Project (OWASP), [https://www.owasp.org/index.php/Main_Page एचटीटीपी://www.owasp.org/index.php/Main_Page]
* Wikipedia Network Security page, [[Network security]]
* Wikipedia Network Security page, [[Network security]]
* Open Web Application Security Project (OWASP) web site, https://www.owasp.org/images/8/83/Securing_Enterprise_Web_Applications_at_the_Source.pdf
* Open Web Application Security Project (OWASP) web site, [https://www.owasp.org/images/8/83/Securing_Enterprise_Web_Applications_at_the_Source.pdf एचटीटीपी://www.owasp.org/images/8/83/Securing_Enterprise_Web_Applications_at_the_Source.pdf]


{{Software quality}}
{{Software quality}}
[[Category: सॉफ्टवेयर डेवलपमेंट]] [[Category: सॉफ्टवेयर की गुणवत्ता]]


[[Category: Machine Translated Page]]
[[Category:Collapse templates]]
[[Category:Created On 11/05/2023]]
[[Category:Created On 11/05/2023]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:सॉफ्टवेयर की गुणवत्ता]]
[[Category:सॉफ्टवेयर डेवलपमेंट]]

Latest revision as of 18:00, 18 May 2023

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

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

सॉफ्टवेयर विकास सुरक्षा का समाधान केवल तकनीक से कहीं अधिक होता है।

सॉफ्टवेयर विकास की चुनौतियाँ

जैसे-जैसे प्रौद्योगिकी उन्नत होती है, अनुप्रयोग वातावरण अधिक जटिल हो जाता है और अनुप्रयोग विकास सुरक्षा अधिक चुनौतीपूर्ण होती जाती है। एप्लिकेशन, प्रणाली और नेटवर्क लगातार विभिन्न सुरक्षा हमलों जैसे कि दुर्भावनापूर्ण कोड या सेवा से वंचित होते है। अनुप्रयोग विकास सुरक्षा के दृष्टिकोण से कुछ चुनौतियों में वायरस, ट्रोजन हॉर्स, लॉजिक बम, वर्म्स, एजेंट और एप्लेट्स सम्मलित होते है।[2]

एप्लिकेशन में सुरक्षा भेद्यताएं हो सकती है जो सॉफ्टवेयर अभियांत्रिको द्वारा जानबूझकर या लापरवाही से उत्पन्न की जा सकती है।

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

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

सुरक्षित सॉफ्टवेयर बनाना न केवल एक सॉफ्टवेयर अभियांत्रिकी की ज़िम्मेदारी होती है, हितधारकों की भी जिम्मेदारी होती है जिसमें सम्मलित है: प्रबंधन, परियोजना प्रबंधक, व्यवसाय विश्लेषक, गुणवत्ता आश्वासन प्रबंधक, तकनीकी आर्किटेक्ट, सुरक्षा विशेषज्ञ, एप्लिकेशन और विकासक।

मूल सिद्धांत

सॉफ्टवेयर सुरक्षा के लिए कई बुनियादी मार्गदर्शक सिद्धांत होते है। इनके बारे में हितधारकों का ज्ञान और उन्हें सॉफ्टवेयर में कैसे लागू किया जाता है, यह सॉफ्टवेयर सुरक्षा के लिए महत्वपूर्ण होता है। इसमे सम्मलित है:

  • प्रकटीकरण से सुरक्षा
  • परिवर्तन से सुरक्षा
  • विनाश से रक्षा
  • निवेदन कौन कर रहा है
  • अनुरोधकर्ता के पास क्या अधिकार और विशेषाधिकार है
  • ऐतिहासिक साक्ष्य बनाने की क्षमता
  • विन्यास, सत्र और त्रुटियों/अपवादों का प्रबंधन

बुनियादी प्रथाएं

निम्नलिखित कुछ अनुशंसित वेब सुरक्षा प्रथाओं को सूचीबद्ध करता है जो सॉफ्टवेयर विकास के लिए अधिक विशिष्ट होता है।

  • ग्राहक साइड और सर्वर साइड पर इनपुट्स को स्वच्छ करता है
  • एनकोड अनुरोध / प्रतिक्रिया
  • डोमेन प्रविष्टियों के लिए एचटीटीपी का उपयोग करता है
  • केवल वर्तमान एन्क्रिप्शन और हैशिंग एल्गोरिदम का उपयोग करता है
  • निर्देशिका लिस्टिंग की अनुमति नहीं देता है
  • संवेदनशील डेटा को कुकीज़ के अंदर स्टोर नहीं करता है
  • सत्र की यादृच्छिकता की जाँच करता है
  • कुकीज़ में सुरक्षित और केवल एचटीटीपी फ़्लैग सेट करता है
  • टीएलएस का प्रयोग करता है एसएसएल का प्रयोग नहीं करता है
  • मजबूत पासवर्ड नीति सेट करता है
  • प्रपत्र के छिपे हुए छेत्र में संवेदनशील जानकारी संग्रहीत नहीं करता है
  • फाइल अपलोड कार्यक्षमता सत्यापित करता है
  • सुरक्षित प्रतिक्रिया शीर्षलेख सेट करता है
  • सुनिश्चित करता है कि तृतीय पक्ष पुस्तकालय सुरक्षित है
  • वेब सर्वर जानकारी छुपाता है

सुरक्षा परीक्षण

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

सारांश

सभी सुरक्षित प्रणालियाँ सॉफ्टवेयर, कंप्यूटर हार्डवेयर, सूचना प्रणाली और नेटवर्क सुरक्षा के भीतर सुरक्षा नियंत्रण लागू करती है - प्रत्येक घटक या प्रक्रिया में संगठन के सबसे मूल्यवान संसाधन जो कि इसका डेटा होता है, सुरक्षा के लिए अलगाव की एक परत होती है। विभिन्न सुरक्षा नियंत्रण होती है जिन्हें सुरक्षा सुनिश्चित करने और अनधिकृत पहुंच को रोकने के लिए एप्लिकेशन की विकास प्रक्रिया में सम्मलित किया जाता है।

संदर्भ

  1. Securing Enterprise Web Applications at the Source: An Application Security Perspective, OWASP
  2. Stewart, James (2012). सीआईएसएसपी प्रमाणित सूचना प्रणाली सुरक्षा पेशेवर अध्ययन गाइड छठा संस्करण. Canada: John Wiley & Sons, Inc. pp. 275–319. ISBN 978-1-118-31417-3.