फज़िंग: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Automated software testing technique}} {{Information security}} [[कंप्यूटर प्रोग्रामिंग]] और सॉफ्...")
 
No edit summary
 
(14 intermediate revisions by 3 users not shown)
Line 2: Line 2:
{{Information security}}
{{Information security}}


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


सुरक्षा के उद्देश्य से, एक [[विश्वास सीमा]] को पार करने वाला इनपुट अक्सर सबसे उपयोगी होता है।<ref name="neystadt"/>उदाहरण के लिए, फ़ज़ कोड के लिए यह अधिक महत्वपूर्ण है जो किसी भी उपयोगकर्ता द्वारा फ़ाइल के अपलोड को संभालता है, उस कोड को फ़ज़ करना है जो कॉन्फ़िगरेशन फ़ाइल को पार्स करता है जो केवल एक विशेषाधिकार प्राप्त उपयोगकर्ता के लिए पहुंच योग्य है।
सुरक्षा के उद्देश्य से, एक [[विश्वास सीमा]] को पार करने वाला इनपुट अधिकांशतः सबसे उपयोगी होता है।<ref name="neystadt"/> उदाहरण के लिए, फ़ज़ कोड के लिए यह अधिक महत्वपूर्ण है जो किसी भी उपयोगकर्ता द्वारा फ़ाइल के अपलोड को संभालता है, उस कोड को फ़ज़ करता है जो विन्यास फाइल को पार्स करता है जो केवल एक विशेषाधिकार उपयोगकर्ता के योग्य होता है।


== इतिहास ==
== इतिहास ==


फ़ज़ शब्द की उत्पत्ति 1988 के पतन वर्ग की परियोजना से हुई है<ref name="fuzz-cs736"/>स्नातक उन्नत ऑपरेटिंग सिस्टम वर्ग (CS736) में, विस्कॉन्सिन विश्वविद्यालय में प्रोफेसर बार्टन मिलर द्वारा पढ़ाया गया, जिसके परिणाम बाद में 1990 में प्रकाशित हुए।<ref name="fuzz1990"/>यूटिलिटी के लिए स्वचालित रूप से यादृच्छिक इनपुट और कमांड-लाइन पैरामीटर उत्पन्न करने के लिए एक UNIX उपयोगिता का परीक्षण करने के लिए। प्रोजेक्ट को [[यूनिक्स]] कमांड लाइन कार्यक्रमों की विश्वसनीयता का परीक्षण करने के लिए डिज़ाइन किया गया था जब तक कि वे दुर्घटनाग्रस्त होने तक त्वरित उत्तराधिकार में बड़ी संख्या में यादृच्छिक इनपुट निष्पादित कर सकें। मिलर की टीम 25 से 33 प्रतिशत उपयोगिताओं को क्रैश करने में सक्षम थी, जिनका उन्होंने परीक्षण किया था। फिर उन्होंने कारण निर्धारित करने के लिए प्रत्येक क्रैश को डिबग किया और प्रत्येक ज्ञात विफलता को वर्गीकृत किया। अन्य शोधकर्ताओं को अन्य सॉफ्टवेयर के साथ समान प्रयोग करने की अनुमति देने के लिए, उपकरणों के स्रोत कोड, परीक्षण प्रक्रियाओं और कच्चे परिणाम डेटा को सार्वजनिक रूप से उपलब्ध कराया गया।<ref name="AutoDO-2"/>इस शुरुआती फ़ज़िंग को अब ब्लैक बॉक्स, जेनरेशनल, अनस्ट्रक्चर्ड (डंब) फ़ज़िंग कहा जाएगा।
फ़ज़ शब्द की उत्पत्ति 1988 के पतन वर्ग की परियोजना से हुई थी<ref name="fuzz-cs736"/> स्नातक उन्नत ऑपरेटिंग उपकरण वर्ग (CS736) में, विस्कॉन्सिन विश्वविद्यालय में प्रोफेसर बार्टन मिलर द्वारा पढ़ाया गया था, जिसके परिणाम बाद में 1990 में प्रकाशित हुए थे।<ref name="fuzz1990"/> यूटिलिटी के लिए स्वचालित रूप से यादृच्छिक इनपुट और कमांड-लाइन पैरामीटर उत्पन्न करने के लिए एक यूनिक्स उपयोगिता का परीक्षण करने के लिए होता है। प्रोजेक्ट को [[यूनिक्स]] कमांड लाइन कार्यक्रमों की विश्वसनीयता का परीक्षण करने के लिए डिज़ाइन किया गया था जब तक कि वे दुर्घटनाग्रस्त होने तक त्वरित उत्तराधिकार में बड़ी संख्या में यादृच्छिक इनपुट निष्पादित कर सकते है। मिलर की टीम 25 से 33 प्रतिशत उपयोगिताओं को क्रैश करने में सक्षम थी, जिनका उन्होंने परीक्षण किया था। फिर उन्होंने कारण निर्धारित करने के लिए प्रत्येक क्रैश को डिबग किया था और प्रत्येक ज्ञात विफलता को वर्गीकृत किया था। अन्य शोधकर्ताओं को अन्य सॉफ्टवेयर के साथ समान प्रयोग करने की अनुमति देने के लिए, उपकरणों के स्रोत कोड, परीक्षण प्रक्रियाओं और कच्चे परिणाम डेटा को सार्वजनिक रूप से उपलब्ध कराया गया था।<ref name="AutoDO-2"/> इस प्रारंभिक फ़ज़िंग को अब ब्लैक बॉक्स, जेनरेशनल, अनस्ट्रक्चर्ड फ़ज़िंग कहा जाता है।


1990 के इस फ़ज़ पेपर ने सुरक्षा के साथ विश्वसनीयता के संबंध को भी नोट किया: दूसरा, एक बग जो हमने पाया वह उसी प्रोग्रामिंग अभ्यास के कारण हुआ था जिसने इंटरनेट वर्म ('गेट्स फिंगर' बग) को एक सुरक्षा छेद प्रदान किया था। हमें अतिरिक्त बग मिले हैं जो भविष्य में सुरक्षा खामियों का संकेत दे सकते हैं। (नवंबर 1988 के [[मॉरिस कीड़ा]] का जिक्र करते हुए।)
1990 के इस फ़ज़ पेपर ने सुरक्षा के साथ विश्वसनीयता के संबंध को भी नोट किया था, दूसरा एक बग जो हमने पाया था वह उसी प्रोग्रामिंग अभ्यास के कारण हुआ था जिसने इंटरनेट वर्म ('गेट्स फिंगर' बग) को एक सुरक्षा छेद प्रदान किया था। हमें अतिरिक्त बग मिले है जो भविष्य में सुरक्षा खामियों को संकेत दे सकते है।


मूल फज़ परियोजना ने 1995, 2000, 2006 और हाल ही में 2020 में योगदान दिया:
मूल फज़ परियोजना ने 1995, 2000, 2006 और हाल ही में 2020 में योगदान दिया:
* 1995:<ref name="fuzz1995"/>फ़ज़ रिविज़िटेड पेपर में चार भाग होते हैं।
* 1995:<ref name="fuzz1995"/>फ़ज़ रिविज़िटेड पेपर में चार भाग होते है।
*# UNIX सिस्टम की व्यापक विविधता और अधिक उपयोगिताओं सहित मूल कमांड लाइन अध्ययन को पुन: प्रस्तुत किया। अध्ययन से पता चला कि, अगर कुछ भी, विश्वसनीयता खराब हो गई थी। यह पहला अध्ययन था जिसमें ओपन सोर्स [[जीएनयू]] और [[लिनक्स]] उपयोगिताओं को शामिल किया गया था, जो दिलचस्प रूप से वाणिज्यिक यूनिक्स सिस्टम की तुलना में काफी अधिक विश्वसनीय थे।
*# यूनिक्स उपकरण की व्यापक विविधता और अधिक उपयोगिताओं सहित मूल कमांड लाइन अध्ययन को पुन: प्रस्तुत किया था। अध्ययन से पता चला था कि विश्वसनीयता खराब हो गई थी। यह पहला अध्ययन था जिसमें ओपन सोर्स [[जीएनयू]] और [[लिनक्स]] उपयोगिताओं को सम्मलित किया गया था, जो रोचक रूप से वाणिज्यिक यूनिक्स उपकरण की तुलना में अधिक विश्वसनीय थे।
*# एक्स-विंडोज़ के तहत जीयूआई (विंडो आधारित) अनुप्रयोगों के फ़ज़ परीक्षण का परिचय दिया। इस अध्ययन में असंरचित और संरचित (माउस और कीबोर्ड घटनाओं के मान्य अनुक्रम) इनपुट डेटा दोनों का उपयोग किया गया। वे X-Windows अनुप्रयोगों के 25% को क्रैश करने में सक्षम थे। इसके अलावा, उन्होंने एक्स-विंडोज सर्वर का परीक्षण किया और दिखाया कि यह क्रैश के लिए लचीला था।
*# एक्स-विंडोज़ के अनुसार जीयूआई (विंडो आधारित) अनुप्रयोगों के फ़ज़ परीक्षण का परिचय दिया था। इस अध्ययन में असंरचित और संरचित (माउस और कीबोर्ड घटनाओं के मान्य अनुक्रम) इनपुट डेटा दोनों का उपयोग किया गया था। वे एक्स विंडोज अनुप्रयोगों के 25% को क्रैश करने में सक्षम थे। इसके अतिरिक्त, उन्होंने एक्स-विंडोज सर्वर का परीक्षण किया था और दिखाया कि यह क्रैश के लिए लचीला था।
*# संरचित परीक्षण इनपुट के आधार पर फिर से नेटवर्क सेवाओं की फ़ज़ परीक्षण की शुरुआत की। इनमें से कोई भी सेवा दुर्घटनाग्रस्त नहीं हुई थी।
*# संरचित परीक्षण इनपुट के आधार पर फिर से नेटवर्क सेवाओं की फ़ज़ परीक्षण को प्रारंभ किया था। इनमें से कोई भी सेवा दुर्घटनाग्रस्त नहीं हुई थी।
*# सिस्टम लाइब्रेरी कॉल रिटर्न वैल्यू के यादृच्छिक परीक्षण का परिचय दिया, विशेष रूप से फ़ंक्शन के मॉलोक परिवार से यादृच्छिक रूप से शून्य लौटा रहा है। लगभग आधे मानक UNIX प्रोग्राम ऐसे वापसी मूल्यों की ठीक से जाँच करने में विफल रहे।
*# उपकरण लाइब्रेरी के यादृच्छिक परीक्षण का परिचय दिया कि, विशेष रूप से फ़ंक्शन के मॉलोक परिवार से यादृच्छिक रूप से शून्य लौटता है। लगभग आधे मानक यूनिक्स प्रोग्राम ऐसे वापसी मूल्यों की ठीक से जाँच करने में विफल रहते है।
* 2000:<ref name="fuzz2000"/>हाल ही में जारी किए गए [[विंडोज एनटी]] ऑपरेटिंग सिस्टम के लिए एप्लाइड फज़ परीक्षण, [[Win32]] विंडो सिस्टम के तहत चलने वाले अनुप्रयोगों का परीक्षण। वे 21% अनुप्रयोगों को क्रैश करने में सक्षम थे और परीक्षण किए गए अतिरिक्त 24% को लटका दिया। फिर से, अनुप्रयोग असंरचित और संरचित (वैध कीबोर्ड और माउस ईवेंट) इनपुट दोनों के साथ परीक्षण कर रहे थे, उन अनुप्रयोगों में से लगभग आधे को क्रैश कर दिया, जिनका उन्होंने परीक्षण किया था। उन्होंने विफलताओं के कारणों की पहचान की और उन्हें पिछले अध्ययनों के समान पाया।
* 2000:<ref name="fuzz2000"/> हाल ही में जारी किए गए [[विंडोज एनटी]] ऑपरेटिंग उपकरण के लिए प्रयुक्त फज़ परीक्षण, [[Win32]] विंडो उपकरण के अनुसार चलने वाले अनुप्रयोगों का परीक्षण था। वे 21% अनुप्रयोगों को क्रैश करने में सक्षम थे। फिर से, अनुप्रयोग असंरचित और संरचित इनपुट दोनों के साथ परीक्षण कर रहे थे, उन अनुप्रयोगों में से लगभग आधे को क्रैश कर दिया था, जिनका उन्होंने परीक्षण किया था। उन्होंने विफलताओं के कारणों की पहचान की थी और उन्हें पिछले अध्ययनों के समान पाया था।
* 2001:<ref>{{cite web|url=https://pages.cs.wisc.edu/~blbowers/fuzz-2001.pdf|title=UNIX उपयोगिताओं की स्थिरता और विश्वसनीयता की जांच|website=cs.wisc.edu|access-date=3 March 2023}}</ref> दो लोकप्रिय यूनिक्स वेरिएंट्स, एक GNU/Linux प्लेटफॉर्म और एक सोलारिस प्लेटफॉर्म के तहत 87 UNIX उपयोगिताओं के लिए फ़ज़ परीक्षण लागू किया गया, जो SunOS 1990 पर 29% दुर्घटनाग्रस्त हो गया, लेकिन परीक्षण किए गए रेड हैट 6.2 पर केवल 4%सबसे आम विफलता मोड पॉइंटर अंकगणितीय था, इसके बाद रिटर्न कोड की जांच नहीं की गई और पुराने (खतरनाक) इनपुट फ़ंक्शंस का उपयोग किया गया।
* 2001:<ref>{{cite web|url=https://pages.cs.wisc.edu/~blbowers/fuzz-2001.pdf|title=UNIX उपयोगिताओं की स्थिरता और विश्वसनीयता की जांच|website=cs.wisc.edu|access-date=3 March 2023}}</ref> दो लोकप्रिय यूनिक्स वेरिएंट्स, एक जीएनयू/लिनक्स प्लेटफॉर्म और एक सोलारिस प्लेटफॉर्म के अनुसार 87 यूनिक्स उपयोगिताओं के लिए फ़ज़ परीक्षण लागू किया गया था, जो SunOS 1990 पर 29% दुर्घटनाग्रस्त हो गया था, लेकिन परीक्षण किए गए रेड हैट 6.2 पर केवल 4% था। सबसे आम विफलता मोड पॉइंटर अंकगणितीय था, इसके बाद रिटर्न कोड की जांच नहीं की गई थी और पुराने इनपुट फ़ंक्शंस का उपयोग किया गया था।
* 2006:<ref name="fuzz2006"/>कमांड लाइन और विंडो आधारित अनुप्रयोगों दोनों के लिए [[ Mac OS X ]] पर एप्लाइड फ़ज़ परीक्षण। उन्होंने 135 कमांड लाइन उपयोगिता कार्यक्रमों का परीक्षण किया, जिनमें से 7% परीक्षण किए गए। इसके अलावा, उन्होंने MacOS Aqua (उपयोगकर्ता इंटरफ़ेस) विंडो सिस्टम के अंतर्गत चलने वाले 30 अनुप्रयोगों का परीक्षण किया, जिनमें से 73% परीक्षण किए गए।
* 2006:<ref name="fuzz2006"/> कमांड लाइन और विंडो आधारित अनुप्रयोगों दोनों के लिए [[ Mac OS X |मैक ओएस एक्स]] पर फ़ज़ परीक्षण होता है। उन्होंने 135 कमांड लाइन उपयोगिता कार्यक्रमों का परीक्षण किया था, जिनमें से 7% परीक्षण किए गए थे। इसके अतिरिक्त, उन्होंने मैक ओएस एक्वा विंडो उपकरण के अंतर्गत चलने वाले 30 अनुप्रयोगों का परीक्षण किया, जिनमें से 73% परीक्षण किए गए थे।
* 2020:<ref name="fuzz2020"/>हाल ही में, उन्होंने यह देखने के लिए कि क्या मूल तकनीकें अभी भी प्रासंगिक थीं और क्या वर्तमान उपयोगिता कार्यक्रम इस प्रकार के परीक्षण के लिए प्रतिरोधी थे, क्लासिक जेनरेशनल, ब्लैक बॉक्स, वर्तमान UNIX सिस्टम, विशेष रूप से Linux, [[FreeBSD]] और MacOS पर असंरचित परीक्षण लागू किया। उन्होंने प्रत्येक प्लेटफॉर्म पर लगभग 75 उपयोगिताओं का परीक्षण किया, लिनक्स पर 12% की विफलता दर, मैकओएस पर 16% और फ्रीबीएसडी पर 19%। (ध्यान दें कि ये विफलता दर समान प्रणालियों के पिछले परीक्षण के परिणामों से भी बदतर थे।) जब उन्होंने प्रत्येक विफलता का विश्लेषण किया और उन्हें वर्गीकृत किया, तो उन्होंने पाया कि विफलताओं की क्लासिक श्रेणियां, जैसे सूचक और सरणी त्रुटियां और रिटर्न कोड की जांच नहीं करना, नए परिणामों में मोटे तौर पर अभी भी मौजूद थे। इसके अलावा, नई विफलता जटिल प्रोग्राम स्थिति और एल्गोरिदम से उत्पन्न होती है जो इनपुट आकार या जटिलता के साथ स्केल नहीं करती थी। उन्होंने हाल ही में रस्ट में लिखी गई UNIX उपयोगिताओं का भी परीक्षण किया और पाया कि वे C में लिखी गई समान विश्वसनीयता की थीं, हालांकि (उम्मीद के मुताबिक) स्मृति त्रुटियों की संभावना कम थी।
* 2020:<ref name="fuzz2020"/> हाल ही में, उन्होंने यह देखने के लिए कि क्या मूल तकनीकें अभी भी प्रासंगिक थीं और क्या वर्तमान उपयोगिता कार्यक्रम इस प्रकार के परीक्षण के लिए प्रतिरोधी थे, क्लासिक जेनरेशनल, ब्लैक बॉक्स, वर्तमान यूनिक्स उपकरण, विशेष रूप से लिनक्स, [[FreeBSD|फ्री बीएसडी]] और मैक ओएस पर असंरचित परीक्षण लागू किया था। उन्होंने प्रत्येक प्लेटफॉर्म पर लगभग 75 उपयोगिताओं का परीक्षण किया था, लिनक्स पर 12% की विफलता दर, मैकओएस पर 16% और फ्रीबीएसडी पर 19% था। जब उन्होंने प्रत्येक विफलता का विश्लेषण किया और उन्हें वर्गीकृत किया, तो उन्होंने पाया कि विफलताओं की क्लासिक श्रेणियां, जैसे सूचक और सरणी त्रुटियां और रिटर्न कोड की जांच नहीं करना, नए परिणामों में मोटे तौर पर अभी भी उपस्थित थे। इसके अतिरिक्त, नई विफलता जटिल प्रोग्राम स्थिति और एल्गोरिदम से उत्पन्न होती है जो इनपुट आकार या जटिलता के साथ स्केल नहीं करती थी। उन्होंने हाल ही में रस्ट में लिखी गई यूनिक्स उपयोगिताओं का भी परीक्षण किया और पाया कि वे सी में लिखी गई समान विश्वसनीयता की थीं, जिसमे स्मृति त्रुटियों की संभावना कम थी।


अप्रैल 2012 में, Google ने [[क्रोमियम वेब ब्राउज़र]] के सुरक्षा-महत्वपूर्ण घटकों के लिए क्लाउड-आधारित फ़ज़िंग इंफ्रास्ट्रक्चर क्लस्टरफ़ज़ की घोषणा की।<ref name="clusterfuzz"/>यदि ClusterFuzz को अपलोड किए गए फ़ज़र के साथ क्रैश होने का पता चलता है, तो सुरक्षा शोधकर्ता अपने स्वयं के फ़ज़र्स अपलोड कर सकते हैं और बग बाउंटी एकत्र कर सकते हैं।
अप्रैल 2012 में, गूगल ने [[क्रोमियम वेब ब्राउज़र]] के सुरक्षा-महत्वपूर्ण घटकों के लिए क्लाउड-आधारित फ़ज़िंग आधारिक संरचना क्लस्टरफ़ज़ की घोषणा की थी।<ref name="clusterfuzz"/> यदि क्लस्टरफ़ज़ को अपलोड किए गए फ़ज़र के साथ क्रैश होने का पता चलता है, तो सुरक्षा शोधकर्ता अपने स्वयं के फ़ज़र्स अपलोड कर सकते है और बग बाउंटी एकत्र कर सकते है।


सितंबर 2014 में, [[शेलशॉक (सॉफ्टवेयर बग)]]<ref name="NYT-20140925-NP">{{cite news |last=Perlroth |first=Nicole |title=सुरक्षा विशेषज्ञ बैश में 'शेलशॉक' सॉफ्टवेयर बग के महत्वपूर्ण होने की अपेक्षा करते हैं|url=https://www.nytimes.com/2014/09/26/technology/security-experts-expect-shellshock-software-bug-to-be-significant.html |date=25 September 2014 |work=[[The New York Times]] |access-date=25 September 2014}}</ref> व्यापक रूप से उपयोग किए जाने वाले यूनिक्स [[बैश (यूनिक्स शेल)]] [[ खोल (कंप्यूटिंग) ]] में [[सुरक्षा बग]]ों के परिवार के रूप में खुलासा किया गया था; शेलशॉक की अधिकांश भेद्यताएं [[अमेरिकन फ़ज़ी लोप (फ़ज़र)]]फ़ज़र) का उपयोग करके पाई गईं।<ref>{{cite web|url=http://lcamtuf.blogspot.com/2014/10/bash-bug-how-we-finally-cracked.html|title=Bash bug: the other two RCEs, or how we chipped away at the original fix (CVE-2014-6277 and '78)|date=1 October 2014|website=lcamtuf's blog|last1=Zalewski|first1=Michał|access-date=13 March 2017}}</ref> (कई इंटरनेट-फेसिंग सेवाएं, जैसे कि कुछ वेब सर्वर परिनियोजन, कुछ अनुरोधों को संसाधित करने के लिए बैश का उपयोग करती हैं, एक हमलावर को [[मनमाना कोड निष्पादन]] के लिए बैश के कमजोर संस्करणों का कारण बनने की अनुमति देती हैं। यह एक हमलावर को कंप्यूटर सिस्टम पर अनधिकृत पहुंच प्राप्त करने की अनुमति दे सकता है।<ref name="ZDN-20140929">{{cite web|last=Seltzer |first=Larry |title=शेलशॉक हार्टब्लीड को महत्वहीन बना देता है|url=http://www.zdnet.com/shellshock-makes-heartbleed-look-insignificant-7000034143/ |date=29 September 2014 |publisher=[[ZDNet]] |access-date=29 September 2014}}</ref>)
सितंबर 2014 में, [[शेलशॉक (सॉफ्टवेयर बग)]]<ref name="NYT-20140925-NP">{{cite news |last=Perlroth |first=Nicole |title=सुरक्षा विशेषज्ञ बैश में 'शेलशॉक' सॉफ्टवेयर बग के महत्वपूर्ण होने की अपेक्षा करते हैं|url=https://www.nytimes.com/2014/09/26/technology/security-experts-expect-shellshock-software-bug-to-be-significant.html |date=25 September 2014 |work=[[The New York Times]] |access-date=25 September 2014}}</ref> व्यापक रूप से उपयोग किए जाने वाले यूनिक्स [[बैश (यूनिक्स शेल)]] [[ खोल (कंप्यूटिंग) |खोल (कंप्यूटिंग)]] में [[सुरक्षा बग|सुरक्षा बगों]] के परिवार के रूप में खुलासा किया गया था, शेलशॉक की अधिकांश भेद्यताएं [[अमेरिकन फ़ज़ी लोप (फ़ज़र)]]फ़ज़र) का उपयोग करके पाई गई थी।<ref>{{cite web|url=http://lcamtuf.blogspot.com/2014/10/bash-bug-how-we-finally-cracked.html|title=Bash bug: the other two RCEs, or how we chipped away at the original fix (CVE-2014-6277 and '78)|date=1 October 2014|website=lcamtuf's blog|last1=Zalewski|first1=Michał|access-date=13 March 2017}}</ref> (कई इंटरनेट-फेसिंग सेवाएं, जैसे कि कुछ वेब सर्वर परिनियोजन, कुछ अनुरोधों को संसाधित करने के लिए बैश का उपयोग करती है, एक हमलावर को [[मनमाना कोड निष्पादन]] के लिए बैश के कमजोर संस्करणों का कारण बनने की अनुमति देती है। यह एक हमलावर को कंप्यूटर उपकरण पर अनधिकृत पहुंच प्राप्त करने की अनुमति दे सकता है।<ref name="ZDN-20140929">{{cite web|last=Seltzer |first=Larry |title=शेलशॉक हार्टब्लीड को महत्वहीन बना देता है|url=http://www.zdnet.com/shellshock-makes-heartbleed-look-insignificant-7000034143/ |date=29 September 2014 |publisher=[[ZDNet]] |access-date=29 September 2014}}</ref>)


अप्रैल 2015 में, हन्नो बॉक ने दिखाया कि कैसे फजर एएफएल 2014 हार्टब्लीड भेद्यता को ढूंढ सकता था।<ref>{{cite web|last1=Böck|first1=Hanno|title=Fuzzing: Wie man Heartbleed hätte finden können (in German)|url=http://www.golem.de/news/fuzzing-wie-man-heartbleedhaette-finden-koennen-1504-113345.html|website=Golem.de|access-date=13 March 2017|language=de-DE}}</ref><ref>{{cite web|last1=Böck|first1=Hanno|title=हार्टब्लीड कैसे पाया जा सकता था (अंग्रेज़ी में)|url=https://blog.hboeck.de/archives/868-How-Heartbleed-couldve-been-found.html|website=Hanno's blog|access-date=13 March 2017}}</ref> (अप्रैल 2014 में [[ हार्दिक ]] भेद्यता का खुलासा किया गया था। यह एक गंभीर भेद्यता है जो विरोधियों को अन्यथा [[एन्क्रिप्टेड संचार]] को समझने की अनुमति देती है। भेद्यता को गलती से [[ओपनएसएसएल]] में पेश किया गया था जो [[ परिवहन परत सुरक्षा ]] को लागू करता है और इंटरनेट पर अधिकांश सर्वरों द्वारा उपयोग किया जाता है। [[शोडान (वेबसाइट)]] ने अप्रैल 2016 में 238,000 मशीनों के अभी भी असुरक्षित होने की सूचना दी;<ref>{{cite web|url=https://www.shodan.io/report/89bnfUyJ|title=Search engine for the internet of things – devices still vulnerable to Heartbleed|website=shodan.io|access-date=13 March 2017}}</ref> जनवरी 2017 में 200,000।<ref>{{cite web|url=https://www.shodan.io/report/DCPO7BkV|title=Heartbleed Report (2017-01)|website=shodan.io|access-date=10 July 2017}}</ref>)
अप्रैल 2015 में, हन्नो बॉक ने दिखाया कि कैसे फजर एएफएल 2014 हार्टब्लीड भेद्यता को ढूंढ सकता था।<ref>{{cite web|last1=Böck|first1=Hanno|title=Fuzzing: Wie man Heartbleed hätte finden können (in German)|url=http://www.golem.de/news/fuzzing-wie-man-heartbleedhaette-finden-koennen-1504-113345.html|website=Golem.de|access-date=13 March 2017|language=de-DE}}</ref><ref>{{cite web|last1=Böck|first1=Hanno|title=हार्टब्लीड कैसे पाया जा सकता था (अंग्रेज़ी में)|url=https://blog.hboeck.de/archives/868-How-Heartbleed-couldve-been-found.html|website=Hanno's blog|access-date=13 March 2017}}</ref> (अप्रैल 2014 में [[ हार्दिक |हार्दिक]] भेद्यता का खुलासा किया गया था। यह एक गंभीर भेद्यता है जो विरोधियों को अन्यथा [[एन्क्रिप्टेड संचार]] को समझने की अनुमति देता है। भेद्यता को गलती से [[ओपनएसएसएल]] में प्रस्तुत किया गया था जो [[ परिवहन परत सुरक्षा |परिवहन परत सुरक्षा]] को लागू करता है और इंटरनेट पर अधिकांश सर्वरों द्वारा उपयोग किया जाता है। [[शोडान (वेबसाइट)]] ने अप्रैल 2016 में 238,000 मशीनों के अभी भी असुरक्षित होने की सूचना दी थी,<ref>{{cite web|url=https://www.shodan.io/report/89bnfUyJ|title=Search engine for the internet of things – devices still vulnerable to Heartbleed|website=shodan.io|access-date=13 March 2017}}</ref> जनवरी 2017 में 200,000।<ref>{{cite web|url=https://www.shodan.io/report/DCPO7BkV|title=Heartbleed Report (2017-01)|website=shodan.io|access-date=10 July 2017}}</ref>)


अगस्त 2016 में, [[रक्षा अग्रिम जाँच परियोजनाएं एजेंसी]] (DARPA) ने पहले [[साइबर ग्रैंड चैलेंज]] का फाइनल आयोजित किया, जो पूरी तरह से स्वचालित कैप्चर द फ़्लैग (साइबर सुरक्षा) | कैप्चर-द-फ़्लैग प्रतियोगिता थी जो 11 घंटे तक चली।<ref name="cgc">{{cite web|url=http://www.darpa.mil/program/cyber-grand-challenge |title= DARPA साइबर ग्रैंड चैलेंज|last=Walker |first=Michael |website=darpa.mil |access-date=12 March 2017}}</ref> इसका उद्देश्य स्वचालित रक्षा प्रणालियों को विकसित करना था जो [[रीयल-टाइम कंप्यूटिंग]] | रीयल-टाइम में सॉफ़्टवेयर त्रुटियों की खोज, [[शोषण (कंप्यूटर सुरक्षा)]], और [[स्वचालित बग फिक्सिंग]] सॉफ़्टवेयर त्रुटियों को विकसित कर सके। विरोधियों के सॉफ्टवेयर में खामियों को खोजने के लिए फ़ज़िंग को एक प्रभावी अपराध रणनीति के रूप में इस्तेमाल किया गया था। इसने भेद्यता का पता लगाने के स्वचालन में जबरदस्त क्षमता दिखाई। विजेता हाथापाई नामक एक प्रणाली थी<ref name="2016 results">{{cite web|url=http://www.darpa.mil/news-events/2016-08-05a |title=तबाही सीजीसी में पहले स्थान पर आती है|access-date=12 March 2017}}</ref> [[डेविड ब्रमली]] के नेतृत्व वाली टीम फॉरऑलसिक्योर द्वारा विकसित किया गया।
अगस्त 2016 में, [[रक्षा अग्रिम जाँच परियोजनाएं एजेंसी]] (दरपा) ने पहले [[साइबर ग्रैंड चैलेंज]] का फाइनल आयोजित किया था।<ref name="cgc">{{cite web|url=http://www.darpa.mil/program/cyber-grand-challenge |title= DARPA साइबर ग्रैंड चैलेंज|last=Walker |first=Michael |website=darpa.mil |access-date=12 March 2017}}</ref> इसका उद्देश्य स्वचालित रक्षा प्रणालियों को विकसित करना था जो [[रीयल-टाइम कंप्यूटिंग]] | रीयल-टाइम में सॉफ़्टवेयर त्रुटियों की खोज, [[शोषण (कंप्यूटर सुरक्षा)]], और [[स्वचालित बग फिक्सिंग]] सॉफ़्टवेयर त्रुटियों को विकसित कर सके। विरोधियों के सॉफ्टवेयर में खामियों को खोजने के लिए फ़ज़िंग को एक प्रभावी अपराध रणनीति के रूप में उपयोग किया गया था। इसने भेद्यता का पता लगाने के स्वचालन में जबरदस्त क्षमता दिखाई थी।<ref name="2016 results">{{cite web|url=http://www.darpa.mil/news-events/2016-08-05a |title=तबाही सीजीसी में पहले स्थान पर आती है|access-date=12 March 2017}}</ref> [[डेविड ब्रमली]] के नेतृत्व वाली टीम फॉरऑलसिक्योर द्वारा विकसित किया गया था।


सितंबर 2016 में, Microsoft ने प्रोजेक्ट स्प्रिंगफील्ड की घोषणा की, जो सॉफ्टवेयर में सुरक्षा संबंधी महत्वपूर्ण बग खोजने के लिए क्लाउड-आधारित फ़ज़ परीक्षण सेवा है।<ref name="springfield"/>
सितंबर 2016 में, माइक्रोसॉफ्ट ने प्रोजेक्ट स्प्रिंगफील्ड की घोषणा की थी, जो सॉफ्टवेयर में सुरक्षा संबंधी महत्वपूर्ण बग खोजने के लिए क्लाउड-आधारित फ़ज़ परीक्षण सेवा है।<ref name="springfield"/>


दिसंबर 2016 में, Google ने OSS-Fuzz की घोषणा की जो कई सुरक्षा-महत्वपूर्ण ओपन-सोर्स परियोजनाओं की निरंतर फ़ज़िंग की अनुमति देता है।<ref name="ossfuzz"/>
दिसंबर 2016 में, गूगल ने ओएसएस-फ़ज़ की घोषणा की थी जो कई सुरक्षा-महत्वपूर्ण ओपन-सोर्स परियोजनाओं की निरंतर फज़िंग की अनुमति देता है।<ref name="ossfuzz"/>
 
ब्लैक हैट 2018 में, क्रिस्टोफर डोमस ने एक प्रोसेसर में एक छिपे हुए कम किए गए निर्देश सेट कंप्यूटर कोर के अस्तित्व को उजागर करने के लिए फ़ज़िंग के उपयोग का प्रदर्शन किया।<ref name ="domas"/>  यह कोर रिंग 3 से सुरक्षा रिंग कमांड को निष्पादित करने के लिए मौजूदा सुरक्षा जांच को बायपास करने में सक्षम था।
 
सितंबर 2020 में, [[माइक्रोसॉफ्ट]] ने वनफज जारी किया, जो एक सेल्फ-होस्टिंग (वेब ​​सर्विसेज) | सेल्फ-होस्टेड फ़ज़िंग-एज़-ए-सर्विस प्लेटफ़ॉर्म है जो [[सॉफ्टवेयर बग]] का पता लगाने को स्वचालित करता है।<ref>{{Cite web|url=https://www.zdnet.com/article/microsoft-windows-10-is-hardened-with-these-fuzzing-security-tools-now-theyre-open-source/|title=Microsoft: Windows 10 is hardened with these fuzzing security tools – now they're open source|date=September 15, 2020|website=ZDNet}}</ref> यह [[ खिड़कियाँ ]] और लिनक्स को सपोर्ट करता है।<ref>{{Cite web|url=https://www.infoworld.com/article/3575600/microsoft-open-sources-fuzzing-test-framework.html|title=Microsoft ओपन-सोर्स फ़ज़िंग टेस्ट फ्रेमवर्क|date=September 17, 2020|website=InfoWorld}}</ref>


ब्लैक हैट 2018 में, क्रिस्टोफर डोमस ने एक प्रोसेसर में कम किए गए निर्देश सेट कंप्यूटर कोर के अस्तित्व को उजागर करने के लिए फज़िंग के उपयोग का प्रदर्शन किया था।<ref name ="domas"/> यह कोर रिंग 3 से सुरक्षा रिंग कमांड को निष्पादित करने के लिए उपस्थिता सुरक्षा जांच को बायपास करने में सक्षम था।


सितंबर 2020 में, [[माइक्रोसॉफ्ट]] ने वनफज जारी किया, जो एक सेल्फ-होस्टिंग (वेब ​​सर्विसेज) | सेल्फ-होस्टेड फ़ज़िंग-एज़-ए-सर्विस प्लेटफ़ॉर्म है जो [[सॉफ्टवेयर बग]] का पता लगाने को स्वचालित करता है।<ref>{{Cite web|url=https://www.zdnet.com/article/microsoft-windows-10-is-hardened-with-these-fuzzing-security-tools-now-theyre-open-source/|title=Microsoft: Windows 10 is hardened with these fuzzing security tools – now they're open source|date=September 15, 2020|website=ZDNet}}</ref> यह [[ खिड़कियाँ |खिड़कियाँ]] और लिनक्स को सपोर्ट करता है।<ref>{{Cite web|url=https://www.infoworld.com/article/3575600/microsoft-open-sources-fuzzing-test-framework.html|title=Microsoft ओपन-सोर्स फ़ज़िंग टेस्ट फ्रेमवर्क|date=September 17, 2020|website=InfoWorld}}</ref>
== प्रारंभिक यादृच्छिक परीक्षण ==
== प्रारंभिक यादृच्छिक परीक्षण ==


यादृच्छिक इनपुट के साथ परीक्षण कार्यक्रम 1950 के दशक के हैं जब डेटा अभी भी [[पंच कार्ड युग में कंप्यूटर प्रोग्रामिंग]] पर संग्रहीत था।<ref name="weinberg"/>प्रोग्रामर कंप्यूटर प्रोग्राम के इनपुट के रूप में छिद्रित कार्ड का उपयोग करेंगे जो यादृच्छिक संख्याओं के ट्रैश या कार्ड डेक से खींचे गए थे। यदि किसी निष्पादन से अवांछित व्यवहार का पता चलता है, तो एक सॉफ़्टवेयर बग का पता चला था।
यादृच्छिक इनपुट के साथ परीक्षण कार्यक्रम 1950 के दशक के है जब डेटा अभी भी [[पंच कार्ड युग में कंप्यूटर प्रोग्रामिंग]] पर संग्रहीत था।<ref name="weinberg"/>प्रोग्रामर कंप्यूटर प्रोग्राम के इनपुट के रूप में छिद्रित कार्ड का उपयोग करेंगे जो यादृच्छिक संख्याओं के ट्रैश या कार्ड डेक से खींचे गए थे। यदि किसी निष्पादन से अवांछित व्यवहार का पता चलता है, तो एक सॉफ़्टवेयर बग का पता चला था।
 
रैंडम इनपुट के निष्पादन को [[ यादृच्छिक परीक्षण ]] या [[ बंदर परीक्षण ]] भी कहा जाता है।
 
1981 में, डुरान और Ntafos ने औपचारिक रूप से यादृच्छिक इनपुट के साथ एक कार्यक्रम के परीक्षण की प्रभावशीलता की जांच की।<ref name="duran1"/><ref name="duran2"/>जबकि यादृच्छिक परीक्षण व्यापक रूप से एक कार्यक्रम के परीक्षण का सबसे खराब साधन माना जाता था, लेखक यह दिखा सकते थे कि यह अधिक व्यवस्थित परीक्षण तकनीकों के लिए एक लागत प्रभावी विकल्प है।


1983 में, Apple में [[स्टीव कैप्स]] ने द मंकी को विकसित किया,<ref name="hertzfeld2004"/>एक उपकरण जो [[मैकपेंट]] जैसे [[क्लासिक मैक ओएस]] अनुप्रयोगों के लिए यादृच्छिक इनपुट उत्पन्न करेगा।<ref name="AutoDO-3"/>आलंकारिक बंदर [[अनंत बंदर प्रमेय]] को संदर्भित करता है जिसमें कहा गया है कि एक बंदर एक टाइपराइटर कीबोर्ड पर यादृच्छिक रूप से असीमित समय के लिए चाबियों को मारता है, अंततः शेक्सपियर के पूरे कार्यों को टाइप करेगा। परीक्षण के मामले में, बंदर इनपुट के विशेष अनुक्रम को लिखेंगे जो दुर्घटना को ट्रिगर करेगा।
रैंडम इनपुट के निष्पादन को [[ यादृच्छिक परीक्षण |यादृच्छिक परीक्षण]] या [[ बंदर परीक्षण |बंदर परीक्षण]] भी कहा जाता है।


1991 में, क्रैशमे टूल जारी किया गया था, जिसका उद्देश्य बेतरतीब ढंग से चुने गए मापदंडों के साथ सिस्टम कॉल को बेतरतीब ढंग से निष्पादित करके यूनिक्स और यूनिक्स जैसी [[ऑपरेटिंग सिस्टम]] की मजबूती का परीक्षण करना था।<ref name="AutoDO-4"/>
1981 में, डुरान और नताफोस ने औपचारिक रूप से यादृच्छिक इनपुट के साथ एक कार्यक्रम के परीक्षण की प्रभावशीलता की जांच की थी।<ref name="duran1"/><ref name="duran2"/> जबकि यादृच्छिक परीक्षण व्यापक रूप से एक कार्यक्रम के परीक्षण का सबसे खराब साधन माना जाता था, लेखक यह दिखा सकते थे कि यह अधिक व्यवस्थित परीक्षण तकनीकों के लिए एक लागत प्रभावी विकल्प है।


1983 में, एप्पल में [[स्टीव कैप्स]] ने द मंकी को विकसित किया था,<ref name="hertzfeld2004"/> एक उपकरण जो [[मैकपेंट]] जैसे [[क्लासिक मैक ओएस]] अनुप्रयोगों के लिए यादृच्छिक इनपुट उत्पन्न करता है।<ref name="AutoDO-3"/> आलंकारिक बंदर [[अनंत बंदर प्रमेय]] को संदर्भित करता है जिसमें कहा गया है कि एक बंदर एक टाइपराइटर कीबोर्ड पर यादृच्छिक रूप से असीमित समय के लिए चाबियों को मारता है, अंततः शेक्सपियर के पूरे कार्यों को टाइप करेगा। परीक्षण के स्थिति में, बंदर इनपुट के विशेष अनुक्रम को लिखेंगे जो दुर्घटना को ट्रिगर करता है।


1991 में, क्रैशमे उपकरण जारी किया गया था, जिसका उद्देश्य बेतरतीब ढंग से चुने गए मापदंडों के साथ उपकरण को बेतरतीब ढंग से निष्पादित करके यूनिक्स और यूनिक्स जैसी [[ऑपरेटिंग सिस्टम|ऑपरेटिंग उपकरण]] की मजबूती का परीक्षण करना था।<ref name="AutoDO-4"/>
== प्रकार ==
== प्रकार ==
एक फजर को कई तरह से वर्गीकृत किया जा सकता है:<ref name="sutton"/><ref name="neystadt"/># एक फ़ज़र जनरेशन-आधारित या म्यूटेशन-आधारित हो सकता है, जो इस बात पर निर्भर करता है कि इनपुट स्क्रैच से उत्पन्न हुए हैं या मौजूदा इनपुट को संशोधित करके।
एक फजर को कई तरह से वर्गीकृत किया जा सकता है:<ref name="sutton"/><ref name="neystadt"/> एक फ़ज़र जनरेशन-आधारित या उत्परिवर्तन-आधारित हो सकता है, जो इस बात पर निर्भर करता है कि इनपुट स्क्रैच से उत्पन्न हुए है या उपस्थिता इनपुट को संशोधित करता है।
# एक फजर गूंगा (असंरचित) या स्मार्ट (संरचित) हो सकता है, यह इस बात पर निर्भर करता है कि वह इनपुट संरचना से अवगत है या नहीं।
# एक फजर गूंगा (असंरचित) या स्मार्ट (संरचित) हो सकता है, यह इस बात पर निर्भर करता है कि वह इनपुट संरचना से अवगत होता है या नही होता है।
# एक फ़ज़र सफ़ेद-, ग्रे- या ब्लैक-बॉक्स हो सकता है, यह इस बात पर निर्भर करता है कि वह प्रोग्राम संरचना से अवगत है या नहीं।
# एक फ़ज़र सफ़ेद-, ग्रे- या ब्लैक-बॉक्स हो सकता है, यह इस बात पर निर्भर करता है कि वह प्रोग्राम संरचना से अवगत होता है या नही होता है।


=== मौजूदा इनपुट बीजों का पुन: उपयोग ===
=== उपस्थित इनपुट बीजों का पुन: उपयोग ===


म्यूटेशन-आधारित फ़ज़र फ़ज़िंग के दौरान बीज इनपुट के मौजूदा कॉर्पस का लाभ उठाता है। यह प्रदान किए गए बीजों को संशोधित (या बल्कि उत्परिवर्तन (आनुवांशिक एल्गोरिथम)) करके इनपुट उत्पन्न करता है।<ref>{{cite journal|last1=Offutt|first1=Jeff|last2=Xu|first2=Wuzhi|title=डेटा गड़बड़ी का उपयोग करके वेब सेवाओं के लिए टेस्ट केस तैयार करना|journal=Workshop on Testing, Analysis and Verification of Web Services|year=2004|volume=29|issue=5|pages=1–10|doi=10.1145/1022494.1022529|s2cid=52854851|url=https://dl.acm.org/citation.cfm?id=1022529}}</ref> उदाहरण के लिए, छवि लाइब्रेरी [[libpng]] को फ़ज़ करते समय, उपयोगकर्ता मान्य [[पोर्टेबल नेटवर्क ग्राफ़िक्स]] छवि फ़ाइलों का एक सेट बीज के रूप में प्रदान करेगा, जबकि एक उत्परिवर्तन-आधारित फ़ज़र इन बीजों को प्रत्येक बीज के अर्ध-वैध वेरिएंट का उत्पादन करने के लिए संशोधित करेगा। बीज फ़ाइलों के कॉर्पस में हजारों संभावित समान इनपुट हो सकते हैं। स्वचालित बीज चयन (या परीक्षण सूट में कमी) उपयोगकर्ताओं को फ़ज़ अभियान के दौरान पाए जाने वाले बगों की कुल संख्या को अधिकतम करने के लिए सर्वोत्तम बीज चुनने की अनुमति देता है।<ref>{{cite journal|last1=Rebert|first1=Alexandre|last2=Cha|first2=Sang Kil|last3=Avgerinos|first3=Thanassis|last4=Foote|first4=Jonathan|last5=Warren|first5=David|last6=Grieco|first6=Gustavo|last7=Brumley|first7=David|title=फ़ज़िंग के लिए बीज चयन का अनुकूलन|journal=Proceedings of the 23rd USENIX Conference on Security Symposium|year=2014|pages=861–875|url=https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-rebert.pdf}}</ref>
उत्परिवर्तन-आधारित फ़ज़र फ़ज़िंग के दौरान बीज इनपुट के उपस्थिता कॉर्पस का लाभ उठाता है। यह प्रदान किए गए बीजों को संशोधित (या जबकि उत्परिवर्तन (आनुवांशिक एल्गोरिथम)) करके इनपुट उत्पन्न करता है।<ref>{{cite journal|last1=Offutt|first1=Jeff|last2=Xu|first2=Wuzhi|title=डेटा गड़बड़ी का उपयोग करके वेब सेवाओं के लिए टेस्ट केस तैयार करना|journal=Workshop on Testing, Analysis and Verification of Web Services|year=2004|volume=29|issue=5|pages=1–10|doi=10.1145/1022494.1022529|s2cid=52854851|url=https://dl.acm.org/citation.cfm?id=1022529}}</ref> उदाहरण के लिए, छवि लाइब्रेरी को फ़ज़ करते समय, उपयोगकर्ता मान्य [[पोर्टेबल नेटवर्क ग्राफ़िक्स]] छवि फ़ाइलों का एक सेट बीज के रूप में प्रदान करता है, जबकि एक उत्परिवर्तन-आधारित फ़ज़र इन बीजों को प्रत्येक बीज के अर्ध-वैध वेरिएंट का उत्पादन करने के लिए संशोधित करता है। बीज फ़ाइलों के कॉर्पस में हजारों संभावित समान इनपुट हो सकते है। स्वचालित बीज चयन (या परीक्षण सूट में कमी) उपयोगकर्ताओं को फ़ज़ अभियान के द