پردازنده‎های Haswell اینتل؛ حامل حفره امنیتی مهلک

پردازنده‎های Haswell اینتل؛ حامل حفره امنیتی مهلک

گروهی از پژوهشگران از دو دانشگاه ایالات متحده یک حفره امنیتی مهلک در پردازنده های Haswell اینتل شناسایی کرده اند. این حفره امنیتی به حمله کننده امکان عبور از لایه های امنیتی و انجام حملات سرریز بافر (Buffer overflow) را می دهد.

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

security-fig4-aslr

تخصیص فضای آدرس تصادفی توسط ASLR با هر بار اجرا

قابلیت ASLR در کلیه سیستم عامل های مدرن امروزی پیاده سازی شده و بخشی از هسته ویندوز، لینوکس، macOS, ،iOS و حتی Android است. هنگامی که داده ها جهت پردازش به پردازنده ارسال می شوند، ASLR به هر یک از آنها یک فضای آدرس (Address space) منحصر به فرد و تصادفی جهت اجرا در حافظه سیستم (RAM) تخصیص می دهد. هنگامی که یک نفوذگر قصد تزریق کدهای مخرب خود را به یک برنامه در حال اجرا داشته باشد (برای نمونه یک مرورگر وب)، می بایست فضای آدرس آن برنامه را بداند، یکی از راهای آسان برای تشخیص آن، تحلیل کد منبع برنامه هدف است.

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

پژوهشگران در بخشی از پردازنده به نام BTB (Branch Target Buffer) موفق به شناسایی یک رخنه شده اند. BTB یک حافظه موقت است که جهت سرعت بخشیدن به عملیات، آدرس داده هایی که اخیراً در حافظه اجرا شده اند را در خود نگاه می دارد. BTB کارکردی مشابه حافظه موقت مرورگر دارد که جهت سرعت بخشیدن به بارگذاری صفحات پیش تر بازدید شده استفاده می شود. پژوهشگران متوجه شده اند که قابلیت BTB پردازنده های Haswell در برابر حملات تصادم (Collision Attack) آسیب پذیر است. تکنیک پیاده سازی شده با استفاده از آسیب پذیری موجود در قابلیت BTB، به پژوهشگران امکان استخراج اطلاعات ASLR و در نتیجه آن، دور زدن ASLR را می بخشد. با دور زدن ASLR می توان به آسانی کدهای مخرب را به پردازش مورد نظر تزریق و اجرا کرد. پژوهشگران نشان دادند کل این فرایند تنها ۶۰ میلی ثانیه زمان می برد!

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

پاسخ دهید

آدرس ایمیل شما منتشر نخواهد شد.بخش‌های مورد نیاز علامت گذاری شده‌اند *

*