Lazy FP

آسیب‌پذیری امنیتی دیگری در تراشه‌های اینتل کشف شده است که بر روی تکنولوژی اجرای نظری پردازنده(۱) مانند Specter و Meltdown تأثیرگذار است[۱]  و می‌تواند به‌طور بالقوه برای دسترسی به اطلاعات حساس، ازجمله داده‌های مرتبط با رمزنگاری، مورد بهره‌برداری قرار گیرد.

این آسیب‌پذیری (CVE-2018-3665) که بازیابی حالت Lazy FP نامیده شده است در پردازنده‌های Intel Core و Xeon توسط اینتل تأیید شده است و فروشندگان در حال حاضر با سرعت هرچه‌تمام‌تر مشغول انتشار به‌روز‌رسانی‌های امنیتی برای برطرف کردن این آسیب‌پذیری و محافظت از مشتریان خود هستند.

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

همان‌طور که از نام این آسیب‌پذیری می‌توان نتیجه گرفت، این نقص دارای یک ویژگی بهینه‌سازی عملکرد سیستم است که به نام Lazy FP بازگردانی می‌شود که در پردازنده‌های مدرن تعبیه شده است و مسئول ذخیره‌سازی یا بازگرداندن وضعیت FPU هر برنامه‌ی در حال اجرا به‌صورت lazily در هنگام تغییر از یک برنامه به برنامه دیگر، به‌جای انجام آن به‌صورت eagerly است.

اینتل درباره این نقص توضیح می‌دهد[۲]: “سیستم نرم‌افزار ممکن است از حالت Lazy FP استفاده کند به‌جای آنکه از eager save استفاده کند و این حالت را بر روی یک سوییچ زمینه بازگردانی کند.

حالت‌های بازگردانی شده Lazy به‌طور بالقوه به مورد بهره‌برداری واقع‌شدن آسیب‌پذیر هستند که در آن‌ یک فرآیند ممکن است مقادیر ثبت‌شده فرآیندهای دیگر را از طریق یک کانال اجرایی احتمالی که ارزش آن‌ها را برآورده می‌کند، تعیین کند.”

با توجه به گزارش منتشرشده توسط Red Hat، اعداد موجود در رجیستری FPU به‌طور بالقوه می‌توانند برای دسترسی به اطلاعات حساس در مورد فعالیت سایر برنامه‌ها، ازجمله قسمت‌هایی از کلیدهای رمزنگاری که برای محافظت از داده‌ها در سیستم استفاده می‌شود، استفاده شوند[۳].

تمام ریزپردازنده‌هایی که با Sandy Bridge شروع می‌شوند، تحت تأثیر این اشتباه طراحی‌شده قرار می‌گیرند، که این بدان معنی است که بسیاری از مردم نسبت به این نقص آسیب‌پذیر هستند تا زمانی که وصله‌های مربوطه منتشر شوند.

بااین‌حال، لازم به ذکر است که برخلاف Specter  و  Meltdown این آسیب‌پذیری بر روی سخت‌افزار قرار ندارد [۴]. بنابراین، ای نقص را می‌توان با اجرای وصله برای سیستم‌عامل‌های مختلف بدون نیاز به میکرو کدهای جدید پردازنده از اینتل برطرف کرد.

به گفته اینتل، ازآنجاکه این نقص شبیه نسخه ۳A از Spectre یا Rogue System Register Read است[۵]، بسیاری از سیستم‌عامل‌ها و نرم‌افزار Hypervisor قبلاً آن را برطرف کرده‌اند.

Red Hat در حال حاضر با شرکای صنعتی خود در حال کار بر روی یک وصله است که از طریق مکانیسم انتشار نرم‌افزار استاندارد پیاده‌سازی خواهد شد.

پردازنده‌های AMD تحت تأثیر این مسئله قرار ندارند.

همچنین، نسخه‌های مدرن لینوکس از هسته نسخه ۴٫۹، منتشرشده در سال ۲۰۱۶، و بعدازآن توسط این نقص تحت تأثیر قرار نمی‌گیرند. فقط اگر شما از یک Kernel قدیمی استفاده می‌کنید، به این نقص آسیب‌پذیر هستید.

علاوه بر این، نسخه‌های مدرن ویندوز، ازجمله سرور ۲۰۱۶ و آخرین اسپین‌های OpenBSD و DragonflyBSD، تحت تأثیر این نقص قرار نمی‌گیرند[۶و۷].

مایکروسافت همچنین یک مشاوره امنیتی منتشر کرده است[۸]، که در آن راهنمایی‌هایی برای آسیب‌پذیری بازیابی حالت Lazy FP  ارائه کرده و توضیح می‌دهد که این شرکت در حال حاضر بر روی به‌روزرسانی‌های امنیتی مربوطه کار می‌کند که در ماه جولای ۲۰۱۸ منتشر خواهند شد.

مایکروسافت می‌گوید که بازگرداندن Lazy به‌طور پیش‌فرض در ویندوز فعال است و نمی‌تواند غیرفعال شود و افزود که ماشین‌های مجازی، هسته و فرآیندها تحت تأثیر این آسیب‌پذیری قرار دارند. بااین‌حال، مشتریان ماشین‌های مجازی در Azure در معرض این خطر قرار ندارند.

منابع

[۱] https://apa.aut.ac.ir/?p=3397

[۲] https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00145.html

[۳] https://access.redhat.com/solutions/3485131

[۴] https://apa.aut.ac.ir/?p=3484

[۵] https://apa.aut.ac.ir/?p=4474

[۶] https://marc.info/?l=openbsd-cvs&m=152818076013158&w=2

[۷] http://lists.dragonflybsd.org/pipermail/commits/2018-June/672324.html

[۸] https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180016

[۹] https://thehackernews.com/2018/06/intel-processor-vulnerability.html


(۱) processor’s speculative execution technology