Geek

روز نوشت هایی در مورد امنیت

Geek

روز نوشت هایی در مورد امنیت

پیوندهای روزانه

۳ مطلب در فروردين ۱۳۹۳ ثبت شده است

طبق مستندات و آمار های شرکت سیسکو ، بیشترین آسیب پذیری های موجود در IOS های سیسکو مربوط به عدم مدیریت درست بر روی حافظه و تخریب حافظه  (memory corruption) می باشد. به عنوان مثال حملاتی که منجر به پر شدن buffer می شوند و به اصطلاح buffer overflow  پیش می آید و این امر موجب تخریب حافظه و ممکن است منجر به reload شدن دستگاه می شود. علت اصلی reload شدن دستگاه ها در IOS های سیسکو به دلیل ساختار سیستم عامل آن می باشد. ساختار IOS سیسکو به صورت یکپارچه (monolithic) طراحی شده است و مشکل در یک قسمت منجر به crash کردن کل دستگاه می شود ولی در سیستم عامل های ماژولار چنین مشکلی وجود ندارد و مشکل در یک قسمت تنها منجر به عدم سرویس دهی همان ماژول خواهد شد . در تصویر زیر ، ساختار کلی سیستم عامل های روتر های مختلف را مشاهده میکنید.


۴ نظر موافقین ۰ مخالفین ۰ ۲۲ فروردين ۹۳ ، ۱۶:۰۸
همان طور که در قسمت اول اشاره کردیم ، برای اینکه آدرس شروع توابع و کتابخانه ها ، با تکنیک حافظه مجازی همیشه یکسان خواهد بود و این مورد ، امنیت را به چالش میکشد. همچنین گفتیم که برای رفع آن از تکنیک ASLR در سیستم عامل ها استفاده می شود. ASLR در سیستم عامل لینوکس، آدرس بخش های heap ، stack و  memory mapping segment را به وسیله افزودن offset به آدرس شروع آنها ، تصادفی میکند. به عنوان یادآوری این بخش ها در حافظه سیستم عامل لینوکس ، نگاهی دوباره به تصویر آن از بخش اول این پست خواهیم داشت. بخش های ذکر شده با علامت فلش قرمز مشخص شده اند.

۲ نظر موافقین ۰ مخالفین ۰ ۱۵ فروردين ۹۳ ، ۲۱:۳۶

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

۱ نظر موافقین ۰ مخالفین ۰ ۱۲ فروردين ۹۳ ، ۱۴:۴۸