हर दिन, दुनिया भर में हैकर्स वेबसाइटों, एप्लिकेशन और यहां तक ​​कि सिस्टम आर्किटेक्चर में नई कमजोरियों की खोज कर रहे हैं और उनका फायदा उठा रहे हैं। पुराने या नए सभी इलेक्ट्रॉनिक उपकरणों में एक सामान्य बात यह है कि वे प्रोग्राम द्वारा चलाए जाते हैं जो मेमोरी में संग्रहीत होते हैं। हैकर्स ने इसका फायदा उठाया है और बफर ओवरफ्लो के नाम से जानी जाने वाली कमजोरियां पाई हैं।

हालांकि नया नहीं है, बफर ओवरफ्लो हमले और कमजोरियां साइबर स्पेस में कहर बरपा रही हैं। यहां, हम आपको बताएंगे कि बफर ओवरफ्लो हमले क्या हैं और आप उन्हें कैसे रोक सकते हैं।

बफ़र्स और सिस्टम मेमोरी को समझना

यह समझने के लिए कि बफर ओवरफ्लो अटैक क्या है और यह कैसे काम करता है, आपको यह जानना होगा कि बफर क्या है और कंप्यूटर की मेमोरी कैसे काम करती है।

ढेर और ढेर स्मृति कंप्यूटर की मेमोरी की दो मुख्य विशेषताएं हैं। वे मेमोरी आवंटन के लिए उपयोग की जाने वाली डेटा संरचनाएं हैं। हालांकि वे समान हैं, स्टैक और हीप मेमोरी भिन्न होती है कई तरह से।

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

instagram viewer

एक बफर क्या है?

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

बफर ओवरफ्लो क्या है?

बफ़र ओवरफ़्लो तब होता है जब बफ़र अपनी संग्रहण क्षमता से अधिक डेटा प्राप्त करता है। क्योंकि यह उस मात्रा में डेटा को संसाधित करने में असमर्थ है, यह ओवरफ्लो हो जाता है।

अब, कंप्यूटर की मेमोरी में, बफर या बफर स्पेस के ठीक बाद रिटर्न एड्रेस होता है। इस वापसी पते को वास्तव में एक विस्तारित निर्देश सूचक (ईआईपी) कहा जाता है। इसका कार्य भरे जाने पर कंप्यूटर को एक निर्दिष्ट प्रोग्राम की ओर इंगित करना है। जब किसी बफ़र के पास होल्ड करने से अधिक डेटा होता है और ओवरफ्लो होता है, तो यह रिटर्न एड्रेस में ओवरफ्लो हो जाता है।

इसे समझने के लिए, मान लें कि आपके पास एक बफर स्पेस है जिसमें केवल पांच अक्षर हो सकते हैं। इसलिए यदि आप "चीनी" या "शांति" जैसे शब्दों को भरते हैं, तो बफर प्रवाह में यह शामिल हो सकता है। लेकिन जब आपके पास "प्रमाणीकरण" जैसा कोई शब्द होता है, तो यह अनिवार्य रूप से फैल जाएगा। इससे सिस्टम में बग या क्रैश हो जाता है। लेकिन हैकर्स इस भेद्यता का फायदा उठाकर बफर ओवरफ्लो अटैक शुरू कर सकते हैं।

बफर ओवरफ्लो अटैक क्या है और यह कैसे काम करता है?

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

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

बफर ओवरफ्लो हमलों में पाँच प्रमुख चरण हैं:

  1. स्पाइकिंग
  2. फ़ज़िंग
  3. ऑफसेट ढूँढना
  4. ईआईपी या रिटर्न एड्रेस को ओवरराइट करना
  5. भेद्यता का शोषण

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

बफर ओवरफ्लो अटैक के प्रकार क्या हैं?

दो मुख्य प्रकार के बफर ओवरफ्लो हमले हैं: स्टैक-आधारित और हीप-आधारित हमले।

1. स्टैक-आधारित बफर अतिप्रवाह हमले

स्टैक-आधारित बफर ओवरफ्लो हमले सबसे लोकप्रिय प्रकार के बफर ओवरफ्लो हमले हैं। वे तब होते हैं जब सिस्टम की स्टैक मेमोरी खत्म हो जाती है और उसका शोषण किया जाता है। इसे स्टैक स्मैशिंग के रूप में भी जाना जाता है।

2. ढेर-आधारित बफर अतिप्रवाह हमले

इस प्रकार का स्टैक ओवरफ्लो बहुत आम नहीं है, क्योंकि इसे लागू करना और शोषण करना मुश्किल है। यह तब होता है जब किसी प्रोग्राम को आवंटित मेमोरी ओवरफ्लो हो जाती है। जनवरी 2021 में, Google ने हीप-आधारित बफर ओवरफ़्लो की खोज की क्रोम के V8 घटक में भेद्यता।

आप बफर ओवरफ्लो हमलों को कैसे रोक सकते हैं?

ओएस रनटाइम सुरक्षा, सुरक्षित प्रोग्रामिंग भाषाओं, एड्रेस स्पेस लेआउट रैंडमाइजेशन, और समग्र उचित सुरक्षा उपायों को सुनिश्चित करके बफर ओवरफ्लो हमलों को कम किया जा सकता है।

1. OS रनटाइम सुरक्षा का उपयोग करना

रनटाइम सुरक्षा को रनटाइम ऐरे बाउंड चेकिंग के रूप में भी जाना जाता है। यह सुनिश्चित करता है कि प्रत्येक प्रोग्राम रन बफर स्पेस या उपलब्ध मेमोरी के भीतर है। और यह सिस्टम की मेमोरी में लिखे हर डेटा को चेक करता है। इससे हैकर्स के लिए सिस्टम में डेटा को ओवरराइट करना और भेद्यता का फायदा उठाना मुश्किल हो जाता है।

2. सुरक्षित प्रोग्रामिंग भाषाओं का उपयोग करना

सी और सी ++ जैसी प्रोग्रामिंग भाषाएं रनटाइम एरे बाउंड चेकिंग को लागू नहीं करती हैं क्योंकि यह सिस्टम में लिखे गए प्रत्येक प्रोग्राम की जांच करने के लिए अतिरिक्त कोड लेता है और इसे धीमा कर देता है। इसलिए, वे बफर ओवरफ्लो हमलों के लिए अधिक संवेदनशील हैं। सी #, जावा और पायथन जैसी अधिक सुरक्षित भाषाओं का उपयोग करना बेहतर है क्योंकि वे बफर ओवरफ्लो हमलों का कम जोखिम चलाते हैं।

3. एड्रेस स्पेस लेआउट रैंडमाइजेशन (एएसएलआर) का उपयोग करें

यह सुरक्षा उपाय अलग-अलग डेटा क्षेत्रों में सिस्टम की मेमोरी में प्रोग्राम और फ़ंक्शंस के पते बेतरतीब ढंग से असाइन करता है। यह एक हमलावर के लिए स्मृति में संवेदनशील कार्यों के माध्यम से नेविगेट करना मुश्किल बनाता है।

4. सख्त सुरक्षा नीतियां सुनिश्चित करें

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

बफर ओवरफ्लो हमलों का मुकाबला करने के लिए अपनी सुरक्षा को कड़ा रखना आवश्यक है

सुरक्षा में एक लोकप्रिय कहावत के अनुसार, "जब तक मनुष्य द्वारा एक प्रणाली का उपयोग किया जाता है, तब तक एक भेद्यता मौजूद रहती है," जो सत्य और अपरिहार्य है। हालांकि, यह सुनिश्चित करके कि उचित सुरक्षा उपाय किए गए हैं और सख्ती से पालन किया जाता है, हमले की संभावना को हमेशा कम किया जा सकता है।

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