بفر اوور فلو حملے کیسے کام کرتے ہیں؟ ہیکر کے طور پر پردے کے پیچھے جانا

بفر اوور فلو حملے کیسے کام کرتے ہیں؟ ہیکر کے طور پر پردے کے پیچھے جانا
آپ جیسے قارئین MUO کو سپورٹ کرنے میں مدد کرتے ہیں۔ جب آپ ہماری سائٹ پر لنکس کا استعمال کرتے ہوئے خریداری کرتے ہیں، تو ہم ملحق کمیشن حاصل کر سکتے ہیں۔ مزید پڑھ.

ہیکرز وائرس اور میلویئر کا استعمال کرتے ہوئے سسٹم پر کیسے حملہ کرتے ہیں؟ کبھی کبھی، یہ ransomware ہو سکتا ہے؛ کبھی کبھی، یہ ایک حملہ ہو سکتا ہے جو آپ کے سسٹم کی ضروریات کو کھا جاتا ہے۔ بفر اوور فلو ان حملوں کے طریقوں میں سے ایک ہے — لیکن اصل میں یہ کیا ہے؟ یہ حملے کیسے کام کرتے ہیں؟





دن کی ویڈیو کا میک یوز مواد کے ساتھ جاری رکھنے کے لیے اسکرول کریں۔

بفر اوور فلو کیا ہے؟

تو اصل میں ایک بفر اور اسٹیک کیا ہیں؟ بفر ایک فیلڈ ہے جہاں کچھ ان پٹ معلومات جو آپ اپنے کمپیوٹر کو دیتے ہیں اس کے میموری تک پہنچنے سے پہلے انتظار کرتے ہیں۔ میموری سے ڈیٹا کو یاد کرنا سسٹم کو تھکا دینے والا عمل ہے۔ لہذا جب بفر ایریا میں کافی جگہ ہو تو آپ یہاں سے براہ راست ڈیٹا کو کال کرتے ہیں۔ اس کا مطلب ہے آپ کے آلے کی کارکردگی میں اضافہ۔ البتہ جب بفر کے لیے دستیاب جگہ بھر جائے تو اسے میموری میں لکھنا ضروری ہو جاتا ہے۔





اسٹیک بنیادی طور پر ایک ڈیٹا ڈھانچہ ہے جس میں ڈیٹا پش (ایڈ) اور پاپ (ہٹائیں) کی کارروائیاں ہوتی ہیں۔ بفر اور اسٹیک کے تصورات کافی ملتے جلتے ہیں۔ تاہم، بفر ایک اسٹیک کی طرح کام کرتا ہے جو آنے والے ڈیٹا کو عارضی طور پر اسٹور کرتا ہے۔





بفر اوور فلو ایک چیلنجنگ موضوع ہو سکتا ہے، لیکن جیسا کہ نام سے پتہ چلتا ہے، یہ اس وقت ہوتا ہے جب ڈیٹا کا زیادہ بوجھ ہو۔ مثال کے طور پر، آپ سسٹم میں لاگ ان کرنا چاہتے ہیں۔ ڈویلپر صارف نام کے لیے 250 بائٹس کی جگہ مختص کر سکتے ہیں۔ اگر آپ 300 بائٹس کا ڈیٹا داخل کرتے ہیں تو بفر اوور فلو ہوجاتا ہے۔ یہ اوور فلو میموری میں موجود دیگر ڈیٹا کو متاثر کر سکتا ہے، نقصان کا باعث بنتا ہے۔

یہ ہیکرز کے لیے بہت اچھا ہے۔ سائبر کرائمین اس گندگی کو مختلف اٹیک ویکٹرز کے ساتھ جوڑ سکتے ہیں، مثال کے طور پر، سسٹم کو ہیک کرنا اور بطور ایڈمنسٹریٹر لاگ ان کرنا۔



بفر اوور فلو کو سمجھنے کے لیے، آپ کو جن اہم موضوعات کو پہچاننے کی ضرورت ہے وہ ہوں گے۔ سی پی یو کا اندرونی فن تعمیر ، میموری رجسٹر، اور میموری ڈیٹا کو کیسے پروسیس کرتی ہے۔ یہاں سی پی یو کے بارے میں کچھ شرائط ہیں جن کے بارے میں آپ کو جاننے کی ضرورت ہے۔





اسمبلی کوڈ





ایک نچلی سطح کی پروگرامنگ زبان ، یعنی مشینی زبان کے قریب۔

بفر

ایک مقررہ سائز مختص میموری کی جگہ .

بائٹ کوڈ

اعلی سطحی زبان میں لکھے گئے کوڈ کی ایک مرتب کی جانے والی درمیانی زبان کی شکل۔

مرتب کرنے والا

ایک پروگرام جو پروگرامنگ زبان کو مشین کوڈ میں تبدیل کرتا ہے۔

ڈھیر

متحرک، متغیر میموری کی جگہ۔

میموری تھیوری کے بنیادی اصول

میموری تھیوری کو سمجھے بغیر، عملی طور پر بفر اوور فلو کے مسائل کو حل کرنا مشکل ہو سکتا ہے۔ آپ اس کے بارے میں سوچ سکتے ہیں جیسے دیوار بنانے کا طریقہ جانے بغیر گھر بنانے کی کوشش کرنا۔

تصور کریں کہ آپ ہیکر کے نقطہ نظر سے بفر اوور فلو چلانا چاہتے ہیں۔ اس کے لیے، آپ کو میموری میں ہیرا پھیری کرنی ہوگی اور CPU کو آپ کے کوڈ پر عمل کرنا ہوگا۔ اگر آپ کوئی بدنیتی پر مبنی ارادے والے تھے، تو یہاں آپ کا مقصد میموری کو اوورلوڈ کرنا اور یادداشت کے متصل علاقوں کو بھی جوڑنا ہوگا۔

  خاکہ دکھا رہا ہے اسٹیک نیچے بڑھ رہا ہے اور ڈھیر بڑھ رہا ہے۔

لیکن سب سے پہلے، آپ کو ہیپ، اسٹیک، اور ٹیکسٹ سیگمنٹ کے تصورات پر توجہ مرکوز کرنے کی ضرورت ہے۔

بائیں ماؤس کا بٹن ونڈوز 10 پر کام نہیں کر رہا ہے۔

جب اسٹیک بنایا جا رہا ہے، میموری ہائی میموری ایڈریس استعمال کرتی ہے۔ ہائی میموری ایڈریس کا مطلب توسیع شدہ میموری ایریا ہے۔ پھر ایڈریس کی قدریں کم ہونے لگتی ہیں۔ میموری اسٹیک میموری کے استعمال کے دوران LIFO (لاسٹ ان، فرسٹ آؤٹ) نامی طریقہ استعمال کرتا ہے۔ اسٹیک میموری میں متغیرات صرف اس دائرہ کار میں درست ہیں جس میں ان کی تعریف کی گئی ہے۔ اگر وہ اس دائرہ کار سے باہر ہیں تو ایک خرابی واقع ہو گی۔

دوسری طرف، اسٹیک میموری متحرک طور پر کام کرتی ہے اور اسے اعلیٰ پتوں پر شروع کرنے کی ضرورت نہیں ہے۔ ہیپ میموری پر کوئی مقررہ حد نہیں ہے۔ تمام حدود آپریٹنگ سسٹم کے ذریعہ مقرر کی جاتی ہیں۔ ہیپ میموری کو متحرک طور پر تبدیل کرنا ممکن ہے اور یہ حدود ہیپ کے استعمال کے دوران صارف کی ضروریات کے مطابق تبدیل ہو سکتی ہیں۔ ہیپ میموری کی حدود آپریٹنگ سسٹم اور ہارڈ ویئر کے ذریعہ طے شدہ عوامل پر منحصر ہوتی ہیں۔ دوسرے الفاظ میں، یہ ان حدود کے اندر متحرک استعمال پیش کرتا ہے۔

ٹیکسٹ سیگمنٹ پروگرام کوڈ پر مشتمل ہوتا ہے اور ڈیٹا سیگمنٹ میں عالمی ڈیٹا ہوتا ہے۔ اعلیٰ پتے شیئر کرتے ہیں۔ اسٹیک اور ہیپ میموری آپس میں سسٹم رن ٹائم پر دونوں میموری مختص کرتا ہے۔

بفر اوور فلو کو بہتر طور پر سمجھنے کے لیے، آپ کو عمومی مقصد کے ڈیٹا رجسٹروں کی جانچ کرنی چاہیے جو آپ کا کمپیوٹر فن تعمیر ڈیٹا کو ذخیرہ کرنے کے لیے استعمال کرتا ہے۔ ہر ریکارڈ کا انفرادی طور پر تجزیہ کرنے کے بجائے ضروری باتوں پر توجہ دیں۔

  • ESP (توسیع شدہ اسٹیک پوائنٹر): یہ رجسٹر اسٹیک کے اوپری حصے میں ایڈریس رکھتا ہے۔
  • ای بی پی (توسیع شدہ بیس پوائنٹر): یہ بیس پوائنٹر رکھتا ہے۔
  • EIP (توسیع شدہ انسٹرکشن پوائنٹر): اور اس رجسٹر میں اگلی ہدایات پر عمل درآمد کا پتہ ہوتا ہے۔

یہ تکنیکی اصطلاحات قدرے مبہم لگ سکتی ہیں، لیکن ان سب کو میموری پر چھوٹے پارٹیشنز کے طور پر تصور کریں۔

بفر اوور فلو حملے کیسے کام کرتے ہیں؟

جب آپ کسی بھی اسٹیک میں نیا ڈیٹا شامل کرتے ہیں، تو اس ڈیٹا کو سب سے اوپر سلاٹ کیا جائے گا۔ اس کے بعد تمام نئے ڈیٹا کو نیچے منتقل کر دیا جاتا ہے۔ ESP اسٹیک کے سب سے اوپر ہے. تو اس صورت میں ESP کم میموری ایڈریس پر جاتا ہے۔ تصور کریں کہ اوپر شامل کردہ ڈیٹا ESP کو نیچے دھکیل رہا ہے۔

  خاکہ دکھا رہا ہے کہ بفر کی جگہ کہیں ESP اور EBP کے درمیان ہے۔

جب کوئی پروگرام چلنا شروع ہوتا ہے، تو سسٹم مقامی متغیرات کے ساتھ ایک اسٹیک فریم بناتا ہے۔ بفر اوور فلو حملے کا بنیادی مقصد EIP یا واپسی کے پتے تک رسائی حاصل کرنا ہے۔ اس ایڈریس تک رسائی رکھنے والا ہیکر اسے کسی بھی نقصان دہ کوڈ کی طرف اشارہ کرنے کا حکم دے سکتا ہے، جو اس کے بعد وسیع تر نظام کو متاثر کرے گا۔

  ESP میں ڈیٹا کو ظاہر کرنے والا ایک خاکہ جس میں واپسی کے پتے کو نشانہ بنایا گیا ہے۔

ڈیٹا کے ہر نئے بٹ کے ساتھ، اسٹیک EBP کی طرف بڑھتا ہے۔ یہاں اصل سوال یہ ہے کہ اگر ہم بہت زیادہ ڈیٹا داخل کرتے ہیں تو کیا ہم EBP کو EIP کی طرف بڑھا سکتے ہیں؟ اس طرح، آپ جو ڈیٹا یا کوڈ چاہتے ہیں وہ EIP پر موجود ہے اور آپ اپنے مطلوبہ نتائج دیکھ سکتے ہیں۔ بس اسے چلانا باقی ہے۔ جب آپ پروگرام چلاتے ہیں، تو یہ آپ کے EIP کوڈ کی طرف اشارہ کرتا ہے اور اس پر عمل درآمد شروع کر دیتا ہے۔ نتیجے کے طور پر، اگر آپ ہیکر تھے، تو آپ نے اپنا پہلا بفر اوور فلو حملہ کیا ہوگا۔

ایک مختلف زاویے سے مثال لینے کے لیے، آپ ایک کنٹینر میں مختلف کثافتوں کے مائعات پر غور کر سکتے ہیں، جنہیں ESP، EBP، اور EIP کہتے ہیں۔ تصور کریں کہ ESP کنٹینر کے اوپری حصے میں واقع ہے کیونکہ اس کی کثافت کم ہے۔ زیتون کے تیل اور پانی کی طرح انہیں مکس نہیں کرنا چاہیے۔ نقصان دہ کوڈ، پھر، ایک اور مائع ہے — جب آپ اسے کنٹینر میں شامل کرتے ہیں، تو یہ اس توازن کو خراب کر دیتا ہے، کچھ مائع کو بے گھر کر دیتا ہے، اور EIP کے ساتھ گھل مل جاتا ہے۔ یہ بفر اوور فلو کی نشاندہی کرے گا۔

بفر اوور فلو حملوں سے کیسے بچایا جائے۔

تو آپ اسے ہونے سے کیسے روکیں گے؟

سب سے پہلے، سیکورٹی کے خطرات کو کم کرنے کے لیے سافٹ ویئر ڈویلپمنٹ کے پورے عمل میں کوڈنگ کی اچھی مشق کو اپنانا ضروری ہے۔ احتیاط سے لکھا ہوا کوڈ بفر اوور فلو کے امکان کو کم کر سکتا ہے۔

ایک اور قدم یہ ہے کہ میموری کے علاقوں کی نگرانی، بفرز کی حدود کی جانچ اور حملوں کا پتہ لگانے کے لیے دفاعی طریقہ کار کا استعمال کیا جائے۔ آخر میں، آپ کو باقاعدگی سے سسٹم کو اپ ڈیٹ کرنے اور پیچ لگانے کی ضرورت ہے۔ اپ ڈیٹس جو کمزوریوں کو ٹھیک کرتی ہیں حملہ آوروں کے لیے معلوم کمزوریوں کا فائدہ اٹھانا مشکل بنا دیتی ہیں۔ اس کے علاوہ، سافٹ ویئر اور فائر وال جیسے دفاعی آلات کا استعمال سیکورٹی کی ایک اضافی تہہ فراہم کرتا ہے۔

بفر اوور فلو کے خلاف کارروائی کریں۔

بفر اوور فلو حملے آپ کی سائبر سیکیورٹی کے لیے ایک اہم خطرہ ہیں اور ان کے خلاف احتیاطی تدابیر اختیار کرنا فطری طور پر اہم ہے۔ خوش قسمتی سے، ان حملوں کو روکنا اور دفاعی میکانزم کو مضبوط کرنا ممکن ہے۔ بہت ساری اچھی حفاظتی مشقیں، جیسے پیچ کو ٹھیک کرنے کے لیے سافٹ ویئر کو اپ ڈیٹ رکھنا، اس طرح کے حملوں کے ساتھ ساتھ دیگر خطرات سے بچانے میں مدد کرتا ہے۔