info[at]nsec.ir
(+۹۸)-۳۱-۳۳۹۱۵۳۳۶

نوع جدیدی از حمله‌ی Spectre به‌نام SgxSpectre

خلاصه: محققان نوع جدیدی از حملات Spectre را در این هفته فاش کردند. به گفته‌ی آن‌ها این حمله می‌تواند اطلاعات را از SGX اینتل استخراج کند. گفته می‌شود SgxSpectre به‌خاطر الگوهای کد خاصی در کتایخانه‌های نرم‌افزاری (که به توسعه‌دهندگان امکان اضافه کردن پشتیبانی SGX را به برنامه‌هایشان می‌دهد.) کار می‌کند. کیت‌های آسیب‌پذیر توسعه‌ی SGX شامل Intel SGX SDK، Rust-SGX و Graphene-SGX می‌باشند.

 

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

Intel Software Guard eXtensions ‪(SGX)‬ یک ویژگی مدرن پردازنده‌های اینتل است که به یک برنامه این امکان را می‌دهد تا به‌اصطلاح قلمرو ایجاد کند. قلمرو یا محیط محصور شده (enclave) یک بخش (جداشده از سخت‌‌افزار) از حافظه‌ی پردازشی CPU است که به برنامه‌ها این امکان را می‌دهد که بتوانند عملیاتی را که با جزئیات بسیار حساس سروکار دارد (مانند کلیدهای رمزنگاری، پسوردها، داده‌ی کاربر و ...) را در آن اجرا کنند.

حملات Meltdown و Spectre که در اوایل امسال (۲۰۱۸) کشف شدند، قادر به استخراج اطلاعات از محیط‌های محصورشده‌ی SGX هستند. (SgxSpectre)

به‌گفته‌ی محققان، SgxSpectre به‌خاطر الگوهای کد خاصی در کتایخانه‌های نرم‌افزاری (که به توسعه‌دهندگان امکان اضافه کردن پشتیبانی SGX را به برنامه‌هایشان می‌دهد.) کار می‌کند. کیت‌های آسیب‌پذیر توسعه‌ی SGX شامل Intel SGX SDK، Rust-SGX و Graphene-SGX می‌باشند.

محققان می‌گویند که مهاجم می‌تواند از الگوهای اجرای تکراری کد که این SDKها معرفی می‌کنند استفاده کند. این یک حمله‌ی کلاسیک side-channel است و کاملا موثر است.

وصله‌های Spectre که اخیرا اینتل منتشر کرده است در این مورد کمکی نمی‌کنند. به‌گفته‌ی اینتل به‌روزرسانی‌هایی برای SGX SDK و برای رفع SgxSpectre در ۱۶ مارس منتشر خواهند شد. توسعه‌دهندگان برنامه‌ها نیز باید این نسخه‌ی جدید SDK را به برنامه‌هایشان (که SGX را پشتیبانی می‌کنند.) ادغام کنند و به‌روزرسانی‌ای را به کاربرانشان ارائه دهند.

به‌گفته‌ی محققان برنامه‌هایی که تکنیک‌های کدینگ ضد Spectre ‪(Google’s Retpoline)‬ را پیاده‌سازی می‌کنند، ایمن هستند. پروژه‌ی اثبات مفهوم این موضوع در گیت‌هاب در دسترس است.

در کنار SgxSpectre محققان دو نوع جدید از Meltdown و Spectre را نیز افشا کردند که MeltdownPrime و SpectrePrime نامیده‌شدند. این دو حمله نیز برای افشای داده از کرنل و برنامه‌های دیگر به‌کار می‌روند. (اما با متدهای دیگر و کمی سریعتر.)