حملات Buffer OverFlow یا سرریز بافر چیست ؟

BUFFER

[vc_row][vc_column][vc_column_text]

حملات Buffer OverFlow یا سرریز بافر چیست ؟

 

× بافر چیست ؟

» اگر برنامه نویس باشید با این اصطلاح آشنایی دارید، به خصوص اگر با زبان C کار می کنید !
بافر قسمتی از حافظه است که به طور موقت برای نگه داری اطلاعات یک نرم افزار اختصاص یافته است. اطلاعات پیش از رسیدن به محل اصلی در مکانی به نام بافر به صورت موقت ذخیره میشوند. بافر معمولا یک ظرفیت از پیش مشخص شده دارد که توسط برنامه نویس تعیین می شود.

 

» حمله سرریز بافر یکی از اولین و خطرناک ترین حملات به برنامه های کاربردی می باشد !
اولین مورد برای حمله به یک سیستم هدف گرفتن پشته سیستم عامل است. سرریز پشته می تواند منجر به مختل شدن یک برنامه کاربردی یا سیستم عامل شود، گونه بسیار پیچیده و خطرناکی از حمله به پشته آن است، که نفوذگر بتواند پس از سرریز شدن، کنترل اجرای آن برنامه یا پروسه را در اختیار گیرد. امروزه حمله سرریز پشته یکی از یکی از روش های مهلک و رایج حمله علیه ماشین های آسیب پذیر محسوب می شود. هر برنامه یا پروسه که در بخشی از کد خود از پشته یا بافر استفاده کند، ممکن است در اثر سرریز شدن به ناگاه مختل شود. این نوع حملات شبیه حملات Dos و DDos هستند با این تفاوت که که Dos باعث Down شد سرور میشود و..

 

 

حملات Buffer OverFlow

 

ساخت اسکریپت دیداس با استفاده از زبان پایتون کلیک کنید !

 

» نفوذ پروسه هایی را که به نحوی از پشته یا بافر استفاده کرده اند ولی تمهیدی نیندیشیده اند !
کشف می کند و آنها را مورد هدف قرار می دهد. متاسفانه برخی از سرویس دهنده های حساس شبکه قبل از عرضه به دقت آزمایش نشده اند و اگر یک رشته خاص و طولانی برای آنها ارسال شود، به ناگاه در هم می شکنند. زیرا سرریز شدن بافر در آنها منجر به نقض حریم حافظه شده و رون اجرای آنها توسط سیستم عامل متوقف می شود. گونه بسیار پیچیده و خطرناکی از حمله به پشته آن است که نفوذگر بتواند پشته را به نحوی سرریز کند که پس از سرریز شدن، کنترل اجرای آن برنامه یا پروسه را در اختیار بگیرد !

 

 

~ جلوگیری از حملات Buffer OverFlow !

» در هنگام برنامه‌نویسی باید از این توابع استفاده نشود !
این توابع بدون بررسی کردن حجم بافر آن‌ها را بازنویسی می‌کنند که این مسئله می‌تواند دیگر مقادیر موجود در پشته مانند همان آدرس برگشت تابع را بازنویسی کند..


نام تابع دلیل
        strcpy(char *dest, const char *src)
ممکن است بافر dest سرریز شود
strcat(char *dest, const char *src)
       ممکن است بافر dest سرریز شود.
getwd(char *buf)
ممکن است بافر buf سرریز شود.
gets(char *s)
ممکن است بافر s سرریز شود
[vf]scanf(const char *format, …)
تمام آرگومان‌ها در معرض سرریز شدن قرار دارند
realpath(char *path, char resolved_path[])
ممکن است بافر path سرریز شود.
sprintf(char *str, const char *format, …)
ممکن است بافر str سرریز شود.

 

» جای تابع Strcpy می‌توان از Strncpy و به جای تابع Strcat می‌توان از Strncat استفاده کرد که این توابع با بررسی حدود بافر مقصد باعث جلوگیری از وقوع سرریز بافر می‌شوند. همینطور تابع Fgets هم برای ورودی و خروجی استاندارد مناسب است و..

 

 

دانلود کتاب حملات سرریز بافر کلیک کنید !

[/vc_column_text][/vc_column][/vc_row]

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
هک با استفاده از هوش مصنوعی

هک با استفاده از هوش مصنوعی تهدیدات جدید در سال 2025

آنچه در این پست میخوانید تحول در حملات سایبرینمونه‌های واقعی حملات با هوش مصنوعیچالش‌ها و خطرات هوش مصنوعی در امنیت…

بیشتر بخوانید
پروتکل های شبکه

تحلیل پروتکل‌ های پیشرفته شبکه | جامع و به زبان ساده

آنچه در این پست میخوانید تحلیل پروتکل های پیشرفته شبکهپروتکل‌های اصلی و ساختاری شبکهپروتکل‌های پیشرفته شبکهدر ادامه پروتکل های پیشرفته…

بیشتر بخوانید
بیم فورمینگ چیست ؟

بیم فورمینگ BeamForming چیست ؟

آنچه در این پست میخوانید بیم فورمینگ چیست ؟ کاربرد آن در توسعه شبکه های وایرلسبیم فورمینگ Beamforming چیست ؟Beamforming…

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

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