फज परीक्षण क्या है?

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

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

मूल

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

फ़ज़रों की सूची

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

निम्नलिखित फ़ज़र्स की एक सूची है, उनमें से अधिकांश खुले-स्रोत हैं और कई अभी भी सक्रिय विकास में हैं।

Fuzzer नाम / URLविवरण
Google SanitizersGoogle पर चार डेटा सैनिटाइज़र का एक समूह विकसित हुआ है, जो प्रोग्राम की त्रुटियों का पता लगाने के लिए फ़ज़िंग का उपयोग करता है:
  • AddressSanitizer, जो C और C ++ प्रोग्राम में मेमोरी एड्रेस की त्रुटियों का पता लगाता है।
  • LeakSanitizer, जो मेमोरी लीक का पता लगाता है।
  • ThreadSanitizer, जो C ++ और Go में दौड़ की स्थितियों का पता लगाता है।
  • मेमोरी सैनिटाइज़र, जो असमान स्मृति का पता लगाता है।
AFL-फ़ज़्ज़अमेरिकी फजी लोप, एक उपकरण जो संकलित कार्यक्रमों की सुरक्षा का परीक्षण करने के लिए आनुवंशिक एल्गोरिदम का उपयोग करता है।
Backfuzzटूलकिट फ़ज़िंग एक प्रोटोकॉल।
BrundleFuzzविंडोज और लिनक्स के लिए एक वितरित फ़ज़र।
CERT FOEफेल्योर ऑब्जर्वेशन इंजन, CERT द्वारा विकसित एक उपकरण है जो विंडोज कार्यक्रमों में कमजोरियों का पता लगाने के लिए म्यूटेशनल फ़ज़िंग का उपयोग करता है।
CERTfuzzCERT FOE का सोर्स कोड।
Choronzonएक विकासवादी ज्ञान-आधारित फ़ज़र।
Diffyवेब सेवाओं में कमजोरियों की खोज करने के लिए ट्विटर द्वारा विकसित एक उपकरण।
डिजीपायथन के लिए एक फ़ज़िंग लाइब्रेरी
dfuzzerपरीक्षण प्रक्रियाओं के लिए एक फ़ज़िंग टूल जो डी-बस आईपीसी और आरपीसी तंत्र के माध्यम से संचार करता है।
dotdotpwnपथ अनुक्रमण कमजोरियों के लिए वेब अनुप्रयोगों का परीक्षण करने के लिए एक उपकरण।
DranzerActiveX नियंत्रण के लिए एक फ़ज़ल परीक्षक।
EMFFuzzerएक एन्हांस्ड मेटाफ़ाइल फ़ज़ परीक्षक।
दोहनGDB (GNU डीबगर) के लिए एक एक्सटेंशन जो Linux के निष्पादनयोग्य का विश्लेषण करता है और ज्ञात क्रियाकलापों के अनुसार गंभीरता से उनके कीड़े को वर्गीकृत करता है। मूल रूप से CERT में विकसित किया गया।
गो-फ़ज़्ज़गो कार्यक्रमों के लिए एक फजी परीक्षक जो यादृच्छिक मूल्यों के साथ उनकी वस्तुओं को पॉप्युलेट करता है।
grr32-बिट बायनेरिज़ को 64-बिट में अनुवाद करता है, उन्हें प्रक्रिया के भाग के रूप में फ़ज़ी कर रहा है।
honggfuzzहार्डवेयर और सॉफ्टवेयर के लिए इवोल्यूशनरी, फीडबैक से संचालित फजर।
HTTP / 2 फजरHTTP / 2 अनुप्रयोगों के लिए एक फ़ज़र, अभी भी डाउनलोड के लिए उपलब्ध है लेकिन अब सक्रिय रूप से विकसित नहीं हुआ है।
Hodorएक "थोड़ा अधिक पूरी तरह से गूंगा" (क्रूर बल) फजीर।
iFuzzerपाइथन में लिखा गया एक फ़ज़र, जो मर्क्यूरियल और वेलग्रिंड का उपयोग करता है।
KEMUfuzzerQEMU, VMware, VirtualBox या BHOCS इम्यूलेशन प्लेटफार्मों पर चलने वाली आभासी मशीनों के लिए एक फ़ज़र।
KernelFuzzerकर्नेल सिस्टम कॉल के लिए एक फ़ज़र
LibFuzzerइन-प्रोसेस, विकासवादी, कवरेज-निर्देशित फ़ज़ परीक्षण के लिए एक पुस्तकालय।
Netzobरिवर्स-इंजीनियरिंग संचार प्रोटोकॉल के लिए एक फ़ज़र।
तंत्रिका फजरएक फ़ज़र जो मशीन परीक्षण (न्यूरल नेटवर्क) का उपयोग करता है ताकि इसका परीक्षण किया जा सके।
बुरा सपनावेब-आधारित प्रशासन टूल के साथ एक वितरित फ़ॉज़र।
Pathgrind32-बिट अनुप्रयोगों के लिए पथ-आधारित गतिशील विश्लेषण।
पर्फ़-fuzzerलिनक्स कर्नेल में perf_event_open () सिस्टम कॉल का परीक्षण करने के लिए विशेष रूप से डिज़ाइन किया गया एक फ़ज़र।
पलसरएक फ़जर जो प्रोटोकॉल सीखता है।
PyJFuzzएक पायथन जेन्सन फजर।
QuickFuzzहास्केल में लिखा गया एक प्रयोगात्मक व्याकरण फ़ूज़र।
Radamsaएक सामान्य-उद्देश्य फ़र्ज़ी।
भिखारिनएक साधारण पायथन फ़ज़र, जो परीक्षण किए गए कार्यक्रम के लिए यादृच्छिक इनपुट उत्पन्न करता है।
sfuzzसाधारण फजी। "वास्तव में यह कैसा लगता है - एक साधारण फ़ज़र।" काली लिनक्स टूलसेट के भाग के रूप में शामिल है।
SkipfishGoogle पर एक वेब एप्लिकेशन सुरक्षा स्कैनर विकसित किया गया।
syntribiosवेब एपीआई के लिए एक स्वचालित फ़ूज़र परीक्षक, पायथन में लिखा गया है और ओपनस्टैक सुरक्षा समूह द्वारा बनाए रखा गया है।
TriforceAFLएक पूर्ण-प्रणाली फ़ज़र जो QEMU का उपयोग करता है।
Wapitiएक वेब अनुप्रयोग भेद्यता स्कैनर।
Wfuzzवेब अनुप्रयोगों के लिए एक क्रूर बल fuzzer।
zzufएक नियतात्मक, पारदर्शी अनुप्रयोग इनपुट फ़ज़र जो बेतरतीब ढंग से एक फ़ाइल के इनपुट संचालन में बिट्स को बदलता है।

निम्नलिखित फेज़िंग हार्नेस, या फ्रेमवर्क हैं, जो आपको फ़ज़ी परीक्षण का प्रबंधन करने में मदद कर सकते हैं।

फ़ज़िंग फ्रेमवर्कविवरण
CERT BFFCERT द्वारा विकसित BFF (बेसिक फ़ज़िंग फ्रेमवर्क), जिसे विंडोज़, मैकओएस और लिनक्स अनुप्रयोगों में कमजोरियों को खोजने के लिए डिज़ाइन किया गया है।
FuzzFlowAngularJS में एक फ़ज़िंग फ्रेमवर्क।
Fuzzinatorयादृच्छिक फज परीक्षण के लिए एक रूपरेखा।
FuzzLabsएक सामान्य-उद्देश्य फ़ज़ परीक्षण ढाँचा।
चक्कीवेब ब्राउज़र के परीक्षण के लिए एक फ़ज़ी टेस्टिंग ऑटोमेकर / फ्रेमवर्क।
किट्टीपायथन में लिखा गया एक फ़ज़ल टेस्टिंग फ्रेमवर्क।
ofuzzOCaml में लिखा गया एक फ़ज़िंग फ्रेमवर्क।
Nodefuzzनोड्स में लिखे गए वेब ब्राउज़रों के लिए एक फज टेस्टिंग फ्रेमवर्क।
PassiveFuzzFrameworkOSXMacOS कर्नेल में भेद्यता के परीक्षण के लिए एक फ़ेज़र।
पीच फजरफ़ज परीक्षण के लिए एक मंच जो "अज्ञात भेद्यता के लिए वस्तुतः किसी भी प्रणाली का परीक्षण कर सकता है।"
RamFuzzऑब्जेक्ट विधियों के अलग-अलग मापदंडों के परीक्षण के लिए एक फ़ज़र।
सुलेएक "पूरी तरह से स्वचालित और अप्राप्य, शुद्ध पायथन" फ़ज़िंग फ्रेमवर्क।
FunFuzzerमोज़िला द्वारा जावास्क्रिप्ट इंजन और डोम रेंडरर्स के लिए एक पायथन फ़ज़िंग हार्नेस।

बग, प्रोग्रामिंग शब्द, सुरक्षा शब्द, सॉफ्टवेयर परीक्षण