फजिंग म्हणजे काय?

काय गडबड आहे

परिचय: फजिंग म्हणजे काय?

2014 मध्ये, चीनी हॅकर्स समुदाय आरोग्य प्रणाली मध्ये हॅक, फायद्यासाठी यूएस हॉस्पिटल चेन आहे आणि 4.5 दशलक्ष रुग्णांचा डेटा चोरला आहे. हॅकर्सनी Heartbleed नावाच्या बगचा उपयोग केला जो हॅकच्या काही महिन्यांपूर्वी OpenSSL क्रिप्टोग्राफी लायब्ररीमध्ये सापडला होता.

हार्टब्लीड हे अटॅक वेक्टर्सच्या वर्गाचे उदाहरण आहे जे आक्रमणकर्त्यांना प्राथमिक तपासणी पास करण्यासाठी पुरेशी वैध विकृत विनंत्या पाठवून लक्ष्यात प्रवेश करू देते. अॅपच्या विविध भागांवर काम करणारे व्यावसायिक त्याची सुरक्षितता सुनिश्चित करण्यासाठी सर्वतोपरी प्रयत्न करत असताना, अॅप खंडित करू शकतील किंवा विकासादरम्यान असुरक्षित बनतील अशा सर्व कोपऱ्या प्रकरणांचा विचार करणे अशक्य आहे.

इथेच 'फजिंग' येते.

फजिंग अटॅक म्हणजे काय?

फझिंग, फझ टेस्टिंग किंवा फझिंग अटॅक, हे एक स्वयंचलित सॉफ्टवेअर चाचणी तंत्र आहे जे प्रोग्राममध्ये यादृच्छिक, अनपेक्षित किंवा अवैध डेटा (ज्याला फझ म्हणतात) फीड करण्यासाठी वापरले जाते. बफर ओव्हरफ्लो, क्रॅश, मेमरी लीकेज, थ्रेड हँग आणि वाचन/लेखन प्रवेश उल्लंघन यासारख्या असामान्य किंवा अनपेक्षित वर्तनांसाठी प्रोग्रामचे परीक्षण केले जाते. फझिंग टूल किंवा फजरचा वापर नंतर असामान्य वर्तनाचे कारण उघड करण्यासाठी केला जातो.

फझिंग हे या गृहितकावर आधारित आहे की सर्व सिस्टीममध्ये शोध लागण्याच्या प्रतीक्षेत असलेल्या बग आहेत, आणि तसे करण्यासाठी पुरेसा वेळ आणि संसाधने दिली जाऊ शकतात. बर्‍याच प्रणाल्यांमध्ये खूप चांगले विश्लेषक किंवा इनपुट प्रमाणीकरण प्रतिबंधक असतात सायबरक्रिमल्स प्रोग्राममधील कोणत्याही काल्पनिक दोषांचे शोषण करण्यापासून. तथापि, आम्ही वर नमूद केल्याप्रमाणे, विकासादरम्यान सर्व कोपरा प्रकरणे कव्हर करणे कठीण आहे.

फझर्स अशा प्रोग्राम्सवर वापरले जातात जे संरचित इनपुट घेतात किंवा काही प्रकारच्या विश्वासाची सीमा असते. उदाहरणार्थ, पीडीएफ फाइल्स स्वीकारणाऱ्या प्रोग्रामला फाइलमध्ये .pdf एक्स्टेंशन आणि पीडीएफ फाइलवर प्रक्रिया करण्यासाठी पार्सर असल्याची खात्री करण्यासाठी काही प्रमाणीकरण असेल.

एक प्रभावी फजर या सीमा ओलांडण्यासाठी पुरेसे वैध इनपुट व्युत्पन्न करू शकतो परंतु प्रोग्रामच्या पुढे अनपेक्षित वर्तन घडवून आणण्यासाठी पुरेसे अवैध आहे. हे महत्त्वाचे आहे कारण केवळ वैधता पार पाडण्यात सक्षम असणे म्हणजे पुढील कोणतीही हानी न झाल्यास फारसा अर्थ नाही.

फझर्सना SQL इंजेक्शन, क्रॉस-साइट स्क्रिप्टिंग, बफर ओव्हरफ्लो आणि डिनायल-ऑफ-सर्व्हिस हल्ल्यांसारखेच आणि त्यात समाविष्ट असलेले अटॅक वेक्टर सापडतात. हे सर्व हल्ले सिस्टीममध्ये अनपेक्षित, अवैध किंवा यादृच्छिक डेटा फीड केल्याचा परिणाम आहेत. 

 

फजर्सचे प्रकार

फजर्सचे काही वैशिष्ट्यांवर आधारित वर्गीकरण केले जाऊ शकते:

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

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

हे वर्गीकरण फजर चाचणीसाठी वापरल्या जाणार्‍या प्लॅटफॉर्मवर आधारित आहे. नेटवर्क प्रोटोकॉल आणि सॉफ्टवेअर ऍप्लिकेशन्ससह फजर्सचा वापर सामान्यतः केला जातो. प्रत्येक प्लॅटफॉर्मला विशिष्ट प्रकारचे इनपुट प्राप्त होते आणि त्यामुळे विविध प्रकारच्या फजर्सची आवश्यकता असते.

उदाहरणार्थ, ऍप्लिकेशन्सशी व्यवहार करताना, सर्व फझिंग प्रयत्न ऍप्लिकेशनच्या विविध इनपुट चॅनेलवर होतात, जसे की वापरकर्ता इंटरफेस, कमांड-लाइन टर्मिनल, फॉर्म/टेक्स्ट इनपुट आणि फाइल अपलोड. त्यामुळे फजरद्वारे व्युत्पन्न केलेले सर्व इनपुट या चॅनेलशी जुळले पाहिजेत.

कम्युनिकेशन प्रोटोकॉलचे काम करणाऱ्या फजर्सना पॅकेट्सचा सामना करावा लागतो. या प्लॅटफॉर्मला लक्ष्य करणारे फझर्स बनावट पॅकेट्स तयार करू शकतात, किंवा इंटरसेप्टेड पॅकेट्स सुधारण्यासाठी आणि त्यांना पुन्हा प्ले करण्यासाठी प्रॉक्सी म्हणून देखील कार्य करू शकतात.

2. फझ तयार करण्याची पद्धत

फजर्सचे वर्गीकरण देखील केले जाऊ शकते त्यानुसार ते फझ करण्यासाठी डेटा कसा तयार करतात. ऐतिहासिकदृष्ट्या, फझर्सने सुरवातीपासून यादृच्छिक डेटा तयार करून फझ तयार केले. या तंत्राचा आरंभकर्ता प्रोफेसर बार्टन मिलर यांनी सुरुवातीला असे केले. या प्रकारच्या फजरला ए म्हणतात पिढी-आधारित फजर.

तथापि, एखादा सैद्धांतिकदृष्ट्या डेटा व्युत्पन्न करू शकतो जो विश्वासाच्या सीमांना बायपास करेल, असे करण्यास बराच वेळ आणि संसाधने लागतील. म्हणून ही पद्धत सामान्यतः साध्या इनपुट स्ट्रक्चर्स असलेल्या सिस्टमसाठी वापरली जाते.

या समस्येवर उपाय म्हणजे ट्रस्ट बाउंड्री पार करण्यासाठी पुरेसा वैध डेटा व्युत्पन्न करण्यासाठी वैध म्हणून ओळखल्या जाणार्‍या डेटामध्ये बदल करणे, तरीही समस्या निर्माण करण्यासाठी पुरेसा अवैध आहे. याचे उत्तम उदाहरण म्हणजे ए DNS फजर जे डोमेन नाव घेते आणि नंतर निर्दिष्ट डोमेनच्या मालकाला लक्ष्य करणारी संभाव्य दुर्भावनापूर्ण डोमेन शोधण्यासाठी डोमेन नावांची एक मोठी सूची तयार करते.

हा दृष्टीकोन मागीलपेक्षा अधिक हुशार आहे आणि संभाव्य क्रमपरिवर्तनांना लक्षणीयरीत्या कमी करतो. ही पद्धत वापरणारे फजर्स म्हणतात उत्परिवर्तन-आधारित फजर्स

तिसरी अलीकडील पद्धत आहे जी असुरक्षा रूट करण्यासाठी आवश्यक असलेल्या इष्टतम फझ डेटावर एकत्र येण्यासाठी अनुवांशिक अल्गोरिदमचा वापर करते. प्रोग्राममध्ये फीड केल्यावर प्रत्येक चाचणी डेटाचे कार्यप्रदर्शन विचारात घेऊन, त्याचा फझ डेटा सतत परिष्कृत करून कार्य करते. 

डेटाचे सर्वात वाईट कार्य करणारे संच डेटा पूलमधून काढले जातात, तर सर्वोत्तम उत्परिवर्तित आणि/किंवा एकत्रित केले जातात. डेटाची नवीन पिढी नंतर पुन्हा अस्पष्ट चाचणी करण्यासाठी वापरली जाते. या fuzzers म्हणून संदर्भित आहेत उत्क्रांतीवादी उत्परिवर्तन-आधारित फजर्स.

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

हे वर्गीकरण फझर डेटा तयार करण्यासाठी प्रोग्रामच्या इनपुट स्ट्रक्चरची माहिती आहे आणि सक्रियपणे वापरतो की नाही यावर आधारित आहे. ए मुका फजर (प्रोग्रामच्या इनपुट स्ट्रक्चरबद्दल माहिती नसलेला फजर) बहुतेक यादृच्छिक पद्धतीने फझ तयार करतो. यात जनरेशन आणि उत्परिवर्तन-आधारित फजर्स दोन्ही समाविष्ट असू शकतात. 


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

4. कार्यक्रमाच्या संरचनेची जाणीव

फझर्सचे वर्गीकरण केले जाऊ शकते की ते फझ करत असलेल्या प्रोग्रामच्या अंतर्गत कार्याबद्दल त्यांना माहिती आहे की नाही आणि त्या जागरूकतेचा वापर फझ डेटा निर्मितीला मदत करण्यासाठी करतात. जेव्हा एखाद्या प्रोग्रामची अंतर्गत रचना न समजता तपासण्यासाठी फजर्सचा वापर केला जातो, तेव्हा त्याला ब्लॅक-बॉक्स चाचणी म्हणतात. 

ब्लॅक-बॉक्स चाचणी दरम्यान व्युत्पन्न केलेला फझ डेटा सामान्यतः यादृच्छिक असतो जोपर्यंत फजर उत्क्रांतीवादी उत्परिवर्तन-आधारित फझर नसतो, जिथे तो त्याच्या फझिंगच्या परिणामाचे परीक्षण करून आणि त्याचा वापर करून 'शिकतो'. माहिती त्याचा फज डेटा सेट परिष्कृत करण्यासाठी.

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

लोकप्रिय फझिंग साधने

अनेक फजिती आहेत साधने पेन टेस्टर्स वापरतात. त्यापैकी काही सर्वात लोकप्रिय आहेत:

फजिंग च्या मर्यादा

फझिंग हे खरोखर उपयुक्त पेन-चाचणी तंत्र आहे, परंतु ते त्याच्या दोषांशिवाय नाही. यापैकी काही आहेत:

  • चालायला बराच वेळ लागतो.
  • क्रॅश आणि प्रोग्रामच्या ब्लॅक-बॉक्स चाचणी दरम्यान आढळलेल्या इतर अनपेक्षित वर्तनांचे विश्लेषण करणे किंवा डीबग करणे अशक्य नसल्यास कठीण असू शकते.
  • स्मार्ट उत्परिवर्तन-आधारित फजर्ससाठी उत्परिवर्तन टेम्पलेट तयार करणे वेळखाऊ असू शकते. काहीवेळा, इनपुट मॉडेल मालकीचे किंवा अज्ञात असल्यामुळे ते शक्य होणार नाही.

 

तरीही, वाईट लोकांसमोर बग शोधू इच्छिणाऱ्या प्रत्येकासाठी हे एक अतिशय उपयुक्त आणि आवश्यक साधन आहे.

निष्कर्ष

फझिंग हे एक शक्तिशाली पेन-चाचणी तंत्र आहे ज्याचा वापर सॉफ्टवेअरमधील भेद्यता उघड करण्यासाठी केला जाऊ शकतो. फजर्सचे अनेक प्रकार आहेत आणि नवीन फजर्स सतत विकसित होत असतात. फझिंग हे आश्चर्यकारकपणे उपयुक्त साधन असताना, त्याच्या मर्यादा आहेत. उदाहरणार्थ, fuzzers फक्त अनेक असुरक्षा शोधू शकतात आणि ते खूप संसाधन गहन असू शकतात. तथापि, आपण स्वत: साठी हे आश्चर्यकारक तंत्र वापरून पाहू इच्छित असल्यास, आमच्याकडे ए मोफत DNS Fuzzer API जे तुम्ही आमच्या प्लॅटफॉर्मवर वापरू शकता. 

त्यामुळे आपण काय प्रतीक्षेत आहेत? 

आजच गडबड सुरू करा!

कोबोल्ड लेटर्स: HTML-आधारित ईमेल फिशिंग हल्ले

कोबोल्ड लेटर्स: HTML-आधारित ईमेल फिशिंग हल्ले

कोबोल्ड लेटर्स: HTML-आधारित ईमेल फिशिंग हल्ले 31 मार्च 2024 रोजी, लुटा सिक्युरिटीने नवीन अत्याधुनिक फिशिंग वेक्टर, कोबोल्ड लेटर्सवर प्रकाश टाकणारा एक लेख प्रसिद्ध केला.

पुढे वाचा »
गुगल आणि द इन्कॉग्निटो मिथ

गुगल आणि द इन्कॉग्निटो मिथ

Google आणि The Incognito Myth 1 एप्रिल 2024 रोजी, गुगलने गुप्त मोडमधून गोळा केलेल्या अब्जावधी डेटा रेकॉर्ड नष्ट करून खटला निकाली काढण्यास सहमती दर्शवली.

पुढे वाचा »
MAC पत्ता कसा फसवायचा

MAC पत्ते आणि MAC स्पूफिंग: एक व्यापक मार्गदर्शक

MAC पत्ता आणि MAC स्पूफिंग: एक सर्वसमावेशक मार्गदर्शक परिचय संप्रेषण सुलभ करण्यापासून ते सुरक्षित कनेक्शन सक्षम करण्यापर्यंत, MAC पत्ते डिव्हाइस ओळखण्यात मूलभूत भूमिका बजावतात

पुढे वाचा »