حملات و دفاعهایی برای اسیب پذیری دهه اخیر
چکیده سرریزهای بافمتدلترین شکل اسیب امنیتی در طی ده سال گذشته است. ضمنا، شدن حوزۀ آسیب های نفوذ شبکه از راه دور را شامل می شود در جایی که یک کاربر اینترنت درصدد بدست آوردن کنترل نسبی میزبان است. اگر آسیب های لبریزی بافر بطور موثر حذف گردد، بخش زیادب از تهدیدهای امنیتی جدی نیز حذف می شود در این مقاله به انواع آسیب های لبریزی بافر و حملات مربوطه اشاره می کنیم و اقدامات دفاعی مختلف را بررسی می کنیم که شامل روش 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) از برنامه برای پرش به آن کد استفاده کند و پارامترهای مناسب بداخل حافظه و رجیسترها لود شوند.