वेब एप्लीकेशन सुरक्षा
वेब एप्लीकेशन सुरक्षा वेब सॉफ्टवेयर की विशिष्ट कमजोरियों को संबोधित करती है — इंजेक्शन, क्रॉस-साइट स्क्रिप्टिंग, टूटी हुई प्रमाणीकरण, और एक्सेस-कंट्रोल दोष — जो आधुनिक प्रणालियों में सबसे आम और प्रभावशाली कमजोरियों में से हैं।
Definition
वेब एप्लीकेशन सुरक्षा वेब-आधारित सॉफ्टवेयर और उसके उपयोगकर्ताओं को उन हमलों से बचाने का अभ्यास है जो एप्लीकेशन के इनपुट, सत्रों, प्रमाणीकरण और एक्सेस कंट्रोल के प्रबंधन, साथ ही ब्राउज़र सुरक्षा मॉडल में कमजोरियों का फायदा उठाते हैं।
Scope
यह विषय वेब एप्लीकेशन्स के खतरे के मॉडल (अविश्वसनीय क्लाइंट, शत्रुतापूर्ण नेटवर्क, मल्टी-टेनेंट सर्वर) और इसकी विशिष्ट भेद्यता वर्गों को कवर करता है: इंजेक्शन (SQL और कमांड), क्रॉस-साइट स्क्रिप्टिंग, क्रॉस-साइट रिक्वेस्ट फोर्जरी, टूटे हुए एक्सेस कंट्रोल और प्रमाणीकरण, और असुरक्षित डीसीरियलाइज़ेशन। यह ब्राउज़र सुरक्षा मॉडल (समान-उत्पत्ति नीति, सामग्री सुरक्षा नीति) और मानक सुरक्षा उपायों को कवर करता है। यह निम्न-स्तरीय मेमोरी एक्सप्लॉइटेशन और सामान्य सुरक्षित-विकास प्रक्रिया को बाहर करता है, जिन्हें संबंधित विषयों में वर्णित किया गया है।
Core questions
- अविश्वसनीय इनपुट को कोड या क्वेरी के साथ मिलाने से इंजेक्शन कमजोरियां क्यों पैदा होती हैं?
- क्रॉस-साइट स्क्रिप्टिंग और क्रॉस-साइट रिक्वेस्ट फोर्जरी किसी साइट के उपयोगकर्ताओं पर कैसे हमला करते हैं?
- ब्राउज़र की समान-उत्पत्ति नीति वेब कोड क्या कर सकता है, इसे कैसे सीमित करती है?
- वेब ऐप्स में प्रमाणीकरण, सत्र और एक्सेस कंट्रोल आमतौर पर कैसे टूटते हैं?
- सबसे प्रचलित वेब कमजोरियों को रोकने के लिए कौन से मानक सुरक्षा उपाय हैं?
Key concepts
- SQL और कमांड इंजेक्शन
- क्रॉस-साइट स्क्रिप्टिंग (XSS)
- क्रॉस-साइट रिक्वेस्ट फोर्जरी (CSRF)
- टूटा हुआ एक्सेस कंट्रोल
- टूटा हुआ प्रमाणीकरण और सत्र प्रबंधन
- समान-उत्पत्ति नीति
- कंटेंट सिक्योरिटी पॉलिसी
- पैरामीटराइज़्ड क्वेरीज़
- OWASP टॉप टेन
Key theories
- इंजेक्शन और कोड/डेटा भ्रम
- इंजेक्शन दोष (SQL इंजेक्शन, कमांड इंजेक्शन) तब उत्पन्न होते हैं जब अविश्वसनीय इनपुट को कोड के रूप में व्याख्या किया जाता है; बचाव डेटा और कोड को अलग रखना है, मुख्य रूप से पैरामीटराइज़्ड क्वेरीज़ और सख्त आउटपुट एन्कोडिंग के माध्यम से।
- ब्राउज़र सुरक्षा मॉडल और क्लाइंट-साइड हमले
- समान-उत्पत्ति नीति विभिन्न मूलों से सामग्री को अलग करती है, लेकिन क्रॉस-साइट स्क्रिप्टिंग एक विश्वसनीय पेज में हमलावर स्क्रिप्ट को इंजेक्ट करती है और क्रॉस-साइट रिक्वेस्ट फोर्जरी एक उपयोगकर्ता के प्रमाणित सत्र का दुरुपयोग करती है; सुरक्षा उपायों में आउटपुट एन्कोडिंग, कंटेंट सिक्योरिटी पॉलिसी और एंटी-CSRF टोकन शामिल हैं।
Mechanisms
SQL इंजेक्शन तब होता है जब उपयोगकर्ता इनपुट को एक क्वेरी में जोड़ा जाता है, जिससे हमलावर इसकी तर्क को बदल सकता है; पैरामीटराइज़्ड क्वेरीज़ इनपुट को डेटा के रूप में बांधकर इसे ठीक करती हैं। क्रॉस-साइट स्क्रिप्टिंग एक पेज में स्क्रिप्ट इंजेक्ट करती है जिसे अन्य उपयोगकर्ताओं के ब्राउज़र फिर निष्पादित करते हैं, जिसे संदर्भ-जागरूक आउटपुट एन्कोडिंग और सामग्री सुरक्षा नीति द्वारा कम किया जाता है। क्रॉस-साइट रिक्वेस्ट फोर्जरी एक प्रमाणित ब्राउज़र को अवांछित अनुरोध करने के लिए धोखा देती है, जिसे एंटी-CSRF टोकन और SameSite कुकीज़ से बचाव किया जाता है। एक्सेस-कंट्रोल दोष तब उत्पन्न होते हैं जब सर्वर प्रत्येक अनुरोध पर प्राधिकरण की जांच करने में विफल रहता है।
Clinical relevance
वेब एप्लीकेशन कमजोरियां कई सबसे बड़े डेटा उल्लंघनों का कारण बनती हैं: SQL इंजेक्शन और टूटे हुए एक्सेस कंट्रोल ने अरबों रिकॉर्ड उजागर किए हैं, और क्रॉस-साइट स्क्रिप्टिंग नियमित रूप से उपयोगकर्ता खातों से समझौता करती है। चूंकि लगभग सभी सेवाओं में एक वेब इंटरफ़ेस होता है, वेब सुरक्षा सीधे ई-कॉमर्स, बैंकिंग, स्वास्थ्य सेवा पोर्टलों और सरकारी प्रणालियों को प्रभावित करती है, और यह प्रवेश परीक्षण, बग-बाउंटी कार्यक्रमों और PCI-DSS जैसे अनुपालन व्यवस्थाओं को आधार प्रदान करती है।
Evidence & guidelines
OWASP टॉप टेन प्रचलित वेब जोखिमों के लिए वास्तविक संदर्भ है, जिसे OWASP एप्लीकेशन सिक्योरिटी वेरिफिकेशन स्टैंडर्ड (ASVS) और चीट शीट्स द्वारा पूरक किया जाता है। ब्राउज़र-लागू सुरक्षा उपाय (कंटेंट सिक्योरिटी पॉलिसी, SameSite कुकीज़, सबसोर्स इंटीग्रिटी) W3C और WHATWG द्वारा मानकीकृत हैं। PCI-DSS जैसे अनुपालन फ्रेमवर्क भुगतान डेटा को संभालने वाली प्रणालियों के लिए वेब-सुरक्षा नियंत्रणों को अनिवार्य करते हैं।
History
वेब एप्लीकेशन सुरक्षा 1990 के दशक के अंत और 2000 के दशक में गतिशील वेब के साथ बढ़ी, क्योंकि डेटाबेस और उपयोगकर्ता इनपुट ने इंजेक्शन और स्क्रिप्टिंग दोषों को जन्म दिया। OWASP टॉप टेन (पहली बार 2003 में जारी) ने सबसे महत्वपूर्ण जोखिमों के बारे में जागरूकता को मानकीकृत किया। ब्राउज़र-साइड सुरक्षा उपाय समान-उत्पत्ति नीति और, बाद में, कंटेंट सिक्योरिटी पॉलिसी के माध्यम से विकसित हुए, जबकि ऐतिहासिक उल्लंघनों ने SQL इंजेक्शन और टूटे हुए एक्सेस कंट्रोल की वास्तविक दुनिया की लागत को बार-बार प्रदर्शित किया।
Key figures
- Dafydd Stuttard
- Ross Anderson
- Jeremiah Grossman
- Michal Zalewski
Related topics
Seminal works
- stuttard2011
- owasp2021
- anderson2020
Frequently asked questions
- SQL इंजेक्शन के खिलाफ सबसे प्रभावी बचाव क्या है?
- पैरामीटराइज़्ड क्वेरीज़ (तैयार किए गए स्टेटमेंट) का उपयोग करना, जो SQL संरचना और उपयोगकर्ता-प्रदत्त मानों को अलग-अलग भेजते हैं ताकि इनपुट को कभी भी क्वेरी के हिस्से के रूप में व्याख्या न किया जा सके। यह कोड और डेटा को अलग रखता है और हमले के वर्ग को बेअसर करता है।
- क्रॉस-साइट स्क्रिप्टिंग SQL इंजेक्शन से कैसे भिन्न है?
- दोनों अविश्वसनीय इनपुट से उत्पन्न होते हैं, लेकिन SQL इंजेक्शन सर्वर के डेटाबेस को लक्षित करता है, जबकि क्रॉस-साइट स्क्रिप्टिंग दुर्भावनापूर्ण स्क्रिप्ट को इंजेक्ट करती है जो विश्वसनीय साइट के भीतर अन्य उपयोगकर्ताओं के ब्राउज़र में चलती है। SQLi सर्वर डेटा को चुराता या बदलता है; XSS उपयोगकर्ता सत्रों और कार्यों को हाईजैक करता है।