اکسپلویت سرریز بافر

اکسپلویت یا كد مخرب، کدی است که برای سو استفاده از یک آسیب‌پذیری مدل‌سازی شده است. اکسپلویت‌ها برای این ساخته می‌شوند که توانایی دستیابی غیر قانونی به اطلاعات و برنامه‌‌ها را در سیستم‌های قربانی برای مهاجم فراهم کنند. بنابراین اکسپلویت، یا همان کدهای مخرب، برنامه‌ها و کدهایی هستند که به‌‍واسطه یک یا چند هکر یا پژوهشگر امنیتی به‌منظور تایید یا استفاده از آسیب‌پذیری ویژه‌ای در یک نرم افزار سیستم عامل یا سخت افزار ویژه نوشته می‌‌شوند. جهت آشنایی بیشتر با مفهوم حمله اکسپویت سرریز بافر، در ادامه با دوران آکادمی همراه ما باشید.

اکسپلویت چیست و چگونه از آن در امان بمانیم؟

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

تاریخچه اکسپلویت سرریز بافر

تاریخچه «اکسپلویت سرریز بافر» به دهه 1980 باز می‌گردد. هنگامی که اولین‌بار آسیب‌پذیری‌های نشأت گرفته از سرریز بافر در برنامه‌های کامپیوتری شناسایی شدند. این حمله عموماً از عدم مدیریت دقیق اندازه داده‌های ورودی به بافرها در نرم‌افزارها است. اولین‌بار در سال 1988، زمانی‌که ویروس‌های کامپیوتری و باگ‌های امنیتی در سیستم‌های یونیکس ظهور کردند، حمله Exploit سرریز بافر به‌‎شکل گسترده‌ای معروف شد. این نوع حمله توسعه‌دهندگان نرم‌افزار را به دقت بیشتر در روش‌های مدیریت حافظه و داده‌ها مجبور کرد.

جهت دریافت اطلاعات بیشتر درمورد دوره‌ها و اساتید با مشاورین دوران آکادمی در ارتباط باشید.

سرریز بافر چیست؟

سرریز بافر یا Buffer OverFlow  زمانی اتفاق می‌افتد که با دادن اطلاعاتی به آن برنامه باعث می‌شویم که بافر آن برنامه پر شود. (بافر بخشی از حافظه است که به‌طور موقت برای حفظ اطلاعات یک نرم افزار تعلق گرفته باشد). بعد از پر شدن بافر، برنامه دچار کرش (crash) می‌شود و بعد از آن ما می‌توانیم هر فرمانی که می‌خواهیم به آن برنامه بدهیم. (مثل تزریق کردن شل کد برای ایجاد دسترسی است).

اکسپلویت سرریز بافر

در امنیت کامپیوتر و برنامه‌نویسی، سرریز بافر، یا هجوم آوردن بافر، یک استثنا است که در آن برنامه، زمانی که در حال نوشتن داده‌ها به بافر است، از محدوده بافر تجاوز می‌‌کند و سبب نسخه‌برداری حافظه مجاور می‌‌شود. این نمونه‌ای ویژه از نقض امنیت حافظه ‌است.

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

حافظه بافر چیست؟

بافر مانند یک واسطه بین دو دستگاه یا سخت‌افزار کار می‌کند و در جهت تنظیم سرعت پردازش آن بسیار مفید واقع می‌شود. مثلاً، در هارد دیسک‌ها، بافر سرعت انتقال داده‌ها بین کامپیوتر و هارد را متعادل می‌کند. بافر به‌طور موقت اطلاعات را ذخیره می‌کند تا پیش از رسیدن به جای اصلی، به‌صورت موقت در آن ذخیره گردد. ظرفیت بافر اغلب توسط برنامه‌نویس مشخص می‌شود.

اکسپلویت سرریز بافر

اکسپلویت سرریز بافر نوعی آسیب‌پذیری می‌باشد که زمانی صورت می‌گیرد که دیتای بیش از ظرفیت حافظه بافر، وارد آن می‌شود که می‌تواند منجر به اجرای کد مخرب، کرش کردن برنامه یا دسترسی غیرمجاز به سیستم گردد. این حمله اغلب در برنامه‌هایی که با زبان‌هایی مانند C و C++ نوشته‌شده‌اند روئیت می‌شوند. یعنی زبان‌هایی که مدیریت حافظه را به‌طور دستی انجام می‌دهند.

اکسپلویت سرریز بافر

با دوران آکادمی امنیت را حرفه‌ای آموزش ببینید و متخصص شوید.

  • حمله سرریز integer

    در این نوع حمله، مقدار عددی وارد شده از حد ظرفیت متغیر بیشتر می‌شود که ممکن است به تغییر جریان اجرای برنامه و اجرای کد مخرب منجر شود.

  • حمله سرریز Unicode

    این حملات مربوط به نادرست بودن مدیریت رشته‌های یونیکد در برنامه‌ها است. با ارسال ورودی‌هایی که در آن‌ها داده‌های یونیکد به‌طور اشتباه پردازش می‌شود، مهاجم می‌تواند به سیستم آسیب بزند یا اطلاعات حساس را استخراج کند.

  • حملات format string

    در این حملات، حمله‌کننده از نواقص در نحوه پردازش ورودی‌های قالبی )مثل S%یا X% در زبان( C سوءاستفاده می‌نماید تا به اطلاعات حساس دسترسی پیدا کرده یا کد دلخواه اجرا کند.

حمله اکسپلویت غالباً بر ضعف‌های موجود در مدیریت حافظه برنامه‌ها تأکید دارد. حمله Exploit ، مثل این است که شما تلاش می‌کنید یک کیف را با وسایل بیش از ظرفیت آن پر کنید؛ در این صورت ممکن است چیزهایی که نباید در کیف قرار بگیرند، وارد آن شوند و باعث خرابی یا آسیب به ساختار اصلی آن شوند. درک و محافظت در برابر این‌گونه حملات برای حفظ امنیت سیستم‌ها و داده‌ها امری حیاتی است.

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