فرهنگ لغت

سرریز بافر | Buffer overflow

سرریز بافر (به انگلیسی: Buffer overflow) یک نقص امنیتی در نرم افزارها است و زمانی رخ می ­دهد که نرم افزار، حجم زیادی از داده ­ها را بر روی قسمت ­های مختلف حافظه بافر سیستم می ­نویسد. بنابراین هنگامی که نرم افزار در حال نوشتن داده‌ها در حافظه بافر[۱] است، این داده نویسی از مرز بافر فراتر رفته و باعث رونویسی حافظه مجاور می‌شود. مثلاً اگر نرم افزاری یک بافر با سایز ثابت ۱۲۸ بایت دارد، چنانچه ۱۰۲۴ بایت داده برای بافر ارسال شود، دچار سرریز حافظه خواهد شد. چنین حالتی موجب ایجاد خطا و در نهایت نیز از کارافتادگی سیستم شده و نفوذگر می ­تواند هر دستوری که می­ خواهد را به آن نرم افزار بدهد (همچون تزریق شل کد به منظور ایجاد دسترسی).

حملات سرریز بافر که بر اساس ارسال حجم زیاد و بیش از حد داده­ های یک نرم افزار به حافظه بافر سیستم اتفاق می­ افتند، ممکن است منجر به بروز رفتارهای غیرمتعارف و نامنظمی از جمله ایجاد خطاهای دسترسی به حافظه، نتایج نادرست یا نقض امنیت سیستم شوند. یک روش مناسب برای برطرف سازی این حمله، اعتبارسنجی متغیرها در فرم­ های نرم افزاری است. سرریز بافر در قسمت پشته داده که به عنوان «سرریز پشته» شناخته می‌شود می­ تواند بهره‌برداری را به شیوه‌ای متفاوت از سرریزهای مبتنی بر پشته انجام دهد. حافظه پشته به صورت پویا توسط برنامه، در زمان اجرا اختصاص داده شده و به طور معمول شامل داده‌های برنامه است.

 

  • [۱] بافر قسمتی از حافظه است که به طور موقت برای نگهداری اطلاعات یک نرم افزار اختصاص یافته است.
نمایش بیشتر

نوشته های مشابه

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

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

17 − 16 =

همچنین ببینید
بستن
دکمه بازگشت به بالا