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

और इस तथ्य के बावजूद कि सुरक्षा विकास जीवन चक्र (एसडीएलसी), और अपेक्षाकृत हाल ही में जैसे DevSecOps या SecDevOps जैसी अवधारणाएं विकास दुनिया में लंबे समय तक दिखाई दी हैं, लेकिन हर कोई इन तकनीकों का उपयोग नहीं करता है। उनके पास एक सार है - विकास के पहले चरणों से सुरक्षा में सुधार के लिए दृष्टिकोण को लागू करना, और कर्मचारियों के प्रशिक्षण के साथ शुरू करना बेहतर है। और, ज़ाहिर है, अपने पूरे जीवन चक्र में हमलों से उत्पाद की सुरक्षा पर ध्यान देना महत्वपूर्ण है। विवरण के लिए - बिल्ली में आपका स्वागत है।
सुरक्षित विकास में सबसे महत्वपूर्ण चरणों में से एक है फ़ज़िंग। फ़ज़िंग एक सॉफ्टवेयर परीक्षण तकनीक है, जिसका सार जानबूझकर गलत डेटा भेजकर और उन्हें कार्यक्रम की प्रतिक्रिया का विश्लेषण करके कार्यान्वयन त्रुटियों का स्वचालित पता लगाना है।
बस ट्विटर पर एक लेख लिखते समय, दिमित्री व्युकोव से फ़ज़िंग के उपयोग पर नोट फ़्लिकर हुए।
वह केवल इस तथ्य पर ध्यान आकर्षित करता है कि फ़ज़िंग का उपयोग करके आप कोड में बड़ी संख्या में त्रुटियों का पता लगा सकते हैं, जो अन्यथा समय की चूक के बाद भी गायब नहीं होंगे।
आमतौर पर फ़ज़िंग विकास प्रक्रिया को पूरा करता है, लेकिन फ़ज़िंग विकसित उत्पाद के अलग-अलग कार्यों को भी कर सकता है।
अन्य परीक्षण विधियों पर फ़ज़िंग के लाभ:
- आप फ़्यूज़र शुरू कर सकते हैं और परीक्षण के अंत तक इसके बारे में भूल सकते हैं, और परिणामों के साथ काम कर सकते हैं;
- स्वचालित परीक्षण उन त्रुटियों की पहचान कर सकता है जो कोड की अधिक कवरेज के कारण मैनुअल परीक्षण द्वारा नहीं मिल सकती हैं;
- आपको परीक्षण कोड की सुरक्षा का एक सामान्य विचार एकत्र करने की अनुमति देता है।
सनसनीखेज मामलों में से एक जब फज़िंग ने अपना अच्छा काम किया, वह 50 दिनों में एडोब रीडर में पचास सीवीई की खोज है । स्रोत कोड तक पहुंच के बिना शोधकर्ता इतनी कमजोरियों का पता लगाने में सक्षम थे, और यह कल्पना करना मुश्किल है कि स्रोत होने पर कितने की खोज की गई होगी।
यदि आप डेवलपर्स के बीच फ़ज़िंग के उपयोग के बारे में जानकारी के लिए खुले स्रोतों में देखते हैं, तो Microsoft पहला होगा। यह कंपनी SDLC में फ़ज़िंग के अग्रदूतों में से एक है। उनके पास सिक्योरिटी रिस्क डिटेक्शन है , एक सेवा है जो उपयोगकर्ताओं को अपने फ़ज़िंग के लिए बाइनरी फ़ाइलों को डाउनलोड करने की अनुमति देती है। इनपुट को क्या डेटा दिया जाएगा, यह उपयोगकर्ता तय करता है। फ़ज़ीर का परिणाम उन त्रुटियों को मिला है और जो डेटा उन्हें उत्पन्न करता है।
Google फ़ज़िंग का भी उपयोग करता है, और उनके पास सार्वजनिक डोमेन में बहुत सारे उपकरण हैं । उनमें से सबसे दिलचस्प OSS-Fuzz है । इसका सार यह है कि कोई भी अपने फजर के साथ एक पुल अनुरोध कर सकता है। आमतौर पर ये फ़र्ज़ी होते हैं, एक बार डेवलपर्स द्वारा अपनी छोटी परियोजनाओं के लिए बनाए जाते हैं। इन फ़ज़ीरों के अलावा, Google Chrome में त्रुटियों का पता लगाने के लिए ClusterFuzz का उपयोग करता है। कई सालों तक, ब्राउज़र में 16 हजार से अधिक कमजोरियां और 160 खुले स्रोत परियोजनाओं में 11 हजार से अधिक की खोज की गई थी।
कुछ कंपनियां जो सॉफ़्टवेयर विकसित करती हैं, सभी को फ़ज़िंग के लिए रात की असेंबली प्रदान करती हैं। तो मोज़िला और वीएलसी करता है। कोई भी असेंबली डाउनलोड कर सकता है और उसमें त्रुटियों और कमजोरियों की तलाश कर सकता है।
बेशक, मालिकाना सॉफ्टवेयर के कई डेवलपर्स चुप हैं कि वे अपने उत्पादों की सुरक्षा कैसे बढ़ाते हैं। लेकिन तथ्य यह है कि उनमें से कई अपने उत्पादों की सुरक्षा पर ध्यान नहीं देते हैं, यह पता चला कमजोरियों की संख्या में स्पष्ट है। इसलिए, हमने फ़ज़िंग के लिए उनके दृष्टिकोण का पता लगाने के लिए डेवलपर्स का एक नमूना सर्वेक्षण करने का निर्णय लिया।
हमने निम्नलिखित प्रश्न पूछे:
क्या आप अपनी उत्पाद विकास प्रक्रिया में फ़ज़िंग का उपयोग करते हैं?
एक तिहाई उत्तरदाताओं ने इस सवाल का सकारात्मक जवाब दिया।

यदि उपयोग नहीं कर रहे हैं, तो क्यों? या क्या, आपकी राय में, आमतौर पर आपको उत्पाद विकास प्रक्रिया में फ़ज़िंग चरण को शामिल करने से रोकता है?
संभावित उत्तर:
- कुछ भी नहीं करने के लिए
- उत्पाद सुरक्षा प्राथमिकता नहीं है
- कोई उपयुक्त उपकरण नहीं
- कोई प्रासंगिक विशेषज्ञ नहीं
- उपयुक्त बुनियादी ढाँचे का अभाव
- अन्य
उत्तरदाता विकास प्रक्रिया में फ़ज़िंग का उपयोग करने से इनकार करने के कई कारण चुन सकते हैं।
आरेख विकास प्रक्रिया में फ़ज़िंग से इनकार करने के कारणों की प्रासंगिकता का प्रतिशत दर्शाता है।

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