کمک به دسترسی مشروط یا محافظتهای ایزوله System Management Mode
بعد دیگر محافظت که با کامپیوترهای Secured-Core همراه است، محافظت (System Management Mode (SMM میباشد. (System Management Mode (SMM یک نوع CPU ویژه در Microcontrollerهای x86 است که به مدیریت برق و Power، پیکربندی سختافزاری، مدیریت حرارتی و هرچیز دیگری که سازنده آن را مفید میداند رسیدگی میکند. اگر یک مهاجم بتواند SMM را مورد سواستفاده قرار دهد، ممکن است برخی بررسیهای Secure Launch را غیرفعال کند یا از سیستم عملیاتی Runtime سواستفاده کند. با بهرهگیری از مدیریت و تصدیق مبتنی بر سختافزار جدید، کامپیوترهای Secured-Core میتوانند بررسی کنند که چه زمانی SMM سعی دارد اجازه دسترسی به یک منبع پلتفرمی (مانند حافظه، IO، یا برخی Registerهای CPU) را داشته باشد که این دسترسی پالیسی ما را نقض میکند. این مهم یک لایه محکم اضافه به Secure Launch و یک لایه محکم اضافی دیگری به کامپیوترهای Secured-Core اضافه میکند.
اجرای SMM به صورت گردانندههای (System Management Interrupt (SMI صورت میگیرد. در طی DRTM، SMIها تعلیق میشوند تا به DRTM و TCB این امکان را بدهد تا بدون رابط کاربری SMM عملیات اجرایی خود را انجام دهند. راهکار SMM سیستم براساس یک پالیسی دسترسی است که توسط پلتفرم سفتافزار ایجاد شده و آنچه که SMM نیاز به دسترسی آن دارد را مشخص میکند. این پالیسی بعدا با مکانیزم ویژه Vendorهای Silicon به SMM اعمال میشود و کپی این پالیسی برای ارزیابی در اختیار TCB Launch قرار میگیرد. TCB Launch بررسی میکند که پالیسی ایزوله شدن اعمال شده بر سیستمها حداقل الزامات Windows را مهیا میکند. اگر پالیسی مطابقت نداشته باشد، مثلا بخاطر دسترسی به حافظه OS، TCB Launch ممکن است حالت DRTM را از بین ببرد و رمزهای OS را پاک کند. TCB Launch پس از اتمام ارزیابیهای خود و انجام اقدامات احتیاطی لازم، به SMIها اجازه ادامه فعالیت میدهد.
سواستفادههایی که اخیرا از آسیبپذیریهای SMM برای خواندن/نوشتن منابع حساس مانند حافظه، IO یا برخی Registerهای CPU شده بود تا به رمزها دسترسی پیدا کنند یا بطور بنیادین Hypervisor را اصلاح کنند، به دلیل بخشی از پالیسی ارزیابی دیگر امکان دسترسی برای آنها وجود ندارد. نقض شناسایی شده پس از Boot، حالت DRTM را نابود کرده و از دسترسی به کلیدها و رمزهایی که به تازگی پوشش داده شده جلوگیری میکند. شرکت Microsoft با شرکای Silicon و OEMها همکاری کرده تا اطمینان حاصل کند تجهیزات مستعد Secured-Core دارای SMM تایید شده هستند بطوری که الزامات پالیسی SMM را فراهم کند و آنها را در مقابل این نوع از حملات محافظت کند. قدرت اکوسیستم همکاری میان Microsoft، Vendorهای Silicon و OEMها کمک میکند تا بار سنگین محافظت از SMMها از دوش تیمهای عملیاتی امنیتی برداشته شود. حملات اخیر که از آسیبپذیریهای گردانندهای SMI سواستفاده کرده بودند نمونههایی از سناریوهایی هستند که با محافظتهای SMM کاهش یافتهاند. زمانی که مهاجم قصد سواستفاده از یک Bug در مدیریت سیستم رفع کننده تداخلات را دارد تا امتیازات اجرای کد در SMM و اصلاح حافظه OS را بدست آورد، دسترسی به حافظه OS با خطا مواجه میشود اگر پالیسی ارائه شده را نقض کند و هرگونه تغییر در پالیسی در گزارش تصدیق تیک زده میشود. حالت DRTM و محافظتهای SMM میتواند با محدود کردن دسترسی به منابع حساس براساس سلامت ویژگیهای امنیتی سفتافزاری و سختافزاری، برای تقویت استراتژیهای دسترسی مشروط در سازمانها موثر باشد.
در پلتفرم Intel vPro، اجزای Intel® Hardware Shield اطلاعاتی را فراهم میکند که یک سیستم عملیاتی Secured-Core از آنها استفاده میکند تا از طریق زیرساختهای VMX Root VMCALL در تمامی پردازندههای منطقی، انطباق پالیسی دسترسی SMM را ارزیابی کند. تمامی اجزای مرتبط Intel® Hardware Shield و پالیسی دسترسی SMM در طی DRTM محدود به PCR[17] هستند تا تایید کدگذاری ویژگی مد نظر و پالیسی SMM مرتبط را بدون احتمال تداخل از تجهیزات SMM یا پلتفرم تجهیز کند. پالیسی SMM مجبور به استفاده از مجموعهای از ارتقاعات سختافزاری و جدایی سطح دارای اعتبار در SMM است. گرداننده SMI با اجزای Sign شده CPL0 SMM طراحی شده که در سطح بالاتری از اطمینان راهاندازی میشود و از لحاظ رمزگذاری در طی فرآیند راهاندازی DRTM تایید شده است. بیشتر گردانندگان SMI در سطح پایینتری از اعتبار (CLP3) راهاندازی میشوند. به علاوه، سختافزار Intel ویژگیهایی را ارائه میدهد تا حتی محیط SMM CPL0 را محدود سازد.
اجزای محافظتی SMM مربوط به AMD همچنین از یک ناظر SMM استفاده میکند که در سطح پردازشی با امتیاز بالاتر (CLP0) راهاندازی میشود تا گرداننده SMI را در سطح با امتیاز کمتری (CLP3) اجرا کند و در نتیجه منابع را از دسترسی گرداننده SMI و حتی خودش را از مداخله حفظ میکند. گردانندههای دارای اشتباه به منظور حفظ Portهای IO و MSRها استفاده میشوند و CR3 Lockdown را مجبور به حفظ حافظه و اجزای MMIO میکند. SMM Supervisor از طریق رمزگذاری تایید و Sign شده و همچنین در طی SKINIT Launch درون PCR[17] مورد بررسی قرار گرفته است. OEMها با شامل کردن پکیجهای لازم در Imageهای OS که برای کامپیوترهای Secured-Core کاربردی است، پشتیبانی برای SKINIT و محافظتهای SMM AMD را پوشش میدهد.
آغاز کار با Secure Launch و SMM Protections
فعالسازی System Guard Secure Launch در یک پلتفرم درصورتی رخ میدهد که پشتیبانیهای زیر حاضر باشند:
- افزونههای مجازیسازی Intel، AMD یا ARM
- Trusted Platform Module (TPM) 2.0
- در Intel: پشتیبانی TXT در BIOS، پکیج SINIT ACM Driver باید در Windows System Image باید شامل شود.
- در AMD: پکیج SKINIT باید در Windows System Image یکپارچه شود.
- در Qualcomm: اجرای برنامه کاربردی DRTM TrustZone و پشتیبانی از محافظت حافظه SMC
- Kernel DMA Protection (همچنین با عنوان Memory Access Protection شناخته شده)
مطلب مرتبط: Secure Launch یا راهاندازی امن در Windows 10 چگونه انجام میشود – قسمت اول