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

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

तो फ़ज़िंग क्या है और यह कैसे काम करता है?

फ़ज़िंग क्या है?

फ़ज़िंग एक स्वचालित सॉफ़्टवेयर परीक्षण तकनीक है जो यादृच्छिक इनपुट का उपयोग करके कमजोरियों को खोजने का प्रयास करती है।

सॉफ़्टवेयर अक्सर अप्रत्याशित रूप से व्यवहार करता है जब उपयोगकर्ता अनुरोध के अलावा किसी अन्य इनपुट में प्रवेश करता है। फ़ज़िंग बड़ी मात्रा में अप्रत्याशित इनपुट दर्ज करने और जो होता है उसे रिकॉर्ड करने का अभ्यास है। विचार यह है कि उपयोगकर्ता तब सॉफ़्टवेयर की निगरानी कर सकता है और यह निर्धारित कर सकता है कि कोई भेद्यता मौजूद है या नहीं।

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

instagram viewer

फ़ज़िंग द्वारा खोजी गई कमजोरियाँ व्यापक रूप से भिन्न होती हैं। एक अनपेक्षित इनपुट के कारण सॉफ़्टवेयर बस क्रैश हो सकता है। लेकिन यह निजी जानकारी भी लौटा सकता है या उपयोगकर्ता को सॉफ़्टवेयर के उन हिस्सों तक पहुंचने की अनुमति दे सकता है जो अन्यथा सीमा से बाहर होंगे।

फ़ज़िंग के क्या लाभ हैं?

फ़ज़िंग ऐसे कई तरीकों में से एक है, जिनसे सॉफ़्टवेयर उत्पादों को भेद्यताओं के लिए परीक्षण किया जा सकता है। यह लोकप्रिय है क्योंकि:

  • फ़ज़िंग पूरी तरह से स्वचालित है। एक बार फ़ज़िंग प्रोग्राम सेट हो जाने के बाद, यह मानव इनपुट के बिना कमजोरियों की तलाश जारी रख सकता है।
  • फ़ज़िंग में ऐसी भेद्यताएँ हो सकती हैं जो अन्य सॉफ़्टवेयर परीक्षण तकनीकों में नहीं होती हैं। इस वजह से, इसका उपयोग अक्सर मैनुअल तकनीकों के अलावा किया जाता है।
  • फ़ज़िंग का उपयोग अक्सर हैकर्स द्वारा किया जाता है शून्य-दिन की कमजोरियों का पता लगाएं. हैकर्स के समान तकनीकों का उपयोग करने से डेवलपर्स को ऐसा करने से पहले शून्य-दिन की कमजोरियों का पता लगाने की अनुमति मिलती है।

फ़ज़िंग कैसे काम करता है?

फ़ज़िंग के लिए उपयोग किए जाने वाले टूल में आमतौर पर तीन घटक होते हैं। उन्हें अक्सर एक कवि, एक कूरियर और, एक दैवज्ञ के रूप में जाना जाता है।

कवि

कवि प्रक्रिया शुरू करता है और टेस्ट केस बनाने के लिए जिम्मेदार होता है। एक परीक्षण मामला संभावित इनपुट की एक लंबी सूची है।

संदेशवाहक

कूरियर सभी रैंडम इनपुट को लक्षित सॉफ्टवेयर में सम्मिलित करता है। फ़ज़र्स को स्वचालित रूप से ऐसा करने के लिए डिज़ाइन किया गया है, जिससे बड़ी मात्रा में इनपुट का थोक में परीक्षण किया जा सकता है।

आकाशवाणी

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

हमलावर फ़ज़िंग का उपयोग कैसे करते हैं?

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

डीडीओएस हमले

यदि फ़ज़िंग को पता चलता है कि कुछ इनपुट को संसाधित करने के लिए लंबे समय की आवश्यकता होती है, तो इस जानकारी का उपयोग DDoS हमले को शुरू करने के लिए किया जा सकता है। एक डीडीओएस हमला इसमें सिस्टम को इतने अनुरोध भेजना शामिल है कि यह काम करना बंद कर देता है। फ़ज़िंग अनुरोधों को अनुकूलित करने की अनुमति देता है ताकि उन्हें प्रतिक्रिया देने के लिए सबसे अधिक सिस्टम संसाधनों की आवश्यकता हो।

एसक्यूएल इंजेक्षन

एक SQL इंजेक्शन हमला तब होता है जब किसी एप्लिकेशन को दुर्भावनापूर्ण SQL कथन भेजे जाते हैं। यदि इन बयानों को ठीक से साफ नहीं किया जाता है, तो वे एक हमलावर को डेटाबेस के साथ बातचीत करने की अनुमति दे सकते हैं। यह उन्हें डेटा चोरी करने या इसे संशोधित करने की अनुमति दे सकता है। फ़ज़िंग बड़ी मात्रा में SQL कथनों का प्रयास करने और यह निर्धारित करने के लिए एक प्रभावी उपकरण है कि क्या कोई अनुकूल प्रतिक्रिया देता है।

बफ़र अधिकता

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

फ़ज़िंग के प्रकार

फ़ज़िंग टूल को इस आधार पर वर्गीकृत किया जा सकता है कि परीक्षण मामले कैसे उत्पन्न होते हैं और सिस्टम के बारे में कितना जाना जाता है।

गूंगा बनाम। होशियार

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

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

पारस्परिक बनाम। पीढ़ीगत

पारस्परिक फ़ज़र्स एक इनपुट लेते हैं जिसे पहले स्वीकार किया गया था और इसमें मामूली बदलाव करते हैं। यह उन इनपुटों को उत्पन्न करने की अनुमति देता है जिन्हें स्वीकृत प्रारूप के ज्ञान के बिना स्वीकार किए जाने की संभावना है।

जनरेशनल फ़ज़र्स स्वीकृत प्रारूप के बारे में ज्ञात चीज़ों के आधार पर पूरी तरह से नए इनपुट बनाते हैं।

व्हाइट बॉक्स बनाम। ब्लैक बॉक्स

ब्लैक बॉक्स फ़ज़िंग का उपयोग परीक्षण किए जा रहे एप्लिकेशन के बारे में किसी भी जानकारी के बिना किया जाता है। यह व्हाइट बॉक्स फ़ज़िंग की तुलना में कम प्रभावी है लेकिन स्रोत कोड तक पहुंच के बिना किसी भी एप्लिकेशन पर लागू किया जा सकता है। यह इसे हैकर्स के बीच लोकप्रिय बनाता है।

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

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

यह सुरक्षा के दृष्टिकोण से विशेष रूप से महत्वपूर्ण है क्योंकि इसका उपयोग अक्सर शून्य-दिन की कमजोरियों का पता लगाने के लिए किया जाता है। इन कमजोरियों को या तो सुरक्षा पेशेवरों द्वारा खोजा और ठीक किया जा सकता है, या हैकर्स द्वारा खोजा और उनका शोषण किया जा सकता है।