تست امنیت

جلسه 23: بررسی تاثیر Buffer Overflows در تست امنیت

جلسه 23: بررسی تاثیر Buffer Overflows در تست امنیت

جلسه 23: بررسی تاثیر Buffer Overflows در تست امنیت

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

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

خلاصه جلسه قبل:

در جلسه گذشته به بررسی سروریس های وب در تست امنیت پرداختیم؛ در برنامه های مدرن مبتنی بر وب، استفاده از خدمات وب اجتناب ناپذیر است اما بعضی از این برنامه ها در معرض حملات وب قرار می گیرند؛ از آنجا که سرویس های وب درخواست fetch از چندین وب سایت را دارند، برای جلوگیری از هرگونه نفوذ توسط هکرها، مجبور به انجام اقدامات اضافی هستند. در این جلسه می خواهیم به بررسی تاثیر Buffer Overflows در تست امنیت بپردازیم.

تاثیر Buffer Overflows در تست امنیت

Buffer Overflows یا سرریز بافر هنگامی ایجاد می شود که یک برنامه سعی می کند داده های بیشتری را در یک مکان ذخیره موقت داده ها (بافر) ذخیره کند تا از آن چیزی که برای آن در نظر گرفته شده است نگهداری کند. از آنجا که بافرها برای حاوی مقدار محدودی از داده ها ایجاد می شوند، اطلاعات اضافی می توانند درون بافرهای مجاور سرریز شوند، بنابراین داده های معتبری را که در آنها نگهداری می شوند را خراب می کنند.

مثال:

در ادامه به بررسی یکی از شایع ترین نمونه های سرریزبافر می پردازیم؛ این نمونه یک سرریز بافر ساده را نشان می دهد که توسط اولین سناریو ایجاد شده است که در آن برای کنترل رفتار خود به داده های خارجی متکی است. هیچ راهی برای محدود کردن میزان داده هایی که کاربر وارد کرده است وجود ندارد و رفتار برنامه به این بستگی دارد که کارکتر شما در چه کارکتر هایی هایی قرار داده شده است.

مثال : 

Hands ON

مرحله 1) برای دسترسی به اینترنت باید با نام و شماره room وارد شوید. در ادامه می توانید تصویری از این سناریو را ببینید.

با نام و شماره room

با نام و شماره room

مرحله 2) همچنین می توانید “Unhide hidden form fields” را در Burp Suite مانند تصویر زیر فعال کنید.

فعال کردن “Unhide hidden form fields” در Burp Suite

فعال کردن “Unhide hidden form fields” در Burp Suite

مرحله 3) اکنون ما یک ورودی به نام و شماره room ارسال می کنیم. همچنین می توانید تعداد بسیار بزرگی از آن را در قسمت شماره اتاق تزریق کنید.

ارسال یک ورودی به نام و شماره room

ارسال یک ورودی به نام و شماره room

مرحله 4) قسمت های پنهان مطابق شکل زیر نمایش داده می شوند. ما روی accept terms کلیک می کنیم.

کلیک روی accept terms

کلیک روی accept terms

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

خواندن مکان های حافظه مجاور می کند

خواندن مکان های حافظه مجاور می کند

مرحله 6) حالا اجازه دهید با استفاده از داده های نمایش داده شده وارد سیستم شویم. بعد از ورود، پیام زیر نمایش داده می شود.

موفقیت آمیز بودن عملیات

موفقیت آمیز بودن عملیات

مکانیسم های پیشگیرانه

  • بررسی کد
  • آموزش توسعه دهنده
  • ابزار کامپایلر
  • ایجاد توابع ایمن
  • اسکن دوره ای

سخن پایانی

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

موفق و سر سبز باشید.

درباره محمد محسن خاشعی نژاد

بیش از ۱۰ سال است که به عنوان مدرس در حوزه های مختلف ICT فعالیت دارم و همیشه در حال یادگیری و یاد دادن هستم.

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