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

استخراج اطلاعات حساس از راه دور با استفاده از حملات Spectre

خلاصه: پردازنده ­های اینتل نسبت به استفاده از تکنیک Speculative Execution آسیب­پذیر هستند و به برنامه‌های کاربردی امکان مشاهده حافظه محافظت شده هسته را بدون نیاز به دانلود کردن و تنها با استفاده از پورت های شبکه کامپیوتر می­دهند. محققان به تازگی حمله‌ی جدیدی به‌نام NetSpectre را کشف کرده‌اند که می‌تواند به مهاجمان در استخراج اطلاعات خصوصی از هر دستگاهی که به شبکه متصل نیست و بدون اجرای کد مخرب، کمک کند.

 

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