چهار آسیبپذیری تکنیک بهینهسازی (Side Channel (Speculative Execuation جدید طی روزهای اخیر اعلام شدند که تعداد زیادی از پردازندههای Intel را تحت تاثیر قرار میدهند. فهرست پردازندهها شامل مدلهای Intel Zeon، Intel Core و Intel Atom میشوند. این آسیبپذیریها به عنوان CVE-2018-12126 Microarchitectural Store Buffer Data Sampling (MSBDS)، CVE-2018-12130 Microarchitectural Fill Buffer Data Sampling (MFBDS)، CVE-2018-12127 Microarchitectural Load Port Data Sampling MLPDS و CVE-2018-11091 Microarchitectural Data Sampling Uncacheable Memory MDSUM شناخته میشوند.
آسیبپذیریهای کشف شده در Hyper-V
این آسیبپذیریها مانند سایر آسیبپذیریهای پردازندههای Intel اخیرا شناخته شده هستند، که میتوانند برای انجام حملات در مرزهای ایزوله شده، شامل حملات درون سیستمعاملی (Intra-OS) و حملات درون ماشین مجازی (Intra-VM) مورد استفاده قرار گیرند. همانطور که میدانید، تیم مهندسی Hyper-V Hypervisor، معماری کاهش آسیبپذیری Side Channel به نام HyperClear را معرفی کرد. در ابتدا HyperClear را به عنوان یک دفاع در برابر آسیبپذیری Intel Side Channel نقص Terminal L1، که به نام Foreshadow نیز شناخته میشود، طراحی گردید. خوشبختانه برای مایکروسافت و مشتریان آن، HyperClear به عنوان یک زیرساخت عالی برای محدود کردن این مجموعه از آسیبپذیریهای Side Channel اثبات شدهاست. در واقع، HyperClear فقط به یک مجموعه نسبتا کوچک از بهروزرسانیها برای فراهم کردن محافظت درون سیستمعاملی و ماشین مجازی قوی برای مشتریان نیاز داشت. این بهروزرسانیها در Azure پیادهسازی شدهاند و در Windows Server 2016 و نسخههای پشتیبانی شده بعدی Windows و Windows Server در دسترس میباشند. همانند گذشته، HyperClear امکان استفاده ایمن از Hyper-Threading در یک محیط میزبانی ماشین مجازی Multi-Tenant را امکان پذیر میسازد.
راه حل آسیبپذیریها با HyperClear
قبلا جزییات فنی و مجموعه تغییرات مورد نیاز برای محدود کردن این مجموعه جدید از آسیبپذیریهای سختافزار با شرکای صنعتی به اشتراک گذاشته شده است. با این حال، واضح است که بسیاری از مشتریان به دانستن نحوه گسترش معماری Hyper-V HyperClear برای فراهم کردن محافظت در برابر این آسیبپذیریها علاقمند هستند.
همانطور که در این پست HyperClear بصورت کلی توصیف گردید، HyperClear به سه جزء اصلی زیر برای اطمینان از ایزولهشدن قوی درون ماشین مجازی تکیه میکند.
- زمانبندی برایCore
- ایزولهشدن فضای نشانی پردازنده مجازی
- حذف اطلاعات حساس
تغییرات ایجاد شده در معماری Hyper-V
همانطور که برای کاهش این آسیبپذیریها HyperClear گستردش داده شد، اجزای بنیادی معماری ثابت ماندند. با این حال، دو تغییر اساسی Hypervisor مورد نیاز بودند.
1- پشتیبانی از یک قابلیت جدید پردازشگر Intel به نام MbClear
Intel در تلاش است تا با بهروزرسانی Microcode پردازنده بر روی سختافزار آسیبدیده، پشتیبانی از MbClear را اضافه کند. Hyper-V Hypervisor از این ویژگی جدید برای پاکسازی بافرهای Microarchitectural ، درهنگام جابجایی استفاده از پردازندههای مجازی که به ماشینهای مجازی متفاوت تعلق دارند، استفاده میکند. این امر تضمین میکند که زمانی که یک پردازنده مجازی جدید شروع به اجرا میکند، هیچ دادهای در بافرهای Microarchitectural متعلق به پردازشگر مجازی قبلی، وجود نخواهد داشت. علاوه بر این، چنین قابلیتی در پردازنده جدید ممکن است به سیستمهای عامل Guest برای محدودسازی درون سیستمعاملی قرار گیرد.
2- حذف دادههای حساس فعال به صورت مداوم
این امر تضمین میکند که Hypervisor هیچگاه دادههای حساس را در هنگام بازگشتن به حالت Kernel یا حالت کاربر مهمان، در حافظه متعلق به Hypervisor باقی نمیگذارد. این امر مانع استفاده از Hypervisor به عنوان یک ابزار از طریق حالت کاربر خواهد شد. بدون حذف دادههای حساس همیشه فعال، این نگرانی وجود خواهد داشت که حالت کاربر میتواند عمدا ورودی Hypervisor را راهاندازی کند و پردازنده میتواند یک بافر Microarchitectural را با اسرار باقی مانده در حافظه از یک ورودی Hypervisor قبلی، که با استفاده از حالت کرنل Guest و یا یک برنامه کاربردی حالت کاربر Guest متفاوت باقی میماند، پر کند. حذف دادههای حساس همیشه فعال، به طور کامل این نگرانی را از بین میبرد. این تغییر همچنین عملکرد را در بسیاری از پردازندههای Intel بهبود میبخشد، زیرا این تغییر Hyper-V Hypervisor را قادر میسازد تا به طور موثرتر، سایر آسیبپذیریهای قبلا مشخصشده تکنیک بهینهسازی Side Channel را محدود سازد.
به طور کلی، ثابت شده است که معماری Hyper-V HyperClear یک طرح توسعهپذیر است، که مرزهای ایزولهشده را در برابر انواع مختلفی از حملات تکنیک بهینهسازی Side Channel را با تاثیر ناچیزی بر روی عملکرد ارائه میدهد.