استخراج اطلاعات حساس از راه دور با استفاده از حملات Spectre
خلاصه: پردازنده های اینتل نسبت به استفاده از تکنیک Speculative Execution آسیبپذیر هستند و به برنامههای کاربردی امکان مشاهده حافظه محافظت شده هسته را بدون نیاز به دانلود کردن و تنها با استفاده از پورت های شبکه کامپیوتر میدهند. محققان به تازگی حملهی جدیدی بهنام NetSpectre را کشف کردهاند که میتواند به مهاجمان در استخراج اطلاعات خصوصی از هر دستگاهی که به شبکه متصل نیست و بدون اجرای کد مخرب، کمک کند.
ابتدا بهتر است یک معرفی کوتاه از حمله Spectre داشته باشیم و سپس نحوه ی استخراج اطلاعات از طریق این حمله را توضیح دهیم. Speculative Execution یک تکنیک است که در میکروپروسسورهای جدید استفاده میشود تا عملکرد آنها را بهبود بخشد. هنگامی که یک پردازنده از این ویژگی استفاده میکند، انجام وظایف را به طور پیوسته متوقف نموده و پیش بینی محاسبات را به صورت زیر ترتیبی آغاز میکند تا آنها را به صورت موازی حل کند. این امر باعث افزایش پردازش زنجیره های دستورات میشود.
مسئله این است که پردازندههای مدرن به دنبال مجوز نیستند و باعث میشود اطلاعات مربوط به آن دستورات احتمالی که در نهایت اجرا نمیشوند، نشت یابند. این امر به برنامههای کاربردی اجازه میدهد بتوانند به اطلاعات محافظت شده حافظه هسته دسترسی پیدا کنند!
در واقع حافظهی کرنل نه تنها از اجزای اصلی سیستم عامل محافظت میکند، بلکه بر تعاملات آنها با سختافزار سیستم نظارت دارد؛ به همین دلیل است که همیشه از پردازندههای کاربر جدا شده است. اما به علت نقص در پردازنده های اینتل، برنامه های کاربر می توانند همه چیز را مشاهده کنند. (جالب است بدانید حفاظت در برابر ُSpectre باعث شده است کروم 10 تا 13 درصد بیشتر از حافظه استفاده کند.) به بیان دیگر، راهی برای سوء استفاده از نقص پردازنده در ارتباط با شبکه وجود دارد. این تکنیک که توسط محققان به عنوان NetSpectre نامگذاری شده است، می تواند با استفاده از مکانیزم پیش بینی شاخه، به مهاجمان در استخراج اطلاعات خصوصی از هر دستگاهی که به شبکه متصل است بدون اجرای کد مخرب، کمک کند. این روش میلیاردها کامپیوتر و ابزار را در معرض خطر قرار می دهد. به طور قطع این حملهی تازهکشف شده روند پیشرفت در حملات Specter را نشان می دهد، زیرا به دانلود کردن یا اجرای کد مخرب و یا دسترسی به یک وب سایت که کدهای جاوا اسکریپت را بر روی یک ماشین هدف اجرا می کند اصلا نیازی ندارد! با استفاده از NetSpectre، مهاجم می تواند به راحتی حمله را با بمباران پورت های شبکه کامپیوتر انجام دهد تا نتایج مورد نظر را دریافت کند.
از آنجا که این حمله به آسیبپذیری Specter v1 با شناسهی CVE-5753-2017 مرتبط است، پس تمام CPUهایی که آسیب پذیر هستند یا تحت تاثیر Spectre v1 قرار گرفته اند، در معرض خطر قرار دارند.
محققان ادعا می کنند که هدف از این تحقیق این است که اثبات کنند حملات Spectre صرفا به "اجرای کد محلی" تکیه نمیکند بلکه می توانند از راه دور راهاندازی شوند.
خوشبختانه این حمله عمدتا برای حملات هدفمند با اهداف بسیار مهم استفاده میشود و میتوان گفت اگر سیستم در برابر Spectre کاملا پاکسازی شود از این حمله جلوگیری میشود.