واضی فایل

دانلود کتاب، جزوه، تحقیق | مرجع دانشجویی

واضی فایل

دانلود کتاب، جزوه، تحقیق | مرجع دانشجویی

تحقیق در مورد سرریز شدن بافر

فرمت : WORD                                            تعداد صفحه :48

 

سرریز شدن بافر

حملات و دفاعهایی برای اسیب پذیری دهه اخیر

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

مقدمه : لبریزی بافر شایع ترین مشکل آسیب امنیتی در ده های اخیر بوده است آسیب های لبریزی بافر در حوزۀ آسیب های نفوذ شبکه از راه دور حکمفرماست در جایی که یک کاربر اینترنت به جستجوی  کنترل کامل یا نسبی یک میزبان است چون این نوع حملات هر کسی را قادر می سازد که کنترل کلی یک میزبان را به عهده بگیرد آنها یکی از جدی ترین حملات هرکسی را قادر می سازد که کنترل کلی یک میزبان را به عهده بگیرد آنها یکی از جدی ترین مولود تهدید های امنیتی محسوب می شوند حملات لبریزی بافر یک بخش مهم از حملات امنیتی را تشکیل می دهند زیرا آسیب های لبریزی به آسانی کشف می گردند. با اینحال آسیب های لبریزی بافر در گروه حملات نفوذ از راه دور قرار می گیرند زیرا  یک آسیب پذیری لبریزی بافر مهاجم را با آنچه که نیاز دارد نشان می دهد یعنی توانایی تزریق و اجرای رمز (کد) حمله. کد حملۀ تزریق شده با برنامۀ آسیب پذیر کار می کند و به مهاجم امکان آن را می دهد که عملکرد لازم دیگر برای کنترل رایانۀ میزبان را در اختیار بگیرد. مثلا از بین بردن حملات بکار رفته در ارزیابی آشکار سازی تهاجم در ازمایشگاه لینکلن در 1998 سه مورد از نوع حملات مهندسی اجتماعی اساسی بودند که به اعتبارات کاربر حمله کردند و دو مورد از نوع لبریزی های بافر بودند و 9 مورد از 13 مورد مشاوره های CERT از 1948 شامل لبریزی های بافر بود و حداقل نیمی از مشاوره های CERT 1998 شامل اینحال  لبریزی های بافر بود بررسی غیر رسمی درباره خدمت آسیب پذیری  امنیتی نشان داد که تقریبا  2/3 پاسخ دهندگان عقیده داشتند که لبریزیهای بافر علت اصلی آسیب پذیری امنیتی است. آسیب پذیری های لبریزی بافر و حملات در یک سری از شکل ها می آید که ما در بخش  2 شرح می دهیم و طبقه بندی می کنیم2) ) دفاع در برابر حملات لبریزی بافر بطور مشابه در یک سری شکل ها ظاهر می شود که در بخش 3 شرح می دهیم که شامل انواع حملات و اسیب پذیری هایی است که این دفاع ها در برابر آنها موثر است پروژه Immunix مکانیزم دفاعی Guard  Stack را تو سعه داده است که در دفاع از حملات بدون لطمه به عملکرد یا سازگاری سیستم بسیار موثر بوده است . بخش 4 به بررسی ترکیبی از دفاع هایی می پردازد که یکدیگر را پوشش می دهند. بخش 5 نتیجه گیری ها را شامل می گردد.

2 ) آسیب پذیری های لبریزی بافر و حملات

هدف کلی بک حملۀ لبریزی بافر، خنثی کردن عملکرد یک برنامه ممتاز است طوری که مهاجم بتواند کنترل آن برنامه را بعهده بگیرد. و اگر برنامه بقدر کافی پیشرفته باشد بتواند کنترل میزبان را انجام دهد. مهاجم به یک برنامه root ریشه حمله می کند و فورا کد مشابه  با "exec(sh)" را اجرا می کند تا به یک لایه root برسد

برای انجام این هدف، مهاجم باید به دو هدف دست یابد:

کد مناسب را آرایش دهد تا در فضای نشانی برنامه  باشد 2) از برنامه برای پرش به آن کد استفاده کند و پارامترهای مناسب بداخل حافظه و رجیسترها لود شوند.

ما حملات لبریزی بافر را بر حسب حصول این اهداف دسته بندی می کنیم بخش 2.1 نحوه قرار گرفتن کد حمله در فضای نشانی برنامه قربانی را شرح می دهد. بخش 2.2 شرح می دهد که چونه مهاجم یک بافر برنامه را لبریز می کند تا حالت برنامه مجاور را تغییر دهد که جایی است که قسمت لبریزی از آنجا می آید تا باعث شد که برنامه قربانی به کد حمله پرشی نماید بخش 2.3 موضوعات مربوطه را در ترکیب کردن روشهای تزریق کد از بخش 2.1 با روش ها ی وقفۀ جریان کنترل از بخش 2.2 بحث می کند. 2.1 روش های آرایشی کد مناسب برای فضای نشانی برنامه : دو روش برای آرایش کد حمله برای فضای نشانی برنامه قربانی وجود دارد: تزریق یا کاربرد آن چه که قبلاً در آنجا وجود دارد.

تزریق آن: مهاجم یک رشته را بصورت ورودی برای برنامه فراهم می کند که برنامه در یک بافر ذخیره شود. رشته شامل بایت هایی است که دستورالعمل های CPU برای سکوی مورد حمله می باشند در اینجا حمله کننده از بافر های برنامه قربانی برای  ذخیره کردن کد حمله استفاده می کند. بعضی موارد مربوط به این روش به این شرح است:

مهاجم مجبور نیست هر بافری را برای انجام این کار لبریز کند: بارگیری کافی کافی می تواند بداخل بافرهای کاملا سالم تزریق شود بافر می تواند در هر جایی قرار بگیرد.

روی متغیرهای خودکار روی متغیرهایی mallocell در ناحیه ایتای استاتیک (مقدار طی شده اولیه یا نشده) قبلا در آنجا وجود دارد: اغلب کد برای انجام آنچه که مهاجم می خواهد انجام دهد قبلا  در فضای نشانی برنامه وجود  دارد و مهاجم فقط لازم است که کد را پارامتر بندی کند و سپس باعث پرش برنامه به آن شودمثلا اگر کد حمله لازم باشد تا ("/bin/sh") exel را انجام دهد در جایی که  arg یک آرگومان مکان نمایی رشته است آنگاه مهاجم باید یک مکان نما را تغییر دهد تا به ("/bin/sh") اشاره کند و به دستور العمل های مناسب در کتابخانه libe پرش نماید.

 



خرید و دانلود تحقیق در مورد سرریز شدن بافر


نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.