حملات سرریز بافر

منتشر شده در دسته : هک اخلاقی

حملات سرریز بافر یا همان Buffer overflows سواستفاده ای است که هکرها از آن بر علیه سیستم عامل یا اپلیکیشن استفاده می کنند .
در این مطلب با نحوه پیاده سازی حملات سرریز بافر آشنا نمی شوید بلکه با مفهوم این حملات آشنا می شوید . درست مثل حملات تزریق اسکیو ال , حملات سرریز بافر نیز فیلدهای ورودی کاربر را مورد هدف قرار می دهند . یک حمله سرریز بافر از طریق بار اضافی بر روی مموری سیستم و یا اجرای یک دستور Shell یا کدهای خاص باعث شکست و عدم ادامه سرویس دهی سیستم می شود . یک آسیب پذیری سرریز بافر از طریق نقص چک کردن حد و مرزها و همان نقص اعتبار سنجی متغیرها در وب فرم ها بوجود می آید . اگر که فرم ورودی اپلیکیشن اندازه و یا فرمت یک متغیر را پیش از دریافت اعتبار سنجی نکند , این موضوع ممکن است باعث بوجود آمدن آسیب پذیری نسبت به حملات سرریز بافر می شود .

انواع حملات سرریز بافر

حملات Stack based و heap based هستند .
Stack و heap موقعیت های ذخیره سازی برای متغیرهای تامین شده توسط کاربر در برنامه در حال اجرا هستند . متغیرها تا زمانی که برنامه به آنها نیاز داشته باشند در heap و یا stack ذخیره سازی می شوند . stacks فضاهای استاتیک و ایستای ذخیره سازی در حافظه هستند در صورتی که heaps فضاهای دینامیک و پویای ذخیره سازی هستند که وقتی برنامه اجرا می شود ایجاد می شوند . یک حمله سرریز بافر stack-based وقتی اتفاق می افتد که حافظه ای که به هر روال اجرای برنامه سرریز شود . در نتیجه هر دو نوع سرریز یک برنامه می تواند دستور shell و یا خط فرمان را باز کند یا حتی برنامه را متوقف کند .
در دو تصویر زیر روال عادی اجرا و روال سرریز بافر را مشاهده می کنید .

انواع حملات سرریز بافر

به منظور تشخیص آسیب پذیری های سرریز بافر برنامه که در نتیجه سورس کد نوشته شده بد است , یک هکر مقادیر زیادی داده را از طریق وب فرم به اپلیکیشن ارسال می کند و نتیجه را مشاهده می کند . در زیر گام های اجرای حملات سرریز بافر توسط هکر آورده شده است :

1- وارد کردن یک متغیر در بافر تا مقدار حافظه پشته مصرف شود .
2- وارد کردن مقادیر داده ای بیشتر از آنچه که در حافظه برای آن در نظر گرفته شده است که نتیجه آن سرریز بافر می شود . سپس یک متغیر دیگر را در بافر وارد می کنند تا مقدار قبلی را بپوشاند و به برنامه بگوید چه چیزی را اجرا کند .
3- در نتیجه برنامه کد مضر را اجرا می کند . اگر هکر با موفقیت اشاره گر کد را بپوشاند , برنامه کد هکر را اجرا می کند .
اکثر هکرها نیاز به دانش کافی درباره این پروسه کدها ندارند زیرا کدهای آماده زیادی در این زمینه در اینترنت وجود دارد

خوشحال می شویم دیدگاههای خود را در میان بگذارید * فرصت پاسخگویی به سوالات در بلاگ وجود ندارد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *