Fuzzing के हो?

के गडबड छ

Intro: Fuzzing भनेको के हो?

2014 मा, चिनियाँ ह्याकरहरू सामुदायिक स्वास्थ्य प्रणालीमा ह्याक गरियो, नाफाको लागि अमेरिकी अस्पताल चेन, र 4.5 मिलियन बिरामीहरूको डाटा चोरी। ह्याकरहरूले ह्याक हुनुभन्दा केही महिना अघि OpenSSL क्रिप्टोग्राफी लाइब्रेरीमा फेला परेको Heartbleed नामक बगको दुरुपयोग गरे।

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

यो जहाँ 'फजिंग' आउँछ।

फजिङ आक्रमण के हो?

फजिङ, फज टेस्टिङ, वा फजिङ आक्रमण, एक प्रोग्राममा अनियमित, अप्रत्याशित, वा अमान्य डेटा (फज भनिन्छ) फीड गर्न प्रयोग गरिने स्वचालित सफ्टवेयर परीक्षण प्रविधि हो। कार्यक्रम असामान्य वा अप्रत्याशित व्यवहारहरू जस्तै बफर ओभरफ्लो, क्र्यास, मेमोरी लीकेज, थ्रेड ह्याङ्ग, र पढ्न/लेखन पहुँच उल्लङ्घनहरूको लागि अनुगमन गरिन्छ। फज्जिङ उपकरण वा फजर त्यसपछि असामान्य व्यवहारको कारण पत्ता लगाउन प्रयोग गरिन्छ।

Fuzzing सबै प्रणालीहरूमा बगहरू पत्ता लगाउन पर्खिरहेका छन् भन्ने धारणामा आधारित छ, र त्यसो गर्न पर्याप्त समय र स्रोतहरू दिन सकिन्छ। धेरैजसो प्रणालीहरूसँग धेरै राम्रो पार्सरहरू वा इनपुट प्रमाणीकरण रोकिन्छ cybercriminals कार्यक्रममा कुनै पनि काल्पनिक बगहरूको शोषणबाट। यद्यपि, हामीले माथि उल्लेख गरेझैं, विकासको क्रममा सबै कुना केसहरू कभर गर्न गाह्रो छ।

फजरहरू प्रोग्रामहरूमा प्रयोग गरिन्छ जुन संरचित इनपुटमा लिन्छ वा कुनै प्रकारको विश्वास सीमा हुन्छ। उदाहरणका लागि, PDF फाइलहरू स्वीकार गर्ने कार्यक्रममा फाइलमा .pdf एक्सटेन्सन र PDF फाइल प्रशोधन गर्न पार्सर छ भनी सुनिश्चित गर्न केही प्रमाणीकरण हुन्छ।

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

Fuzzers ले SQL इंजेक्शन, क्रस-साइट स्क्रिप्टिङ, बफर ओभरफ्लो, र डिनायल-अफ-सर्भिस आक्रमणहरू जस्तै र मनपर्नेहरू सहित आक्रमण भेक्टरहरू पत्ता लगाउँछन्। यी सबै आक्रमणहरू प्रणालीमा अप्रत्याशित, अमान्य, वा अनियमित डेटा खुवाउने परिणाम हुन्। 

 

Fuzzers को प्रकार

Fuzzers केहि विशेषताहरु को आधार मा वर्गीकृत गर्न सकिन्छ:

  1. आक्रमण लक्ष्यहरू
  2. फज निर्माण विधि
  3. इनपुट संरचना को बारे मा जागरूकता
  4. कार्यक्रम संरचना बारे सचेतना

1. आक्रमण लक्ष्यहरू

यो वर्गीकरण फजर परीक्षण गर्न प्रयोग भइरहेको प्लेटफर्मको प्रकारमा आधारित छ। Fuzzers सामान्यतया नेटवर्क प्रोटोकल र सफ्टवेयर अनुप्रयोगहरूसँग प्रयोग गरिन्छ। प्रत्येक प्लेटफर्ममा एक विशेष प्रकारको इनपुट हुन्छ जुन यसले प्राप्त गर्दछ, र यसैले विभिन्न प्रकारका फजरहरू चाहिन्छ।

उदाहरणका लागि, अनुप्रयोगहरूसँग व्यवहार गर्दा, सबै फज्जिङ प्रयासहरू अनुप्रयोगको विभिन्न इनपुट च्यानलहरूमा हुन्छन्, जस्तै प्रयोगकर्ता इन्टरफेस, कमाण्ड-लाइन टर्मिनल, फारमहरू/टेक्स्ट इनपुटहरू, र फाइल अपलोडहरू। त्यसैले फजरद्वारा उत्पन्न भएका सबै इनपुटहरू यी च्यानलहरूसँग मिल्नुपर्छ।

संचार प्रोटोकलहरूसँग काम गर्ने फजरहरूले प्याकेटहरूसँग व्यवहार गर्नुपर्छ। यस प्लेटफर्मलाई लक्षित गर्ने फजरहरूले नक्कली प्याकेटहरू उत्पन्न गर्न सक्छन्, वा रोकिएका प्याकेटहरू परिमार्जन गर्न र तिनीहरूलाई पुन: प्ले गर्न प्रोक्सीको रूपमा कार्य गर्न सक्छन्।

2. फज सिर्जना विधि

फजर्सहरूलाई तिनीहरूले कसरी फज गर्न डेटा सिर्जना गर्छन् भन्ने आधारमा वर्गीकृत गर्न सकिन्छ। ऐतिहासिक रूपमा, फजर्सहरूले स्क्र्याचबाट अनियमित डाटा उत्पन्न गरेर फज सिर्जना गरे। यस प्रविधिको सुरुवातकर्ता प्रोफेसर बार्टन मिलरले सुरुमा यसरी गरे। यस प्रकारको फजरलाई ए भनिन्छ पुस्ता आधारित फजर.

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

यस समस्याको समाधान भनेको ट्रस्ट बाउन्ड्री पार गर्न पर्याप्त मान्य डाटा उत्पन्न गर्न मान्य मानिने डाटालाई म्यूटेट गर्नु हो, तर समस्याहरू उत्पन्न गर्न पर्याप्त अवैध। यसको राम्रो उदाहरण ए DNS फजर जसले डोमेन नाम लिन्छ र त्यसपछि निर्दिष्ट डोमेनको मालिकलाई लक्षित गर्ने सम्भावित दुर्भावनापूर्ण डोमेनहरू पत्ता लगाउन डोमेन नामहरूको ठूलो सूची उत्पन्न गर्दछ।

यो दृष्टिकोण अघिल्लो भन्दा चलाख छ र सम्भावित क्रमपरिवर्तनहरूलाई उल्लेखनीय रूपमा संकुचित गर्दछ। यो विधि प्रयोग गर्ने Fuzzers भनिन्छ उत्परिवर्तन आधारित fuzzers

त्यहाँ तेस्रो थप भर्खरको विधि छ जसले आनुवंशिक एल्गोरिदमहरूको प्रयोग गर्दछ इष्टतम फज डाटालाई कमजोरीहरू हटाउन आवश्यक छ। यसले आफ्नो फज डाटालाई निरन्तर परिष्कृत गरेर काम गर्दछ, प्रत्येक परीक्षण डाटाको कार्यसम्पादनलाई ध्यानमा राखेर कार्यक्रममा फिड गर्दा। 

डेटाको सबैभन्दा खराब प्रदर्शन गर्ने सेटहरू डेटा पूलबाट हटाइन्छ, जबकि उत्कृष्टहरू उत्परिवर्तित र/वा संयुक्त हुन्छन्। डाटाको नयाँ पुस्तालाई फेरि फज परीक्षण गर्न प्रयोग गरिन्छ। यी fuzzers को रूपमा उल्लेख गरिएको छ विकासवादी उत्परिवर्तन-आधारित फजर्स।

3. इनपुट संरचनाको जागरूकता

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


यदि फजरलाई प्रोग्रामको इनपुट मोडेलको साथ उपलब्ध गराइन्छ भने, फजरले त्यसपछि डेटा उत्पन्न गर्न वा परिवर्तन गर्ने प्रयास गर्न सक्छ कि यो प्रदान गरिएको इनपुट मोडेलसँग मेल खान्छ। यो दृष्टिकोणले अवैध डाटा उत्पन्न गर्न खर्च गरिएको स्रोतको मात्रालाई घटाउँछ। यस्तो फजर भनिन्छ a स्मार्ट फजर.

4. कार्यक्रम संरचनाको जागरूकता

फजर्सहरूलाई तिनीहरूले फज गरिरहेको कार्यक्रमको आन्तरिक कार्यहरू बारे सचेत छन् कि छैनन् भन्ने आधारमा वर्गीकृत गर्न सकिन्छ, र फज डेटा उत्पादनमा मद्दत गर्न त्यो जागरूकता प्रयोग गर्नुहोस्। जब फजरहरू कुनै प्रोग्रामको आन्तरिक संरचना नबुझेर परीक्षण गर्न प्रयोग गरिन्छ, यसलाई ब्ल्याक-बक्स परीक्षण भनिन्छ। 

ब्ल्याक-बक्स परीक्षणको क्रममा उत्पन्न हुने फज डाटा सामान्यतया अनियमित हुन्छ जबसम्म फजर विकासवादी उत्परिवर्तन-आधारित फजर होईन, जहाँ यसले यसको फजिंगको प्रभावलाई अनुगमन गरेर र प्रयोग गरेर 'सिक्छ'। जानकारी यसको फज डेटा सेट परिष्कृत गर्न।

अर्कोतर्फ सेतो-बक्स परीक्षणले फज डेटा उत्पन्न गर्न कार्यक्रमको आन्तरिक संरचनाको मोडेल प्रयोग गर्दछ। यो दृष्टिकोणले फजरलाई कार्यक्रममा महत्वपूर्ण स्थानहरूमा पुग्न र परीक्षण गर्न दिन्छ। 

लोकप्रिय फज्जिङ उपकरणहरू

त्यहाँ धेरै फजिङ्ग छन् उपकरण त्यहाँ कलम परीक्षकहरूले प्रयोग गरे। सबैभन्दा लोकप्रिय मध्ये केहि निम्न हुन्:

फजिंग को सीमाहरु

जबकि Fuzzing एक साँच्चै उपयोगी पेन-परीक्षण प्रविधि हो, यो यसको गल्ती बिना छैन। यी मध्ये केही हुन्:

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

 

जे होस्, यो एक धेरै उपयोगी र आवश्यक उपकरण हो जो कोहीलाई जो खराब मान्छेहरु अघि बगहरू पत्ता लगाउन चाहन्छ।

निष्कर्ष

Fuzzing एक शक्तिशाली पेन-परीक्षण प्रविधि हो जुन सफ्टवेयरमा कमजोरीहरू उजागर गर्न प्रयोग गर्न सकिन्छ। त्यहाँ धेरै प्रकारका फजरहरू छन्, र नयाँ फजरहरू सधैं विकसित भइरहेका छन्। जबकि fuzzing एक अविश्वसनीय उपयोगी उपकरण हो, यसको यसको सीमितताहरू छन्। उदाहरण को लागी, fuzzers केवल धेरै कमजोरीहरु फेला पार्न सक्छ र ती धेरै संसाधन गहन हुन सक्छ। यद्यपि, यदि तपाईं आफ्नो लागि यो अद्भुत प्रविधि प्रयोग गर्न चाहनुहुन्छ भने, हामीसँग छ नि: शुल्क DNS Fuzzer API जुन तपाइँ हाम्रो प्लेटफर्ममा प्रयोग गर्न सक्नुहुन्छ। 

त्यसोभए के तिमी पर्खिरहेका छौ? 

आज फजिङ सुरु गर्नुहोस्!

कोबोल्ड अक्षरहरू: HTML-आधारित इमेल फिसिङ आक्रमणहरू

कोबोल्ड अक्षरहरू: HTML-आधारित इमेल फिसिङ आक्रमणहरू

Kobold Letters: HTML-आधारित इमेल फिसिङ आक्रमण मार्च 31st 2024 मा, Luta Security ले एउटा नयाँ परिष्कृत फिसिङ भेक्टर, Kobold Letters मा प्रकाश पार्ने लेख जारी गर्यो।

थप पढ्नुहोस् "
गुगल र इन्कग्निटो मिथक

गुगल र इन्कग्निटो मिथक

गुगल र द इन्कग्निटो मिथ 1 अप्रिल 2024 मा, गुगल इन्कग्निटो मोडबाट सङ्कलन गरिएका अरबौं डेटा रेकर्डहरू नष्ट गरेर मुद्दा सुल्झाउन सहमत भयो।

थप पढ्नुहोस् "
MAC ठेगाना कसरी स्पूफ गर्ने

MAC ठेगानाहरू र MAC स्पूफिङ: एक व्यापक गाइड

MAC ठेगाना र MAC स्पूफिङ: एक व्यापक मार्गनिर्देशन परिचय संचारको सुविधाबाट सुरक्षित जडानहरू सक्षम गर्न, MAC ठेगानाहरूले यन्त्रहरू पहिचान गर्नमा मौलिक भूमिका खेल्छन्।

थप पढ्नुहोस् "